A plea really… I have written an app that imports devices via MQTT it runs on an embedded HA platform with only moderate resource. Hubitat Elevation.
A lot of my testers originate MQTT devices from HA, typically via statestream. What I’m seeing is that a device may contain many topics half of which are static in content like name and device_class and yet on every state update these other topics are updated with new (but non changing) payloads. This causes my app extra and unnecessary traffic handling so to reduce that I’m unsubscribing from those topics. This means I can no longer recognise new devices real-time.
If possible, and if you are publishing retained please don’t update MQTT topics that have non changing static data values on every state update.
HA statestream is such an example and the WeatherFlow UDP weather addin is particularly problematic with so many devices, many sub topics, every 3 seconds. This creates over 60 MQTT messages / second ! I can’t process anywhere near that rate.
I do appreciate some people might want the last updated time stamp updated even when state hasn’t changed
PS I put my own hand up to a bit of this in my app currently but I’m working on removing those now… It happened on HA MQTT Discovery messages and also the device topics using homie