Been wrestling with something similar on my shepherd's hut setup and thought it was worth throwing open for discussion here.
I've got a Victron SmartSolar MPPT 100/30 talking to a Cerbo GX via VE.Direct, and I'm pulling data through MQTT into Node-RED to log everything nicely on a dashboard. Most values come through perfectly — battery voltage, PV power, state of charge, the lot.
But the internal temperature of the MPPT is a strange one. I can see it sitting there quite happily on the SmartSolar Control Display, updating in real time. The moment I try to read it via MQTT though? Null. Every time. The topic path looks correct and everything else on the same device is responding fine.
I've had a poke around the Venus OS MQTT topic structure and I think the issue might be that the MPPT internal temp isn't published as a standard dbus service value in the same way — it might need a specific firmware version or a particular VE.Can vs VE.Direct distinction to come through properly.
Has anyone else hit this? A few questions I'm mulling over:
- Does the VE.Can 250/100 behave differently to VE.Direct units in terms of what gets exposed over MQTT?
- Could Venus OS Large firmware version affect which topics are populated?
- Is there a workaround — maybe a keepalive write to force a refresh on that specific path?
The shepherd's hut doesn't need MPPT temperature logging to function, but when you've gone to the trouble of building a proper monitoring setup, a null value staring back at you is deeply unsatisfying. Anyone cracked this one?