I made the MQTT working again as before.
Here a detailed setup i did.
Please read the file.Venus320MQTTOK.pdf
This site is now in read-only archive mode. Please move all discussion, and create a new account at the new Victron Community site.
I made the MQTT working again as before.
Here a detailed setup i did.
Please read the file.Venus320MQTTOK.pdf
Hello, does this solution make the Victron MQTT password protected? I've tried following your guide (thanks), but it seems that FlashMQ ignores the username/password file. I have also added "allow_anonymous false" to the listener block, but without luck - I am still able to connect to SSL MQTT without any password.
My goal is to make the MQTT password protected, until this feature is made native in Venus.
Of course, I did reboot Cerbo to make the config changes effective.
I suspect that the FlashMQ in Venus does not include the auth plugin or simply ignores/overrides auth settings.
I am using v 3.40, and I am really into making it secure, until the official solution comes.
Hey @JMQ1961 what is this about? From what software or device are you trying to connect to MQTT?
With the software we use and tried it works fine.
I wrote this for a friend. He has no other MQTT server.
He uses OpenDTU for reading Out the Hoymiles inverter,
OpenDTU will not connect when no user is set.
Once connected with a User name and Password MQTT Data is send to flashmq.
Now Node-Red can read the incoming MQTT data
here is the Node-red Screenshot
Hey again,
I think the problem your friend was having is the one described in our below text.
The solution in your PDF suggests modifying Venus OS, which is not easy to do and any changes made will be gone once another firmware update is installed.
Please check!
----
Finally, and this is the same issue (2) above that CeriW ran into: there is a difference between how Mosquitto and FlashMQ treat anonymous logins on MQTT. Mosquitto treated the specifications a bit loosely, and accepted an empty username. FlashMQ is more strict, and if during login the client says that there is a username, it also expects one. And if there is none, it refuses to connection.
On some clients and implementations that works fine; but - as clear now - there are also implementations on which that gives a problem. What you see then is that the software you're using is unable to connect.
And if you'd look in the logs on the GX device, you'd see this:
[ERROR] Unspecified or non-MQTT protocol error: Username flagged as present, but it's 0 bytes.. Removing client.
To work around this, configure a username and password in the MQTT software you are using. Then FlashMQ will accept the connection, even though there is no username or password required.
This workaround does *not* require you to login to the GX command line and make changes there.
47 People are following this question.