Hi experts,
I am using Hive heating with ZHA integration (no hub), which works very well so far.
But it looks like there is no ‘auto’ mode, only heating and off.
the problem is that if I change the target temperature either manually or with an automation, for example to boost the temperate or switch off if I go out.
there is no way to switch the target temperature back to what it was before charging it.
When I was using the custom integration with the hub, I could call the ‘HVAC mode Auto’.
I guess one option would be to first take a snapshot of the entity before making the change and then load the snapshot to put it back.
This would address if changed with an automation, but not if I change manually.
It would also be a problem if the schedule changes between taking and loading the snapshot.
Does anyone else have this issue or have any suggestions?
Thanks!
Just making the jump to moving my hive heating into ZHA… Managed to work out how to trigger heating and hot water boost by setting zigbee attributes, but this is the one missing bit - not being able to put it back into auto (schedule) mode.
So the only way I could find to nicely control, was by setting certain zigbee endpoint attributes on my thermostat in quick succession. Prob one of the most complciated bits in my HA setup - wish it was more elegant!!! You will need to go into ZHA to find what the ieee address for your thermostat is, and insert. I have a single automation that acts as a ‘boost controller’, the below are extracts from that to show you what it’s doing when either HW or heating boost starts/ends. Hope this helps you!
Boost heating on:
sequence:
- alias: Set EP5 ID 0x0201 Attribute 0x001c to SystemMode.Emergency_Heating
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 5
cluster_id: 513
attribute: 28
value: SystemMode.Emergency_Heating
- alias: >-
Set EP5 ID 0x0201 Attribute 0x0023 to
TemperatureSetpointHold.Setpoint_Hold_On
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 5
cluster_id: 513
attribute: 35
value: TemperatureSetpointHold.Setpoint_Hold_On
- alias: Set EP5 ID 0x0201 Attribute 0x0024 to 60 Mins
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 5
cluster_id: 513
attribute: 36
value: 60
- alias: Set EP5 ID 0x0201 Attribute 0x0012 to 22c
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 5
cluster_id: 513
attribute: 18
value: 2200
Boost hotwater on:
sequence:
- alias: Set EP6 ID 0x0201 Attribute 0x001c to SystemMode.Heat
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 6
cluster_id: 513
attribute: 28
value: SystemMode.Heat
- action: timer.start
metadata: {}
data: {}
target:
entity_id: timer.hotwater_boost
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- alias: Set EP6 ID 0x0201 Attribute 0x0024 to 30 Mins
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 6
cluster_id: 513
attribute: 36
value: 30
- alias: >-
Set EP6 ID 0x0201 Attribute 0x0023 to
TemperatureSetpointHold.Setpoint_Hold_On
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 6
cluster_id: 513
attribute: 35
value: TemperatureSetpointHold.Setpoint_Hold_On
- alias: Set EP6 ID 0x0201 Attribute 0x001c to SystemMode.Emergency_Heating
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 6
cluster_id: 513
attribute: 28
value: SystemMode.Emergency_Heating
End heating boost (back to normal heat mode):
sequence:
- alias: Set EP5 ID 0x0201 Attribute 0x001c to SystemMode.Heat
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 5
cluster_id: 513
attribute: 28
value: SystemMode.Heat
- alias: >-
Set EP5 ID 0x0201 Attribute 0x0023 to
TemperatureSetpointHold.Setpoint_Hold_On
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 5
cluster_id: 513
attribute: 35
value: TemperatureSetpointHold.Setpoint_Hold_On
- alias: Set EP5 ID 0x0201 Attribute 0x0012 to temp 20c
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 5
cluster_id: 513
attribute: 18
value: 20
hotwater boost off:
sequence:
- alias: >-
Set EP6 ID 0x0201 Attribute 0x0023 to
TemperatureSetpointHold.Setpoint_Hold_Off
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 6
cluster_id: 513
attribute: 35
value: TemperatureSetpointHold.Setpoint_Hold_Off
- alias: Set EP6 ID 0x0201 Attribute 0x001c to SystemMode.Off
action: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: <FILL YOURS IN HERE>
endpoint_id: 6
cluster_id: 513
attribute: 28
value: SystemMode.Off
Amazing, thank you! I was halfway there but you helped fill in some of the gaps I’ve tinkered and done a few extras:
Missed your trick of using an alias as a comment (editing in the UI loses comments and hex literals) - instead added lengthy variable names
Added fields for time and temperature - so it will prompt for input, or can have input fed into it
Found that 0 duration will cancel it, so didn’t need the another script - just run the same one
Also I wanted to show the remaining duration like the thermostat module does - ZHA somehow doesn’t allow getting an attribute, but eventually found zha_toolkit (via HACS) which allows this.
Time/status update script - run via automation every minute while the heating status is ‘heating’, and also called after starting/stopping boost: