Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including homebridge-garagedoor-command with all npm packages installed. Try it out:

var homebridgeGaragedoorCommand = require("homebridge-garagedoor-command")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

homebridge-garagedoor-command v0.4.1

Garage Door plugin for homebridge: https://github.com/nfarina/homebridge

homebridge-garagedoor-command

mit license npm npm donate

Homebridge plugin to control a garage door using command line functions
It supports commands to check state, open, and close the garage door

Installation

  1. Install Homebridge using: npm install -g homebridge
  2. Install this plugin using: npm install -g homebridge-garagedoor-command
  3. Update your configuration file. See the sample below.

Configuration

Configuration sample:

"accessories": [
  {
    "accessory": "GarageCommand",
    "name": "Garage Door",
    "open": "./open.sh",
    "close": "./close.sh",
    "state": "./check_state.sh",
    "status_update_delay": 15,
    "poll_state_delay": 20,
    "ignore_errors": false,
    "log_polling": false
  }
]

Explanation:

FieldDescription
accessoryMust always be "GarageCommand" (required)
nameName of the Garage Door (required)
openopen command. Examples: ./open.sh or node open.js (required)
closeclose command. Examples: ./close.sh or node close.js (required)
statestate command. Examples: ./check_state.js or node state.js (required)
status_update_delayTime to have door in opening or closing state (defaults to 15 seconds)
poll_state_delayTime between polling for the garage door's state (leave blank to disable state polling)
ignore_errorsCauses the plugin to replace 'STOPPED' status with 'CLOSED' (defaults to false)
log_pollingWill log every single status check to the homebridge log (default to false)

The open, close, and state commands must return the following verbs: OPEN, CLOSED, OPENING, CLOSING, STOPPED.

FAQ

Can I have multiple garage doors?

Yes! but this is a feature of homebridge, not the plugin. Add another accessory block with a different name than your other garage door.
If using homebridge-config-ui-x you can do this in the plugin settings.

Can you add 'x' feature?

Yes, I probably could. Will I? Probably not. If there is a feature you want to add, please feel free to code it yourself and submit a pull request so others can benefit.

What is the STOPPED status?

STOPPED is a valid status for a door to be in, but in the Home App, it is actually reported as OPEN. If an error occures in getting the status, STOPPED should be returned, and it will be logged, but the plugin has the ignore_errors config option so that a false OPEN event won't be triggered. Be careful with ignore_errors as it can be somewhat dangerous to report an error as CLOSED.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free