@mbj Thank you for testing.
If Openhab discards the request without payload there is nothing to do on the gateway side.
I don't know if other controllers deal with this. If others like Domoticz work without the V_VAR2 method then the work should be done on MQTT binding.
Anyway the solution above still work for me.
@TommySharp Have you tried the solution above?
Just remember this rule works with "Pulse counts", you have to use the right "PULSE_FACTOR" on the controller to get the KWH.
Provably you'll find another problem (only the first time):
If the Item were you store the pulse count on Openhab (or any other controller) hasn't been initialized with some value, the controller shouldn't return any value. (just because it has none)
When I did this sensor I solved sending a value with my cell through MyMQTT (android). This way you can keep sync the value on the controller and the value of the counter.
In Openhab it can be initialized with a rule as explained here.