1.1.5 • Published 3 years ago

homebridge-garage-door-shelly1 v1.1.5

Weekly downloads
23
License
MIT
Repository
github
Last release
3 years ago

homebridge-garage-door-shelly1

npm npm

This work is forked from https://github.com/andreaseu/homebridge-garage-remote-http. Kudos to Andreas.

Description

This homebridge plugin exposes a web-based garage opener to Apple's HomeKit. Using simple HTTP requests, the plugin allows you to open/close the garage. It works as a general purpose HTTP client for any relay, but it works particularly well with a Shelly 1 relay.

Installation

  1. Install Homebridge.
  2. Install the plugin by running npm install -g homebridge-garage-door-shelly1 or by searching for homebridge-garage-door-shelly1 on the plugins tab if you are using Homebridge UI or Hoobs.
  3. Update your Homebridge config.json accordingly.

Configuration

NOTE: Don't forget to update shelly_ip to the IP address of your Shelly relay.

"accessories": [
     {
        "accessory": "GarageDoorOpener",
        "name": "Back door",
        "http_method": "GET",
        "openURL": "http://shelly_ip/relay/0?turn=on",
        "closeURL": "http://shelly_ip/relay/0?turn=on",
        "autoLock": false,
        "autoLockDelay": 60,
        "openTime": 21,
        "closeTime": 17,
        "polling": true,
        "pollInterval": 60,
        "username": "garage",
        "password": "Mh4hc7EDJF8mMkzv",
        "manufacturer": "BFT",
        "model": "SCE-MA (Board)",
        "statusURL": "http://shelly_ip/status",
        "statusKey": "$.inputs[0].input",
        "statusValueOpen": "0",
        "statusValueClosed": "1",
        "debug": "false"
    }
]

Options

Core

KeyDescriptionDefault
accessoryMust be GarageDoorOpenerN/A
nameName to appear in the Home appN/A
openURLURL to trigger the opening of your garageN/A
closeURLURL to trigger the closing of your garageN/A

Optional fields

KeyDescriptionDefault
openTimeTime (in seconds) to simulate your garage opening10
closeTimeTime (in seconds) to simulate your garage closing10
autoLockWhether your garage should auto-close after being openedfalse
autoLockDelayTime (in seconds) until your garage will automatically close (if enabled)20
switchOffCloses the garage immediately without animation. For IR remote control use.false
switchOffDelayTime (in seconds) until your garage will automatically close without animation (if enabled)2
pollingWhether the state should be polled at intervalsfalse
pollIntervalTime (in seconds) between device polls (if polling is enabled)120
statusURLURL to retrieve state on poll (if statusField* options are not set, expects HTTP response body to be 0 or 1)N/A
statusKeyJSONPath that identifies the property that contains the status of the door (e.g. $.inputs[0].input is the default for Shelly 1)$.inputs[0].input
statusValueOpenRegex that will match the open state of the relay status (e.g. open)0
statusValueClosedRegex that will match the closed state of the relay status (e.g. closed)1
statusValueOpeningRegex that will match the opening state of the relay status (e.g. opening)2
statusValueClosingRegex that will match the closing state of the relay status (e.g. closing)3

Additional options

KeyDescriptionDefault
timeoutTime (in milliseconds) until the accessory will be marked as Not Responding if it is unreachable3000
http_methodHTTP method used to communicate with the deviceGET
usernameUsername if HTTP authentication is enabledN/A
passwordPassword if HTTP authentication is enabledN/A
modelAppears under the Model field for the accessoryplugin
serialAppears under the Serial field for the accessoryversion
manufacturerAppears under the Manufacturer field for the accessoryauthor
firmwareAppears under the Firmware field for the accessoryversion
debugDisplay debug messages on Homebridge logfalse

State key

StateDescription
0Open
1Closed
2Opening
3Closing

Wiring

Shelly 1 wiring

More information at https://savjee.be/2020/06/make-garage-door-opener-smart-shelly-esphome-home-assistant/

Videos on wiring

Door open/closed sensor

In order to know for sure if your gate is open or closed you need to install a Reed Switch sensor connected between L and SW (order is irrelevant). These cost between €2 and €5.

Reed Switch

For Shelly 1 and a normally open reed switch (NO) the following options need to be set:

"accessories": [
     {
       ...
		 "statusKey": "$.inputs[0].input",
		 "statusValueOpen": "0",
		 "statusValueClosed": "1"
		 ...
	  }
	]

For a normally closed switch (NC), use:

"accessories": [
     {
       ...
		 "statusKey": "$.inputs[0].input",
		 "statusValueOpen": "1",
		 "statusValueClosed": "0"
		 ...
	  }
	]
1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago