I have Daikin Altherma heatpump (air-water) that basically has the following control panel:
This control panel can serve as indoor thermostat and control unit (if installed in room), or it can be just used as control unit of Daikin. In my setup, it is on the unit in technical room, so I have it set as control unit only. The heating then can be configured either to use 1) external thermostat or 2) based on water temperature differences.
It was some time ago that I set this up, so basically mode 1) relays on external thermostat that switches certain contacts on heatpump (in my case, it is fibaro relay that switches those contacts, it has dry contacts), mode 2) works on sampling and checking in intervals leaving/coming water temperature.
I have no way of controlling daikin’s setpoints nor control it in any other way other than switching external relay.
This is something you need to configure on your heatpump. I set it to external thermostat + I adjusted heating curve, so for instance when it is -10 outside, water is heated to 35 degrees, while when it is 10 outside, it heats water to 29. This saves energy as you don’t need to heat water too much when it is not that cold outside.
After that, it is easy.
Main question is - do you want multi zone heating, or not. If you are fine with one thermostat (basically here, thermostat means combination of temperature sensor + actor, some sort of switch). If yes, you can go with generic thermostat (as described above) but my experience is - with concrete underfloor heating which is slow to react, it has high overshoot. So at the time you get to desired temperature and switch will turn off, concrete is full of energy that will continue to increase interior temperature, so your temperature will rise.
Alternatively, you can go with https://github.com/vindaalex/multizone-thermostat that has PID controller.
If you want multizone, then your thermostats won’t switch heatpump, but switches that control your valves that open/close coming hot water to your zones. Therefore you need additional logic to signal heater to supply heat. Although multizone thermostat allows that directly, I found automation in HA to be easier, better and more adjustable.
Here is example of configuration of one of my rooms:
- platform: multizone_thermostat
name: bathroom
sensor: sensor.bathroom_temperature
sensor_filter: 2
room_area: 10
initial_hvac_mode: "heat"
initial_preset_mode: "none"
precision: 0.1
heat:
entity_id: switch.underfloor_heating_bathroom
min_temp: 17
max_temp: 28
initial_target_temp: 20
away_temp: 17
proportional_mode:
control_interval:
seconds: 180
difference: 100
minimal_diff: 5
pwm:
hours: 2
PID_mode:
kp: 100
ki: 0.003
kd: -220000
sensor_stale_duration:
hours: 12
restore_from_old_state: False
restore_parameters: False
restore_integral: False
On my particular heatpump, external thermostat switches terminals 1 and 4 on connector X2M
X2M:
And connectors 1 and 4 that are switched by Fibaro Relay Switch (contacts IN and Q, L and N are 230V to power the relay itself). When closed (switch turned on), it signals Daikin that there is demand for heat from external thermostat). Within the relay, I set auto-off in 15 minutes as a “fail safe” if there is no action from HA, so that it does not heat indefinitely.