Drayton Wiser Home Assistant Integration

They knew I’m technical as well - I was sending them WiFi chipset models and decibel levels and all sorts, it’s something I could have checked very easily.

It does make total sense to do what they had done, but equally, if you can get to Cloudflare - everything’s probably fine.

The most baffling to me was the inconsistency of time between reboots, as I mentioned before. There must be a score or something that decides if it reboots or not.

I haven’t checked the diagnostics before - there’s a lot of good information in there! It might have helped in diagnosis as well.
That said, if we can see all that healthcheck stats info via their API - surely so could Drayton… they were able to tell me my SSID…!

I’m just glad it’s over. I’ve taken some learnings from this as well, which is always good. Just wish it hadn’t taken so long and so much stress.

I have a question about installing this integration using Wiser Zigbee hub (PDL501902). I am just using the wiser to control lighting.

I don’t see how to get a secret key for this hub. Do I need to switch to AP mode? to be able to find out the secret ?

john

AFAIK, you always need to be in setup/AP mode to get the secret key. However, please be aware that Wiser around the world are many different products and this one may not be compatible. I know the Oz version is not.

1 Like

Does anyone know if there is an entity attribute (I couldn’t find one) that indicates if any of the rooms have been manually overriden? I know there is a preset_mode attribute on each climate entity, that indicates Override, but I have 14 of them and I just want a way to conditionally display a “Cancel Heating Overrides” button if any one of them has been manually adjusted.

I know I can create a template entity to combine them, but if there’s already something available natively, please can someone point me to it? :wink:

No there isnt. But we can add one.

1 Like

I have a template sensor to indicate this, but use a list | count function rather than manually adding in all the entities individually, so the same code should work for your 14 entities too, hopefully…

        friendly_name: Heating Boosted
        icon_template: mdi:fire
        value_template: >-
          {% if states.climate | selectattr("attributes.is_boosted","match","True") | map(attribute="name") | list | count > 0 %}
          on {% else %} off {% endif %}
1 Like

Has anyone else’s Wiser Home app gone a bit haywire since the v7.0.0 update? My Apple devices now show lots of missing data (HA still shows the data is present). Is this a server issue?

Edit……. Just used an older version of the app and data still missing so not an app update issue. I guess Drayton have server issues.

yes i do. the issue i believe is related to polling. the battery dies soooo fast.

Thanks. That saved me quite a bit of time. :slight_smile: I ended up with the following:

"{{ states.climate | selectattr('attributes.is_override', 'eq', true) | selectattr('attributes.is_passive', 'eq', false) | list | count > 0 }}"

I had to exclude entities where is_passive is true, as even though I hadn’t overridden the schedule, is_passive was true on one of them.

@msp1974 Any idea why this might be? It was on my one and only TRV that was set to Passive Auto (Follow Schedule), rather than Passive Manual, as my other six passive TRVs are set.

I tried setting one of the ones in Passive Manual mode to Passive Auto and it did not set the is_override attribute to true. :thinking:

Thank you for your answer.
I have since decided to build a redundant system composed of an OpenTherm Gateway, which I will control with my own DIY PID controller device ( Raspberry Pi Pico) that talks directly to the Homematic IP CCU3 (the hub) through JSON-RPC. My controller gets the maximum valve % in the house, as well as the weather station info: Windspeed, Cloud coverage and Temperature which I then use as feedforward on my PID, and then at the output I set the water temperature of the Viessmann optimally.
As a backup, on my gateway I will also link a Drayton hub and thermostat, and if the gateway does not get telegrams within a minute from my PID controller for any reason, it switches over automatically to the Drayton.
I worked in the pharma industry for a long time building automations of all sorts and I’ve learned that systems need to have redundancy (and I also like it very much)
My PID controller as well as the whole system’s schematics I will post it on github as opensource.

I’ll post here when I finish it.
Thanks a lot!

I only just noticed the Wiser app upgrade.
With v7.0.0, I can no longer set timezone (selection is not retained) or modify notifications (‘There was an issue when trying to update the system’).
I also seem to have missing data under insights. But I’m guessing, like you, that’s not specific to the app upgrade. Fortunately I have my usage data in HA/Influx too.

