1.0.1 • Published 5 years ago

homebridge-http-lock-ultimate v1.0.1

Weekly downloads
2
License
MIT
Repository
-
Last release
5 years ago

homebridge-http-lock-ultimate

npm npm

Description

This homebridge plugin exposes a web-based locking device to Apple's HomeKit. Using simple HTTP requests with post, body and header support, the plugin allows you to lock/unlock the device, i.e. Shelly 1 devices.

Installation

  1. Install homebridge
  2. Install this plugin: npm install -g homebridge-http-lock-ultimate
  3. Update your config.json file

Configuration examples

Configuration example for a Shelly 1 device controlled via Get Requests in local network. Resets it's state to locked automatically after 5 Seconds

"accessories": [
     {
      "accessory": "HTTPLockUltimate",
      "name": "Front Door",
      "resetLock": "true",
      "resetLockTime": "5",
      "http_method": "GET",
      "openURL": "http://192.168.X.XX/relay/0?turn=on",
      "closeURL": "http://192.168.X.XX/relay/0?turn=off"
      }
]

This is a configuration example for a Shelly 1 device controlled via Post Requests to Shelly Cloud. Get's locked automatically after 5 Seconds.

"accessories": [
     {
      "accessory": "HTTPLockUltimate",
      "name": "Front Door",
      "autoLock": "true",
      "autoLockDelay": "5",
      "http_method": "POST",
      "openURL": "https:/your.server.address/device/relay/control/",
      "openHeader": {
          "Content-Type": "application/x-www-form-urlencoded"
      },
      "openBody": "turn=on&channel=0&id=XXXXXXX&auth_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "closeURL": "https://your.server.address/device/relay/control/",
      "closeHeader": {
          "Content-Type": "application/x-www-form-urlencoded"
      },
      "closeBody": "turn=off&channel=0&id=XXXXXXX&auth_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      }
]

Core

KeyDescriptionDefault
accessoryMust be HTTPLockUltimateN/A
nameName to appear in the Home appN/A
openURLURL to trigger unlockN/A
closeURLURL to trigger lockN/A

Optional fields

KeyDescriptionDefault
autoLock (optional)Whether your lock should re-lock after being opened (closeURL Request gets triggered)false
autoLockDelay (optional)Time (in seconds) until your lock will auto lock if enabled5
resetLock (optional)If your lock is locking itself after opened, use this option to reset the state automatically (Will not call closeURL and is ignored when using autoLock)false
resetLockTime (optional)Time (in seconds) until your lock will be set to locked5

Additional options

KeyDescriptionDefault
timeout (optional)Time (in seconds) until the accessory will be marked as Not Responding if it is unreachable5
http_method (optional)HTTP method used to communicate with the deviceGET
openHeaderRequest Header to send in unlock requestN/A
openBodyJSON Body to send on openN/A
closeHeaderRequest Header to send in lock requestN/A
closeBodyJSON Body to send on closeN/A
username (optional)Username if HTTP authentication is enabledN/A
password (optional)Password if HTTP authentication is enabledN/A
model (optional)Appears under the Model field for the accessoryplugin
serial (optional)Appears under the Serial field for the accessoryversion
manufacturer (optional)Appears under the Manufacturer field for the accessoryauthor
firmware (optional)Appears under the Firmware field for the accessoryversion
1.0.1

5 years ago

1.0.0

5 years ago