Actron Air Conditioner add-on

Hi Keith, thank you so much for the work you’re doing getting Actron air conditioners to work with hass. Im not very good with scripts so I’m not exactly sure how to implement what you’ve done so far but I’m very excited with your progress.

Cheers,
Shaun

1 Like

Hi Keith,

Quick question for you, I am able to follow along to extract the data required from Chrome Dev Tools, but when it comes to creating the config, i am getting stuck.

On Step 3, you state that we should just add the code to configuration.yaml, but when i do, i get errors. I THINK i have worked out that i need to add the sensor: integration before the - platform: template line so that it codes like this (possibly also have this wrong)

sensor:
  - platform: template
    sensors:
       ac_sts_running:
         friendly_name: "AC On"
         #unit_of_measurement: ''
         value_template: '{{  states.sensor.ac_status.attributes["isOn"] }}'
       ac_sts_setpoint:
         friendly_name: "AC Current Setpoint"
         unit_of_measurement: "°C"
         value_template: '{{  states.sensor.ac_status.attributes["setPoint"]}}'
       insidetemp_ac:
         friendly_name: "Inside Air Temperature"
         unit_of_measurement: "°C"
         value_template: '{{  states.sensor.ac_status.attributes["roomTemp_oC"] }}'
       ac_fan_speed:
         friendly_name: "AC Fan Speed"
         #unit_of_measurement: ""
         value_template: '{{  states.sensor.ac_status.attributes["fanSpeed"]}}'

but I cannot work out what to add before the

  - platform: rest
    resource: http://10.0.20.171/6.json
    method: GET
    name: InsideTemp_AC
    value_template: '{{value_json.roomTemp_oC}}'
    unit_of_measurement: "°C"

    resource: http://10.0.20.171/6.json
    name: ac_status
    json_attributes:
      - isOn
      - setPoint
      - fanSpeed
      - mode
      - isInESP_Mode
      - roomTemp_oC
      - fanIsCont
      - compressorActivity
      - enabledZones

any help would be greatly appreciated…

I’ll jump onto my system tonight or tomorrow and see if I can replicate the issue. But I am thinking the platform template bit may need to come after the platform rest bit because the template bit references the stuff inside the ac_status.
But i’ll have a look at what I have got above the platform:rest

looks like my order of things is
sensor:

  • platform: xxxxx (my inverter for solar)

  • platform: rest (as above)

  • platform: template (as above)

Thankyou for checking.

You will have to excuse my lack of coding ability, I am more of a script copier than a writer… once i get it working (after a lot of trial and error) i can normally pick up how it works… On that note, I have another question to throw at you…

I have the code working BUT have written it as follows,

Sensor:
  - platform: rest
    resource: http://10.0.20.171/6.json
    method: GET
    name: InsideTemp_AC
    value_template: '{{value_json.roomTemp_oC}}'
    unit_of_measurement: "°C"
  - platform: rest
    resource: http://10.0.20.171/6.json
    method: GET
    name: "AC On"
    value_template: '{{value_json.isOn}}'
    unit_of_measurement: ""
  - platform: rest
    resource: http://10.0.20.171/6.json
    method: GET
    name: "AC Current Setpoint"
    value_template: '{{value_json.setPoint}}'
    unit_of_measurement: "°C"
  - platform: rest
    resource: http://10.0.20.171/6.json
    method: GET
    name: "AC Fan Speed"
    value_template: '{{value_json.fanSpeed}}'
    unit_of_measurement: ""
#  - platform: template
#    sensors:
#       ac_sts_running:
#         friendly_name: "AC On"
#         #unit_of_measurement: ''
#         value_template: '{{  states.sensor.ac_status.attributes["isOn"] }}'
#       ac_sts_setpoint:
#         friendly_name: "AC Current Setpoint"
#         unit_of_measurement: "°C"
#         value_template: '{{  states.sensor.ac_status.attributes["setPoint"]}}'
#       insidetemp_ac:
#         friendly_name: "Inside Air Temperature"
#         unit_of_measurement: "°C"
#         value_template: '{{  states.sensor.ac_status.attributes["roomTemp_oC"] }}'
#       ac_fan_speed:
#         friendly_name: "AC Fan Speed"
#         #unit_of_measurement: ""
#         value_template: '{{  states.sensor.ac_status.attributes["fanSpeed"]}}'

