I am using this library to run a custom MQTT client to connect to my Cerbo GX over pure MQTT (port 1883). This connects and seems to subscribe successfully, but then no messages come down unless.... I connect another client to the GX over WebSocket MQTT (port 9001), specifically the official Venus HTML5 App.
The issue is pretty consistent: I start my custom client, it happily receives CONNACK and accepts my subscription requests, and then just remains silent. I open the HTML5 App, it establishes its own connection via WebSockets, and immediately my custom client starts receiving messages for topics it is subscribed to. I close the browser window, my client continues receiving messages for about a minute before it receives an empty message for each of the subscribed topics, and finally messages stop coming.
Open the HTML5 App again — messages for my custom client resume, close it — they stop. The 1883 connection stays alive/subscribed all the time.
Why would that be happening? How could possibly the GX MQTT broker decide whether to send messages down 1883 depending on whether another client is connected on 9001? Is there any way to make it work on 1883 independently?
Cerbo GX firmware v2.66.