Generic thermostat with a reverse cycle air conditioner

The issue that I’ve been trying to resolve is that I want to cool (or heat) one room of my house with a thermostat that is located centrally in the house. If I want to cool down the bedroom then, because the thermostat is in the hallway, it will never reach the target temperature. I want to close a door and just cool one room. Sounds simple???

In Australia reverse cycle air conditioners are much more common than in other countries where there is one device to rule them all. My Daikin reverse cycle ac can be switched to heat or cool and it is all handled with one device. There is no boiler involved, and it seems like that is not that common because all the articles I could find didn’t do what I wanted.

It might be obvious that I’m a noob but I can usually follow instructions but really struggled to get my head around this. Nothing seemed to work and I know it was my limited understanding and perhaps also my search ability… but I finally worked it out so thought I’d share it to save others the struggles I went through.

The first step was to purchase a Daikin Airbase unit that gives WiFi access to the thermostat and add it to Home Assistant. Happy days. I can now control it and setup automations.

In a moment of clarity I worked out that the Generic Thermostat only works with a simple switch entity to turn it on and off. The AC doesn’t have a switch entity so I had to create one with a switch template. Even this was difficult and I’m not going to waste your time explaining the problems but here is the switch template yaml that worked for me.

switch:

  • platform: template
    switches:
    aircon:
    value_template: “{{ is_state(‘climate.’, ‘cool’) }}”
    turn_on:
    - service: climate.turn_on
    target:
    entity_id: climate.
    turn_off:
    - service: climate.turn_off
    target:
    entity_id: climate.

Then the Generic Thermostat yaml looks like this with the new switch entity that was just created as the heater (but with the ac_mode being true).

climate:

  • platform: generic_thermostat
    name: Generic Thermostat
    heater: switch.aircon
    target_sensor: sensor.
    min_temp: 20
    max_temp: 25
    ac_mode: true
    target_temp: 23
    cold_tolerance: .5
    hot_tolerance: .5
    initial_hvac_mode: “off”
    precision: 0.5

So I now have a thermostat device that I can move from room to room and the generic thermostat uses that device to measure the temperature and will keep the room at the settings in the generic thermostat.

I hope this makes sense and hope it helps you. I have skipped a ton of things so not sure that I’ve explained it all that well.