[Project] ESPHome HVAC Zone Controller for Home Assistant (24VAC, up to 7 zones)

Hi everyone, I built an ESPHome HVAC zone controller for 24VAC ducted systems and wanted to share it with the community.

After finding that so much stuff out there is pretty closed source, and doesnt play very well with home assistant I wanted to make something that would. It started with wiring a dev board to a bunch of other submodules. Once that was tested and proven (its been running in the attic for over a year (these little boards are robust)


Ew!

After realising that in order to get these out to users, the wiring took about an hour per board, and the end result was… messy.

So it was onto trying to get into a tidy purpose build PCB

After long hours learning how to pcb design, its finally working!


Much neater!

I would love to hear what you think? Happy to post the yaml file if that helps!

The device can be found here: ESPHome 7-Zone HVAC Controller – 24VAC Relay Board for Home Assistant - TekOnline

3 Likes

I was just looking for something to control my vents so I can use a Faikin board with my AC and ditch the Advantage Air rubbish. Glad I saw this post when I did.

HI @jcianci12 Thanks. great board and really nice build quality. If you’re able to, could you please share the YAML configuration? I accidentally overwrote it while setting it up

If it helps, I flashed it from ESPHome with this to do my testing steps and figuring out which vent was which. Sets up for OTA too.

esphome:
  name: esp-hvac-base
  friendly_name: ESP HVAC Zone Control

esp32:
  board: esp32dev
  framework:
    type: arduino

logger:
  level: DEBUG
  baud_rate: 115200

api:

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  ap:
    ssid: "ESP-HVAC-BASE Fallback"
    password: !secret fallback_ap_password

captive_portal:

web_server:
  port: 80

switch:
  - platform: gpio
    name: "Relay 1"
    id: relay_1
    pin:
      number: GPIO12
      inverted: false
    restore_mode: ALWAYS_OFF

  - platform: gpio
    name: "Relay 2"
    id: relay_2
    pin:
      number: GPIO14
      inverted: false
    restore_mode: ALWAYS_OFF

  - platform: gpio
    name: "Relay 3"
    id: relay_3
    pin:
      number: GPIO27
      inverted: false
    restore_mode: ALWAYS_OFF

  - platform: gpio
    name: "Relay 4"
    id: relay_4
    pin:
      number: GPIO26
      inverted: false
    restore_mode: ALWAYS_OFF

  - platform: gpio
    name: "Relay 5"
    id: relay_5
    pin:
      number: GPIO25
      inverted: false
    restore_mode: ALWAYS_OFF

  - platform: gpio
    name: "Relay 6"
    id: relay_6
    pin:
      number: GPIO33
      inverted: false
    restore_mode: ALWAYS_OFF

  - platform: gpio
    name: "Relay 7"
    id: relay_7
    pin:
      number: GPIO32
      inverted: false
    restore_mode: ALWAYS_OFF

  - platform: gpio
    name: "Relay 8"
    id: relay_8
    pin:
      number: GPIO4
      inverted: false
    restore_mode: ALWAYS_OFF
1 Like

This looks great, what an awesome project, I would buy this in a heartbeat but the WAF is a problem, she likes the physical buttons, be awesome if a wifi enabled version of the basic 4 button polyaire zone controller existed.

This looks amazing! Do you have a pinout diagram for the zone connector (which looks like it’s RJ11)?

TIA,
Andy