HVAC zoned ducts (dampers) automation

I am trying to automate my ducted hvac. we currently have an interface on the wall which uses a small push button and an led to indicate weather the particular zone is on. I opened it and did some probing. Figured that all we need to do is, just short the switch button (5v) with ground for few milli seconds to toggle it. I have soldered all the additional wires and now I need to figure how to actually short them.

The 4 wires you see in the pic are 5v wires for 4 toggles (4 zones). I just need to short them with ground (for which I have soldered another wire as well) to toggle the damper on/off for few milli secs. Is it possible to do it using d1 mini (I have a few of them) using esphome? if not what is the best way to achieve this? thanks for checking.

any particular reason you withdrawn your post? that looked like the most complete answer for question ever posted on any forum. Thanks a lot for that.

1 Like

Yeah I forgot that the open drain outputs of the ESP boards are not technically 5V tolerant and I don’t have time right now to explain how to construct open collector transistor drivers.

1 Like

no problem. please do explain when you can. Thanks.

1 Like

Also I am not too sure, if it is 5v. I will check and if it is 3.3v or less I will go ahead and try your earlier suggestion. Thanks.

Ok, I managed to figure this. I have connected the 5v (4x from the duct control unit) to GPIO pins directly on my d1 mini. so far it is working fine. if it burns out, I will put a 3.3v logic shifter in front of each pins. But since the open_drain seems to be floating the pins while off, hope this works with out any surprises.

I am pasting the config below for posterity. I have ordered a few photoresisters (to know the state of the switch) now and will have to find a way to accomodate them as well. I probably may have to move all this setup to a nodemcu for the sake of additional pins.

esphome:
  name: ducted_dampers
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: "xxxxx"
  password: "xxxxxxxx"

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
      
switch:
  - platform: gpio
    pin:
      number: D2
      mode: OUTPUT_OPEN_DRAIN
    id: damper1
    inverted: yes
  - platform: gpio
    pin:
      number: D5
      mode: OUTPUT_OPEN_DRAIN
    id: damper2
    inverted: yes
  - platform: gpio
    pin:
      number: D6
      mode: OUTPUT_OPEN_DRAIN
    id: damper3
    inverted: yes
  - platform: gpio
    pin:
      number: D7
      mode: OUTPUT_OPEN_DRAIN
    id: damper4
    inverted: yes
  - platform: template
    name: "lounge damper"
    turn_on_action:
    - switch.turn_on: damper1
    - delay: 200ms
    - switch.turn_off: damper1
  - platform: template
    name: "bedroom damper"
    turn_on_action:
    - switch.turn_on: damper2
    - delay: 200ms
    - switch.turn_off: damper2
  - platform: template
    name: "rishiroom damper"
    turn_on_action:
    - switch.turn_on: damper3
    - delay: 200ms
    - switch.turn_off: damper3
  - platform: template
    name: "guest damper"
    turn_on_action:
    - switch.turn_on: damper4
    - delay: 200ms
    - switch.turn_off: damper4
1 Like