Airtouch 4 integration (AUS)

Best thing you can do is remove the spill function and have a bypass damper installed.

I don’t use spills in any of my installations as they dump air when not wanted.

Only living areas should ever be set too a spill and never bedrooms.

I looked at the bypass damper, but I reckon by the time you get someone out to fit it, parts, etc, it’s probably $1000 or more. If it was offered when I did the initial setup and I understood what it meant I’d have done it, but my installer probably wouldn’t have any idea what it was either.

1 Like

Thanks @smitcoracing. I am looking into that as an option but that does mean more cost to retrofit.

I also spoke to Polyaire about the Spill as it seemed to be misbehaving and discovered a not clearly documented feature. When you set which zones you want to be the spill zones, not only are you setting the zones, you’re also setting the minimum percentage you want the system to spill at. So, if you have a 5 zone system lets pretend that means you have a total of 500% damper. If you set 3 zones to be spills, behind the scenes, the AT4 will set the minimum damper to be 300%. So you could have a situation where you have two spill zones closed and the other 3 zones fully open and you’d be fine. But if you turned one of those zones down to 95% damper, you’d be below the 300% total required so the other two spill zones would now open. And it wouldn’t be 5% or whatever to make up to 300%, it would be fully open, so 495 - 500%. Or in my case where I was trying to make it spill across the 5 zones so no one zone was blasting, the moment I turned any zone down, the whole system spilt to all zones resulting in no damper control at all.

I pointed out that it doesn’t seem like a particular clever way to operate and perhaps an extra setting to set the minimum spill percentage and only opening enough to reach that spill minimum would be useful. They seemed to think it was a reasonable enough idea to pass on to the engineers, so we’ll see if they come up with anything smarter in a future update.

Also, I’m finding the indoor fan is running continuously in heating mode too. Is that not expected?

Edited to correct described behaviour

In my experience, spill zones only open as much as required to make up the required, but I’ve only tried it with one spill zone. So if we have three zones open totaling 80% the spill zone is open 20%.

There’s a lot of things I’d like Polyaire to improve in their software. They seem to reply to support requests between 1/3 and 1/2 of the time - fairly poor really.

Hmmm, interesting. That’s not the behaviour I was told happened, but I just tested and you’re right, it does only appear to opening the required percentage. That’s good and what I would have expected, just wish I could spread it over all the zones.

You can spread spill over all the zones can’t you? Just define any zones you want as spill. I keep it as the lounge / living area only as I really don’t want bedrooms to overheat.

I find the reason I get a lot of spill is because the Airtouch reduces the damper down quickly and it sits on 5 - 10% for 20 minutes. That means if I have an outdoor unit with a minimum output of 5kw about 500w goes into the cool room, 4.5kw goes into the spill zone. I have actions that I’m still playing with that detect this and open the damper up wider. Once all the zones are up to temperature the Airtouch turns off regardless of damper position, particularly if you go deep into the settings and choose “economy”.

Here’s the action I use. I’m still tweaking it over time. For example I may change the trigger with one of the conditions because once a temperature trigger is hit it doesn’t hit it again until the temperature goes out of the range defined. I might make spill zone activation the trigger and temperature a condition.

alias: Airtouch Low Damper Master Fix
description: 'Increase the master bedroom damper to prevent excessive spill'
trigger:
  - platform: numeric_state
    entity_id: fan.damper_master
    for:
      hours: 0
      minutes: 0
      seconds: 10
    attribute: percentage
    below: '21'
    above: '1'
condition:
  - condition: device
    device_id: INSERT-DAIKIN-MASTER-SERVICE-NAME***
    domain: climate
    entity_id: climate.ac_daikin
    type: is_hvac_mode
    hvac_mode: heat
  - condition: state
    entity_id: fan.damper_master
    state: 'on'
  - condition: state
    entity_id: climate.itc_master
    attribute: preset_mode
    state: ITC
  - condition: time
    before: '22:00:00'
    after: '14:00:00'
  - condition: template
    value_template: >-
      {{ state_attr("climate.itc_master", "current_temperature") -
      state_attr("climate.itc_master", "temperature") < 0.2}}
  - condition: state
    entity_id: binary_sensor.zone_spill_living
    state: 'on'
