wacekz / homebridge-rpi-garage-door-opener

Plugin for HomeBridge for a Raspberry Pi GPIO Garage Door Opener
2 stars 2 forks source link
garage-door-opener homebridge raspberry-pi

homebridge-rpi-garage-door-opener

Raspberry Pi GPIO garage door plugin for Homebridge

Before you start

The project modifies a garage door opener that uses a single momentary push button mounted on the wall. The button moves and stops the door and also changes the direction.

Hardware components

You will need the following hardware components for your project:

Visit Wiki to read about hardware setup.

If you don't have reed switches or you want to have just one switch, please rather use homebridge-rasppi-gpio-garagedoor.

Note about reliability

You may observe incorrect door status on your phone and unexpected behavior of your garage door. It happens because the plugin has very limited knowledge of what is going on with the door. With 2 sensors it only knows when the door is closed or fully open. It does not know what happens between those states especially when you start using wall switches or remote controls while the door is operating. The plugin tries to recover from such situations. Let me know if it does not.

Installation

  1. Install Homebridge
  2. Install this plugin: sudo npm install github:wacekz/homebridge-rpi-garage-door-opener -g
  3. Configure the plugin
  4. (Re)start Homebridge

Configuration

You will need to add the following accessory configuration to the Homebridge config.json

Configuration sample:

    "accessories": [
        {
            "accessory": "RaspPiGPIOGarageDoor",
            "name": "Garage Door",
            "doorSwitchPin": 7,
            "doorSwitchValue": 0,
            "doorSwitchPressTime": 0.5,
            "doorSwitchIdleTime": 0.5,
            "closedDoorSensorPin": 24,
            "closedDoorSensorValue": 1,
            "closedDoorResistor": 0,
            "openDoorSensorPin": 25,
            "openDoorSensorValue": 1,
            "openDoorResistor": 0,
            "doorPollTime": 1,
            "doorOpenTime": 15
        }
    ],

Note: This plugin uses physical pin numbering.

Fields: