1.0.26 • Published 5 years ago

@bsblan/homebridge-bsblan-thermostat v1.0.26

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

homebridge-bsblan-thermostat

npm npm

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

  1. Install homebridge
  2. Install this plugin: npm install -g homebridge-bsblan-thermostat
  3. Update your config.json file

Configuration

"accessories": [
    {
        "accessory": "BSBThermostat",
        "name": "Thermostat-HK1",
        "apiroute": "http://bsb-lan_ip",
        "pollInterval": 35
    }
]

Core

KeyDescriptionDefault
accessoryMust be BSBThermostatN/A
nameName to appear in the Home appN/A
apirouteRoot HTTP URL of your device without trailing slashhttp://bsb-lan

Optional fields

KeyDescriptionDefaultif isDHW (true)
passKeyPasskey of the BSB lan address
isDHWUse as DHW Thermostatfalse
------------
currentHeatingCircuitStateIDBSB States-Field to detect current heating states80008003
statesForHeatBSB States to detect current heating[4, 102, 111, 112, 113, 114][85,86,88,92,93,95,96]
statesForCoolBSB States to detect current cooling[103, 104, 105, 106, 116][97]
heatingStateIDThe BSB ID for the target heating state7001600
currentHeatOperationModeIDThe BSB ID for the current operation heating mode10102
------------
comfortTempIDThe BSB ID for in comfort mode7101610
coolingTempIDThe BSB ID for in cooling mode7121612
frostTempIDThe BSB ID for in frost protection mode7141612
currentTemperatureIDThe BSB ID87408830
------------
maxTempUpper bound for the temperature selector in the Home app3060
minTempLower bound for the temperature selector in the Home app1545
minStepMinimum increment value for the temperature selector in the Home app0.50.5
------------
humiditySensorIDThe BSB ID2010220102
currentRelativeHumidityWhether to include currentRelativeHumidity as a field in /statusfalsefalse
temperatureDisplayUnitsWhether you want °C (0) or °F (1) as your units00
heatOnlyWhether to only expose the heating characteristic, and not cooling/autofalsefalse
temperatureThresholdsWhether you want the thermostat accessory to have heating and cooling temperature thresholdsfalsefalse

Additional options

KeyDescriptionDefault
listenerWhether to start a listener to get real-time changes from the device. Call example: local_homebridge_ip:2000/targetTemperature?value=FLOAT_VALUEfalse
setterDelayTime (in milliseconds) after a change is take over1000
pollIntervalTime (in seconds) between device polls35
timeoutTime (in milliseconds) until the accessory will be marked as Not Responding if it is unreachable3000
portPort for your HTTP listener (if enabled)2000
http_methodHTTP method used to communicate with the deviceGET
usernameUsername if HTTP authentication is enabledN/A
passwordPassword if HTTP authentication is enabledN/A
modelAppears under the Model field for the accessoryplugin
serialAppears under the Serial field for the accessoryapiroute
manufacturerAppears under the Manufacturer field for the accessoryauthor
firmwareAppears under the Firmware field for the accessoryversion

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)

  1. Update targetHeatingCoolingState following a manual override by messaging the listen server:
/targetHeatingCoolingState?value=INT_VALUE
  1. Update targetTemperature following a manual override by messaging the listen server:
/targetTemperature?value=FLOAT_VALUE
  1. (if enabled) Update coolingThresholdTemperature following a manual override by messaging the listen server:
/coolingThresholdTemperature?value=FLOAT_VALUE
  1. (if enabled) Update heatingThresholdTemperature following a manual override by messaging the listen server:
/heatingThresholdTemperature?value=FLOAT_VALUE
  1. (if enabled) Update getCurrentTemperatur following a manual override by messaging the listen server:
/getCurrentTemperatur
  1. (if enabled) Update getTargetTemperature following a manual override by messaging the listen server:
/getCurrentTemperatur

HeatingCoolingState Key

NumberName
0Off
1Heat
2Cool
3Auto
1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.21

5 years ago

1.0.23

5 years ago

1.0.19

5 years ago

1.0.20

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.1

5 years ago