So for many months I tried to debug the dbus-tempcontrol project originally by chriswg3. I made some modifications to move away from a fixed config file but basically the engine is mostly the same.
The issue I encounter is on my RS450/100 MPPT. At random times, sometimes weeks or just days, the script fails to read the temperature sensor data. I suspect the index changes for whatever reason. I’ve put lots of stuff in place to try and catch it and re-sync but it keeps failing. The last occurrence was when I upgraded the firmware on the device. Strangely, my MPPT150/35 has never failed like this. Stopping and starting my script fixes the issue until the next time.
Here is a log of some of the variables at the time of the incident. If someone has experience in catching index changes and re-syncing with the new ones I would really appreciate any assistance.
2026-03-31 13:47:17,312 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(170), dbus.Byte(20)], signature=dbus.Signature(‘y’)))
2026-03-31 13:47:17,315 root INFO MPPT01 Relay State: 0
2026-03-31 13:47:17,318 root INFO MPPT01 Temperature: 52.9
2026-03-31 13:47:18,100 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(122), dbus.Byte(18)], signature=dbus.Signature(‘y’)))
2026-03-31 13:47:18,102 root INFO MPPT02 Temperature: 47.3
2026-03-31 13:48:17,371 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(240), dbus.Byte(20)], signature=dbus.Signature(‘y’)))
2026-03-31 13:48:17,374 root INFO MPPT01 Relay State: 0
2026-03-31 13:48:17,377 root INFO MPPT01 Temperature: 53.6
2026-03-31 13:48:18,100 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(122), dbus.Byte(18)], signature=dbus.Signature(‘y’)))
2026-03-31 13:48:18,102 root INFO MPPT02 Temperature: 47.3
2026-03-31 13:49:17,428 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(54), dbus.Byte(21)], signature=dbus.Signature(‘y’)))
2026-03-31 13:49:17,430 root INFO MPPT01 Relay State: 0
2026-03-31 13:49:17,437 root INFO MPPT01 Temperature: 54.3
2026-03-31 13:49:18,99 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(132), dbus.Byte(18)], signature=dbus.Signature(‘y’)))
2026-03-31 13:49:18,102 root INFO MPPT02 Temperature: 47.4
Here is where the soft stuff went through the fan. Only the 150/35 is left to continue.
2026-03-31 13:50:17,488 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(124), dbus.Byte(21)], signature=dbus.Signature(‘y’)))
2026-03-31 13:50:18,101 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(122), dbus.Byte(18)], signature=dbus.Signature(‘y’)))
2026-03-31 13:50:18,104 root INFO MPPT02 Temperature: 47.3
2026-03-31 13:51:18,104 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(122), dbus.Byte(18)], signature=dbus.Signature(‘y’)))
2026-03-31 13:51:18,106 root INFO MPPT02 Temperature: 47.3
2026-03-31 13:52:18,104 root INFO ret: (dbus.UInt16(0), dbus.Array([dbus.Byte(122), dbus.Byte(18)], signature=dbus.Signature(‘y’)))
2026-03-31 13:52:18,106 root INFO MPPT02 Temperature: 47.3