homebridge-bsblan-thermostat
Description
This homebridge plugin exposes a BSB_lan thermostat to Apple's HomeKit.
Using simple HTTP requests, the plugin allows you to set the thermostat mode and control the target temperature.
This Plugin is based on homebridge-web-thermostat
Installation
- Install homebridge
- Install this plugin:
npm install -g homebridge-bsblan-thermostat
- Update your
config.json
file
Configuration
"accessories": [
{
"accessory": "BSBThermostat",
"name": "Thermostat-HK1",
"apiroute": "http://bsb-lan_ip",
"pollInterval": 35
}
]
Core
Key |
Description |
Default |
accessory |
Must be BSBThermostat
|
N/A |
name |
Name to appear in the Home app |
N/A |
apiroute |
Root HTTP URL of your device without trailing slash |
http://bsb-lan |
Optional fields
Key |
Description |
Default |
if isDHW (true) |
passKey |
Passkey of the BSB lan address |
|
|
isDHW |
Use as DHW Thermostat |
false |
|
--- |
--- |
--- |
--- |
currentHeatingCircuitStateID |
BSB States-Field to detect current heating states |
8000 |
8003 |
statesForHeat |
BSB States to detect current heating |
[4, 102, 111, 112, 113, 114] |
[85,86,88,92,93,95,96] |
statesForCool |
BSB States to detect current cooling |
[103, 104, 105, 106, 116] |
[97] |
heatingStateID |
The BSB ID for the target heating state |
700 |
1600 |
currentHeatOperationModeID |
The BSB ID for the current operation heating mode |
10102 |
|
--- |
--- |
--- |
--- |
comfortTempID |
The BSB ID for in comfort mode |
710 |
1610 |
coolingTempID |
The BSB ID for in cooling mode |
712 |
1612 |
frostTempID |
The BSB ID for in frost protection mode |
714 |
1612 |
currentTemperatureID |
The BSB ID |
8740 |
8830 |
--- |
--- |
--- |
--- |
maxTemp |
Upper bound for the temperature selector in the Home app |
30 |
60 |
minTemp |
Lower bound for the temperature selector in the Home app |
15 |
45 |
minStep |
Minimum increment value for the temperature selector in the Home app |
0.5 |
0.5 |
--- |
--- |
--- |
--- |
humiditySensorID |
The BSB ID |
20102 |
20102 |
currentRelativeHumidity |
Whether to include currentRelativeHumidity as a field in /status
|
false |
false |
temperatureDisplayUnits |
Whether you want °C (0 ) or °F (1 ) as your units |
0 |
0 |
heatOnly |
Whether to only expose the heating characteristic, and not cooling/auto |
false |
false |
temperatureThresholds |
Whether you want the thermostat accessory to have heating and cooling temperature thresholds |
false |
false |
Additional options
Key |
Description |
Default |
listener |
Whether to start a listener to get real-time changes from the device. Call example: local_homebridge_ip:2000/targetTemperature?value=FLOAT_VALUE |
false |
setterDelay |
Time (in milliseconds) after a change is take over |
1000 |
pollInterval |
Time (in seconds) between device polls |
35 |
timeout |
Time (in milliseconds) until the accessory will be marked as Not Responding if it is unreachable |
3000 |
port |
Port for your HTTP listener (if enabled) |
2000 |
http_method |
HTTP method used to communicate with the device |
GET |
username |
Username if HTTP authentication is enabled |
N/A |
password |
Password if HTTP authentication is enabled |
N/A |
model |
Appears under the Model field for the accessory |
plugin |
serial |
Appears under the Serial field for the accessory |
apiroute |
manufacturer |
Appears under the Manufacturer field for the accessory |
author |
firmware |
Appears under the Firmware field for the accessory |
version |
Use as DHW Thermostat
Important: If "isDHW" is set to true, the Thermostat
Properties changed to the DHW BSB-IDs.
The Thermostat trigger a DHW-Push, if it
is set to "heat". After the Push the Thermostat
is changed back to the last state (auto, off, or cool).
"automatic" is mapped fixed to the BSB DHW-State "on".
"cool" is mapped fixed to the BSB DHW-State "eco"
"off" is mapped fixed to the BSB DHW-State "off"
"Heat" is only used to trigger the push.
Example Config with to Thermostate:
"accessories": [
{
"accessory": "BSBThermostat",
"name": "Thermostat-HK1",
"apiroute": "http://BSB_LAN_IP",
"pollInterval": 35
},
{
"accessory": "BSBThermostat",
"name": "Thermostat-TW",
"apiroute": "http://BSB_LAN_IP",
"pollInterval": 50,
"isDHW": true
}
],
Optional (if listener is enabled)
- Update
targetHeatingCoolingState
following a manual override by messaging the listen server:
/targetHeatingCoolingState?value=INT_VALUE
- Update
targetTemperature
following a manual override by messaging the listen server:
/targetTemperature?value=FLOAT_VALUE
-
(if enabled) Update
coolingThresholdTemperature
following a manual override by messaging the listen server:
/coolingThresholdTemperature?value=FLOAT_VALUE
-
(if enabled) Update
heatingThresholdTemperature
following a manual override by messaging the listen server:
/heatingThresholdTemperature?value=FLOAT_VALUE
-
(if enabled) Update
getCurrentTemperatur
following a manual override by messaging the listen server:
/getCurrentTemperatur
-
(if enabled) Update
getTargetTemperature
following a manual override by messaging the listen server:
/getCurrentTemperatur
HeatingCoolingState Key
Number |
Name |
0 |
Off |
1 |
Heat |
2 |
Cool |
3 |
Auto |