@bsblan/homebridge-bsblan-thermostat
v1.0.26
Published
Homebridge plugin for a bsb-lan based thermostat
Downloads
31
Readme
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.jsonfile
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
targetHeatingCoolingStatefollowing a manual override by messaging the listen server:
/targetHeatingCoolingState?value=INT_VALUE- Update
targetTemperaturefollowing a manual override by messaging the listen server:
/targetTemperature?value=FLOAT_VALUE- (if enabled) Update
coolingThresholdTemperaturefollowing a manual override by messaging the listen server:
/coolingThresholdTemperature?value=FLOAT_VALUE- (if enabled) Update
heatingThresholdTemperaturefollowing a manual override by messaging the listen server:
/heatingThresholdTemperature?value=FLOAT_VALUE- (if enabled) Update
getCurrentTemperaturfollowing a manual override by messaging the listen server:
/getCurrentTemperatur- (if enabled) Update
getTargetTemperaturefollowing a manual override by messaging the listen server:
/getCurrentTemperaturHeatingCoolingState Key
| Number | Name |
| --- | --- |
| 0 | Off |
| 1 | Heat |
| 2 | Cool |
| 3 | Auto |
