Broadlink AC Integration (AC Freedom) (AUX, Dunham, Rcool, Akai, Rinnai, Kenwood, Tornado, Ballu)

There are many people trying to get this integration to work, and I though it needed a better guide (Tutorial) on how to implement it.

First of all, the integration was not created by me. It was created by a guy named Liaan and you can find his integration on GitHub by navigating to this link: https://github.com/liaan/broadlink_ac_mqtt

The are 2 versions: One is for docker, which is not the one I am using and you can find here: https://github.com/broadlink-ac/broadlink_ac_mqtt_docker and one for non docker, Linux installations. If I got this right, this program, becomes the middleman between your Broadlink AC and your Home Assistant application.

In my case, I have installed this program on a raspberry pi that I use to host my Unifi Controller.

To get started, you are some prerequisites:

You need to have an MQTT broker setup on your Home Assistant. As this is completely outside our scope, you can watch this video to set it up:

You need to have PIP installed, which if you don’t can be installed using this command:

  • apt install python-pip

You also need to have git installed, which if you don’t can be installed using this command:

  • apt install git

You also need to have nano installed, which if you don’t can be installed using this command:

  • apt install nano

Then you are ready to start installing the program. Copy and paste the commands one by one and run them on your Linux Machine (Not HA).

  1. pip install paho-mqtt
  2. pip install pyyaml
  3. pip install PyCrypto
  4. git clone https://github.com/liaan/broadlink_ac_mqtt.git
  5. cd broadlink_ac_mqtt
  6. cp settings/config_sample.yml settings/config.yml
  7. cd settings
  8. nano config.yml

You now need to edit the config.yml file and add your MQTT details.

This will look something like this:

service:
    daemon_mode: True
    update_interval: 10
    self_discovery: True
    bind_to_ip: False

mqtt:
    host: 192.168.10.200
    port: 1883
    client_id: ac_to_mqtt
    user: yourmqttuserhere
    passwd: yourpassowrdhere
    topic_prefix: /aircon
    auto_discovery_topic: homeassistant
    auto_discovery_topic_retain: False
    discovery: False

##Devices
devices:
- ip: 192.168.10.56
  mac: a3df4af45f
  name: Living Room
  port: 80

There are 5 things that you need to edit under mqtt and 3 things you need to edit under devices:

mqtt:

  • You need to add your mqtt ip address next to host
  • You need to add your mqtt broker port next to port
  • You need to add your mqtt username next to user
  • You need to add your mqtt user password next to passwd

devices

  • You need to add your Air Conditioner’s IP address next to ip
  • You need to add your Air Conditioner’s MAC address next to mac
  • You need to add a name for your Air Conditioner next to name

Once done, you can press ctrl & x on your keyboard and then enter to save and exit the config.yml file.

You are now ready to start the program: Please note that you need to be inside the root broadlink_ac_mqtt folder to do so. As you are currently at broadlink_ac_mqtt/settings directory, type

  • cd …

to go back on directory.

Now start the program by typing

  • python monitor.yml

If everything starts correctly without errors, you are ready to go.

Restart your Home Assistant, navigate to Integrations, find your MQTT broker, for example Mosquitto broker and check if your devices have been increased by one.

If yes, you can navigate to your Lovelace dashboard, edit, add card by entity, search for your AC, select it and add it your dashboard.

By following this guide you should be able to control Power, Modes, Temperature and Fan speed.

As for these properties: fixation_v, mildew, ifeel, sleep, clean, health, display, or fixation_h, unfortunately, you can get the values from the mqtt broker but cannot currently set them via mqtt. To be honest the only one i care is the fixation_v property which is a bit of a deal breaker for me.

This guy also managed to get it to work as a service, so that you don’t have to keep starting the program. Air conditioner - AUX - mqtt configuration

Finally if you need Swing, the developer just added it to his program!

Just copy and paste this to your Home Assistant configuration.yaml file:

climate:
- action_topic: /aircon/c8f742348bec/homeassistant/set
  availability_topic: /aircon/LWT
  current_temperature_topic: /aircon/c8f742348bec/ambient_temp/value
  fan_mode_command_topic: /aircon/c8f742348bec/fanspeed_homeassistant/set
  fan_mode_state_topic: /aircon/c8f742348bec/fanspeed_homeassistant/value
  fan_modes:
  - Auto
  - Low
  - Medium
  - High
  - Turbo
  - Mute
  max_temp: 32.0
  min_temp: 16.0
  mode_command_topic: /aircon/c8f742348bec/mode_homeassistant/set
  mode_state_topic: /aircon/c8f742348bec/mode_homeassistant/value
  modes:
  - 'off'
  - cool
  - heat
  - fan_only
  - dry
  name: 'Living Room AC'
  platform: mqtt
  precision: 0.5
  temp_step: 0.5
  temperature_command_topic: /aircon/c8f742348bec/temp/set
  temperature_state_topic: /aircon/c8f742348bec/temp/value
  unique_id: c8f742348bec
  swing_mode_command_topic: /aircon/c8f742348bec/fixation_v/set
  swing_mode_state_topic: /aircon/c8f742348bec/fixation_v/value
  swing_modes:
  - SWING
  - TOP
  - AUTO
  - MIDDLE1
  - MIDDLE2
  - MIDDLE3

Note. If you had this integration before and need swing support. Delete everything, redownload and set it up again from scratch. Here is the relevant topic: https://github.com/liaan/broadlink_ac_mqtt/issues/84

1 Like

By the way. I was thinking if it will be good idea to convert whole script to AppDaemon format. It could be more convenient in a way.

Hi All, here is idea to support this integration officialy:

Votes needed, Thanks in advance!

2 Likes

Stuck at running the program. Could be that its running discontinued python.

Mine works i don’t know