Same here, time zone setting has now changed to “not set” and can not be set correctly and notifications settings can’t be changed.

Once again Schneider have made changes that nobody asked for, failed to make changes that have been asked for and have broken things that used to work. Thank goodness for HA.

I am literally pulling my hair out trying to fine the secret key needed to complete the integration. I have a home wifi network and I know the hub is connected. How do iidentify the ip address to access the secret key!! I have tried to follow the only you tube guide and have successfully loaded HACS.I have loaded the integration for the hub and now stuck. The supplied address of 192.168.8.1/secret does not work and I have tried substituting the addresses of the unknown devices visible on my local WIFI network

It sounds like you have not put the hub in setup mode and connected your phone or similar to the hubs wifi AP.

1 Like

Thanks a lot for that. I had put the hub in setup mode but did not select the hub wifi on my pc prior to using the address given in the video. Now have the key but unsure how to proceed. I have found the IP address of the hub on my network but when I put it in the WISER Heat HUB Setup page (note this page includes the Port 80) and paste the secret key, it just times out suggesting i check the IP address. Thought I was almost there!

In most cases it should be auto discovered. The fact it is not would indicate that HA cannot see it.

So, how are you running HA? HassOS, docker container etc? Is HA and the Wiser hub on the same network? Are you able to ping it from your HA server?

Thanks for the guidance. For now the problem has been identified. I think I was doing alll the correct things finally but it seems the hub itself has gone faulty! Trying to get a replacement under warranty… FYI I set up HACS and wa doing what should have been a SIMPLE Integreation. I downloaded Wiser Hub integration and restarted. Just could not configure the hub at the final hurdle.

Hi, i have a second gen hub (CCT501801) and 5 thermostats (CFMT02ZB). Is there a way to know how many hours has each thermostat set the boiler on monthly? I’d like to know the individual use of the boiler by each thermostat.
Thank you

The thermostat showing as demaning heat does not necessarily mean the boiler was firing. Due to algorithms and cycle times in the hub, they can be very different. As such, there is no direct correlation to this.

If you are happy with knowing how long each thermostat was demanding heat then you could use something like sqlquery to create entities that show this from the history stats or graphana to do a dashboard. I am not expert in either but in think some on here have something similar.

I do something similar, you should be able to figure this out -

I use history stats sensors to track how much the heating and hot water are “on”.

- platform: history_stats
    name: heating hours
    entity_id: sensor.wiser_heating
    state: "On"
    type: time
    start: "{{ now().replace(hour=0, minute=0, second=0) }}"
    end: "{{ now() }}"
    
  - platform: history_stats
    name: hot water hours
    entity_id: sensor.wiser_hot_water
    state: "On"
    type: time
    start: "{{ now().replace(hour=0, minute=0, second=0) }}"
    end: "{{ now() }}"
    
  - platform: history_stats
    name: Boiler firing hours today
    entity_id: sensor.boiler_firing
    state: "On"
    type: time
    start: "{{ now().replace(hour=0, minute=0, second=0) }}"
    end: "{{ now() }}"

I also have a “boiler firing” template sensor, which is “On” if either of the water or heating sensors are on. As already commented, this doesn’t actually correspond exactly to when the boiler is actually lit up, but it’s good enough for me.

You could similarly set up template sensors to extract the hvac_action attribute of the various wiser climate sensors, and then history stats sensors to track when those template sensors are “heating”. (You could also use the is_heating attribute I think, which is true or false, but from digging around ages ago in to what happened when a stat was calling for heat, I used the hvac_action, it seems to switch between “idle” and “heating”. I don’t track the hours, but I do have stuff that determines which rooms are calling for heat by using this attribute).

You can set up the template sensor very easily using a helper - go to settings, Devices and services, click the helpers tab, create helper button bottom right, choose “template”, choose “template a sensor”, and fill it in like I have here - I chose the name to “Lounge stat demand”, call them what you like.

Then set up a history_stats helper to track when that has state “heating” (it shows “idle” in my pic), with start and end set as I show in my examples above, and you should get a sensor that gives how long that sensor has been in state “heating”, which resets each day. When setting up a history stats helper, the start and end fields are on the second screen after you click next.

1 Like