[New External Component] Actron B812 WSHP climate controller - reverse-engineered protocol!

Hey friends!!

I’ve made a new external climate component to replace my Actron Controls B812(RT) air conditioner wall controller! It’s a WSHP (water-source heat pump) unit with an LE85R3 relay board.

The B812 communicates over a 2-wire bus using a custom pulse-distance protocol that
hadn’t been documented publicly before, so this repo includes the full reverse-engineered
protocol docs alongside the component.

What it gives you:

  • Climate entity with cool / heat / heat-cool / fan-only modes and fan speed control
  • Soft thermostat with hysteresis, auto-mode deadband, and compressor protection
  • Diagnostic sensors (compressor state, protection timers, reversing valve, etc.)
  • 2-zone damper switches with interlock logic
  • Tested on ESP32-C3 with esp-idf; native C++ test suite included

GitHub: ddoodm/esphome-actron-b812

If you have a B812, B812RT, B512CW, LE612CW, LE75CW wall controller or an LE85/LE85R3
relay board and want to try it, I’d love to hear if it works for you!

Minimal example

# Signal to transmit over the PWR line
remote_transmitter:
  id: ac_tx
  pin: GPIO5
  carrier_duty_percent: 100%

# Any temp sensor will work!
sensor:
  - platform: homeassistant
    id: room_temp
    entity_id: sensor.room_temperature

# New climate component
climate:
  - platform: actron_b812
    name: "Aircon"
    transmitter_id: ac_tx
    temperature_sensor_id: room_temp