I’m new since a few days using Home Assistant.
Installation went okay, and I could easily discover and configure a few of my connected stuff, like Daikin AC. Nest Thermostat was not that simple as I own it since just after they closed the Nest developper account option, and before Google one.
So I satisfied myself by using Badnest which was again not that easy, because the removal of the orignal GitHub project page which forced me to go ahead and give some try with some remaining forks https://github.com/moreli/badnestha…
Well road is never a straight line but at the end it’s working and I can have both in my Home Assistant dashboard which is already a good start.
It shows the values from the temp sensors, and changes them when I want to do so.
Now the crazy stuff I’m not able to handle is I’d like to “sync” Daikin AC with the temp value set from Nest Thermostat.
I had a look at the various script / services / automation capabilities, and as a real newbie here I’m far away from just understanding where to start and what to use.
I tried, especially using the “Development tools” menu, and whether I could use the “services” tabs to set static values to my AC, and the “Models” tab to read dynamic values from my Thermostat, I’ve been unsuccessful to achieve what I’m looking for…
Any idea ?
Let me reply to myself as I found some ways to do this, and it may help others…
I had no luck because Automations, which I was looking at first was partially failing, and actually only working using scripts.
The tricky part was to be able to set the Dakin A/C temperature in while reading its value from the Nest thermostat. To achieve this, you have to call serviceclimate.set_temperature on your Daikin A/C entityclimate.daikin1, and then you need to specify the right service data referring to your Nest thermostat temperature value: temperature: '{{ state_attr(''climate.Nest_thermostat'', ''temperature'')|float }}'
For any reason I don’t know, you can’t directly use this last way of specifying the temperature directly into an Automation, but it works when in a script.
Hi there, I started this thread a long time ago, and for me at least, this solution is working very well still.
I improved it a bit, by implementing Nest Eco mode, as low temperature heat mode and built a Blueprint for easiness:
blueprint:
name: Sync Nest vs Daikin
description: Automate to allow Daikin A/C unit control by Nest Thermostats
domain: automation
input:
thermostat_to_sync:
name: Thermostat
description: This thermostat will by syncronized with AC
selector:
entity:
filter:
- domain: climate
climate_to_sync:
name: Climate Unit
description: The Climate Unit to keep in sync.
selector:
entity:
filter:
- domain: climate
trigger:
- platform: state
entity_id:
- !input climate_to_sync
from: "off"
id: AC On
- platform: state
entity_id:
- !input thermostat_to_sync
from: "off"
id: Nest On
- platform: state
entity_id:
- !input climate_to_sync
to: "off"
id: AC Off
- platform: state
entity_id:
- !input thermostat_to_sync
to: "off"
id: Nest Off
- platform: state
entity_id:
- !input climate_to_sync
attribute: temperature
id: AC Temperature
- platform: state
entity_id:
- !input thermostat_to_sync
attribute: temperature
id: Nest Temperature
- platform: state
entity_id:
- !input thermostat_to_sync
attribute: preset_mode
id: Nest Eco mode
condition: []
action:
- choose:
- conditions:
- condition: trigger
id:
- AC On
- AC Temperature
sequence:
- action: climate.set_preset_mode
metadata: {}
data:
preset_mode: none
target:
entity_id: !input thermostat_to_sync
- variables:
climate_to_sync_from: !input climate_to_sync
- action: climate.set_temperature
metadata: {}
data:
hvac_mode: heat
temperature: "{{ state_attr( climate_to_sync_from , 'temperature')|float }}"
target:
entity_id: !input thermostat_to_sync
- conditions:
- condition: trigger
id:
- Nest On
- Nest Temperature
sequence:
- action: climate.set_preset_mode
metadata: {}
data:
preset_mode: none
target:
entity_id: !input climate_to_sync
- action: climate.turn_on
metadata: {}
data: {}
target:
entity_id: !input climate_to_sync
- variables:
climate_to_sync_from: !input thermostat_to_sync
- action: climate.set_temperature
metadata: {}
data:
temperature: "{{ state_attr( climate_to_sync_from , 'temperature')|float }}"
target:
entity_id: !input climate_to_sync
- conditions:
- condition: trigger
id:
- AC Off
sequence:
- action: climate.turn_off
metadata: {}
data: {}
target:
entity_id: !input thermostat_to_sync
- conditions:
- condition: trigger
id:
- Nest Off
sequence:
- action: climate.turn_off
metadata: {}
data: {}
target:
entity_id: !input climate_to_sync
- conditions:
- condition: trigger
id:
- Nest Eco mode
sequence:
- action: climate.turn_on
metadata: {}
data: {}
target:
entity_id: !input climate_to_sync
- action: climate.set_hvac_mode
metadata: {}
data:
hvac_mode: heat
target:
entity_id: !input climate_to_sync
- variables:
climate_to_sync_from: !input thermostat_to_sync
- action: climate.set_temperature
metadata: {}
data:
temperature: "{{ state_attr( climate_to_sync_from , 'temperature')|float }}"
target:
entity_id: !input climate_to_sync
mode: single
I suspect it may work with other thermostats and A/C units, but I just ran the tests myself on my home installation but feel free to reuse my work if you need it.
Thanks for the work and the share @mmz06.
I recently moved to a new home in Portugal and my setup is daikin and nests. Looking forward to test.
Cheers!
Testing your code and it works great! Thanks again for sharing @mmz06.
I have an issue with my configuration that I’m having an hard time to solve, though.
Integration based in your code works great: I change the temp in my thermostat or in HA and everything syncs.
The issue is that my daikin thermostat temp is not reliable because it is being read by the internal sensor of the unit and not the remote. So, I need the AC functioning to be triggered by the nest temperature and not the AC temperatue. Is this possible?
Hi @ntavares, thanks for your feedback !
It seems that I have the same behavior from my Dakin units (I have 4 of them). They all tend to be wrong in regards the reported temperature measurement, like 2 to 3 more Celsius degrees.
But the actual temperature from the room seems to be the expected one, and it’s correctly displayed and reported on the Nest Thermostats.
So I actually never use the temperature readings from the Dakin units at the end, I just ignore them and I’m happy with that…
What are you trying to achieve from reading the temperature from Dakin, is it to use in another automation ?
Let me know.