action:
  - service: fan.turn_on
    data:
      preset_mode: Damper
    target:
      entity_id: fan.damper_master
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
  - service: fan.turn_on
    data:
      percentage: 40
    target:
      entity_id: fan.damper_master
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
  - service: fan.turn_on
    data:
      preset_mode: ITC
    target:
      entity_id: fan.damper_master
mode: single

No you can’t spread it over all zones as the AT4 will interpret that as you wanting a minimum spill threshold of 100% of total system. Try it out by opening all dampers to 100% then setting all zones as spill. As soon as you reduce any zone, the system starts to spill; effectively all dampers are forced to stay at 100%.

Thanks for the example. I’m also thinking I’m going to look into moving away from using the AT4 as the brains of the system and try automating it all with HA … but seems disappointing that we even need to.

I have set multiple zones as spill, but I’ve never tried doing all zones as spill. I tend to just keep one zone as spill and have actions prevent excessive spill by changing to damper mode and increasing damper percentage when a zone is sitting at 5-10% for a while.

I thought about writing standalone software to override the AT4 logic, as it’s not great, but I think with a few HA actions I can get it close enough it’s not worth the time. Plus I suspect if you put all zones into damper mode it won’t actually turn on, one might have to stay in ITC mode to get it to cycle on.

I’m seeing something odd with the new integration from @mihailescu2m vs @LonePurpleWolf’s: I have HVAC with 5 zones.

Under the previous integration I could toggle the fan/damper on/off for each zone via a toggle button (living, bunkroom, etc.), however the same buttons now will only turn off but won’t turn back on (ie. won’t turn to Auto).

This is what I have for one of the cards:

type: custom:mushroom-entity-card
entity: climate.itc_living
icon: mdi:air-filter
name: Living
layout: vertical
tap_action:
  action: toggle
secondary_info: none

Does this resonate or do I have something set wrong?

1 Like

@nightwood That’s a great dashboard. I’ve been building my own but that’s way better. If you share the code I can have a bit of a play around to see what I can find about your problem - might take me a day, might take me a week. I generally find that I can turn zones on and off with no problem.

Here’s what I’m doing at the moment, but it’s unfinished and I’m mostly learning how HA works. It’s quite good at showing current state including dampers, which I like to keep an eye on, and if you tap the tile for an area it toggles control from ITC to damper.

@nightwood I can confirm that the Mushroom Entity Card toggle turns the damper off, but not on. The Simple Thermostat card works to turn it back on.

image

type: custom:simple-thermostat
entity: climate.itc_master
layout:
  step: row
  mode:
    names: true
    icons: true
    headings: true
sensors:
  - entity: fan.damper_master
    attribute: percentage
    name: Damper
    unit: '%'
header:
  name: Master
  icon: mdi:sofa
  toggle:
    entity: fan.damper_master
control: false
fallback: '?'
unit: ' °C'
decimals: 1
step_size: 1

Interesting. Seems to be a problem with the mushroom card then. Any further info I can give them as to why it’s not functioning correctly?

I could revert to calling a function, but toggle is much easier if I can get it to work

Happy to share. Not many dependencies (hacard, mushroom, I think is all)

