Actron Air Conditioner add-on

I’m not sure how you have set everything up. But on my setup docker container running on Debian I have it the git repo checked out at /srv/docker/esphome/actron485/ with the container folder mapping /config to /srv/docker/esphome. File permissions may also be causing issues, so double check your ESPHome container can read those files.

As for the garbled messages. I started soldering together another ESP32 with RS485 modules, to move away from the temporary breadboard setup. And I’m also getting these garbled messages. So having something incorrectly wired, configured or a faulty component can cause this behaviour. I’m going to figure out exactly what is wrong with what I did so it may help someone else like yourself.

Hi @awulf ,

Wondering how you went getting your Actron integration working again, I hope you got it sorted.

Any learnings to share?

For myself I’m considering buying the WiFi module as my local AC store has one in-stock and tyring to get that integration working. I’d prefer to get the RS485 with ESP Home working however I’m doubting my abilities if there’s considerable debugging work to get it going.

Anyway interested to hear how you went.

Sorry haven’t had time to diagnose the new one yet. I still got my breadboard configuration working. Hoping to this weekend.

Avoid the WiFI module, better off with the MODBUS module

In fact if you’re happy to spend the money, it’s more feature rich and officially supported compared to the thing I wrote, and many posted above using it with Home Assistant. The only thing it can’t do and why I wrote my own (apart for fun) is to control individual zone temperature set points on Ultima systems.

Thank you very much Bevan for laying this out super simply. did you end up having any luck with getting zone temps working? Or anything further from this.
Thanks!
Ryan

Hi Ryan,
Yes, I’ve since kinda “duplicated” the Actron UI over and added other stuff to make it useful to me.
Also, once I became familiar with it, I was able to simplify the commands into just one, passing a payload to it, greatly tidying up the configuration.yaml.
You can find out which zone is enabled by querying 4.json and use e.g. value_template: “{{ value_json.enabledZones[0] }}” (to query zone 1) etc
You can find out the temperature of the zone by querying 6.json: e.g. value_template: “{{ value_json.individualZoneTemperatures_oC[0] }}”
The hardest part (for me) was setting turning on / off the zones as they require turning on 1 bit in an array.
UI update wise, there’s a small delay at times but I made sure in my scripts/automation that I do a HA call to Update Entity to reduce the lag.
It’s been working well - I’ve set up automations so that the aircon comes on and off at certain conditions - works well in summer so now I’ll see how it goes in winter!
PM me if you are interested in more info.

2 Likes

Sorry took a while to figure out, turns out it was a faulty RS485 module.

For what I’ll be placing in my ceiling with the AC unit.

