Venus (RPI) MQTT Local Refreshes Only when MQTT Cloud is Triggered

I had a Venus running on RPI perfectly fine for about 1 year, reading system status via local MQTT (home automation controller).

A week ago, I updated my home lab network which included:
*Power cycling the RPI (it is POE) couple times
*Replacing my unmanaged with managed network switch (I am beginner/mid level network engineer)
*Changing my network IP scheme and switching the RPI to static IP/Gateway/DNS

It was a whole weekend project, so I didn’t notice this until 2 days ago - my home automation controller was stuck with static battery voltage (old data). I fired up MQTT explorer and connected to Venus - to my surprise, it wasn’t finding the device ID. So I double checked my network settings and soft rebooted Venus - same issue.

Then while the MQTT explorer was still connected, I opened VictronConnect on my phone and connected to VRM instead of local BT. It puled live date over the cloud, AND THEN I am seeing live on my laptop screen the MQTT explorer suddenly getting data about the device in question (solar charge controller connected via USB). Strange I thought, a fluke. My smart home controller also got updated system data.

Couple hours later - same issue. Opened up the app, connected to VRM/RPI/Solar controller - local MQTT data started flowing. Next day, I logged in to Victron VRM portal, which also refreshed the local MQTT dataset. Tested this a few more times - 100% sure above is happening and network settings are correct.

I am really puzzled by this. First thought, MQTT is UDP and something on my switch config is preventing communication (not very experienced with MQTT), scanned port 1883 but it does not appear to be UDP, so I doubt it is that.

Anyone run into this yet or has any suggestion? I could attempt updating the RPI Venus instance, but it worked fine for so long.

Found some old/archived threads that publishing an empty msg/payload to " R/myVRM_ID/keepalive" topic will bring up the DC system data up for about 30 seconds. Problem is, my automation controller refuses to send empty payload msg.

I am really puzzled how this changed without me doing anything. Some sort of auto security/policy update from VRM?

Anywho, I endup updating to later firmware (3.54) - same issue. DC system data (PV voltage, battery voltage etc) is only updated if I send the R/***/keepalive.

Can anyone help please?

Final update as I have solved my problem (figured out to publish no payload msg).
It seems like MQTT methods have been updated as explained here:

So indeed the R/ is required to keep alive.

Easier for me was to actually use the R/ (read) messaged for direct values or categories I was interested in. This reply is back (single time) with current values.
Example:
R/vrmID/system/0/Dc/Pv/Power will update solar power from charge controller topic.
R/vrmID/Dc/Battery/Voltage - self explanatory
R/vrmID/Dc - updates all topics in this category

Note: You still need to be updated to the N/ version of the topics, as that is what gets update. Publishing empty payload will trigger singe shot update.