type: vertical-stack
cards:
  - type: custom:simple-thermostat
    entity: climate.ac_daikin
    layout:
      mode:
        headings: false
        icons: true
        names: true
    hide:
      temperature: true
      state: true
    setpoints:
      target_temp_low:
        hide: true
      target_temp_high:
        hide: true
    control:
      hvac: true
      fan:
        low:
          name: Low
        medium:
          name: Medium
        high:
          name: High
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-entity-card
        entity: climate.itc_living
        icon: mdi:air-filter
        name: Living
        layout: vertical
        tap_action:
          action: toggle
        secondary_info: none
      - type: custom:mushroom-entity-card
        entity: climate.itc_master
        icon: mdi:air-filter
        name: Master Bed
        layout: vertical
        tap_action:
          action: toggle
        secondary_info: none
      - type: custom:mushroom-entity-card
        entity: climate.itc_bedroom2
        icon: mdi:air-filter
        name: Bed 2
        layout: vertical
        tap_action:
          action: toggle
        secondary_info: none
      - type: custom:mushroom-entity-card
        entity: climate.itc_guestbed
        icon: mdi:air-filter
        name: Guest bed
        layout: vertical
        tap_action:
          action: toggle
        secondary_info: none
      - type: custom:mushroom-entity-card
        entity: climate.itc_bunkroom
        icon: mdi:air-filter
        name: Bunkroom
        layout: vertical
        tap_action:
          action: toggle
        secondary_info: none
  - type: horizontal-stack
    cards:
      - type: custom:simple-thermostat
        entity: climate.itc_living
        layout:
          step: column
        hide:
          state: true
        control: false
        header: false
        sensors: false
        style: |
          ha-card {
            --st-font-size-xl: 20px;
            --st-spacing: 1px;
          }
        step_size: '1'
        decimals: '0'
      - type: custom:simple-thermostat
        entity: climate.itc_master
        layout:
          step: column
        hide:
          state: true
        control: false
        header: false
        sensors: false
        style: |
          ha-card {
            --st-font-size-xl: 20px;
            --st-spacing: 1px;
          }
        decimals: '0'
        step_size: '1'
      - type: custom:simple-thermostat
        entity: climate.itc_bedroom2
        layout:
          step: column
        hide:
          state: true
        control: false
        header: false
        sensors: false
        style: |
          ha-card {
            --st-font-size-xl: 20px;
            --st-spacing: 1px;
          }
        decimals: '0'
        step_size: '1'
      - type: custom:simple-thermostat
        entity: climate.itc_guestbed
        layout:
          step: column
        hide:
          state: true
        control: false
        header: false
        sensors: false
        style: |
          ha-card {
            --st-font-size-xl: 20px;
            --st-spacing: 1px;
          }
        decimals: '0'
        step_size: '1'
      - type: custom:simple-thermostat
        entity: climate.itc_bunkroom
        layout:
          step: column
        hide:
          state: true
        control: false
        header: false
        sensors: false
        style: |
          ha-card {
            --st-font-size-xl: 20px;
            --st-spacing: 1px;
          }
        decimals: '0'
        step_size: '1'

If you’re interested, I also have a full-page control:

Many more dependencies and much more customisation. Let me know if you want the yaml

@nightwood I’m still a relative beginner to HA, so I don’t know why the toggle doesn’t work. I do use automations with some controls, but they don’t all quite work reliably yet. I chip away at learning HA as I have time.

Thanks for sharing that dashboard :slight_smile: I’ll probably use it, learn how it works, and extend it a bit to show damper percentages as well if I can find a clean way to do it.

Yes I’d like the other dashboard as well thanks. That might work quite well on the PC / Airtouch4 tablet, the layout I’ve done looks terrible on the PC.