I got these isolated RS485 TO TTL 3.3V modules from AliExpress (https://www.aliexpress.com/item/1005006254420328.html), a bit more pricy at $10 each. But being isolated will prevent any weird ground loops. They also seem to use genuine ICs and are well built compared to the other $1 RS485 modules. Only bad thing is they labelled RX/TX the wrong way around. In this case TX goes to TX on the ESP32, RX to RX. Also simpler wiring as don’t need to use a write enable pin.


I have fixed the bug Actron485 ESPHome module where if one left out the write enable pin in the configuration, it would crash.

I have two of these modules, 1 goes to the official Actron ICAMIB MODBUS module. The other is connected to the Actron RS485. Soldered to a prototype board to an Olimex ESP32-POE-ISO. Powered by POE, so that I can easily restart the module if something goes wrong remotely from my ethernet switch. I’ve removed the load resistor from the board, to save on power and reduce heat, as the two RS485 module pull enough power to be compatible with my ethernet switch. The switch is reporting 1.2W of usage.

External shot of the box. Have decided to keep the antenna, maybe allow the use as a BLE relay for home assistant, if there is enough processing power left. A BME280 is there to monitor ceiling temperature/pressure/humidity, just because.

2 Likes

Hi Guys, stumbled upon this thread as was looking for a HA integration for my AdvanceR32 system. Will it be compatible with this code?

I have an ESP32 lying around but will it connect in the outdoor unit or the indoor unit in the roof.

Powering it outside will be an issue as the unit is not attached the house. The wiring is trenched and the unit is along the fenceline

@awulf How did this end up going long term? I have just moved into a new old house that has an actron system and this looks like a good option instead of having to upgrade the control panel or by the official BMS module. I ordered a 485 module online but it is a 5v not a 3v, will this be a problem?

Been using it this whole time, working well for me, have a small bug still to sort out for controlling the individual zone temperatures (Ultima system), where it sometimes ignores the command. I’m not sure if anyone else has been using it. 5V will likely damage the ESP32 unless you get a converter to step it down/up to/from 3.3V at the signals.

1 Like

Thanks a lot for your response. I might just order the one you did then from aliexpress. Save any issues.

I finally have the new board you posted about in this thread and wiring it up. The Github though refers to the board with the DI, RO, DE and !RE. I dont see any reference to these though in your yaml. Is the yaml and external component still updated for this newer board?

I am also about to start on this journey… I have an LM7-D master controller, SRM201E indoor unit and SRD203C outdoor unit. From the look of things I need an ICAMIB-MOD board, an ESP32 with a 3.3V power supply, an RS485 module, some wires and a bunch of code :slight_smile: Thanks to all those that have done this already, great info in this post… I will post some pics / info as I implement this myself in case it helps anyone.

And let me know if anyone thinks I need anything else… really liking the sound of doing the job of the ACM-1 / ACM-2 modules which I can’t find for sale any more… and I read they discontinued the mobile app that talked to that. :man_facepalming:

So I got the boards together and connected the A and B terminal to the outdoor unit (connected in parallel to indoor unit) using the new recommended board.

I started to receive messages but they were all unknown. I then tried flipping A and B and the messages were identified but didn’t make sense. Any thoughts? I have posted the logs below. Also worth noting I dont get any messages when the cables are disconnected or unit is turned off, so im not getting any ghost communication.

AB normal

INFO ESPHome 2024.12.4
INFO Reading configuration /config/esphome/bluetooth-proxy.yaml...
INFO Starting log output from 192.168.1.184 using esphome API
INFO Successfully connected to bluetooth-proxy @ 192.168.1.184 in 0.100s
INFO Successful handshake with bluetooth-proxy @ 192.168.1.184 in 0.080s
[14:04:53][I][app:100]: ESPHome version 2024.12.4 compiled on Jan 20 2025, 13:56:31
[14:04:53][C][wifi:600]: WiFi:
[14:04:53][C][wifi:428]:   Local MAC: CC:DB:A7:92:28:E4
[14:04:53][C][wifi:433]:   SSID: [redacted]
[14:04:53][C][wifi:436]:   IP Address: 192.168.1.184
[14:04:53][C][wifi:440]:   BSSID: [redacted]
[14:04:53][C][wifi:441]:   Hostname: 'bluetooth-proxy'
[14:04:53][C][wifi:443]:   Signal strength: -77 dB ▂▄▆█
[14:04:53][C][wifi:447]:   Channel: 1
[14:04:53][C][wifi:448]:   Subnet: 255.255.255.0
[14:04:53][C][wifi:449]:   Gateway: 192.168.1.1
[14:04:53][C][wifi:450]:   DNS1: 192.168.1.165
[14:04:53][C][wifi:451]:   DNS2: 192.168.1.1
[14:04:53][C][logger:185]: Logger:
[14:04:53][C][logger:186]:   Level: DEBUG
[14:04:53][C][logger:188]:   Log Baud Rate: 0
[14:04:53][C][logger:189]:   Hardware UART: UART0
[14:04:53][C][uart.arduino_esp32:151]: UART Bus 0:
[14:04:53][C][uart.arduino_esp32:152]:   TX Pin: GPIO1
[14:04:53][C][uart.arduino_esp32:153]:   RX Pin: GPIO3
[14:04:53][C][uart.arduino_esp32:155]:   RX Buffer Size: 256
[14:04:53][C][uart.arduino_esp32:157]:   Baud Rate: 4800 baud
[14:04:53][C][uart.arduino_esp32:158]:   Data Bits: 8
[14:04:53][C][uart.arduino_esp32:159]:   Parity: NONE
[14:04:53][C][uart.arduino_esp32:160]:   Stop bits: 1
[14:04:53][C][actron485.climate:225]: Actron485 Status:
[14:04:53][C][actron485.climate:226]:   Receiving Data: YES
[14:04:53][C][actron485.climate:571]: ClimateTraits:
[14:04:53][C][actron485.climate:572]:   [x] Visual settings:
[14:04:53][C][actron485.climate:573]:       - Min temperature: 16.0
[14:04:53][C][actron485.climate:574]:       - Max temperature: 30.0
[14:04:53][C][actron485.climate:575]:       - Temperature step:
[14:04:53][C][actron485.climate:576]:           Target: 0.5
[14:04:53][C][actron485.climate:578]:           Current: 0.1
[14:04:53][C][actron485.climate:588]:   [x] Supports current temperature
[14:04:53][C][actron485.climate:597]:   [x] Supports action
[14:04:53][C][actron485.climate:600]:   [x] Supported modes:
[14:04:53][C][actron485.climate:602]:       - OFF
[14:04:53][C][actron485.climate:602]:       - COOL
[14:04:53][C][actron485.climate:602]:       - HEAT
[14:04:53][C][actron485.climate:602]:       - FAN_ONLY
[14:04:53][C][actron485.climate:602]:       - AUTO
[14:04:53][C][actron485.climate:605]:   [x] Supported fan modes:
[14:04:53][C][actron485.climate:607]:       - AUTO
[14:04:53][C][actron485.climate:607]:       - LOW
[14:04:53][C][actron485.climate:607]:       - MEDIUM
[14:04:53][C][actron485.climate:607]:       - HIGH
[14:04:53][C][actron485.climate:620]:   [x] Supported custom presets:
[14:04:53][C][actron485.climate:622]:       - Continuous Fan
[14:04:53][C][actron485.climate:622]:       - Standard Fan
[14:04:53][C][captive_portal:089]: Captive Portal:
[14:04:53][C][mdns:116]: mDNS:
[14:04:53][C][mdns:117]:   Hostname: bluetooth-proxy
[14:04:53][C][esphome.ota:073]: Over-The-Air updates:
[14:04:53][C][esphome.ota:074]:   Address: bluetooth-proxy.local:3232
[14:04:53][C][esphome.ota:075]:   Version: 2
[14:04:53][C][esphome.ota:078]:   Password configured
[14:04:53][C][safe_mode:018]: Safe Mode:
[14:04:53][C][safe_mode:020]:   Boot considered successful after 60 seconds
[14:04:53][C][safe_mode:021]:   Invoke after 10 boot attempts
[14:04:53][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[14:04:53][C][api:140]: API Server:
[14:04:53][C][api:141]:   Address: bluetooth-proxy.local:6053
[14:04:53][C][api:143]:   Using noise encryption: YES
[14:04:53][D][actron485.climate:027]: Time to Send
[14:04:53][D][actron485.climate:027]: Unknown Message received
[14:04:53][D][actron485.climate:027]: 4D C8 18 0D 08 00 F8 F8 F8 08 08 08 08 58 98 98 EA EA 08 08 1B 0F 08 09 0B 0B 28 08 FA FA 0A FF FA CA F8 
[14:04:53][D][actron485.climate:027]: 
[14:04:53][D][actron485.climate:027]: Unknown Message received
[14:04:53][D][actron485.climate:027]: 4D C8 18 68 4D 10 FF 
[14:04:53][D][actron485.climate:027]: 
[14:04:53][D][actron485.climate:027]: Unknown Message received
[14:04:53][D][actron485.climate:027]: 1D 08 F8 69 
[14:04:53][D][actron485.climate:027]: 
[14:04:54][D][actron485.climate:027]: Unknown Message received
[14:04:54][D][actron485.climate:027]: 08 08 08 08 08 08 08 08 F8 08 08 08 18 C8 F8 F8 F8 08 08 08 08 58 98 98 EA EA 08 08 1B 0F 08 09 0B 0B 08 28 08 FA FA 0A FF FA AA FC 
[14:04:54][D][actron485.climate:027]: 
[14:04:54][D][actron485.climate:027]: Unknown Message received
[14:04:54][D][actron485.climate:027]: 4D 08 08 09 08 68 FF 
[14:04:54][D][actron485.climate:027]: 
[14:04:54][D][actron485.climate:027]: Unknown Message received
[14:04:54][D][actron485.climate:027]: 4D 08 08 7C 4D 10 FF 
[14:04:54][D][actron485.climate:027]: 
[14:04:54][D][actron485.climate:027]: Unknown Message received
[14:04:54][D][actron485.climate:027]: 4D 28 28 09 08 08 08 18 0F 68 FF 
[14:04:54][D][actron485.climate:027]: 
[14:04:54][D][actron485.climate:027]: Unknown Message received
[14:04:54][D][actron485.climate:027]: 4D 28 28 78 4D 10 FF 
[14:04:54][D][actron485.climate:027]: 
[14:04:55][D][actron485.climate:027]: Time to Send
[14:04:55][D][actron485.climate:027]: Unknown Message received
[14:04:55][D][actron485.climate:027]: 4D C8 18 0D 08 00 E8 F8 F8 08 08 08 08 58 98 98 EA EA 08 08 1B 0F 08 09 0B 0B 08 08 FA FA 0A FF FA 6A FC 
[14:04:55][D][actron485.climate:027]: 
[14:04:55][D][actron485.climate:027]: Unknown Message received
[14:04:55][D][actron485.climate:027]: 4D C8 18 68 4D 10 FF 
[14:04:55][D][actron485.climate:027]: 
[14:04:55][D][actron485.climate:027]: Unknown Message received
[14:04:55][D][actron485.climate:027]: 1D 08 F8 69 
[14:04:55][D][actron485.climate:027]: 
[14:04:56][D][actron485.climate:027]: Unknown Message received
[14:04:56][D][actron485.climate:027]: 08 08 08 08 08 08 08 F8 08 08 08 18 C8 E8 F8 F8 08 08 08 08 58 98 98 EA EA 08 08 1B 0F 08 09 0B 0B 08 08 08 FA FA 0A FF FA FA FB 
[14:04:56][D][actron485.climate:027]: 
[14:04:56][D][actron485.climate:027]: Unknown Message received
[14:04:56][D][actron485.climate:027]: 4D 08 08 09 08 68 FF 
[14:04:56][D][actron485.climate:027]: 
[14:04:56][D][actron485.climate:027]: Unknown Message received
[14:04:56][D][actron485.climate:027]: 4D 08 08 7C 4D 10 FF 
[14:04:56][D][actron485.climate:027]: 
[14:04:56][D][actron485.climate:027]: Unknown Message received
[14:04:56][D][actron485.climate:027]: 4D 28 28 09 08 08 08 46 08 DE 4D 28 28 78 
[14:04:56][D][actron485.climate:027]: 
[14:04:56][D][actron485.climate:027]: Unknown Message received
[14:04:56][D][actron485.climate:027]: 4D 10 FF 
[14:04:56][D][actron485.climate:027]: 
[14:04:57][D][actron485.climate:027]: Time to Send
[14:04:57][D][actron485.climate:027]: Unknown Message received
[14:04:57][D][actron485.climate:027]: 4D C8 18 0D 08 00 E8 F8 F8 08 08 08 08 58 98 98 EA EA 08 08 1B 0F 08 09 0B 0B 08 08 FA FA 0A FF FA 6A FD 
[14:04:57][D][actron485.climate:027]: 
[14:04:57][D][actron485.climate:027]: Unknown Message received
[14:04:57][D][actron485.climate:027]: 4D C8 18 68 4D 10 FF 
[14:04:57][D][actron485.climate:027]: 
[14:04:57][D][actron485.climate:027]: Unknown Message received
[14:04:57][D][actron485.climate:027]: 1D 08 F8 69 
[14:04:57][D][actron485.climate:027]: 
[14:04:58][D][actron485.climate:027]: Unknown Message received
[14:04:58][D][actron485.climate:027]: 08 08 08 08 08 08 08 F8 08 08 08 18 C8 E8 F8 F8 08 08 08 08 58 98 98 EA EA 08 08 1B 0F 08 09 0B 0B 08 08 08 FA FA 0A FF FA 5A FD 
[14:04:58][D][actron485.climate:027]: 
[14:04:58][D][actron485.climate:027]: Unknown Message received
[14:04:58][D][actron485.climate:027]: 4D 08 08 09 08 68 FF 
[14:04:58][D][actron485.climate:027]: 
[14:04:58][D][actron485.climate:027]: Unknown Message received
[14:04:58][D][actron485.climate:027]: 4D 08 08 7C 4D 10 FF 
[14:04:58][D][actron485.climate:027]: 
[14:04:58][D][actron485.climate:027]: Unknown Message received
[14:04:58][D][actron485.climate:027]: 4D 28 28 09 08 08 08 18 0F 68 FF 
[14:04:58][D][actron485.climate:027]: 
[14:04:58][D][actron485.climate:027]: Unknown Message received
[14:04:58][D][actron485.climate:027]: 4D 28 28 78 4D 10 FF 
[14:04:58][D][actron485.climate:027]: 
[14:04:59][D][actron485.climate:027]: Time to Send
[14:04:59][D][actron485.climate:027]: Unknown Message received
[14:04:59][D][actron485.climate:027]: 4D C8 18 0D 08 00 E8 F8 F8 08 08 08 08 58 98 98 EA EA 08 08 1B 0F 08 09 0B 0B 08 08 FA FA 0A FF FA 6A 
[14:04:59][D][actron485.climate:027]: 
[14:04:59][D][actron485.climate:027]: Unknown Message received
[14:04:59][D][actron485.climate:027]: 4D C8 18 68 4D 10 FF 
[14:04:59][D][actron485.climate:027]: 
[14:04:59][D][actron485.climate:027]: Unknown Message received
[14:04:59][D][actron485.climate:027]: 1D 08 F8 69 
[14:04:59][D][actron485.climate:027]: 




AB switched

INFO ESPHome 2024.12.4
INFO Reading configuration /config/esphome/bluetooth-proxy.yaml...
INFO Starting log output from 192.168.1.184 using esphome API
INFO Successfully connected to bluetooth-proxy @ 192.168.1.184 in 0.045s
INFO Successful handshake with bluetooth-proxy @ 192.168.1.184 in 0.104s
[14:02:39][I][app:100]: ESPHome version 2024.12.4 compiled on Jan 20 2025, 13:56:31
[14:02:39][C][wifi:600]: WiFi:
[14:02:39][C][wifi:428]:   Local MAC: CC:DB:A7:92:28:E4
[14:02:39][C][wifi:433]:   SSID: [redacted]
[14:02:39][C][wifi:436]:   IP Address: 192.168.1.184
[14:02:39][C][wifi:440]:   BSSID: [redacted]
[14:02:39][C][wifi:441]:   Hostname: 'bluetooth-proxy'
[14:02:39][C][wifi:443]:   Signal strength: -74 dB ▂▄▆█
[14:02:39][C][wifi:447]:   Channel: 1
[14:02:39][C][wifi:448]:   Subnet: 255.255.255.0
[14:02:39][C][wifi:449]:   Gateway: 192.168.1.1
[14:02:39][C][wifi:450]:   DNS1: 192.168.1.165
[14:02:39][C][wifi:451]:   DNS2: 192.168.1.1
[14:02:39][C][logger:185]: Logger:
[14:02:39][C][logger:186]:   Level: DEBUG
[14:02:39][C][logger:188]:   Log Baud Rate: 0
[14:02:39][C][logger:189]:   Hardware UART: UART0
[14:02:39][C][uart.arduino_esp32:151]: UART Bus 0:
[14:02:39][C][uart.arduino_esp32:152]:   TX Pin: GPIO1
[14:02:39][C][uart.arduino_esp32:153]:   RX Pin: GPIO3
[14:02:39][C][uart.arduino_esp32:155]:   RX Buffer Size: 256
[14:02:39][C][uart.arduino_esp32:157]:   Baud Rate: 4800 baud
[14:02:39][C][uart.arduino_esp32:158]:   Data Bits: 8
[14:02:39][C][uart.arduino_esp32:159]:   Parity: NONE
[14:02:39][C][uart.arduino_esp32:160]:   Stop bits: 1
[14:02:39][C][actron485.climate:225]: Actron485 Status:
[14:02:39][C][actron485.climate:226]:   Receiving Data: YES
[14:02:39][C][actron485.climate:571]: ClimateTraits:
[14:02:39][C][actron485.climate:572]:   [x] Visual settings:
[14:02:39][C][actron485.climate:573]:       - Min temperature: 16.0
[14:02:39][C][actron485.climate:574]:       - Max temperature: 30.0
[14:02:39][C][actron485.climate:575]:       - Temperature step:
[14:02:39][C][actron485.climate:576]:           Target: 0.5
[14:02:39][C][actron485.climate:578]:           Current: 0.1
[14:02:39][C][actron485.climate:588]:   [x] Supports current temperature
[14:02:39][C][actron485.climate:597]:   [x] Supports action
[14:02:39][C][actron485.climate:600]:   [x] Supported modes:
[14:02:39][C][actron485.climate:602]:       - OFF
[14:02:39][C][actron485.climate:602]:       - COOL
[14:02:39][C][actron485.climate:602]:       - HEAT
[14:02:39][C][actron485.climate:602]:       - FAN_ONLY
[14:02:39][C][actron485.climate:602]:       - AUTO
[14:02:39][C][actron485.climate:605]:   [x] Supported fan modes:
[14:02:40][C][actron485.climate:607]:       - AUTO
[14:02:40][C][actron485.climate:607]:       - LOW
[14:02:40][C][actron485.climate:607]:       - MEDIUM
[14:02:40][C][actron485.climate:607]:       - HIGH
[14:02:40][C][actron485.climate:620]:   [x] Supported custom presets:
[14:02:40][C][actron485.climate:622]:       - Continuous Fan
[14:02:40][C][actron485.climate:622]:       - Standard Fan
[14:02:40][C][captive_portal:089]: Captive Portal:
[14:02:40][D][actron485.climate:027]: DC FF 
[14:02:40][D][actron485.climate:027]: 
[14:02:40][C][mdns:116]: mDNS:
[14:02:40][C][mdns:117]:   Hostname: bluetooth-proxy
[14:02:40][C][esphome.ota:073]: Over-The-Air updates:
[14:02:40][C][esphome.ota:074]:   Address: bluetooth-proxy.local:3232
[14:02:40][C][esphome.ota:075]:   Version: 2
[14:02:40][C][esphome.ota:078]:   Password configured
[14:02:40][C][safe_mode:018]: Safe Mode:
[14:02:40][C][safe_mode:020]:   Boot considered successful after 60 seconds
[14:02:40][C][safe_mode:021]:   Invoke after 10 boot attempts
[14:02:40][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[14:02:40][C][api:140]: API Server:
[14:02:40][C][api:141]:   Address: bluetooth-proxy.local:6053
[14:02:40][C][api:143]:   Using noise encryption: YES
[14:02:40][D][actron485.climate:027]: FE 8A FF F9 BC 73 EF EF 3B 13 7F FF 7B DF FF EF FF FD BC EF 08 08 FF F8 F8 3D FD 58 58 DE 4F EF EF EF DC EF C3 FF 
[14:02:40][D][actron485.climate:027]: 
[14:02:40][D][actron485.climate:027]: C: Zone: 6, Init Zone-0.10
[14:02:40][D][actron485.climate:027]: D6 6D D6 D0 
[14:02:40][D][actron485.climate:027]: 
[14:02:40][D][actron485.climate:027]: M: Zone: 6, Set Point: 30.00, Temp: 10.30, SP Range: 8.00-25.50, Zone: On, Compr. Mode: On Heating, Fan Mode, Damper Pos: 100%, ??Adjusting??
[14:02:40][D][actron485.climate:027]: 96 67 
[14:02:40][D][actron485.climate:027]: 
[14:02:41][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -6.80
[14:02:41][D][actron485.climate:027]: D6 7B 6B BC 37 
[14:02:41][D][actron485.climate:027]: 
[14:02:41][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -10.60
[14:02:41][D][actron485.climate:027]: D6 7B FA 96 E7 
[14:02:41][D][actron485.climate:027]: 
[14:02:41][D][actron485.climate:027]: Time to Send
[14:02:41][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.10
[14:02:41][D][actron485.climate:027]: D6 3C 79 FF F8 F8 3D FD 58 58 DE 4F CF EF EF EF DC EF FE 
[14:02:41][D][actron485.climate:027]: 
[14:02:41][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -10.60
[14:02:41][D][actron485.climate:027]: D6 3C E9 96 67 
[14:02:41][D][actron485.climate:027]: 
[14:02:42][D][actron485.climate:027]: DC FF 
[14:02:42][D][actron485.climate:027]: 
[14:02:42][D][actron485.climate:027]: FE 8A FF FB F9 FF BC 73 EF EF 73 3B 1B 7F FF EF DF FF EF FD BC EF 08 08 F7 F8 F8 3D FD 58 58 DE 4F EF EF EF DC EF D3 FD 
[14:02:42][D][actron485.climate:027]: 
[14:02:42][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.50
[14:02:42][D][actron485.climate:027]: D6 6D 
[14:02:42][D][actron485.climate:027]: 
[14:02:42][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.20
[14:02:42][D][actron485.climate:027]: D6 D0 F6 FE 
[14:02:42][D][actron485.climate:027]: 
[14:02:43][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -6.80
[14:02:43][D][actron485.climate:027]: D6 7B 6B BC EB 
[14:02:43][D][actron485.climate:027]: 
[14:02:43][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -10.60
[14:02:43][D][actron485.climate:027]: D6 7B FA 96 67 
[14:02:43][D][actron485.climate:027]: 
[14:02:43][D][actron485.climate:027]: Time to Send
[14:02:43][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.10
[14:02:43][D][actron485.climate:027]: D6 3C 79 FF F8 F8 3D FD 58 58 DE 4F CF AE EF EF EF DC EF D6 3C E9 
[14:02:43][D][actron485.climate:027]: 
[14:02:43][D][actron485.climate:027]: M: Zone: 6, Set Point: 28.00, Temp: 48.70, SP Range: 31.50-28.00, Zone: On, Compr. Mode: Off, Fan Mode, Damper Pos: 120%
[14:02:43][D][actron485.climate:027]: 96 E7 
[14:02:43][D][actron485.climate:027]: 
[14:02:44][D][actron485.climate:027]: DC FF 
[14:02:44][D][actron485.climate:027]: 
[14:02:44][D][actron485.climate:027]: FE 8A FF F9 BC 73 EF EF 3B 13 7F FF EF DF FF EF FD BC EF 08 08 FF F8 F8 3D FD 58 58 DE 4F AE EF EF EF DC EF F3 FF 
[14:02:44][D][actron485.climate:027]: 
[14:02:44][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.70
[14:02:44][D][actron485.climate:027]: D6 6D 
[14:02:44][D][actron485.climate:027]: 
[14:02:44][D][actron485.climate:027]: C: Zone: 6, Init Zone-0.70
[14:02:44][D][actron485.climate:027]: D6 D0 96 67 
[14:02:44][D][actron485.climate:027]: 
[14:02:45][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -6.80
[14:02:45][D][actron485.climate:027]: D6 7B 6B BC 37 
[14:02:45][D][actron485.climate:027]: 
[14:02:45][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -10.60
[14:02:45][D][actron485.climate:027]: D6 7B FA 96 67 
[14:02:45][D][actron485.climate:027]: 
[14:02:45][D][actron485.climate:027]: Time to Send
[14:02:45][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.10
[14:02:45][D][actron485.climate:027]: D6 3C 79 FF F8 F8 3D FD 58 58 DE 4F CF 97 EF EF EF DC EF FF D6 3C E9 
[14:02:45][D][actron485.climate:027]: 
[14:02:45][D][actron485.climate:027]: M: Zone: 6, Set Point: 28.00, Temp: 35.90, SP Range: 31.50-28.00, Zone: On, Compr. Mode: Off, Fan Mode, Damper Pos: 120%
[14:02:45][D][actron485.climate:027]: 96 67 
[14:02:45][D][actron485.climate:027]: 
[14:02:46][D][actron485.climate:027]: DC FF 
[14:02:46][D][actron485.climate:027]: 
[14:02:46][D][actron485.climate:027]: FE 8A FF F9 BC 73 EF EF 3B 1B 7F FF FD DF FF EF 78 FD BC EF 08 08 FF F8 F8 3D FD 58 58 DE 4F 97 EF EF EF DC EF FF 
[14:02:46][D][actron485.climate:027]: 
[14:02:46][D][actron485.climate:027]: C: Zone: 6, Init Zone-0.10
[14:02:46][D][actron485.climate:027]: D6 6D D6 D0 
[14:02:46][D][actron485.climate:027]: 
[14:02:46][D][actron485.climate:027]: M: Zone: 6, Set Point: 30.00, Temp: 10.30, SP Range: 8.00-25.50, Zone: On, Compr. Mode: On Heating, Fan Mode, Damper Pos: 100%, ??Adjusting??
[14:02:46][D][actron485.climate:027]: 96 67 
[14:02:46][D][actron485.climate:027]: 
[14:02:47][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -6.80
[14:02:47][D][actron485.climate:027]: D6 7B 6B BC 37 
[14:02:47][D][actron485.climate:027]: 
[14:02:47][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -10.60
[14:02:47][D][actron485.climate:027]: D6 7B FA 96 67 
[14:02:47][D][actron485.climate:027]: 
[14:02:47][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.10
[14:02:47][D][actron485.climate:027]: D6 3C 79 FF F8 F8 3D FD 58 58 DE 4F CF 6E EF EF EF DC EF FF 
[14:02:47][D][actron485.climate:027]: 
[14:02:47][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -10.60
[14:02:47][D][actron485.climate:027]: D6 3C E9 96 FF 
[14:02:47][D][actron485.climate:027]: 
[14:02:48][D][actron485.climate:027]: DC FF 
[14:02:48][D][actron485.climate:027]: 
[14:02:48][D][actron485.climate:027]: FE 8A FF FB F9 FF BC 73 EF EF 3B 1B 7F FF 7B 3F DF FF EF EF FD BC EF 08 08 FF F8 F8 3D FD 58 58 DE 4F EF EF EF DC EF 47 FE 
[14:02:48][D][actron485.climate:027]: 
[14:02:48][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.50
[14:02:48][D][actron485.climate:027]: D6 ED 
[14:02:48][D][actron485.climate:027]: 
[14:02:48][D][actron485.climate:027]: C: Zone: 6, Init Zone-0.50
[14:02:48][D][actron485.climate:027]: D6 D0 96 E7 
[14:02:48][D][actron485.climate:027]: 
[14:02:49][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -6.80
[14:02:49][D][actron485.climate:027]: D6 7B 6B BC 37 
[14:02:49][D][actron485.climate:027]: 
[14:02:49][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -10.60
[14:02:49][D][actron485.climate:027]: D6 7B FA 96 E7 
[14:02:49][D][actron485.climate:027]: 
[14:02:49][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.10
[14:02:49][D][actron485.climate:027]: D6 3C 79 FF F8 F8 3D FD 58 58 DE 4F CF 7B EF EF EF DC EF FF FF 
[14:02:49][D][actron485.climate:027]: 
[14:02:49][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -4.20
[14:02:49][D][actron485.climate:027]: D6 3C E9 D6 BF 
[14:02:49][D][actron485.climate:027]: 
[14:02:50][D][actron485.climate:027]: DC FF 
[14:02:50][D][actron485.climate:027]: 
[14:02:50][D][actron485.climate:027]: FE 8A FF F8 F9 FF BC 73 EF EF 3B 13 7F FF EF 3F DF EF EF FD BC EF 08 08 FF F8 F8 3D FD 58 58 DE 4F AE EF EF EF DC EF C7 FF 
[14:02:50][D][actron485.climate:027]: 
[14:02:50][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.80
[14:02:50][D][actron485.climate:027]: D6 6D 
[14:02:50][D][actron485.climate:027]: 
[14:02:50][D][actron485.climate:027]: C: Zone: 6, Init Zone-0.80
[14:02:50][D][actron485.climate:027]: D6 D0 96 67 
[14:02:50][D][actron485.climate:027]: 
[14:02:51][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -6.80
[14:02:51][D][actron485.climate:027]: D6 7B 6B BC 37 
[14:02:51][D][actron485.climate:027]: 
[14:02:51][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -1.00
[14:02:51][D][actron485.climate:027]: D6 7B FA F6 B5 
[14:02:51][D][actron485.climate:027]: 
[14:02:51][D][actron485.climate:027]: Time to Send
[14:02:51][D][actron485.climate:027]: C: Zone: 6, Temp Offset: -0.10
[14:02:51][D][actron485.climate:027]: D6 3C 79 FF F8 F8 3D FD 58 58 DE 4F CF 4E EF EF EF DC EF 6F FC D6 3C E9 
[14:02:51][D][actron485.climate:027]: 
[14:02:51][D][actron485.climate:027]: M: Zone: 6, Set Point: 28.00, Temp: 35.90, SP Range: 31.50-28.00, Zone: On, Compr. Mode: Off, Fan Mode, Damper Pos: 120%
[14:02:51][D][actron485.climate:027]: 96 67 
[14:02:51][D][actron485.climate:027]: 
[14:02:52][D][actron485.climate:027]: DC FF 
[14:02:52][D][actron485.climate:027]: 
[14:02:52][D][actron485.climate:027]: FE 8A FF F9 BC 73 EF EF 3B 0B 7F FF EF DF FF EF FD BC EF 08 08 FF F8 F8 3D FD 58 58 DE 4F 4E EF EF EF DC EF FF 
[14:02:52][D][actron485.climate:027]: 
[14:02:52][D][actron485.climate:027]: C: Zone: 6, Init Zone-0.10
[14:02:52][D][actron485.climate:027]: D6 6D D6 D0 

Hi Guys, i have purchased the USR-W610 tcp/rtu bridge along with the ICUNO-MOD BMS card. the installer has installed it but i am not getting anything coming into my home assistant.

a few questions which i am not sure about:

  1. should i use the modbus type as tcp or rtuovertcp
  2. Should i set the work mode to transparent or Modubus RTU ↔ Modbus TCP
  3. anyone got individual temperature control working. I have 6 zones.

Hi Guys, Has anyone managed to work out how to control the zones using RestCommands ? This is the last piece of the puzzle I need to finish off my intergration. I also saw that a Nodered flow was linked at one stage but the link no longer works, if someone has it, could they repost it ? Thanks in advance.

can you please share the yaml for your card. also, i noticed the responses are about 8-10secs slow. do you get the same behaviour? If i turn on a zone from HA, the wall controller shows it after 8-10 sec and also vice versa.

Hi Eric, I am not an expert and still trying to get my own working but there are two options on this thread, one is using the ICAMIB-MOD and some sort of MODBUS over IP adapter the other option is what @awulf put together and requires an ESP32 and an RS485 module. I am trying the second option but struggling to get it working and trying to troubleshoot as it is not an officially supported option but the tremendous efforts of one person. Hope that clears things up for you a bit.

1 Like

Not clear what’s going on. What model of Actron do you have (indoor and outdoor units)?

It’s entirely possible that different models send different packets, and their WIFI/MODBUS modules are programmed to work with all the variations.

The packets that I have decoded are listed here: Actron485/docs/AdditionalMessaging.txt at acc85aec02cd9e4976ea61f8e9eb4df1209d2ea0 · awulf/Actron485 · GitHub
And here for the Ultima Zones Actron485/docs/ZoneMessaging.txt at acc85aec02cd9e4976ea61f8e9eb4df1209d2ea0 · awulf/Actron485 · GitHub

Have you tried sending commands, like turning the system or zones on/off? Be interesting to see if anything happens there.

One thing you could try is to observe how the packets change when turning a zone on/off on the wall controller. I’d imagine even if it’s different they encode the 8 zones into 1 byte.
E.g. Zone 87654321 so if only zone 1 is on, then it should show 00000001 or 01. If zone 1 & 3 are on then 00000101 05. Also what numbers change as you change the set point. The changes in Cool/Heat/Auto, Fan speed, and record the temperature it’s reading.
Try with AB normal then if you see nothing useful, try swapped.
If we can decode the packets your AC puts out, I can add it to the module.

I’m yet to hear anyone else getting my module to work. I tried it on the Ultima and ESP Platinum Plus versions of the AC I have CRV4-19AS/ERV4-19AS.

My esp32 is currently mounted in the ceiling, made a 3d printed a box for it.

Thanks for the feedback back. I think you could be right as I have the Aires series system EVA17AS for indoor and CRS17AS for outdoor unit. I will give a go a decoding the signals but whats the easiest way to convert between the code coming in the log and the binary numbers you are talking about?
I did try sending signal’s but couldn’t see any changes.

Would be good to contribute towards making this more universal