as i was missing entities if i added it as you have it above.
Just so i understand, should i have only used one of the two different sections, ie:

  - platform: rest
    resource: http://10.0.20.171/6.json
    method: GET
    name: InsideTemp_AC
    value_template: '{{value_json.roomTemp_oC}}'
    unit_of_measurement: "°C"

OR

  - platform: rest
    resource: http://10.0.20.171/6.json
    name: ac_status
    json_attributes:
      - isOn
      - setPoint
      - fanSpeed
      - mode
      - isInESP_Mode
      - roomTemp_oC
      - fanIsCont
      - compressorActivity
      - enabledZones
  - platform: template
    sensors:
       ac_sts_running:
         friendly_name: "AC On"
         #unit_of_measurement: ''
         value_template: '{{  states.sensor.ac_status.attributes["isOn"] }}'
       ac_sts_setpoint:
         friendly_name: "AC Current Setpoint"
         unit_of_measurement: "°C"
         value_template: '{{  states.sensor.ac_status.attributes["setPoint"]}}'
       insidetemp_ac:
         friendly_name: "Inside Air Temperature"
         unit_of_measurement: "°C"
         value_template: '{{  states.sensor.ac_status.attributes["roomTemp_oC"] }}'
       ac_fan_speed:
         friendly_name: "AC Fan Speed"
         #unit_of_measurement: ""
         value_template: '{{  states.sensor.ac_status.attributes["fanSpeed"]}}'
1 Like

Slightly off-topic, but people looking for info about the EasyConnect app could head here

I’ve made very small progress toward connecting to that service, but thought people that some EasyConnect users might end up here, and might want to come and help :grinning:

It looks like the demo is no longer available. Any other methods to get the API?

EDIT:
i found on Log in after I log in to my account using inspector and searching for keyword ‘api’ a key that I believe is correct.
Screen Shot 2021-12-18 at 11.00.21 pm

After accessing the link it returns this info -

{“type”:“aconnect”,“serial”:“ACONNECT*******”,“id”:“ms1Ewo4axVAZKvw0c7heHPs4**********************=”,“issued”:“2021-11-21T08:25:04.6510578+00:00”,“expires”:“3021-11-21T08:25:04.6510578+00:00”,“description”:“Actron Connect (ACONNECT******************)”,“_links”:{“self”:{“href”:“/api/v0/client/ac-systems/ms1Ewo4axVAZKvw0c7heHPs4**********************%3D”}}}

For those looking for the demo link:
https://actronair.com.au/aconnect/#/Auth

1 Like

I recently got a new Actron Advance system installed but spec’d it with their ICUNO-MOD modbus card and the L-series controllers rather than a Neo controller. It was surprisingly easy to get working in home assistant via the modbus climate integration and using a cheap modbus TCP to RTU adapter. If anyone is interested here is my yaml config for it. This option gives full local control direct from HA without any cloud stuff.

modbus:
  - type: tcp
    host: 192.168.222.243
    port: 8887
    climates:
      - name: Actron Advance
        address: 851
        precision: 1
        scale: 0.1
        target_temp_register: 102
        max_temp: 30
        min_temp: 16        
        temp_step: 0.5
        temperature_unit: C
        hvac_onoff_register: 1
        hvac_mode_register:
          address: 101
          values:
            #off: 0
            auto: 3
            cool: 2
            heat: 1
            fan_only: 4
        slave: 1
    switches:
      - name: Actron Zone1
        slave: 1
        address: 5001
        verify:
            address: 5001
            input_type: holding
      - name: Actron Zone2
        slave: 1
        address: 5002
        verify:
            address: 5002
            input_type: holding
      - name: Actron Zone3
        slave: 1
        address: 5003
        verify:
            address: 5003
            input_type: holding
      - name: Actron Zone4
        slave: 1
        address: 5004
        verify:
            address: 5004
            input_type: holding
      - name: Actron Zone5
        slave: 1
        address: 5005
        verify:
            address: 5005
            input_type: holding
      - name: Actron Zone6
        slave: 1
        address: 5006
        verify:
            address: 5006
            input_type: holding
      - name: Actron Zone7
        slave: 1
        address: 5007
        verify:
            address: 5007
            input_type: holding
    sensors:
      - name: Actron WC1
        unit_of_measurement: °C
        precision: 1
        scale: 0.1
        slave: 1
        address: 6001
      - name: Actron WC2
        unit_of_measurement: °C
        precision: 1
        scale: 0.1
        slave: 1
        address: 6002
      - name: Actron WC3
        unit_of_measurement: °C
        precision: 1
        scale: 0.1
        slave: 1
        address: 6003            
      - name: Actron Outside
        unit_of_measurement: °C
        precision: 1
        scale: 0.1
        slave: 1
        address: 852     
      - name: Actron Indoor
        unit_of_measurement: °C
        precision: 1
        scale: 0.1
        slave: 1
        address: 851
