homebridge-nodemcu-relayControl a relay with Apple HomeKit
homebridge-nodemcu-relay
This script interfaces with homebridge to expose a relay to Apple's HomeKit, allowing you to integrate numerous devices into your smart home.
Requirements
-
NodeMCU
-
Relay Module
-
Pin header cables
-
Micro-USB cable
How-to
-
First, install the
ArduinoJson
library from the Library manager in the Arduino IDE, then follow this gist which walks you through how to flash a NodeMCU. -
Assuming that you already have homebridge set up, the next thing you will have to do is install homebridge-http using the command:
npm install -g homebridge-http
- Finally, update your
config.json
file following the example below, making sure to adapt it accordingly:
"accessories": [
{
"accessory": "Http",
"name": "Lights",
"on_url": "http://relay.local/setState?type=switch&value=1",
"off_url": "http://relay.local/setState?type=switch&value=0",
"http_method": "GET"
}
]
Wiring
Available Features
As you can see from the config.json
example above, the basic format of the HTTP request is the declaration of the mode type followed by the required state:
http://relay.local/setState?type=STRING_VALUE&value=INT_VALUE
Here is a table which shows you the available queries:
Name | Query | Description | Example Uses |
---|---|---|---|
Switch | /setState?type=switch |
Will simply turn on/off the relay permanently as per the Home app. | Lights, Faucets, Fans |
Momentary | /setState?type=momentary |
Will activate the relay for a brief moment, then deactivate after the amount of time specified in the script. | Garages, Gates, Buzzers |
Modulation | /setState?type=modulation |
Will activate then deactivate the relay constantly for the amount of time specified in the script until turned off. | Lights, Misting systems |
State | /status |
Will return the currentState in JSON form as 0 or 1 |
N/A |
评论