Try to use a virtual thermostat in Home Assistant. It can sets the target temperature with 0.1 °C resolution.
The W100 acts only as a valve actuator:
Example: Always set W100 to a high fixed setpoint (like 25 °C).
HA decides when to turn the valve on/off.
This completely bypasses the integer reporting issue.
Ignore W100 setpoint in automations
Treat occupied_heating_setpoint from W100 as not reliable.
Always control the heating logic from HA.
Summary:
The W100 reports integers only, even if you set 24.5.
This cannot be fixed in Zigbee2MQTT.
Use Home Assistant virtual thermostat + W100 valve as actuator for precise control.
It’s unfortunately not useful for my use-case: I wish to change the required temperature directly from the W100.
I have many temperature sensors, that’s why I bought W100: to be able to set a certain “desired” temperature value.
Then later my automations with Z2M can decide on what to do. But W100’s primary goal for me was to be able to change the desired temperature with a physical device.
Installed this update about two weeks ago. It fixed the issue of W100s constantly disconnecting from thermostats W600 and E1. Until now both of two W100 working good.