Drayton Wiser HABPanel Widget


Here’s my first attempt at a HABPanel widget.

This widget links to a Drayton Wiser Room (a group with the same name as the prefix for all the other items for the Drayton Room, e.g. RoomItemID), and any items linked to it. Its setup to allow only a room item to be used, and therefore expects the items to be defined in a certain way.

  • RoomItemID_CurrentlyRequestingHeat
  • RoomItemID_Temperature
  • RoomItemID_SetPoint
  • RoomItemID_BoostDuration
  • RoomItemID_BoostRemaining

I tried to avoid having loads of config and instead concatenate the item suffix onto the item room name. This is perfect for any items added via PaperUI as it will use these item IDs by default. I’m open to adding more config to link to individual items if the community thinks this approach is better.

So far we have

  • the current temperature
  • a slider to change the setpoint
  • an icon to show there is heat demand
  • boost options
  • boost remaining if boost is on.

I’ll carry on working on this, and most likely add widgets for the controller, hot water and TRVs too.

Drayton Wisor Room Widget Setup guide

Required OpanHab Items and Channels

A named room “Item” with the following Channels, named

config.item + ‘_CurrentlyRequestingHeat’
config.item + ‘_Temperature’
config.item + ‘_SetPoint’
config.item + ‘_BoostDuration’
config.item + ‘_IsBoosted’
config.item + ‘_BoostRemaining’

Setup Guide

Use Paper UI to add things, items, and channels

  1. Search for things in Paper UI, using the Drayton Wiser binding.
    a. Go to “Inbox”
    b. Click “Search for things” at the bottomm, and choose the Drayton binding
    c. When finished, go to “Inbox” again
    d. Add each room it finds as a thing. (Ignore TRVs, etc, unless you want them for something else).
  2. Add group items for the rooms (optional, but good for Paper UI organisation)
    a. Go to “Configuration”, then “items”
    b. Add a room “Item” for the room. (Type = Group, Base Type = None, Category = - see https://www.openhab.org/docs/configuration/iconsets/classic/)
  3. Add channels and items required by this widget
    a. Go to “Configuration”, then “Things”, then click on the room item that has just been created
    b. Click on “Temperature”
    c. In the “Link Channel” dialog, choose “Create new item”
    d. Everything will be filled in, apart from “Dimension”, and optionally “Parent Group”. Choose Temperature for the dimension, and the room item created in step 2 if you want (not required). Click the tick to accept the config
    e. Repeat steps 3b to 3d for the following (item’s dimension shown in brackets):- Set Point (temperature), Currently Requesting Heat (N/A), Boost Duration (leave empty), Is Boosted (N/A), Boost Remaining (leave empty)

Configure the HabPanel widget

  1. Choose the icon
  2. Choose the room item you created above
  3. Choose a min and max temperature you want the widget to use
  4. Choose locked, to make the widget read-only, e.g. temparature cannot be changed and it cannot be boosted (good for kids)

Please post any feedback or comments :slight_smile:Drayton Wiser Room.widget.json (3.0 KB)



I know this sounds really stupid but how do I configure this in HabPanel?


Hi - you should be able to use the little settings cog to configure it and choose a room binding (group in PaperUI). It’s important that the other item name match, as per the notes above.


I think I’m missing something here…the only bindings I have is Andrew Schofield’s one. Is this what I should be using?

I don’t understand the reference to the group in PaperUI.

Openhab is all new to me.

I’ll appreciate and help you can offer pointing me in the right direction.


I have just tried to set this up. I have got everything working apart from it displaying the Boost Duration.

Below is the code from my .items file

Group LivingRoom "Living Room" (gHeating)

Switch LivingRoom_CurrentlyRequestingHeat "Currently Requesting Heat" (LivingRoom) {channel="draytonwiser:room:WiserHeat02A4EA:livingroom:heatRequest"}
Number:Temperature LivingRoom_Temperature "Temperature" (LivingRoom) {channel="draytonwiser:room:WiserHeat02A4EA:livingroom:currentTemperature"}
Number:Temperature LivingRoom_SetPoint "Set Point" (LivingRoom) {channel="draytonwiser:room:WiserHeat02A4EA:livingroom:currentSetPoint"}
Number LivingRoom_BoostDuration "Boost Duration" (LivingRoom) {channel="draytonwiser:room:WiserHeat02A4EA:livingroom:roomBoostDuration"}
Number LivingRoom_BoostRemaining "Boost remaining" (LivingRoom) {channel="draytonwiser:room:WiserHeat02A4EA:livingroom:roomBoostRemaining"}

Both of the Boost Items show on Paper UI and have the correct values against them.

I would appreciate it if you could point me in the direction to get this working.



Solved my problem.

After looking through the code for the widget I realised I was missing the “IsBoosted” item.

1 Like

Sorry I’ve not been too active recently. I’ve updated this page to include a setup guide. Hopefully it’s a bit clearer now!

@gforce2010 - yeah, I missed that I’m the write up. It’s updated now. I hope you didn’t waste too much time on that!

Thanks for this.
Did you ever make a Hot water one?

Hi Matthew,

No, I just used a simple switch to do that. However, it probably wouldn’t be too difficult to change my code to do that. Just change the names of the items it’s pointing too.

I hope you are enjoying the widget :slight_smile:

Its great thanks!
It was the Boost functionality I was after, so I’ll have a go at updating the code.

A bit new to all this.
In the “template”: setting in your json, the tags have loads of formatting built into the long line.
What editor do you use to unravel all those new line and tab tags?
Then also manually putting them back in with a text editor seems quite laborious

I regularly use Notepad++ and Visual Studio Code but haven’t come across a way of doing this?

Hi - I just used the editor in the UI. It exports that JSON by itself so I’m not sure!