开源软件名称: PJCzx/homebridge-thermostat开源软件地址: https://github.com/PJCzx/homebridge-thermostat开源编程语言:
JavaScript
100.0%
开源软件介绍: homebridge-thermostat
Homebridge plugin to control a web-based thermostat
Installation
Install homebridge
Install this plugin: npm install -g homebridge-thermostat
Update your config.json
file (See below).
Configuration example
"accessories" : [
{
"accessory" : " Thermostat" ,
"name" : " Thermostat" ,
"apiroute" : " http://myurl.com"
}
]
Structure
Key
Description
accessory
Must be Thermostat
name
Name to appear in the Home app
apiroute
Root URL of your Thermostat device (excluding the rest of the requests)
temperatureDisplayUnits
(optional)
Whether you want °C (0
) or °F (1
) as your units (0
is default)
currentHumidity
(optional)
(true
or false
) Whether to include currentRelativeHumidity
as a field in /status
(false
is default)
targetHumidity
(optional)
(true
or false
) Whether to include targetRelativeHumidity
as a field in /status
and be able to set it via /targetRelativeHumidity
(false
is default)
heatOnly
(optional)
(true
or false
) Whether the thermostat only supports heating (true
) or heating and cooling (false
) (false
is default)
maxTemp
(optional)
Upper bound for the temperature selector in the Home app (30
is default)
minTemp
(optional)
Lower bound for the temperature selector in the Home app (15
is default)
timeout
(optional)
Time (in milliseconds) until the accessory will be marked as "Not Responding" if it is unreachable (5000
is default)
http_method
(optional)
The HTTP method used to communicate with the thermostat (GET
is default)
username
(optional)
Username if HTTP authentication is enabled
password
(optional)
Password if HTTP authentication is enabled
model
(optional)
Appears under "Model" for your accessory in the Home app
serial
(optional)
Appears under "Serial" for your accessory in the Home app
manufacturer
(optional)
Appears under "Manufacturer" for your accessory in the Home app
API Interfacing
Your API should be able to:
Return thermostat info when it recieves /status
in the JSON format like below:
{
"targetHeatingCoolingState": INT_VALUE_0_TO_3,
"targetTemperature": FLOAT_VALUE,
"currentHeatingCoolingState": INT_VALUE_0_TO_2,
"currentTemperature": FLOAT_VALUE
}
Note: You can also add the currentRelativeHumidity
and targetRelativeHumidity
fields individually or together above if enabled in the config.json
(read Structure )
Set targetHeatingCoolingState
when it recieves:
/targetHeatingCoolingState/{INT_VALUE_0_TO_3}
Set targetTemperature
when it recieves:
/targetTemperature/{INT_VALUE}
If enabled in config.json
(read Structure ), set targetRelativeHumidity
when it recieves:
/targetRelativeHumidity/{FLOAT_VALUE}
HeatingCoolingState Key
Number
Name
0
Off
1
Heat
2
Cool
3
Auto
Heatmiser Support
Folder 'heatmiser' contains a contributed example of the API. It supports Heatmiser wireless thermostats, as long as https://github.com/thoukydides/heatmiser-wifi is installed and working.
请发表评论