开源软件名称:StefanNienhuis/homebridge-programmable-http-switch
开源软件地址:https://github.com/StefanNienhuis/homebridge-programmable-http-switch
开源编程语言:
TypeScript
100.0%
开源软件介绍:
Programmable HTTP Switch
This Homebridge plugin allows users to create Stateless Programmable Switches which can be controlled using a HTTP API.
Installation
First, install Homebridge
npm install --global homebridge
Then, install the Programmable HTTP Switch plugin
npm install --global homebridge-programmable-http-switch
Configuration
Platform configuration
An example configuration can be found in the config.example.json file.
Property |
Type |
Details |
platform |
string |
Required Must always be ProgrammableHTTPSwitch . |
accessories |
Accessory[] |
Required List of accessory configurations. |
port |
number |
Optional, default: 3000 The port that the HTTP server should listen on. |
Accessory configuration
Property |
Type |
Details |
name |
string |
Required The name of the accessory. |
identifier |
string |
Required The identifier used in the API. |
buttons |
Button[] |
Required List of button configurations. |
Button configuration
Property |
Type |
Details |
name |
string |
Required The name of the button. Note: Not shown in Apple's Home app. |
identifier |
string |
Required The identifier used in the API. |
supportedActions |
string[] |
Optional, default: all List of actions that this button supports. Supported values: singlePress (0 ), doublePress (1 ) and longPress (2 ) |
API endpoints
GET /accessories
Description
Returns all the currently configured accessoires.
GET /accessories/:accessoryIdentifier
Description
Returns an accessory with a specific identifier.
GET /accessories/:accessoryIdentifier/buttons
Description
Returns all buttons for an accessory with a specific identifier.
GET /accessories/:accessoryIdentifier/buttons/:buttonIdentifier
Description
Returns a button with a specific identifier for an accessory with a specific identifier.
PUT /accessories/:accessoryIdentifier/buttons/:buttonIdentifier
Description
Sets the state of a specific button on a specific accessory.
Body
{
"action": "singlePress"
}
Note: Action must be one of the supported actions configured for the specific button.
|
请发表评论