Homebridge plugin designed for a web-based thermometer with support for complex json objects.
npm install homebridge-json-thermometer
npm install -g homebridge-json-thermometer or through Homebridge UI by clicking the INSTALL buttton.
config.json file by clicking the SETTINGS button through Homebridge UI or manually. See the explanations and samples below.
json
{
"platform": "HttpJsonThermometer",
"thermometers": [ {
"thermometerName": "Terrarium thermometer",
"httpRoute": "http://ipaddress/status/",
"updateInterval": 60,
"jsonPath": "temp",
"calibration": 0.16,
"minValue": -900,
"maxValue": 900,
"manufacturer": "Default-Manufacturer",
"model": "Default-Model",
"serial": "Default-Serial"
} ]
}
`
$3
For a simple json object, defining the first property name is enough.
`json
{
"tC": 22.94, // path is "tC"
"tF": 73.29 // path is "tF"
}
`
For complex json objects, the js dot notation can be used as path:
`json
{
"ext_temperature": {
"0": {
"tC": 22.94, // path is "ext_temperature[0].tC"
"tF": 73.29 // path is "ext_temperature[0].tF"
}
}
}
`
$3
| 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 |
| jsonPath | This must be the path of the response value in a JSON response.
In the case above it could be temp or temp2 or temp3. | temp |
$3
| 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 |
$3
You can also have more than one thermometer. Simply click the button ADD TO THERMOMETERS in UI or add it manually like this:
`json
{
"platform": "HttpJsonThermometer",
"thermometers": [
{
"thermometerName": "Terrarium thermometer",
"httpRoute": "http://ipaddress/status/",
"updateInterval": 60,
"jsonPath": "temp",
"calibration": 0.16,
"manufacturer": "Default-Manufacturer",
"model": "Default-Model",
"serial": "Default-Serial"
},
{
"thermometerName": "Kitchen thermometer",
"httpRoute": "http://yourdomain.com/temp/",
"updateInterval": 15,
"jsonPath": "t1",
"manufacturer": "yourdomain.com",
"model": "WIFI_USB",
"serial": "S3r14lNumb3r"
},
{
"thermometerName": "Bathroom thermometer",
"httpRoute": "http://192.168.1.155/temperature/",
"updateInterval": 120,
"jsonPath": "temperature"
}
]
}
``