Code Monkey home page Code Monkey logo

esphome-garage-door's Introduction

esphome-garage-door

ESPHome configuration and steps used to smart enable my two garage door openers to allow control of the garage doors as well as status if the garage is open or closed. Integration completed to Home Assistant using API from esphome.

Overview

ESPHome device was built using a custom board with screw down terminals, and 4 relays built in. Used ESPHome Docker to compile initial configuration and load onto device. Ran 4 wire cable to leverage for run from board to sensors and for a run to each of the openers.

I mounted my board in an enclosed electrical box that I bolted to the hanging bars of one of the openers. Powered via a USB cable to the outlet above the opener. Sensors were wired between both doors to allow for single 4 wire run.

The Reed sensors I used from honeywell are made for Garage Doors and allow a few inches gap which made mounting easy. I drilled two holes in the top bar of the garage door and used machine screws to secure them to the top bar. Then I mounted the sensor to the wall across from the magnet.

Parts List

  • ESP32 Board with build in screw blocks and 4 relays. Could use any other ESP32 chip and relay as well. Link
  • Honeywell Garage Door Reed Sensor - Link

Alternative Parts for board

  • Relay Pack - Link
  • D1 Mini ESP32 Board - Link
  • ESP32 Full Board - Link

Config YAML

GPIO Mapping

  • Relay 1 - GPIO21 - Double Door Opener
  • Relay 2 - GPIO22 - Single Door Opener
  • Relay 3 - GPIO18 (Unused)
  • Relay 4 - GPIO19 (unused)
  • Input 1 - GPIO05 (Unused, moved to input 3 when I had Open/Close Flapping)
  • Input 2 - GPIO12 - Single Door Sensor
  • Input 3 - GPIO13 - Double Door Sensor
  • Input 4 - GPIO14

Home Assistant Lovelace Horizontal Stack Card - Cover

cards:
  - entity: cover.double_garage
    hold_action:
      action: more-info
    name: Double Car Garage
    show_icon: true
    show_name: true
    state_color: true
    tap_action:
      action: toggle
    type: button
  - entity: cover.single_garage
    hold_action:
      action: more-info
    name: Single Car Garage
    show_icon: true
    show_name: true
    state_color: true
    tap_action:
      action: toggle
    type: button
title: Garage Doors
type: horizontal-stack

Home Assistant Lovelace Horizontal Stack Card - No Cover

cards:
  - entity: binary_sensor.double_garage_door_sensor
    hold_action:
      action: more-info
    name: Double Car Garage
    show_icon: true
    show_name: true
    state_color: true
    tap_action:
      action: call-service
      service: homeassistant.turn_on
      service_data:
        entity_id: switch.double_garage_door_switch
    type: button
  - entity: binary_sensor.single_garage_door_sensor
    hold_action:
      action: more-info
    name: Single Car Garage
    show_icon: true
    show_name: true
    state_color: true
    tap_action:
      action: call-service
      service: homeassistant.turn_on
      service_data:
        entity_id: switch.single_garage_door_switch
    type: button
title: Garage Doors
type: horizontal-stack

Docker Information

Docker - esphome/esphome:dev docker run -d -v "/LOCAL/PATH/esphome/config:/config" --net=host esphome/esphome:dev

Software

  • ESPHome Flasher - Used to flash initial config to ESP32. Used this utility on a Mac and it required extra drivers installed for serial to USB.
  • Drivers - Installed these drivers to make the Serial port show up when connecting as USB to Mac.

Project Pictures

UI UI UI UI UI UI UI

esphome-garage-door's People

Contributors

mcaminiti avatar thynix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.