homebridge-besthing
v0.1.0
Published
Homebridge plugin for the BESTIN wallpad floor-heating thermostats over the besthing WoT servient
Downloads
360
Maintainers
Readme
homebridge-besthing
Homebridge plugin that exposes the BESTIN wallpad floor-heating thermostats to HomeKit, talking directly to the besthing WoT servient over the W3C Web Thing Protocol.
Only the thermostats are handled. Lights, ventilation, the doorlock and sensors stay with the Hubitat driver.
Why
Hubitat's HomeKit Bridge exposes HeatingThresholdTemperature and CoolingThresholdTemperature for
these heat-only thermostats. A Home scene then sends both the target temperature and the stored
threshold as setHeatingSetpoint, in random order, and the room ends up at the wrong setpoint
(report).
This plugin shows each thermostat with Off and Heat and a single target temperature, without
thresholds.
Requirements
- A BESTIN wallpad running the besthing servient 1.3.0 or later. Earlier servients read a room
switched off on the wallpad as
heat, and can undo a mode change when a target temperature follows it within about a second. - Homebridge 1.8 or later, or Homebridge 2.
- Node.js 20, 22, 24 or 26.
Setup
Install homebridge-besthing from the Plugins tab of the Homebridge UI, or with
npm install -g homebridge-besthing, and set the servient's base URL:
{
"platform": "Besthing",
"name": "Besthing",
"servient": "http://10.3.7.1:8788"
}Running the plugin as a child bridge keeps its restarts from affecting other accessories. If the thermostats are also bridged to HomeKit some other way, such as Hubitat's HomeKit Bridge, remove them there so Home does not show them twice.
How it works
On launch the plugin reads the Thing directory from the servient's /things, retrying every 30 s
until it answers, and shows each wallpad:Thermostat Thing as a HomeKit thermostat named after
its title. One WebSocket carries the property observations and writes for all of them, and
reconnects on its own. While it is down, HomeKit shows the thermostats as not responding.
| HomeKit | Servient property |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| Target state Off / Heat | mode: reads heat, sleep and reservation as Heat, pause and off as Off; Heat writes heat, Off writes off |
| Current state Off / Heat | operating: heating is Heat, idle is Off |
| Target temperature | target, with the range and step from the Thing Description |
| Current temperature | current |
| Display units | Fixed to Celsius |
Sleep and reservation programs cannot be started from HomeKit.
Development
npm install
npm run build
npm test