Credit https://community.home-assistant.io/t/share-your-tablet-desktop-dashboards/256006/66?u=nightwood for the genesis for my full-page control. Lots of dependencies, so check the original for what you need to install.

  - theme: Backend-selected
    title: HVAC
    path: hvac
    icon: mdi:radiator
    type: custom:vertical-layout
    layout:
      width: 180
      max_cols: 7
    badges: []
    cards:
      - type: custom:button-card
        view_layout:
          column: 1
        icon: mdi:home-outline
        style:
          .: |
            ha-card {
              background-color: rgba(0,0,0,0.0);
              box-shadow: none;
              border-radius: 20px;
            }
        tap_action:
          action: navigate
          navigation_path: /new-brush/home
        height: 1100
        styles:
          card:
            - height: 150px
          icon:
            - filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4))
        size: 50px
      - type: custom:gap-card
        view_layout:
          column: 2
        height: 150
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:mushroom-entity-card
                entity: climate.itc_living
                icon: mdi:air-filter
                name: Living
                layout: vertical
                tap_action:
                  action: toggle
                secondary_info: none
                style:
                  .: |
                    ha-card {
                      background-color: rgba(0,0,0,0.1);
                      border-radius: 20px;
                      box-shadow: {{ '0px 0px 10px 5px rgba(10,100,140,1), inset 1px 1px 1px 0px rgba(255,255,255,0.2)' if is_state('climate.living', 'auto') else 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                    }
        view_layout:
          column: 2
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:simple-thermostat
                entity: climate.itc_living
                layout:
                  step: column
                hide:
                  state: true
                control: false
                header: false
                sensors: false
                style: |
                  ha-card {
                    --st-font-size-xl: 20px;
                    --st-spacing: 1px;
                    background-color: rgba(0,0,0,0.1);
                    border-radius: 20px;
                    box-shadow: {{ 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                  }
                step_size: '1'
                decimals: '0'
        view_layout:
          column: 2
      - type: entities
        entities:
          - type: attribute
            entity: climate.itc_living
            attribute: current_temperature
            suffix: °C
            name: Living
            icon: mdi:thermometer
            card_mod:
              style: |
                hui-generic-entity-row {
                  height: 21px;
                }
          - type: divider
          - type: attribute
            entity: climate.itc_master
            attribute: current_temperature
            suffix: °C
            name: Master
            icon: mdi:thermometer
            card_mod:
              style: |
                hui-generic-entity-row {
                  height: 21px;
                }
          - type: divider
          - type: attribute
            entity: climate.itc_bedroom2
            attribute: current_temperature
            suffix: °C
            name: Middle Bedroom
            icon: mdi:thermometer
            card_mod:
              style: |
                hui-generic-entity-row {
                  height: 21px;
                }
        view_layout:
          column: 3
        card_mod:
          style:
            .: |
              ha-card {
                background-color: rgba(0,0,0,0.1);
                box-shadow: none;
                border-radius: 20px;
                width: 400px;
                height: 150px !important;
                text-shadow: 3px 3px 2px rgb(0 0 0 / 0.4);
                margin-left: -100px;
              }
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
            height: 150
          - type: custom:simple-thermostat
            entity: climate.ac_daikin
            layout:
              mode:
                headings: false
                icons: true
                names: true
            hide:
              temperature: true
              state: true
            setpoints:
              target_temp_low:
                hide: true
              target_temp_high:
                hide: true
            control:
              hvac: true
              fan:
                low:
                  name: Low
                medium:
                  name: Medium
                high:
                  name: High
            header: false
            style: |
              ha-card {
                    background-color: rgba(0,0,0,0);
                    border-radius: 20px;
                    width: 90%;
              }
              ha-card.no-header {
                --st-spacing: 0;
                --st-default-spacing: 0;
              }
              div.modes {
                grid-auto-flow: row;
                background-color: rgba(0,0,0,0.1);
                border-radius: 20px;
                width: 180px;
                box-shadow: 2px 2px 6px 0px rgba(0,0,0,0.3), inset 1px 1px 1px 0px rgba(255,255,255,0.2);
              }
              div.mode-item {
                width: 160px;
                background-color: rgba(0,0,0,0.1) !important;
                border-radius: 20px;
                height: 50px;
                margin: 5px 10px 5px 10px;
                box-shadow: inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px
                rgba(0,0,0,0.3);
              }
              div.mode-item.active {
                box-shadow: {{ 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' if is_state('climate.ac_daikin', 'off') else '0px 0px 10px 5px rgba(10,100,140,1), inset 1px 1px 1px 0px rgba(255,255,255,0.2)' }};
              }
          - type: custom:gap-card
            height: 150
        view_layout:
          column: 1
      - type: entities
        entities:
          - type: attribute
            entity: climate.itc_guestbed
            attribute: current_temperature
            suffix: °C
            name: Guest Bedroom
            icon: mdi:thermometer
            card_mod:
              style: |
                hui-generic-entity-row {
                  height: 21px;
                }
          - type: divider
          - type: attribute
            entity: climate.itc_bunkroom
            attribute: current_temperature
            suffix: °C
            name: Bunkroom
            icon: mdi:thermometer
            card_mod:
              style: |
                hui-generic-entity-row {
                  height: 21px;
                }
        view_layout:
          column: 5
        card_mod:
          style:
            .: |
              ha-card {
                background-color: rgba(0,0,0,0.1);
                box-shadow: none;
                border-radius: 20px;
                width: 400px;
                height: 150px !important;
                text-shadow: 3px 3px 2px rgb(0 0 0 / 0.4);
                margin-left: -100px;
              }
      - type: custom:gap-card
        view_layout:
          column: 6
        height: 150
      - type: custom:gap-card
        view_layout:
          column: 7
        height: 150
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:mushroom-entity-card
                entity: climate.itc_master
                icon: mdi:air-filter
                name: Master
                layout: vertical
                tap_action:
                  action: toggle
                secondary_info: none
                style:
                  .: |
                    ha-card {
                      background-color: rgba(0,0,0,0.1);
                      border-radius: 20px;
                      box-shadow: {{ '0px 0px 10px 5px rgba(10,100,140,1), inset 1px 1px 1px 0px rgba(255,255,255,0.2)' if is_state('climate.master', 'auto') else 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                    }
        view_layout:
          column: 3
      - type: custom:gap-card
        view_layout:
          column: 4
        height: 150
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:mushroom-entity-card
                entity: climate.itc_bedroom2
                icon: mdi:air-filter
                name: Middle Bedroom
                layout: vertical
                tap_action:
                  action: toggle
                secondary_info: none
                style:
                  .: |
                    ha-card {
                      background-color: rgba(0,0,0,0.1);
                      border-radius: 20px;
                      box-shadow: {{ '0px 0px 10px 5px rgba(10,100,140,1), inset 1px 1px 1px 0px rgba(255,255,255,0.2)' if is_state('climate.bedroom2', 'auto') else 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                    }
        view_layout:
          column: 4
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:mushroom-entity-card
                entity: climate.itc_guestbed
                icon: mdi:air-filter
                name: Guest Bedroom
                layout: vertical
                tap_action:
                  action: toggle
                secondary_info: none
                style:
                  .: |
                    ha-card {
                      background-color: rgba(0,0,0,0.1);
                      border-radius: 20px;
                      box-shadow: {{ '0px 0px 10px 5px rgba(10,100,140,1), inset 1px 1px 1px 0px rgba(255,255,255,0.2)' if is_state('climate.guestbed', 'auto') else 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                    }
        view_layout:
          column: 5
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:mushroom-entity-card
                entity: climate.itc_bunkroom
                icon: mdi:air-filter
                name: Bunkroom
                layout: vertical
                tap_action:
                  action: toggle
                secondary_info: none
                style:
                  .: |
                    ha-card {
                      background-color: rgba(0,0,0,0.1);
                      border-radius: 20px;
                      box-shadow: {{ '0px 0px 10px 5px rgba(10,100,140,1), inset 1px 1px 1px 0px rgba(255,255,255,0.2)' if is_state('climate.bunkroom', 'auto') else 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                    }
        view_layout:
          column: 6
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:simple-thermostat
                entity: climate.itc_bedroom2
                layout:
                  step: column
                hide:
                  state: true
                control: false
                header: false
                sensors: false
                style: |
                  ha-card {
                    --st-font-size-xl: 20px;
                    --st-spacing: 1px;
                    background-color: rgba(0,0,0,0.1);
                    border-radius: 20px;
                    box-shadow: {{ 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                  }
                step_size: '1'
                decimals: '0'
        view_layout:
          column: 4
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:simple-thermostat
                entity: climate.itc_guestbed
                layout:
                  step: column
                hide:
                  state: true
                control: false
                header: false
                sensors: false
                style: |
                  ha-card {
                    --st-font-size-xl: 20px;
                    --st-spacing: 1px;
                    background-color: rgba(0,0,0,0.1);
                    border-radius: 20px;
                    box-shadow: {{ 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                  }
                step_size: '1'
                decimals: '0'
        view_layout:
          column: 5
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:simple-thermostat
                entity: climate.itc_master
                layout:
                  step: column
                hide:
                  state: true
                control: false
                header: false
                sensors: false
                style: |
                  ha-card {
                    --st-font-size-xl: 20px;
                    --st-spacing: 1px;
                    background-color: rgba(0,0,0,0.1);
                    border-radius: 20px;
                    box-shadow: {{ 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                  }
                step_size: '1'
                decimals: '0'
        view_layout:
          column: 3
      - type: horizontal-stack
        cards:
          - type: custom:gap-card
          - type: conditional
            conditions:
              - entity: climate.ac_daikin
                state_not: 'off'
            card:
              type: custom:mod-card
              card:
                type: custom:simple-thermostat
                entity: climate.itc_bunkroom
                layout:
                  step: column
                hide:
                  state: true
                control: false
                header: false
                sensors: false
                style: |
                  ha-card {
                    --st-font-size-xl: 20px;
                    --st-spacing: 1px;
                    background-color: rgba(0,0,0,0.1);
                    border-radius: 20px;
                    box-shadow: {{ 'inset 1px 1px 1px 0px rgba(255,255,255,0.2), 4px 4px 5px 1px rgba(0,0,0,0.3)' }};
                  }
                step_size: '1'
                decimals: '0'
        view_layout:
          column: 6
2 Likes

Thanks @nightwood, I’ve gotten the smaller one working perfectly. The larger one is working, but looks a bit odd with a light background - dark it looks pretty good. I’ll spend some time tweaking and such and see where I end up. Thanks for sharing! I’ll share anything interesting back.

I see what you mean toggling off but not back on again. I’ll have a play with that and see if I can figure out why.

I’m well aware of how the spill functions work in these systems and the spill is a very old way of doing things.
While it works it has its issues.

The spill opens when the sum of all the on zones is less than 90%, the spill will start to open the remaining amount.

A spill should only be placed on one zone only and usually a living zone if you have it.

Setting the minimum damper value from 5 - 10% will help stop the spill opening so much but I would recommend going more then 5 - 10% as rooms can over cool/heat.

I have installed hundreds of these controls now and 99% of the ones I do have the bypass option.

It generally adds $300 to the initial install cost.

The problem with this whole control system is the people who have initially installed them.
I never ever ever leave my customers with the installers password and change it from the default.
Not once since this product came out have a had to go back to places for issues.
The only time I have had to fix these is due to the installer setting them up wrong or others who have been given a password and played around with settings without actually understanding how the system is meant to work.

Using these controllers without room sensors and mucking around with percentages is the biggest wasted feature of the Airtouch.
The sensors control the opening percentage automatically but the main bonus to this is that the system also follows and jumps to different sensors to determine when the outdoor unit should stop and start.

The current logic of the system is perfectly fine if the system is installed properly, a bypass damper is fitted and the ac system itself has had its field settings adjusted through the factory controller at the time of installation.

When the system is installed set up properly then you don’t need access to the installer password. When it’s not set up well you definitely do. For example, in summer I change spill regularly, though this summer I’ll probably use Home Assistant to manage it a bit differently. Also, I had to change a setting way deep in the installer area from “standard” to “economy” to reduce spill zone overheating.

@nightwood I got the damper toggle to work by calling the “fan toggle” service. I’ve also got the damper percentage there, if you tap a slider appears to let you directly set the damper value. It uses Slider Entity Row which must be installed.

The key change is this

                tap_action:
                  action: call-service
                  service: fan.toggle
                  service_data:
                    entity_id: fan.damper_living

views:
  - title: Home
    cards:
      - type: vertical-stack
        cards:
          - type: custom:simple-thermostat
            entity: climate.ac_daikin
            layout:
              mode:
                headings: false
                icons: true
                names: true
            hide:
              temperature: true
              state: true
            setpoints:
              target_temp_low:
                hide: true
              target_temp_high:
                hide: true
            control:
              hvac: true
              fan:
                low:
                  name: Low
                medium:
                  name: Medium
                high:
                  name: High
          - type: horizontal-stack
            cards:
              - type: custom:mushroom-entity-card
                entity: climate.itc_living
                icon: mdi:air-filter
                name: Living
                layout: vertical
                tap_action:
                  action: call-service
                  service: fan.toggle
                  service_data:
                    entity_id: fan.damper_living
                secondary_info: none
              - type: custom:mushroom-entity-card
                entity: climate.itc_master
                icon: mdi:air-filter
                name: Master
                layout: vertical
                tap_action:
                  action: call-service
                  service: fan.toggle
                  service_data:
                    entity_id: fan.damper_master
                secondary_info: none
              - type: custom:mushroom-entity-card
                entity: climate.itc_child
                icon: mdi:air-filter
                name: Harry
                layout: vertical
                tap_action:
                  action: call-service
                  service: fan.toggle
                  service_data:
                    entity_id: fan.damper_child
                secondary_info: none
              - type: custom:mushroom-entity-card
                entity: climate.itc_guest
                icon: mdi:air-filter
                name: Guest
                layout: vertical
                tap_action:
                  action: call-service
                  service: fan.toggle
                  service_data:
                    entity_id: fan.damper_guest
                secondary_info: none
          - type: horizontal-stack
            cards:
              - type: custom:simple-thermostat
                entity: climate.itc_living
                layout:
                  step: column
                hide:
                  state: true
                control: false
                header: false
                sensors: false
                fallback: '%'
                style: |
                  ha-card {
                    --st-font-size-xl: 20px;
                    --st-spacing: 1px;
                  }
                step_size: '1'
                decimals: '0'
              - type: custom:simple-thermostat
                entity: climate.itc_master
                layout:
                  step: column
                hide:
                  state: true
                control: false
                header: false
                sensors: false
                fallback: '%'
                style: |
                  ha-card {
                    --st-font-size-xl: 20px;
                    --st-spacing: 1px;
                  }
                decimals: '0'
                step_size: '1'
              - type: custom:simple-thermostat
                entity: climate.itc_child
                layout:
                  step: column
                hide:
                  state: true
                control: false
                header: false
                sensors: false
                fallback: '%'
                style: |
                  ha-card {
                    --st-font-size-xl: 20px;
                    --st-spacing: 1px;
                  }
                decimals: '0'
                step_size: '1'
              - type: custom:simple-thermostat
                entity: climate.itc_guest
                layout:
                  step: column
                hide:
                  state: true
                control: false
                header: false
                sensors: false
                fallback: '%'
                style: |
                  ha-card {
                    --st-font-size-xl: 20px;
                    --st-spacing: 1px;
                  }
                decimals: '0'
                step_size: '1'
          - type: horizontal-stack
            cards:
              - type: custom:mushroom-template-card
                primary: >-
                  {{ state_attr("climate.itc_living", "current_temperature")
                  }}°C
                secondary: >-
                  {% if state_attr("fan.damper_living", "preset_mode") == "ITC"
                  %}
                    {% set hvacState = state_attr("climate.itc_living", "hvac_action") | capitalize %}
                    {% set state = state_attr("fan.damper_living", "percentage") | lower + "%" if hvacState != "Off" else "Off" %}
                  {% else %}
                    {% set state = states("fan.damper_living") | capitalize %}
                  {% endif %} {{ state }}
                layout: vertical
                entity: Lounge
                tap_action:
                  action: call-service
                  service: input_select.select_next
                  data: {}
                  target:
                    entity_id: input_select.dampermodeselect_living
                card_mod:
                  style: |
                    ha-card {
                      --card-primary-font-size: 16px;
                      --card-secondary-font-size: 15px;
                      --icon-size: 42px;
                    }
              - type: custom:mushroom-template-card
                primary: >-
                  {{ state_attr("climate.itc_master", "current_temperature")
                  }}°C
                secondary: >-
                  {% if state_attr("fan.damper_master", "preset_mode") == "ITC"
                  %}
                    {% set hvacState = state_attr("climate.itc_master", "hvac_action") | capitalize %}
                    {% set state = state_attr("fan.damper_master", "percentage") | lower + "%" if hvacState != "Off" else "Off" %}
                  {% else %}
                    {% set state = states("fan.damper_master") | capitalize %}
                  {% endif %} {{ state }}
                layout: vertical
                entity: Master
                tap_action:
                  action: call-service
                  service: input_select.select_next
                  data: {}
                  target:
                    entity_id: input_select.dampermodeselect_master
                card_mod:
                  style: |
                    ha-card {
                      --card-primary-font-size: 16px;
                      --card-secondary-font-size: 15px;
                      --icon-size: 42px;
                    }
              - type: custom:mushroom-template-card
                primary: '{{ state_attr("climate.itc_child", "current_temperature") }}°C'
                secondary: >-
                  {% if state_attr("fan.damper_child", "preset_mode") == "ITC"
                  %}
                    {% set hvacState = state_attr("climate.itc_child", "hvac_action") | capitalize %}
                    {% set state = state_attr("fan.damper_child", "percentage") | lower + "%" if hvacState != "Off" else "Off" %}
                  {% else %}
                    {% set state = states("fan.damper_child") | capitalize %}
                  {% endif %} {{ state }}
                layout: vertical
                entity: Harry
                tap_action:
                  action: call-service
                  service: input_select.select_next
                  data: {}
                  target:
                    entity_id: input_select.dampermodeselect_child
                card_mod:
                  style: |
                    ha-card {
                      --card-primary-font-size: 16px;
                      --card-secondary-font-size: 15px;
                      --icon-size: 42px;
                    }
              - type: custom:mushroom-template-card
                primary: '{{ state_attr("climate.itc_guest", "current_temperature") }}°C'
                secondary: >-
                  {% if state_attr("fan.damper_guest", "preset_mode") == "ITC"
                  %}
                    {% set hvacState = state_attr("climate.itc_guest", "hvac_action") | capitalize %}
                    {% set state = state_attr("fan.damper_guest", "percentage") | lower + "%" if hvacState != "Off" else "Off" %}
                  {% else %}
                    {% set state = states("fan.damper_guest") | capitalize %}
                  {% endif %} {{ state }}
                layout: vertical
                entity: Guest
                tap_action:
                  action: call-service
                  service: input_select.select_next
                  data: {}
                  target:
                    entity_id: input_select.dampermodeselect_guest
                card_mod:
                  style: |
                    ha-card {
                      --card-primary-font-size: 16px;
                      --card-secondary-font-size: 15px;
                      --icon-size: 42px;
                    }
          - type: horizontal-stack
            cards:
              - type: conditional
                conditions:
                  - entity: fan.damper_living
                    state: 'on'
                  - entity: sensor.preset_mode_living
                    state: Damper
                card:
                  type: custom:slider-entity-row
                  name: Lounge Damper
                  entity: fan.damper_living
                  attribute: percentage
                  min: 5
                  max: 100
                  step: 5
                  grow: true
                  toggle: false
                  full_row: false
          - type: horizontal-stack
            cards:
              - type: conditional
                conditions:
                  - entity: fan.damper_master
                    state: 'on'
                  - entity: sensor.preset_mode_master
                    state: Damper
                card:
                  type: custom:slider-entity-row
                  name: Master Damper
                  entity: fan.damper_master
                  attribute: percentage
                  min: 5
                  max: 100
                  step: 5
                  grow: true
                  toggle: false
                  full_row: false
          - type: horizontal-stack
            cards:
              - type: conditional
                conditions:
                  - entity: fan.damper_child
                    state: 'on'
                  - entity: sensor.preset_mode_child
                    state: Damper
                card:
                  type: custom:slider-entity-row
                  name: Harry Damper
                  entity: fan.damper_child
                  attribute: percentage
                  min: 5
                  max: 100
                  step: 5
                  grow: true
                  toggle: false
                  full_row: false
          - type: horizontal-stack
            cards:
              - type: conditional
                conditions:
                  - entity: fan.damper_guest
                    state: 'on'
                  - entity: sensor.preset_mode_guest
                    state: Damper
                card:
                  type: custom:slider-entity-row
                  name: Guest Damper
                  entity: fan.damper_guest
                  attribute: percentage
                  min: 5
                  max: 100
                  step: 5
                  grow: true
                  toggle: false
                  full_row: false
1 Like