3 Likes

That is brilliant. Do you have any pictures of your installation? I would like to see how the connections are made between the main controller and BMS / TCP device.

How much did the modbus card cost you? I am in the process of getting an Actron advance unit and they are wanting crazy money for the modbus card, nearly $1000 for supply only.

might be a bit of a stupid question but has anyone researched the ability to potentially use an off the shelf smart thermostat (nest/ecobee etc) as a remote control to send these commands/display this data?

@JoelyMoley Those thermostats are designed for the American market that uses relatively dumb control commands. Typically using basic circuits to send/receive on/off commands.
Typically the RCAC systems in Australia use proprietary data connections to communicate between the control panel and the unit. This allows a lot more 2-way information to be communicated with the controller and other more intelligent operating modes like partial speeds for inverters, zone control etc. It also makes it hard to integrate other controllers. I dont think Actron publish their protocol and haven’t seen anyone reverse engineer it.

apologies, absolute HA novice, can i get some more detail as to how this script is created, what the action type is or better yet does someone mind posting their own? managed to get the rest working but caught on this bit! thanks again

Hi Tim,

Sorry for late reply, I can’t tell you the exact price as was part of complete Advance R32 system. I had this quoted on by a number of suppliers, only one mentioned the price and he said was around $500 option. In my case I opted against the expensive tablet like Neo controller and just went with the BMS card and 3 LR7 wall controllers over 7 zones. This combo ended up being a similar price to the system with just a single Neo controller. I run the card in Basic BMS control mode, it works pretty well but only averages the temperatures across zones that have a LR7 and that are switched on. The LR7 wall controllers have temp sensors in them. From what I understand the Advance system allows up to 3 wall controllers + 3 temp sensors + the BMS card.

If I get more motivated I wouldn’t mind exploring running it in the Advanced BMS mode where you get direct control over the compressor and fans, in the case of an Advance system you could control compressor demand 20-100%. I also have a bunch of 3rd party TH sensors around the house and it would be pretty cool to get this working with a PID setup via HA.

Darren

1 Like

I just committed to purchasing an Actron unit as part of my new home build.

I ended up with the Neo unit as they provided it “free”. I’m sure I still paid for it in the whole price but wouldnt get credit for removing it.
I have 8 zones, 4 sensors and the bms card. They charged me $850 for the bms card but didn’t want to rely on the cloud.
I’ll install a modbus to Ethernet adapter at the unit and control it that way.

My home build will be at least a year away so some time until I get to test it out.

Hi Johann, The BMS card goes in the outdoor unit and you just need a shielded two pair cable to extend the RS485 (3 wires + shield) back to where you plan to have your Modbus TCP bridge. I used a cheap wired one called a NB114 and it’s proven reliable.

An update on the modbus gateway I was using as the NB114 died. Have switched to a USR-TCP232-304 which also works fine, little tricky to setup and documentation is vague and web pages vary a lot between firmware versions (mine has V4300). Key settings seemed to be TCP server mode and Modbus TCP/RTU set.

The link to the manual for modbus card is here.

All the Actron tech docs can be found https://docs.actronair.com.au/.

1 Like

I’ll also add the installer seemed so have a lot of problems commissioning the system with multiple controllers present. There is a process that needs to be followed when there are multiple controllers present with setting the addressing. From what I gather this installer didn’t seem to have much experience with a multiple controller setup.
Also the BMS card was installed with the power and data pairs crossed over from the Actron factory ! It took me a number of weeks to work out why the card appeared dead and wasn’t talking at all. It was only after I started looking at the physical cabling to the BMS card and buzzing it out with a meter I found this. Luckily the expensive BMS card did not seem damaged by having 12v applied to it’s data pair. The installer really wanted nothing to do with the BMS card and basically said that is all my responsibility.

1 Like

I have got a similar feeling from the company who is supplying my system.

Hi, I am using the ICAMIB-MOD but guessing operation will be the same. I also used the NB114 after seeing your post . Got it working now. I would like to use the below register

Do you happen to know how to set this up?