Hey guys. Im not a dev but I actively read PR’s and Issues relating to things I use within my brewery and HA
Currently I use the modbus integration to control VFD’s and PLC’s that run pumps around the brewery.
Under the modbus integration there is a option for scan_interval: however it flags a warning in the logs:
scan_interval(1) is lower than 5 seconds, which may cause Home Assistant stability issues
I understand that this is JUST A WARNING
What is the ACTUAL limitation that makes the devs set a limit on that 5 seconds??? Is it set because of the broad spectrum of hardware limitations that HA runs on e.g:CPU horsepower/USB/Network hardware or is HA throttling on purpose???
I run HaOS on a Dell Optiplex 7000 (12 core 4.7ghz) so I have no shortage of horsepower so I want to know if Id be better off moving all my ModBus VFD’s from the native integration to MQTT (which Id rather not as its not so easy on the VFD side) as MQTT has no such limitations.
Did you find something here or did you run into problems? I am fetching data from my E3DC inverter via modbus/tcp and would like that data every 2 seconds but that warning is annoying.
I’m over simplifying this a bit, but every state change event is sent to:
all frontend clients
mobile apps
the database (and stored on disk)
integrations that listen for all state changes
If you poll anything too frequently you can end up with
sluggish frontend
battery drain on mobile
bloated database
downline performance issues with listening integrations
You can throw more resources (cpu, bigger batteries, ram, faster disks, etc) at the above to reduce the effects but in general integrations that need more frequent updates than five seconds should be push and filter out duplicate or useless data.
Personally, I usually replace devices that require frequent polling with something that can push state in lieu of upgrading my ha/mobile/desktop hardware as I find it’s more cost effective and reliable long term
High volume MQTT traffic is also a frequent source of issues and can bring the system to its knees when someone is pushing massive amounts of energy data with it. I’ve helped quite a few people work out performance problems and sluggish systems because of it.
Id love to swap out my VFD’s and PLC’s but all industrial gear runs on modbus (in my case specifically modbus over TCP) as a standard, so unfortunately I dont really have a choice but to ensure the setup is built so that no such speed limiters exist knowing that I have to poll. Things like the frontend are on gigabit ethernet and there are no mobile clients. As a total there are only 3 frontend clients total.
It is unfortunate that its not possible to change this regardless of the backbone that has been installed. I just wished there was a way to overcome the polling limitation.