Resolved: MQTT on CerboGX only displaying Serial Number

Today I had an issue while working in Node Red where my CerboGX stopped displaying anything more than
N/xxxxxxxx/system/0/Serial
in MQTT - I have MQTT explorer installed. It may be related to a 2.83~3 upgrade on the Cerbo but I don’t think so.
I have disabled, rebooted, and enabled MQTT etc and no joy.

My Node Red dashboard is now obviously not showing any data.
Any help for me please.

Ps: Is the “keepalive” still required? I am struggling after spending lots of time rereading the docs, etc.

Thanks
Mark

Update 1: Ooookkkkaaayyy…
After a while everything is back to normal… very weird…

Update 2: Very intermittent… which has not been the case before…

Resolved I think - Added a “keep alive” flow in Node Red.
The confusing aspect was it worked when VRM is running but not when I closed it in the browser. Forgot the VRM probably has a “keep alive” running :wink:

Before 2.80 the keep alive never worked all topics we published regardless of what i had in the keepaluve, since updating I had to actually setup all the topics with wildcards I needed as I was only getting data on smartsolar

If you set up an “Inject” with no payload into the “MQTT Out” with the following: R/XXXXXXXXXXXX/system/0/Serial it works for all the topics.

I set the inject interval to 30s

image

The only downside to which I doubt will make a any difference is that every single possible topic will publish data as soon as its changed, just means the GX is sending data that no one is listing too. ( I ran it like this for a year so doubt its an issue)

If you want fewer tobics you need to publish to R/xxxxxxxxxx/keepalive

["system/#", "settings/#", "battery/512/System/#", "battery/512/#", "grid/#", "solarcharger/+/Yield/Power", "vebus/276/BatteryOperationalLimits/#"]

To much effort to refine it more than this.

Had one case already of someone whose Keepalive stopped working. There was a minor MINOR change which in a perfect world would not affect anything… namely that in the past ANYTHING would trigger a keepalive. Even a malformed request would do it. That’s been fixed. Now you either request the serial number (which gives you EVERYTHING), or you request keepalive with a filter of what you want. Anything else gets you nothing. A read request for anything else, returns that one item, and does not activate keepalive.

So there are a hand full of systems out there where people were unaware that they are flying on a broken request… and they discovered it after the upgrade.

That was me :smiley:

1 Like