Multiple Zones (Multi-Zone / Multi-Room)

Hey.
Is there any plans for mycodo to work with multiple rooms and/or multi-zones within a room?
Or is it even possible to upgrade this, the way mycodo was build?

thank you

Mycodo is already fully capable of managing “multiple rooms” and “multiple zones” within a grow space.
Ask around on the Discord page…

I know there are a few people managing multiple grow tents with a single Pi.
It all depends on how you setup your inputs, outputs, and the Functions that manage those devices.
The only real “issue” you might run into are inputs… since you only have one I2C / SPI bus on a Raspberry Pi, you need to run wires to all your sensors, longer wires can cause communications problems if you are running a lot of sensors and they need to be far away from where the Pi is.
These issues can easily be overcome by using multiple Raspberry Pis and utilizing the Mycodo API modules to control multiple separate instances of Mycodo from a central Pi also running Mycodo (like a distributed computer system).
There are also plenty of MQTT Input, Output, and control Functions that utilize the standard MQTT IoT communications protocol. This can also be used to make multiple Raspberry Pis communicate with and control each other.
You can also use ESP32 micro-controllers running IoT firmware like Tasmota or ESPHome to distribute sensors and output devices over a wide area and communicate with Mycodo via MQTT over WiFi.

1 Like

Okay. Thank you very much for the input.
I read somewhere SMBus is a good solution for long distances and multiple devices.
Is it possible with, or maybe even supported by mycodo ?

With Wifi/BT i’m a little afraid of possible Network issues

You have to use I2C or SPI with the Raspberry Pi and Mycodo. SMBus is just a derivative of the I2C protocol anyway.
If you feel you need to use hard-wired sensors, and your I2C sensor cable lengths will be a total of 20 feet or more, there are devices such as the SparkFun QwiicBus EndPoint and Mid Point adapters that convert the I2C signal so that it can be transmitted over standard CAT-5 cable… this does not connect to your router, it is only meant as an adapter so you can use long lengths of shielded CAT-5 as your cabling for your I2C sensors and avoid coms errors when using longer cable lengths.

There is also a similar product from Adafruit that basically does the same thing.

I have actually had very reliable results using these ESP32 dev kit modules and running Tasmota on them. These specific ones with the WiFi antenna that protrudes beyond the breakout board have exceptional WiFi signal and range…
https://www.amazon.com/gp/product/B09Z7Q5LKQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&th=1

I have several setup both indoors and outside and they have never had any network connection issues. Tasmota makes it relatively easy to attach and setup I2C sensors and even relay boards to an ESP32 and then use MQTT to communicate over WiFi with the Raspberry Pi running Mycodo.

They also sell ESP32 dev boards with built-in ethernet if you are worried about possible WiFi connection issues. This would still need to run Tasmota and use MQTT to send telemetry to the Pi, but this one would hard-wire your sensors directly to your router and you have the advantage of being able to run ethernet cable up to 100 meters.

https://www.amazon.com/EC-Buying-WT32-ETH01-Development-Bluetooth/dp/B09Z298QJQ/ref=sr_1_3?crid=1LU09NQLVIS3J&keywords=ESP32+ethernet&qid=1694906372&s=electronics&sprefix=esp32+etherne%2Celectronics%2C170&sr=1-3

If you want to get even fancier, they have ESP32 dev boards with ethernet and PoE, so you could run your CAT-5 from a PoE router or injector into each room or zone and have an ESP32 PoE on the end of each run and the PoE would power the ESP32 and the sensors and relays you have attached to them… everything, inputs, and outputs, would technically be hard-wired back to the Pi if the Pi is also on ethernet. If I were setting up a large greenhouse, or a warehouse with several grow rooms, this is probably the way I would do it.
https://www.amazon.com/Silicognition-wESP32-Isolated-Ethernet-802-3at/dp/B084RV91NQ/ref=sr_1_3?crid=20JX7HJUIB98D&keywords=ESP32+POE&qid=1694908830&sprefix=esp32+poe%2Caps%2C181&sr=8-3&ufe=app_do%3Aamzn1.fos.006c50ae-5d4c-4777-9bc0-4513d670b6bc

1 Like

thank you very much for all detailed informations. I think these are great options. So this is all based on esp32 and RPi as master/slave with mqtt, right? I have to digg deeper in to that. Never did it with mycodo before, just normal i2c.

thank you

If you use the ESP32 micro controllers running Tasmota, they need to communicate with Mycodo using MQTT over your WiFi or ethernet. With this option you need to buy the ESP32 boards (they are usually about $5 each). There is also more of a learning curve with this option because you will need to learn MQTT and Tasmota. It took me about 2 months to become comfortable with MQTT and Tasmota and I had never used them before, but it was well worth the effort because the ESP32 and Tasmota are a very powerful combination of hardware and software that will open up a lot of possibilities.

If you use the cable adapters, you don’t use MQTT because the cable adapters connect directly to the Pi’s I2C bus. With this option it will be less of a learning curve because there is no extra software to learn. You will have to purchase the adapter boards and buy the appropriate length CAT-5 network cables, or make your own CAT-5 cables. But if you are going to have several rooms or zones, this option might get complicated since you need to chain all of your sensors off one long cable that goes to all your zones.

It really all depends on how your system will be physically laid out and how much distance there is between your rooms or zones.

2 Likes