I use Home Assistant to control several Daikin air conditioners during summer.
The main reason for developing my own control logic was a problem I did not expect at first:
The Daikin temperature is not necessarily the room temperature**
The temperature reported by the Daikin indoor unit can differ significantly from the temperature measured in the occupied part of the room.
I use independent Homematic IP wall thermostats as the room reference and have seen differences of around 2 °C.
More importantly, this difference is not constant. It changes during operation depending on cooling activity, airflow and room conditions.
My first idea was therefore to use a fixed offset.
That did not work reliably. An offset that was correct at one moment could be wrong later.
The solution: calculate the Daikin setpoint dynamically
The Homematic IP thermostat is now the leading sensor for room comfort.
Home Assistant controls the Daikin mainly by changing its temperature setpoint.
The important point is that this setpoint is not simply the desired room temperature.
Home Assistant compares:
Daikin actual temperature – Homematic IP actual room temperature
and uses this current difference when calculating the Daikin setpoint.
In simplified form:
Daikin setpoint = desired room temperature + current sensor difference
For example:
-
desired room temperature: 22.0 °C
-
Homematic IP actual temperature: 23.0 °C
-
Daikin actual temperature: 21.5 °C
-
current sensor difference: -1.5 °C
This gives a Daikin reference setpoint of approximately:
22.0 °C - 1.5 °C = 20.5 °C
When there is active cooling demand, Home Assistant can lower the Daikin setpoint further to control the cooling intensity.
So there are two separate elements:
sensor compensation
→ adapts the Daikin setpoint to the current difference between both sensors
cooling intensity
→ determines how aggressively the room should currently be cooled
This was one of the most important findings during development:
The Daikin setpoint is a control variable – not necessarily the desired room temperature.
Hysteresis prevents overcooling
Dynamic setpoint calculation alone was not sufficient.
Close to the desired room temperature, frequent corrections could still result in overcooling.
I therefore added hysteresis.
In simplified form:
Room clearly too warm
→ active cooling and calculate the required Daikin setpoint
Room close to target
→ keep the current control state
Room reaches the target range
→ raise the Daikin setpoint and actively reduce cooling
This separates whether cooling is required from how strongly the Daikin should cool.
Let Daikin do what Daikin does well
Another finding was that I do not need to control every parameter myself.
The fan remains in automatic mode.
Home Assistant determines the temperature setpoint, while the Daikin continues to use its own internal logic to control fan speed and operating behaviour.
For my installation, this works better than trying to replace the complete internal Daikin control logic.
The cloud command limit matters
A further practical problem was the Daikin cloud interface.
In my setup, only about 200 control commands within 24 hours are accepted.
My first versions generated too many setpoint changes and I actually ran into this limitation.
The controller therefore sends a new setpoint only when a meaningful change is required. Very small changes and identical targets do not generate another cloud command.
I also stop control commands before reaching the maximum limit.
My main findings
The most important lessons so far are:
-
use an independent room sensor as the comfort reference
-
do not rely on a fixed sensor offset because the deviation changes dynamically
-
calculate the Daikin setpoint from the current sensor difference
-
treat the Daikin setpoint as a control variable, not as the desired room temperature
-
separate cooling demand from cooling intensity
-
use hysteresis to prevent overcooling
-
leave fan control to the Daikin in automatic mode
-
minimize cloud commands from the beginning
-
include the wider energy context in the analysis: my installation also has a PV system, and Solcast PV forecasts are used as additional information for analysis and optimization
The PV forecast is currently an analysis input, not a direct requirement for the basic temperature control described above. I deliberately keep these two functions separate.
This article intentionally describes only the basic concept of my summer cooling regulation.
The complete system goes considerably further. It includes a central control dashboard, push notifications, energy and PV analysis, and an AI-based analysis layer for monitoring and further optimization.
I plan to cover these parts in separate posts.
I am also developing a dedicated winter heating strategy using the same Daikin units. This introduces additional topics such as PV forecast, energy use and the economics of using the Daikin units for heating. I will share those experiences separately after collecting sufficient real-world data.
For now, I would be interested in one question:
How large and how dynamic is the difference between the internal Daikin temperature and an independent room sensor in your installation?