Cerbo GX - V3.54 and MQTT broker

My Cerbo GX is running V3.54, official release, large. On the Cerbo GX manual we have:

However, on my Cerbo GX I have:

So, it is missing MQTT on LAN SSL and Plaintext probably by an undocumented change.

I have enabled it but I can’t connect to it. For example, using a Linux machine I try:
mosquitto_sub -h 192.168.0.100:1883 -u admin -P VerySecret -t ‘#’
or
mosquitto_sub -h 192.168.0.100:8883 -u admin -P VerySecret -t ‘#’

In both cases I get “Unable to connect (Lookup error.)”.
What am I missing?

Thanks!

Hello, on local LAN, mqtt server dont have password or user name.

Sorry but please look at my post and you will see I got no option to set “MQTT on LAN”. I got only “MQTT Access”, that is enabled. I tried clear text, SSL, with user name and password and with no user name and password. Does not work.

I found the problem about connecting to port 1881. I have Node Red enabled:

So the question now changes to: how can we access Cerbo GX MQTT broker with Node Red active?

Should I open a new thread?

There were security changes, depending on the level set is what it will accept.
If you are running secured, it will only listen on secure ports, if you select unsecured, it will support non encrypted connections.
The toggle only turns mqtt on or off, what is enabled depends on the security level configured.
This is documented in the release notes iirc.

Thanks!

How do I access the release notes iirc?

And yes, Node Red is running SSL on port 1881. However, when I try to connect MQQT to port 8881 (should be SSL) I can’t.

IIRC = “if I remember correctly”.

Now, doing my “home work”.

On the Venus v3.54 release notes we find:

"Settings → Services → MQTT access. This setting enables or disables MQTT access over ports 1883 (plaintext) and 8883 (secured). For details, see Developer section further down. Note that, unlike previous versions, its no longer needed to enable MQTT for the Marine MFD HTML5 app. Instead, set the Network Security Profile to Unsecured.

These settings have been removed as they are replaced by above settings: VRM Logging Enabled, VRM http plaintext, VRM Two way communication, MQTT on LAN (plaintext) and MQTT on LAN (SSL)"

"Developer related – MQTT

  • The new MQTT access setting enables or disables MQTT access over ports 1883 (plaintext) and 8883 (secured). It no longer controls their websocket equivalents, they are always enabled since they are needed to gui-v2."*

So, you don’t need to enable it anymore as it is running. You need to give external access to it. As Node Red runs on port 1881, then it can not be assigned to MQTT.

As they have changed to FlashMQ I will try to use the FlashMQ client.

Ok, I got access to the FlashMQ on the Cerbo GX. However, there is not a single message published.

What am I doing wrong? I just want to get the data from the Cerbo.

You need to send a keepalive.

What I found is that MQTT will start only if I am using GUI V2. So, if you start Cerbo GX and invoke only GUI V1, then the MQTT broker will not start. As soon as you bring up GUI V2 you start seeing information.