MyAir AC Zoning System, climate and Room Association for Components

Thanks. It was trying to parse the whole thing (I think). I have the sensors working including measured temp as I have the individual temperature sensors. It seems the value_json.aircons.ac1.info.setTemp doesn’t apply in that case.

So you need to look at the “value_json.aircons.ac1.info.myZone” and then pick value_json.aircons.ac1.zones.zxx.setTemp based on that.

Whilst the interface is fairly simple, getting all the values switches etc into HA might be a little complicated.

Can I ask what aircons you guys are controlling with this?

I have a Toshiba with the RBC-AMS54E-ES controller and a seperate zone controller.
Had looked at the Intesis wifi controllers but I would have to replace the existing wall controller… so sussing other options, and the MyAir system seems like a winner (if I can find a dealer in SA).

I have a ducted 14kW single phase Panasonic unit connected to a MyAir 5. I had it installed with MyAir straight away along with the individual temperature sensors.

You’ll have to ask your local MyAir installers if they’d be happy to retrofit to your existing system, I’m sure they would though. In terms of sheer compatibility, probably easiest to contact Advantage Air support. I’ve called them on the phone once about some functionality (enabling economy mode, fyi not possible via myair) and they were quite helpful.

We’re still not there on great integration with Home Assistant yet. Aside from the pymyair python library and cli tool (which I hope still works) this commit is the sum total of my work to date on the home assistant integration: https://github.com/smallsam/home-assistant/commit/e346b6e4e339c350a4d3d6c26e65f09dc3ef7977
that I spent time on last year. Too little time to code these days and little motivation as it’s Winter…

1 Like

I’m not sure if you found the solution for the 255 character limitations. here is what i did:

  • platform: rest
    resource: http://192.168.8.104:2025/getSystemData
    name: myair
    json_attributes:
    • aircons
      value_template: ‘OK’
  • platform: template
    sensors:
    myair_state:
    friendly_name: AC State
    value_template: ‘{{ states.sensor.myair.attributes.aircons.ac1.info[“state”] }}’
    myair_fanspeed:
    friendly_name: AC Fan Speed
    value_template: ‘{{ states.sensor.myair.attributes.aircons.ac1.info[“fan”] }}’
    myair_mode:
    friendly_name: AC Mode
    value_template: ‘{{ states.sensor.myair.attributes.aircons.ac1.info[“mode”] }}’
    […]

I have tried above code, but it doesnt look like it’s working. i still get error in my automation jobs saying that we have exceeded character limitations. @dennis-au - did you get this to work in your own myair system ?

Hi All

Interesting reading about the integration of MyAir5 into HA. I’m looking at investing in an Advantage Air solution and potentially picking up the MyPlace solution with integrations into MyAir and MyLight.

I’ve just registered for the forum and keen to start looking at the API.

Great to see lots of interest and passion integrating the solution into HA.

I just thought I’d touch base and see if there is any recent progress with a component for HA from either @smallsam or @speedst3r? Great work guys on your efforts to date!!!

So if it helps anyone, this is my setup for my six zone MyAir system. This is based heavily on the work of @speedst3r with some modifications to get around the REST 255 character limit and so on. *EDIT corrected missing shell_command for Configuration.yaml.

Configuration.yaml:

input_select:
  myair_modeselect:
    name: Mode
    options:
     - cool
     - heat
     - vent
     - dry
    icon: mdi:air-conditioner
  
  myair_fanselect:
    name: Fan
    options:
     - low
     - medium
     - high
    icon: mdi:fan

input_number:
  myair_inputsettemp:
    name: Temp
    min: 16
    max: 32
    step: 1
    unit_of_measurement: C
    icon: mdi:thermometer
  myair_zone1:
    name: Zone 1 Airflow
    min: 5
    max: 100
    unit_of_measurement: "%"
    step: 5
    icon: mdi:fan
  myair_zone2:
    name: Zone 2 Airflow
    min: 5
    max: 100
    unit_of_measurement: "%"
    step: 5
    icon: mdi:fan
  myair_zone3:
    name: Zone 3 Airflow
    min: 5
    max: 100
    unit_of_measurement: "%"
    step: 5
    icon: mdi:fan
  myair_zone4:
    name: Zone 4 Airflow
    min: 5
    max: 100
    unit_of_measurement: "%"
    step: 5
    icon: mdi:fan
  myair_zone5:
    name: Zone 5 Airflow
    min: 5
    max: 100
    unit_of_measurement: "%"
    step: 5
    icon: mdi:fan
  myair_zone6:
    name: Zone 6 Airflow
    min: 5
    max: 100
    unit_of_measurement: "%"
    step: 5
    icon: mdi:fan

