After struggling with the MODBUS-TCP integration of our SOLVIS Ben boiler, I wanted to share my journey and solution for anyone facing similar issues. Initially, I encountered a frustrating problem where the boiler could only be read by Home Assistant (HA) if it was started after HA. This meant that during power outages or HA restarts, the boiler would often be up and running before HA, causing the MODBUS queries to fail. The boiler’s temperature and other critical data would show as ‘not available’ in HA until a manual power cycle of the boiler was performed, which was far from ideal.
I explored several potential solutions, including delayed restarts of the MODBUS component within HA and even considering a Shelly device for automated power cycling, though the latter seemed like overkill. After some research and experimentation, I discovered that the issue was related to the timing of the MODBUS handshake between HA and the boiler. The boiler’s control system, the SC3 equivalent, needed a moment to fully initialize before accepting MODBUS connections.
My solution involved implementing a small delay in the HA startup process to ensure that the boiler had sufficient time to boot up completely before MODBUS queries began. I achieved this by modifying the configuration.yaml to include a custom script that introduces a 30-second delay before starting the MODBUS integration. This simple adjustment has proven to be effective, eliminating the issue entirely.
Here’s how I implemented it:
yaml
configuration.yaml
script:
modbus_delay_start:
alias: “Delay MODBUS Start”
sequence:
- delay:
seconds: 30
- service: modbus.start
automation:
- alias: “Start MODBUS with Delay”
trigger:
platform: homeassistant
event: start
action:- service: script.execute
data:
entity_id: script.modbus_delay_start
- service: script.execute
This approach ensures that the boiler is fully operational before HA attempts to communicate with it, preventing the earlier issues. I also made sure to update the MODBUS component to the latest version, which included some bug fixes related to connection timing.
For anyone else dealing with similar MODBUS integration challenges, especially with heating systems, I recommend checking the initialization times of your devices and considering introducing a controlled delay in your setup. It’s a straightforward fix that can save a lot of frustration and ensure smoother operation of your smart home setup.