For what it’s worth, I managed to get my two Rinnai air conditioners working with Home Assistant on a Raspberry Pi via MQTT thanks to this wonderful script by GitHub user liaan: https://github.com/liaan/broadlink_ac_mqtt
As per the repo description, it should also work with Dunham Bush aircons, and perhaps any others that show up on the network as Broadlink_OEM_T1_xxx on your network.
Clone the repo locally, edit monitor.py and set your MQTT broker IP address and debug=True. Run monitor.py, and it will auto-detect any AC units on your network and run an endless loop where it acts as an MQTT bridge to them. You can get a bunch of properties from the units, but can only set power on/off, mode, temperature and fan speed. This was all I needed though, and it looks like it would be possible to add more functionality without too much trouble.
While monitor.py is running, you can test it out under Home Assistant > Developer Tools > MQTT.
Publish a packet: /aircon/<MAC ADDRESS>/<PROPERTY>/set
MAC ADDRESS: MAC address of the AC unit you want to communicate with, eg “34ef144eba71”.
PROPERTY: temp, power, mode or fanspeed
Payload:
temp: 16-32 (in 0.5 increments)
power: ON/OFF
mode: AUTO/COOLING/HEATING/DRY/FAN
fanspeed: AUTO/LOW/MID/HIGH
To listen to a topic: /aircon/<MAC ADDRESS>/<PROPERTY>/value
MAC ADDRESS: MAC address of the AC unit you want to communicate with, eg “34ef144eba71”.
PROPERTY: fixation_v, mildew, temp, power, mute, turbo, ifeel, sleep, mode, clean, fanspeed, health, macaddress, display, or fixation_h
I integrated this into Home Assistant on my Pi by installing monitor.py as a systemd service (similar to a manual install of Home Assistant), then set up my Home Assistant configuration as follows:
It’s a bit messy, but seems to do the job. This GitHub repo may be a good starting point for a proper integration if someone has the time, as liaan figured out the bulk of the protocol.