#    Shell command for air conditioner control
shell_command:
  myair_setcmd: 'curl -X GET http://your_unit's_ip_address:2025/setAircon?json={{json}}'

Sensors.yaml:

- platform: rest
  resource: http://192.168.0.140:2025/getSystemData
  name: ac_json
  scan_interval: 10
  json_attributes:
    - aircons
  value_template: '{{ value_json.value }}'
- platform: template
  sensors:
    ac_power:
      value_template: "{{ states.sensor.ac_json.attributes.aircons.ac1.info.state }}"
    ac_temp:
      value_template: "{{ '%.0f'%(states.sensor.ac_json.attributes.aircons.ac1.info.setTemp) | float }}"
    ac_mode:
      value_template: "{{ states.sensor.ac_json.attributes.aircons.ac1.info.mode }}"
    ac_fan:
      value_template: "{{ states.sensor.ac_json.attributes.aircons.ac1.info.fan }}"
    ac_vent_master_state:
      value_template: "{{ states.sensor.ac_json.attributes.aircons.ac1.zones.z01.state }}"
    ac_vent_front_state:
      value_template: "{{ states.sensor.ac_json.attributes.aircons.ac1.zones.z02.state }}"
    ac_vent_middle_state:
      value_template: "{{ states.sensor.ac_json.attributes.aircons.ac1.zones.z03.state }}"
    ac_vent_rear_state:
      value_template: "{{ states.sensor.ac_json.attributes.aircons.ac1.zones.z04.state }}"
    ac_vent_theatre_state:
      value_template: "{{ states.sensor.ac_json.attributes.aircons.ac1.zones.z05.state }}"
    ac_vent_living_state:
      value_template: "{{ states.sensor.ac_json.attributes.aircons.ac1.zones.z06.state }}"

Switches.yaml:

- platform: template
  switches:
    ac_power:
      friendly_name: AC Power
      value_template: "{{ is_state('sensor.ac_power', 'on') }}"
      turn_on:
        service: shell_command.myair_setcmd
        data_template:
          json: '%7B%22ac1%22:%7B%22info%22:%7B%22state%22:%22on%22%7D%7D%7D'
      turn_off:
        service: shell_command.myair_setcmd
        data_template:
          json: '%7B%22ac1%22:%7B%22info%22:%7B%22state%22:%22off%22%7D%7D%7D'

Automations.yaml:

- id: setmyairmodeselector
  alias: Set MyAir Mode Selector
  initial_state: true
  trigger:
    platform: state
    entity_id: sensor.ac_mode
  action:
    service: input_select.select_option
    entity_id: input_select.myair_modeselect
    data_template:
      option: '{{ states.sensor.ac_mode.state }}'
- id: setmyairacmode
  alias: Set MyAir AC mode
  initial_state: true
  trigger:
    entity_id: input_select.myair_modeselect
    platform: state
  action:
  - service: homeassistant.update_entity
    entity_id: sensor.ac_mode
  - service: shell_command.myair_setcmd
    data_template:
      json: '%7B%22ac1%22:%7B%22info%22:%7B%22mode%22:%22{{ states.input_select.myair_modeselect.state
        }}%22%7D%7D%7D'
  - delay: 00:00:07
  - service: homeassistant.update_entity
    entity_id: sensor.ac_mode
- id: setmyairfanselector
  alias: Set MyAir Fan Selector
  initial_state: true
  trigger:
    platform: state
    entity_id: sensor.ac_fan
  action:
    service: input_select.select_option
    entity_id: input_select.myair_fanselect
    data_template:
      option: '{{ states.sensor.ac_fan.state }}'
- id: setmyairacfan
  alias: Set MyAir AC fan
  initial_state: true
  trigger:
    entity_id: input_select.myair_fanselect
    platform: state
  action:
  - service: homeassistant.update_entity
    entity_id: sensor.ac_fan
  - service: shell_command.myair_setcmd
    data_template:
      json: '%7B%22ac1%22:%7B%22info%22:%7B%22fan%22:%22{{ states.input_select.myair_fanselect.state
        }}%22%7D%7D%7D'
  - delay: 00:00:07
  - service: homeassistant.update_entity
    entity_id: sensor.ac_fan
- id: setmyairtempselector
  alias: Set MyAir Temp Selector
  initial_state: true
  trigger:
    platform: state
    entity_id: sensor.ac_temp
  action:
    service: input_number.set_value
    entity_id: input_number.myair_inputsettemp
    data_template:
      value: '{{ states.sensor.ac_temp.state }}'
