Ducted Aircon: Advantage Air Thermostat Control System

Hi Team Domoticz.

Advantage air is an Australian based company that supplies hardware for smart control of ducted airconditioning systems with individual zone temperature control and temperature sensors in all zones.

The data from the device is gathered and controlled via a API based on JSON I believe. http://XX.XX.XX.XX:2025/getSystemData gives a dump of current configuration including set temperature and reported temperatures from sensors and looks like this.

{"aircons":{"ac1":{"info":{"setTemp":22.0,"state":"on","uid":"0004a302fbd6","unitType":25,"cbType":0,"activationCodeStatus":"codeEnabled","airconErrorCode":"","cbFWRevMajor":6,"cbFWRevMinor":16,"constant1":5,"constant2":6,"constant3":0,"countDownToOff":0,"countDownToOn":0,"fan":"high","filterCleanStatus":0,"freshAirStatus":"none","mode":"heat","myZone":0,"name":"AC??","noOfConstants":2,"noOfZones":9,"rfSysID":9,"order":0},"zones":{"z01":{"error":0,"maxDamper":100,"measuredTemp":22.1,"minDamper":0,"motion":0,"motionConfig":0,"name":"MASTER","number":1,"rssi":52,"setTemp":18.0,"state":"close","type":1,"value":5},"z02":{"error":0,"maxDamper":100,"measuredTemp":23.3,"minDamper":0,"motion":0,"motionConfig":0,"name":"BED 2","number":2,"rssi":56,"setTemp":16.0,"state":"close","type":1,"value":5},"z03":{"error":0,"maxDamper":100,"measuredTemp":23.4,"minDamper":0,"motion":0,"motionConfig":0,"name":"BED 3","number":3,"rssi":60,"setTemp":16.0,"state":"close","type":1,"value":5},"z04":{"error":0,"maxDamper":100,"measuredTemp":23.1,"minDamper":0,"motion":0,"motionConfig":0,"name":"MISHA OFFICE","number":4,"rssi":64,"setTemp":24.0,"state":"close","type":1,"value":90},"z05":{"error":0,"maxDamper":100,"measuredTemp":21.9,"minDamper":0,"motion":0,"motionConfig":0,"name":"DINING","number":5,"rssi":38,"setTemp":22.0,"state":"open","type":1,"value":35},"z06":{"error":0,"maxDamper":100,"measuredTemp":0.0,"minDamper":0,"motion":0,"motionConfig":0,"name":"LOBBY","number":6,"rssi":0,"setTemp":24.0,"state":"open","type":0,"value":100},"z07":{"error":0,"maxDamper":100,"measuredTemp":22.6,"minDamper":0,"motion":0,"motionConfig":0,"name":"LIVING","number":7,"rssi":47,"setTemp":22.0,"state":"open","type":1,"value":5},"z08":{"error":0,"maxDamper":100,"measuredTemp":23.1,"minDamper":0,"motion":0,"motionConfig":0,"name":"OFFICE","number":8,"rssi":48,"setTemp":22.0,"state":"open","type":1,"value":5},"z09":{"error":0,"maxDamper":100,"measuredTemp":22.2,"minDamper":0,"motion":0,"motionConfig":0,"name":"MEDIA","number":9,"rssi":50,"setTemp":22.0,"state":"open","type":1,"value":5}}}},"snapshots":{},"system":{"dealerPhoneNumber":"0478511133","hasAircons":true,"hasLights":false,"needsUpdate":false,"logoPIN":"1234","mid":"0004a302fbd6","myAppRev":"12.206","name":"MyPlace","noOfAircons":1,"noOfSnapshots":0,"rid":"87NUFuTEsbYR8c60VDtkm7eGPvv2","sysType":"MyAir5"}}

Control can be achieved with a combination of JSON commands as below:

Sending a command to a single aircon

Tip: The following commands can be tested using any standard browser.
The set command uses a subset of the JSON structure from the getSystem command. However each command can only target one aircon unit. If you have multiple aircons you will have to send one command message per aircon.

Example aircon unit commands:

To set the first aircon (ac1) state on or off use the following:

Xxxx://10.0.0.10:2025/setAircon?json={“ac1”:{“info”:{“state”:“on”}}}
Xxxx://10.0.0.10:2025/setAircon?json={“ac1”:{“info”:{“state”:“off”}}}

To set the second aircon (ac2) mode to heating (heat) use the following:

Xxxx/10.0.0.10:2025/setAircon?json={“ac2”:{“info”:{“mode”:“heat”}}}

You can also combine messages, so to set aircon ac1 to state=on and mode=cool

hxx//10.0.0.10:2025/setAircon?json={“ac1”:{“info”:{“state”:“on”,“mode”:“cool”}}}

Example zone commands:

To set the first aircon (ac1), second zone (z2) state to open.

Xxxx://10.0.0.10:2025/setAircon?json={ac1:{“zones”:{“z2”:{“state”:“open”}}}}

To set the third aircon (ac3), tenth zone (z10) value to 80%.

http://10.0.0.10:2025/setAircon?json={ac1:{“zones”:{“z10”:{“value”:80}}}}

Example aircon unit and zone commands:

For a combination of settings you can use the one command

Xxxp://10.0.0.10:2025/setAircon?json={ac1:{“info”:{“state”:“on”,“mode”:“cool”},“zones”:{“z10”:{“value”:80}}}}}

Please can a device be created that can read set and detected temperatures with Zone names and control be achieved.

A user (smallsam) created a library that worked with a previous version of the API, which I have updated to work with the new JSON api…

It just needs a device created to leverage the library. It may be within my grasp but I just haven’t had the time to sit down and give it some attention.

Has anybody managed to get an integration into HomeAssistant ? I see the Python script but my level of knowledge really prevents me from making any use of it :frowning:

See Advantage-Air integration - add option to set MYZONE