Just a heads up for anyone struggling with Modbus RTU dropouts on their solar/HVAC setups.
I ripped out my USB-to-RS485 adapter this weekend. Moved the polling to a dedicated ethernet gateway that supports native modbus-to-json translation.
Instead of HA acting as the master, the gateway handles the polling cache and publishes straight to MQTT.
The payload arrives clean:
{"active_power_W": 2500.0, "total_energy_kWh": 1450.5}
Wrote a quick readme on the exact gateway settings and the HA mqtt configuration here