Drayton Wiser Home Assistant Integration

Since I took that screenshot a number of iTRVs have changed which device they associate with. When I am not looking, who knows what they get up to… I doubt the signal strength is all that important, which may be why Wiser removed signal strength from their own app.

So I’ve been looking at managing seasonal schedules, and after sorting out my confusion between Schedules and Rooms (thanks Mark!) I now have a setup that looks like it works. It seems to be a bit different to what others have done, so I’d appreciate some feedback as to whether I’ve done something sensible or gone down a rat-hole.

I’ve seen a lot of code that looks like this:

  - service: wiser.set_schedule
    data:
      entity_id: climate.wiser_livingroom
      filename: /config/schedules/saved/autumn-living.yaml

which is great, up to a point. It’s infinitely extensible, covering as many rooms and seasons (or scenarios) as you want, gets backed up with the rest of HA, and you can edit the schedules in the text editor if you want.

The big downside for me, though, is that it dumbs down the Wiser box itself, as it sees only the current set of schedules. I have a very strong design goal to make my system as good as possible even if my HA box goes up in smoke, so I want to be able to do as much as I can with the Wiser app, including switching between (say) Winter and Autumn modes (highly relevant at this time of year).

So the other option is to retain multiple schedules within the Wiser box, and then use assign_schedule when you want to switch seasons. I must point out that there is a big limitation here - you can only have 16 schedules stored at once. I have 12 Rooms, which looks like a problem - except that I think I can get away with only 7 different schedules for the winter, 5 for autumn, and 1 for summer (=13). I could probably squeeze a couple of those together if I really had to.

If you just do that, then you have the disadvantage that the schedules aren’t backed up within HA, and you can’t edit them as text files.

So I’ve gone for a hybrid, using both methods. For each Season, I have three scripts:

  • “apply”, which uses apply_schedule to apply the relevant schedule to each room
  • “save”, which uses get_schedule to download all the schedules from Wiser box into /config/etc…
  • “load”, which uses set_schedule to upload schedules from HA to Wiser. This has to call “apply” first to make sure that the right schedules are in use before they get overwritten.

I’ve got prominent buttons to activate each of the “Apply” scripts, because I want that to be easy for anyone to do. I have less prominent buttons for the “Load” scripts, because that’s probably only me. And so far I’ve not made buttons for “Save” - that’s more exceptional and I’ll just run those manually.

Any comments or suggestions?

1 Like

Hey all! New to the Wiser party. Glad to see such an awesome integration for HA!

I’m going to be soon getting a Wiser system installed in my house during major renovations. And I want to use the heat switches to control towel rails. However I don’t want room stats for each of them, as they’re just electric towel rails to literally just heat towels. (The bathrooms also have rads for actual heating which I’ll be putting TRVs on.)

Is it possible to have the heat switch connected and just set schedules to turn the element on/off? Even if it’s through an HA automation I’m OK with that. But ideally, in the Drayton app itself.

Would you be able to use a Wiser Smart Plug? The Drayton app can certainly control that … the only issue might be an electrical regs one, as the Smart Plug requires a conventional socket and they’re not normally welcome in bathrooms.

Ideally not the conventional socket. It’s not particularly nice solution as could be unplugged. I kinda was hoping the electrical heat switch would work :/.

Unfortunately you can’t. It has to be linked to a wiser room thermostat and controlled by temperature. You can use another thermostat if you use an alternative ZigBee gateway with zigbee2mqtt.

1 Like

When you say that - do you mean pair the heat switch to a zigbee2mqtt network?

Yes I have it set up this way but obviously it won’t be available in the wiser app if done this way - only in HA. A temperature sensor is still required but using zigbee2mqtt it can be any temperature sensor of your choosing. I use an Aqara sensor and have an automation to publish the temperature to the wiser heat switch every couple of minutes.
https://www.zigbee2mqtt.io/devices/CCTFR6700.html

1 Like

Freaking awesome news! I will have another non-Wiser zigbee network anyway, using zigbee2mqtt :).

Some questions if you don’t mind…

AWESOME.

Why is that? I’ve not used climate type devices through zigbee before. Is there some good docs I can read on it that you know of?

Also, presumably I could just use a fake thermostat which is a sensor in HA that is always at, say, 0C, and I set the desired temperature as, say, 25C. Then it will always call for heat.

It’s just the way the wiser heat switch has been designed to work - it requires a temperature reading at least every 10 mins. It calculates a percentage demand similar to the wet heating products (Eg trvs) and cycles the heater on and off depending on the demand percentage.
This is the zigbee2mqtt documentation on the Aqara sensor I use:
https://www.zigbee2mqtt.io/devices/WSDCGQ11LM.html

Theoretically, your idea may work but can’t say for certain, not having tried it.

1 Like

