There are other, easier ways to make this work. If I understand the problem, you are trying to run 2 identical SCD30 sensors on an i2c multiplexer, but can’t setup the multiplexer with 2 separate buses, so the identical i2c bus addresses of the sensors is causing you to only “see” one sensor?
The Pi4 actually has 6 separate user-accessible i2c busses available depending on what overlay drivers you load at boot of the OS (channels i2c0 to i2c5). I believe Mycodo can take advantage of these separate i2c busses… thus you don’t actually need a multiplexer… you would just attach one SCD30 sensor to the Pi’s i2c0 bus, and one to the Pi’s i2c1 bus. (This would be the best option)
In config.txt add `dtoverlay=i2c1,pins_2_3,baudrate=100000`
Name: i2c1
Info: Change i2c1 pin usage. Not all pin combinations are usable on all
platforms - platforms other then Compute Modules can only use this
to disable transaction combining.
Load: dtoverlay=i2c1,<param>=<val>
Params: pins_2_3 Use pins 2 and 3 (default)
pins_44_45 Use pins 44 and 45
combine Allow transactions to be combined (default
"yes")```
OR… you could maybe attach one SCD30 and the multiplexer to the Pi’s i2c0 bus, and then attach the other SCD30 to the multiplexer’s 0-bus. (May work, but not the best option)
OR… you could use a $5 ESP32 dev-kit module running Tasmota, and attach both SCD30 sensors to it because the ESP32 also has multiple i2c busses available easily through the Tasmota GUI setup… and then you would send the sensor data to Mycodo over WiFi using MQTT, which is also easy to setup in the Tasmota and Mycodo GUIs, no programming needed. (If you haven’t played around with ESP32s and Tasmota for building WiFi sensors and controllers, you’re really missing out on some IoT fun
)