This is a homebridge plugin which allow HomeKit to use a thermostat over http protocol
APACHE-2.0 License
This is a HomeBridge plugin. Allows HomeKit to use your own Thermostat under HTTP protocol.
You need to be root or use command "sudo" to install this packages.
Is necessary has installed node.js with npm.
note If you are experimenting problems to install this plugin try to add "-unsafe--perm" (without ") - sudo npm install -g -unsafe--perm homebridge-advanced-thermostat -
Configuration sample:
{
"bridge": {
...
},
"description": "...",
"accessories": [
{
"accessory": "Thermostat",
"name": "Thermostat name",
"apiAdress": "http://url",
"maxTemp": "25", // Optional Max Number 100
"minTemp": "15", // Optional Min Numbber 0
"username": "user", // Optional
"password": "pass", // Optional
"manufacturer": "manufacturer", // Optional
"model": "model", // Optional
"serial_number": "serial number", // Optional
"units": "dispCelsius" // Optional (Default dispCelsius = Celsius) dispFahrenheit = Fahrenheit
}
],
"platforms":[]
}
The apiAdress
is used for two main calls: Get and Set data to the Thermostat. Your Node(API) should provide
JSON Format with:
GET /status
{
"currentState": SHORT_INT_VALUE, // 0 OFF 1 HEAT 2 COOL
"getTargetState": SHORT_INT_VALUE // 0 OFF 1 HEAT 2 COOL 3 AUTO
}
JSON Format with:
GET /info
{
"temperature": FLOAT_VALUE, // Current Temperature
"tarTemperature": FLOAT_VALUE, // Target Temperature
"heatThreshold": FLOAT_VALUE, // Heat Threshold
"coolThreshold": FLOAT_VALUE, // Cool Threshold
"humidity": FLOAT_VALUE, // Current Humidity
"units": SHORT_INT_VALUE // 0 to SET Celsius 1 to SET Fahrenheit
}
POST /setTargetState/{INT_VALUE} // 0 OFF 1 HEAT 2 COOL 3 AUTO
OK (200)
POST /targetTemperature/{FLOAT_VALUE} // Target Temperature
OK (200)
POST /heatThreshold/{FLOAT_VALUE} // Target Heat Threshold
OK (200)
POST /coolThreshold/{FLOAT_VALUE} // Target Cool Threshold
OK (200)
POST /units/{INT_VALUE} // Set up Celsius or Fahrenheit, 0 to SET Celsius 1 to SET Fahrenheit
OK (200)
Now you can SWAP between Cº to Fº.
To visualize the temperture in Fº, you must change your Display unit configuration in your Iphone.
You can do it going to
1º Settings 2º General 3º Language & Region 4º Temperature Unit
This function set up the node to display the units in Fº but internally HomeKit only works in Cº.
Here you can download an Arduino scketch for ESP8266 to get working your own Thermostat system https://github.com/SaMuELToLoKo/ESP8266-homebridge-advanced-thermostat.git
Thanks and hope this help someone to implement a cool Thermostat at home.