HTTP JSON Thermometer
Description
This Homebridge plugin allows you to integrate web-based thermometers into Apple's HomeKit. By making straightforward HTTP requests, the plugin continuously retrieves temperature data from your thermometer.
Compatibility
Probably any web-based thermometer that supports displaying values in JSON over HTTP.
Personally tested on thermometers from the manufacturer Brrr.cz.
Installation
- Install Homebridge.
- Install this plugin:
npm install -g homebridge-http-json-thermometer
or through Homebridge UI by clicking the INSTALL buttton. - Update your
config.json
file by clicking the SETTINGS button through Homebridge UI or manually. See the explanations and samples below.
Configuration
Configuration example
{
"platform": "HttpJsonThermometer",
"thermometers": [
{
"thermometerName": "Terrarium thermometer",
"httpRoute": "http://ipaddress/status/",
"updateInterval": 60,
"jsonName": "temp",
"calibration": 0.16,
"manufacturer": "Default-Manufacturer",
"model": "Default-Model",
"serial": "Default-Serial"
}
]
}
Core
Key | Description | Default |
---|---|---|
platform |
Must be HttpJsonThermometer
|
HttpJsonThermometer |
thermometerName |
This will be the name of your thermometer that appears in the Home app. This must be unique. | Terrarium thermometer |
httpRoute |
This must be a path to a JSON format that looks like this, for example: { "temp": "24.88", "temp2": "24.06", "temp3": "23.75" } |
http://ipaddress/status/ |
updateInterval |
Interval after which the values are updated. | 60 |
jsonName |
This must be the name of the thermometer in JSON format. In the case above it could be temp or temp2 or temp3. |
temp |
Additional options
Key | Description | Default |
---|---|---|
calibration |
Only if you need to calibrate your thermometer. It will increase or decrease the value. For example if you need to decrease by 0,05 then -0,05 and if you need to increase by 0.6 then 0.60
|
0.00 |
manufacturer |
Manufacturer of your thermometer. | Default-Manufacturer |
model |
Thermometer model. | Default-Model |
serial |
Serial number of your thermometer. | Default-Serial |
More thermometers
You can also have more than one thermometers. Simply click the button ADD TO THERMOMETERS in UI or add it manually like this:
{
"platform": "HttpJsonThermometer",
"thermometers": [
{
"thermometerName": "Terrarium thermometer",
"httpRoute": "http://ipaddress/status/",
"updateInterval": 60,
"jsonName": "temp",
"calibration": 0.16,
"manufacturer": "Default-Manufacturer",
"model": "Default-Model",
"serial": "Default-Serial"
},
{
"thermometerName": "Kitchen thermometer",
"httpRoute": "http://yourdomain.com/temp/",
"updateInterval": 15,
"jsonName": "t1",
"manufacturer": "yourdomain.com",
"model": "WIFI_USB",
"serial": "S3r14lNumb3r"
},
{
"thermometerName": "Bathroom thermometer",
"httpRoute": "http://192.168.1.155/temperature/",
"updateInterval": 120,
"jsonName": "temperature"
}
]
}
HomeKit limitations
Unfortunately, HomeKit has the limitation that it rounds values to 0.5 °C. This can be solved by downloading the free Eve app or another similar app. These applications usually show a value accurate to one decimal place.