In this topic we can build together upon a Home Assistant integration with the UMR2 regulator for your underfloor heating installation. These are products of the Dutch company called WTH. The UMR2 regulator together with the C820S1 thermostat provides bidirectional communication.
Hereby a first example in a .yaml file. Of course, names of thermostats, values and IP address has to be adjusted to your own situation.
When using an older bus-thermostat (D9386) or power stealing thermostat, you can only read the state (on / off).
The mode of the the UMR2 can be read back (and probably controlled) as well.
configuration.yaml
rest:
- resource: "http://<IP_ADDRESS>/get.json?f=$.status.*"
scan_interval: 10
sensor:
- name: "UMR2 Mode"
value_template: >
{% set umr = value_json.status.main.mode %}
{% if umr == 'heating' %}
Verwarmen
{% elif umr == 'cooling' %}
Koelen
{% elif umr == 'switchover' %}
Omschakelen
{% elif umr == 'on' %}
Aan
{% elif umr == 'off' %}
Uit
{% else %}
Niet Aangesloten
{% endif %}
unique_id: "0_UMR2_Mode"
icon: mdi:sun-snowflake-variant
- name: "Thermostaat Woonkamer"
value_template: "{% if value_json.status.process.thermostats[0].isOn == true %}Actief{% else %}Uit{% endif %}"
unique_id: "0_UMR2_Thermostat0_Demand"
icon: mdi:thermostat
# Control valves
shell_command:
set_umr2_openvalve: 'curl -X POST -d "{\"settings\": { \"outputs\": { \"valves\": [ {\"index\": {{ (valve - 1) }}, \"mode\": \"{% if state == true %}on{% else %}auto{% endif %}\"} ] } } }" {{ ipaddress }}/set_config.cgi'
Switch between Open and Auto valves with a shell command.
This can be used to force valves open when you have a heat-pump with smart-grid support and you don’t have a thermostat with two way communication (C820S1).
the C820S1 thermostat provides bidirectional communication.
Do you have a specification of the C820S1 communication protocol?
The datasheet only mentions the basic parameters: 9600bps - 8N1
Which is useless information without the data protocol.
I am currently still working on optimising the central heating installation in my home, trying to reduce gas consumption and be ready for a transition to a heat pump.
Bump. I reconfigured my setup to use a rest call to read out sensor. In that way there is no need to run a script and uyse a MQTT server. Details here:
@SirBacon Thanks for the example. Based on your example I added my power stealing thermostats, valves and cooling/heating. Next step is trying to add more control than the basic thermostats can give. I would like to heat based on some sensors like heat outside, cost of kwh, etc. I see some examples that try using api post. Anyone have any examples/experiences?
It does. I just came across this project, It works like a charm, great project.
I do only have D9386 installed in a recently newly built house. There is no themperature known aswell as thermostats. Does this mean my underfloor heating doesn’t response on the temperature set on the D9386 thermostat?
Good to hear that the integration works like a charm
I also have a D9386 in my living room with some smaller (type unknown at the moment) thermostats upstairs. The UMR(2) doesn’t show room thermostat temperatures. The URM(2) works in harmony with your heating system/solution to heat or cool your house.
In my case/house the livingroom thermostat is like the mothership and the upstairs thermostats are nothing special. So if we say the living room thermostat is set to 18 degrees cooling and the upstairs thermostats are set to 20, the system will cool the rooms to the downstairs set temperature of 18 degrees. Upstairs they are only sensing temperature and sending this information to the central heating/cooling system.
Your underfloor heating/cooling will respond to the temperature set on the D9386. In my case there is a Daikin Altherma 3 heatpump in the system. Temperature set on the D9386 will trigger the Daikin system and UMR(2) to cool or heat my house.
To answer your PWM question:
The PWM (Pulse Width Modulation) factor on the WTH UMR2 underfloor heating controller is a parameter that determines how intensively the circulation pump or the zone valves are controlled based on the current heat demand.
I’m sorry for the delayed response. Didn’t notice your response untill just now.