I have 12 wiser heating-actuators linked with 12 wiser roomstats my electrical contract is only 12 kVA,(all my rad represent quite 15 kVA) i can say that last winter my electrical consumption was about 20% less than the previous year (without Wiser) with never passed the max threshold of my contract.
The wiser system work with a regulation modulating the output ( it’s not only an On/Off command).
For my point of view, Wiser provide comfort and economies when I combined Wiser and HA.

The all system can be used either with HA or with Wiser App…Thanks to the awesome integration Wiser.

2 Likes

Thanks @tombadog - I’ll do some more research on how the climate devices work in HA and see if I can figure something out.

Would you mind sharing your HA config (anonymised of course) for your mqtt: climate: entry?

This is my main integration and was the reason I started using HA just under a year ago so thank you so much for all of your efforts!!

Not sure if its a coincidence but I hadnt updated HA for a few months (Wiser Integration always kept upto date) but around a month or so ago I updated HA. It seems since then all my Wiser deviced (Hub, 2 rooms stats and about 17 trvs) become unavailable every 5-10 minutes. I have climate cards on my dashboard and these obviously show the error.

Is there anything I can do to find out why this is happening? No other devices are affected, just Wiser devices.

Do you have any errors in your logs?

I’m not 100% sure what you mean by this (probably my lack of understanding). All I have is an aqara temperature sensor which is on the same zigbee2mqtt network as the heat switch and I just have the following automation run in HA to publish it’s temperature to the wiser heat switch.

alias: Publish boot room temperature to wiser heat switch
description: ""
trigger:
  - platform: time_pattern
    minutes: /2
condition: []
action:
  - service: mqtt.publish
    data:
      topic: zigbee2mqtt/Boot room heater/set
      payload: >-
        {"temperature_measured_value": {{
        states('sensor.aqara_boot_room_temperature') }} }
mode: single

That makes sense, but then what are you doing to set the desired temperature on the heat switch? You should have set up a climate entry under mqtt in your config?

Also - I’m thinking I might switch my solution for towel rails to use a Shelly device. I was not seeing the wood for the trees here, and if the heat switches need this kind of setup for doing what I want, I might as well just use something that’s the correct tool for the job, which is a Shelly :).

Thank you for all your help though! I really appreciate it!

Zigbee2mqtt automatically exposes a climate entity in HA. No additional work required. Shelly definitely sounds like a good solution for just switching on and off.

1 Like

Has anyone managed to estimate gas usage based on the boiler on time?

My idea was to use the status of sensor.wiser_heating (or slightly more accurately, a binary light sensor on my boiler which has an LED when the burner is active). Then estimate gas consumption based on how long the boiler is firing - with the assumption that generally speaking, it uses a steady amount of gas with the flow temperature set to a sensible amount.

I wouldn’t really know where to start with coding this and hoping someone has tried a similar idea that can be plugged into the HA energy dashboard.

1 Like

I have downloaded 2 diagnostics, 1 when its working and 1 when its offline but not sure if that would be of any use?

These are in the system logs:

This error originated from a custom integration.

Logger: custom_components.wiser.coordinator
Source: helpers/update_coordinator.py:235
Integration: Drayton Wiser Integration for Home Assistant (documentation, issues)
First occurred: 20 September 2023 at 03:45:39 (305 occurrences)
Last logged: 09:45:29

Error requesting wiser (wiser-WiserHeat02AC1D) data: Response payload is not completed
Error requesting wiser (wiser-WiserHeat02AC1D) data: Server disconnected
Error requesting wiser (wiser-WiserHeat02AC1D) data: [Errno 104] Connection reset by peer
Error requesting wiser (wiser-WiserHeat02AC1D) data: [Errno 113] Host is unreachable

This error originated from a custom integration.

Logger: custom_components.wiser.coordinator
Source: custom_components/wiser/coordinator.py:158
Integration: Drayton Wiser Integration for Home Assistant (documentation, issues)
First occurred: 20 September 2023 at 03:45:39 (318 occurrences)
Last logged: 09:45:29

Response payload is not completed
Server disconnected
[Errno 104] Connection reset by peer
[Errno 113] Host is unreachable

Also just noticed this one as well

This error originated from a custom integration.

Logger: custom_components.wiser.coordinator
Source: custom_components/wiser/coordinator.py:155
Integration: Drayton Wiser Integration for Home Assistant (documentation, issues)
First occurred: 20 September 2023 at 01:40:36 (311 occurrences)
Last logged: 09:55:04

Connection timeout trying to communicate with Wiser Hub 192.168.1.35 for url http://192.168.1.35:80/data/v2/domain/
Connection timeout trying to communicate with Wiser Hub 192.168.1.35 for url http://192.168.1.35:80/data/v2/network/
Connection timeout trying to communicate with Wiser Hub 192.168.1.35 for url http://192.168.1.35:80/data/v2/schedules/
Connection error trying to communicate with Wiser Hub 192.168.1.35 for url http://192.168.1.35:80/data/v2/domain/. Error is Cannot connect to host 192.168.1.35:80 ssl:default [Connect call failed (‘192.168.1.35’, 80)]