- id: setmyairacTemp
  alias: Set MyAir AC Temp
  initial_state: true
  trigger:
    entity_id: input_number.myair_inputsettemp
    platform: state
  action:
  - service: homeassistant.update_entity
    entity_id: sensor.ac_temp
  - service: shell_command.myair_setcmd
    data_template:
      json: '%7B%22ac1%22:%7B%22info%22:%7B%22setTemp%22:%22{{ states.input_number.myair_inputsettemp.state
        }}%22%7D%7D%7D'
  - delay: 00:00:07
  - service: homeassistant.update_entity
    entity_id: sensor.ac_temp
- id: ac_power
  alias: AC Power
  trigger:
    entity_id: switch.ac_power
    platform: state
  action:
  - service: homeassistant.update_entity
    entity_id: sensor.ac_power
  - delay: 00:00:07
  - service: homeassistant.update_entity
    entity_id: sensor.ac_power

It’s taken me some time to get this working and, as others have mentioned, this setup suffers from lag when updating states, however I’m happy to live with this until I can look at doing something better - and that will take some learning. In the meantime, my biggest issue has been locating everything I need in one post so thought I should share.

4 Likes

This is helpful, thanks. Good to see this thread has survived for a while. I have an eZone which is Advantage Air’s entry level platform… I was wondering if it would offer any of the same API capability as their higher end MyAir tools. Not sure yet but i’m keen to have a play around. I’ve set a MAC address reservation for my A/C on my router and I see the output when I navigate to the device on port 2025. Hopefully it’ll take on/off and zone fan speed commands as i’m not trying to do anything fancy!

Edit: Just had a look through the API document on the Advantage Air forum and I managed to switch my AC off and on via the URL using the commands there. This is my first step into a larger world! :open_mouth:

I’m running the eZone app too, you should be able to do everything I’ve been able to.

Just got myAir5 installed today, time to integrate it with HA :slight_smile:

Kudos to @speedst3r and @Chris_P_Bacon I’ve used some of your configuration and automation setups to get myAir5 integrated with Home Assistant.

Works a treat and i can control all elements of the airconditioning.

Time to start building some automations to automatically trigger it based on time of day, temperature in the house, and presence detection. Whoop

1 Like

Thanks, but I can’t take any credit - I only shared here how I used what others had done.

1 Like

Hi All,

I’m keen to work on some integrations for MyAir for a range of systems, and understand there is a proboards forum which might also include info on the API. I’ve tried signing up to that and my account has been waiting on staff approval for about 5 days. I’m not sure if that forum is still active? I was wondering if anyone with access can advise if its still used. I’d like to be part of that community, but at a minimum was hoping for some more info on the API than whats posted in this thread. If the forum is still a going concern does anyone know who I could ping to get my account approved?

@Chris_P_Bacon I have been trying to find someone to help me make a Homebridge plugin for the E-zone app, but people are either unfamiliar with it, do not have the skills to do it (myself) or don’t have access to the hardware. Being a noob myself I have not been able to present the API or complete list of http commands to people to help me. I have a heap of them from a person who was able to figure out the ‘set’ commands but not the ‘get’. Considering you have this completely working on HA (which I am not the least bit familiar with), would you be able to provide me with what I’d need to provide to someone who is proficient in making Homebridge plugins? I’d be over the moon if you could :slight_smile: thanks in advance!

Hi Mitch, sorry for the delayed response. The full API documentation is available at http://advantageair.proboards.com, just register and you should be able to access everything you need.

Thanks, Iv just registered now and waiting to be accepted. In the last few days I have attempted the ‘get’ data with http://IPADDRESS:2025/getSystemData and it gives me this big data dump.

https://pastebin.com/DsKN18mC

I can see my measured temps and other useful data, I just don’t know how grab what I need to use for a Homebridge plug-in (or someone else to use to build a plug-in). I know this is a HA group, but is anyone proficient in making Homebridge plugins?

Registered at https://login.proboards.com/ few days ago but still waiting approval from a staff member.

Can anyone shed some light on how long it takes for approval?

Hi @Chris_P_Bacon
I’m fairly new to home assistant and just wondering does this work still. and do i just need to copy what you have above and just tweak for my setup?

any info\help will be much appreciated

Thanks

It’s still working for me, that’s all there is to it - I still haven’t got around to finishing vent control etc but it does the basics.

Perfect I was playing around last night and i can get alot of info from the aircon unit but i just cant get turning it on or any other options to go from home assistant to the aircon itself.

am i missing something? i am getting an error pop up when trying to use the power on or off switch.
Failed to call service switch/turn_on.failed to find script shell_command.myair_setcmd

I cant see anything on how to create this script or have i missed something? thanks again for responding this seems like the only place to get help on this.