Drayton Wiser Binding
This binding integrates the Drayton Wiser Smart Heating System.
The integration happens through the HeatHub, which acts as an IP gateway to the ZigBee devices (thermostats and TRVs).
Supported Things
The Drayton Wiser binding supports the following things:
Bridge |
Label |
Description |
heathub |
HeatHub |
The network device in the controller that allows us to interact with the other devices in the system |
Thing |
Label |
Description |
boiler-controller |
Boiler Controller |
The HeatHub attached to the boiler. This also acts as the hub device |
room |
Room Name |
Virtual groups of Room Thermostats and TRVs that can have temperatures and humidities |
roomstat |
Thermostat |
Wireless thermostats which monitor temperature and humidity, and call for heat |
itrv |
iTRV |
Wireless TRVs that monitor temperature, alter the radiator valve state and call for heat |
hotwater |
Hot Water |
Virtual thing to manage hot water states |
smart-plug |
Smart Plug |
Wireless plug sockets which can be remotely switched |
Discovery
The HeatHub can be discovered automatically via mDNS, however the secret
cannot be determined automatically.
Once the secret
has been configured, all other devices can be discovered by triggering device discovery again.
Thing Configuration
HeatHub Configuration
Once discovered, the HeatHub secret
needs to be configured.
There are a few ways to obtain this, assuming you have already configured the system using the Wiser App.
- Temporarily install a packet sniffing tool on your mobile device. Every request made includes the
secret
in the header.
- Enable setup mode on the HeatHub. Connect a machine temporarily to the
WiserHeat_XXXXX
network and browse to http://192.168.8.1/secret
to obtain the secret
.
The refresh
interval defines in seconds, how often the binding will poll the controller for updates.
The awaySetPoint
defines the temperature in degrees Celsius that will be sent to the heathub when away mode is activated.
Channels
Readonly Channels
Boiler Controller
Channel |
Item Type |
Description |
heatingOverride |
Switch |
State of the heating override button on the controller |
heatChannel1Demand |
Number:Dimensionless |
Current demand level of heating channel 1 |
heatChannel1DemandState |
Switch |
Is channel 1 calling the boiler for heat |
heatChannel2Demand |
Number:Dimensionless |
Current demand level of heating channel 2 |
heatChannel2DemandState |
Switch |
Is channel 2 calling the boiler for heat |
currentSignalRSSI |
Number |
Relative Signal Strength Indicator |
currentWiserSignalStrength |
String |
Human readable signal strength |
currentSignalStrength |
Number |
Signal strength value that maps to qualityofservice icon |
Hot Water
Channel |
Item Type |
Description |
hotWaterOverride |
Switch |
State of the hot water override button on the controller |
hotWaterDemandState |
Switch |
Is hot water calling the boiler for heat |
hotWaterBoosted |
Switch |
Is hot water currently being boosted |
hotWaterBoostRemaining |
Number:Time |
How long until the boost deactivates in minutes |
Room
Channel |
Item Type |
Description |
currentTemperature |
Number:Temperature |
Currently reported temperature |
currentHumidity |
Number:Dimensionless |
Currently reported humidity (if there is a room stat configured in this room |
currentDemand |
Number:Dimensionless |
Current heat demand percentage of the room |
heatRequest |
Switch |
Is the room actively requesting heat from the controller |
roomBoosted |
Switch |
Is the room currently being boosted |
roomBoostRemaining |
Number:Time |
How long until the boost deactivates in minutes |
windowState |
Contact |
Is the window open or closed? |
Room Stat
Channel |
Item Type |
Description |
currentTemperature |
Number:Temperature |
Currently reported temperature |
currentHumidity |
Number:Dimensionless |
Currently reported humidity |
currentSetPoint |
Number:Temperature |
Currently reported set point |
currentBatteryVoltage |
Number:ElectricPotential |
Currently reported battery voltage |
currentWiserBatteryLevel |
String |
Human readable battery level |
currentBatteryLevel |
Number |
Battery level in percent |
currentSignalRSSI |
Number |
Relative Signal Strength Indicator |
currentSignalLQI |
Number |
Link Quality Indicator |
currentWiserSignalStrength |
String |
Human readable signal strength |
currentSignalStrength |
Number |
Signal strength value that maps to qualityofservice icon |
zigbeeConnected |
Switch |
Is the roomstat joined to network |
Smart TRV
Channel |
Item Type |
Description |
currentTemperature |
Number:Temperature |
Currently reported temperature |
currentDemand |
Number:Dimensionless |
Current heat demand percentage of the TRV |
currentSetPoint |
Number:Temperature |
Currently reported set point |
currentBatteryVoltage |
Number:ElectricPotential |
Currently reported battery voltage |
currentWiserBatteryLevel |
String |
Human readable battery level |
currentBatteryLevel |
Number |
Battery level in percent |
currentSignalRSSI |
Number |
Relative Signal Strength Indicator |
currentSignalLQI |
Number |
Link Quality Indicator |
currentWiserSignalStrength |
String |
Human readable signal strength |
currentSignalStrength |
Number |
Signal strength value that maps to qualityofservice icon |
zigbeeConnected |
Switch |
Is the TRV joined to network |
Smart Plug
Channel |
Item Type |
Description |
currentSignalRSSI |
Number |
Relative Signal Strength Indicator |
currentSignalLQI |
Number |
Link Quality Indicator |
zigbeeConnected |
Switch |
Is the TRV joined to network |
Command Channels
Boiler Controller
Channel |
Item Type |
Description |
awayModeState |
Switch |
Has away mode been enabled |
ecoModeState |
Switch |
Has eco mode been enabled |
Hot Water
Channel |
Item Type |
Description |
manualModeState |
Switch |
Has manual mode been enabled |
hotWaterSetPoint |
Switch |
The current hot water setpoint (on or off) |
hotWaterBoostDuration |
Number |
Period in hours to boost the hot water |
Room
Channel |
Item Type |
Description |
currentSetPoint |
Number:Temperature |
The current set point temperature for the room |
manualModeState |
Switch |
Has manual mode been enabled |
roomBoostDuration |
Number |
Period in hours to boost the room temperature |
windowStateDetection |
Switch |
Detect whether windows are open |
Room Stat
Channel |
Item Type |
Description |
deviceLocked |
Switch |
Is the roomstat interface locked |
Smart TRV
Channel |
Item Type |
Description |
deviceLocked |
Switch |
Are the TRV controls locked |
Smart Plug
Channel |
Item Type |
Description |
plugOutputState |
Switch |
The current on/off state of the smart plug |
plugAwayAction |
Switch |
Should the plug switch off when in away mode |
manualModeState |
Switch |
Has manual mode been enabled |
deviceLocked |
Switch |
Are the Smart Plug controls locked |
Known string responses for specific channels:
Channel |
Known responses |
currentWiserSignalStrength |
{ "VeryGood", "Good", "Medium", "Poor", "NoSignal" } |
currentWiserBatteryLevel |
{ "Full", "Normal", "TwoThirds", "OneThird", "Low", "Critical" } |
Full Example
.things file
Bridge draytonwiser:heathub:HeatHub [ networkAddress="192.168.1.X", refresh=60, secret="secret from hub", awaySetPoint=10 ] {
boiler-controller controller "Controller"
room livingroom "Living Room" [ name="Living Room" ]
room bathroom "Bathroom" [ name="Bathroom" ]
room bedroom "Bedroom" [ name="Bedroom" ]
roomstat livingroomstat "Living Room Thermostat" [ serialNumber="ABCDEF1234" ]
itrv livingroomtrv "Living Room - TRV" [ serialNumber="ABCDEF1235" ]
hotwater hotwater "Hot Water"
smart-plug tvplug "TV" [ serialNumber="ABCDEF1236" ]
}
The name
corresponds to the room name configured in the Wiser App.
It is not case sensitive.
The serialNumber
corresponds to the device serial number which can be found on a sticker inside the battery compartment of the Smart Valves/TRVs, and behind the wall mount of the Room Thermostats.
.items file
Switch Heating_Override "Heating Override" <fire> (gHouse) { channel="draytonwiser:boiler-controller:HeatHub:controller:heatingOverride" }
Number Heating_Demand "Heating Demand [%.0f %%]" <heating> (gHouse) { channel="draytonwiser:boiler-controller:HeatHub:controller:heatChannel1Demand" }
Switch Heating_Requesting_Heat "Heating On" <fire> (gHouse) { channel="draytonwiser:boiler-controller:HeatHub:controller:heatChannel1DemandState" }
Switch Heating_Away_Mode "Away Mode" <vacation> (gHouse) { channel="draytonwiser:boiler-controller:HeatHub:controller:awayModeState" }
Switch Heating_Eco_Mode "Eco Mode" <climate> (gHouse) { channel="draytonwiser:boiler-controller:HeatHub:controller:ecoModeState" }
/* Heating */
Switch Heating_GF_Living "Heating" <fire> (GF_Living, Heating) ["Heat Request"] { channel="draytonwiser:room:HeatHub:livingroom:heatRequest" }
/* Indoor Temperatures */
Number:Temperature livingroom_temperature "Temperature [%.1f °C]" <temperature> (GF_Living, Temperature) ["Temperature"] {channel="draytonwiser:room:HeatHub:livingroom:currentTemperature"}
/* Setpoint Temperatures */
Number:Temperature livingroom_setpoint "Set Point [%.1f °C]" <temperature> (GF_Living) ["Set Point"] {channel="draytonwiser:room:HeatHub:livingroom:currentSetPoint"}
/* Heat Demand */
Number livingroom_heatdemand "Heat Demand [%.0f %%]" <heating> (GF_Living) ["Heat Demand"] {channel="draytonwiser:room:HeatHub:livingroom:currentDemand"}
/* Manual Mode */
Switch ManualMode_GF_Living "Manual Mode" <switch> (GF_Living) ["Manual Mode"] { channel="draytonwiser:room:HeatHub:livingroom:manualModeState" }
/* Boost Mode */
Switch BoostMode_GF_Living "Boosted" <fire> (GF_Living) ["Boost Mode"] { channel="draytonwiser:room:HeatHub:livingroom:roomBoosted" }
/* Boost Duration */
Number BoostDuration_GF_Living "Boost For[]" <text> (GF_Living) ["Boost Duration"] { channel="draytonwiser:room:HeatHub:livingroom:roomBoostDuration" }
/* Boost Remaining */
Number BoostRemaining_GF_Living "Boost Remaining" <text> (GF_Living) ["Boost Remaining"] { channel="draytonwiser:room:HeatHub:livingroom:roomBoostRemaining" }
/* Humidity */
Number:Humidity livingroom_humidity "Humidity [%.0f %%]" <humidity> (GF_Living) ["Humidity"] {channel="draytonwiser:room:HeatHub:livingroom:currentHumidity"}
Sitemap
Text label="Living Room" icon="sofa" {
Text item=livingroom_temperature
Setpoint item=livingroom_setpoint step=0.5
Text item=livingroom_humidity
Text item=Heating_GF_Living
Text item=livingroom_heatdemand
Switch item=ManualMode_GF_Living
Text item=BoostMode_GF_Living
Switch item=BoostDuration_GF_Living icon="time" mappings=[0="0", 0.5="0.5", 1="1", 2="2", 3="3"]
Text item=BoostRemaining_GF_Living icon="time"
}