Even with true/false, no joy. Could you tell me what firmware version you’re running? Mine could be old (potentially buggy?). And, which version of zigbee2mqtt? I’ve upgraded as a long shot to 1.27.2 but no dice.
Another questions… If you turn on the thermostat manually, what happens? Does it show up in z2m?
Hi everyone
i
first of all thanks to everyone so far for their suggestions. I’ve looked into the problem with the temperature jumping back to 1 degrees and it looks as though it’s because of the thermostat receiving invalid commands. Mainly HA publishing data that is incompatible with the remote.
I’ve created an alternative config to get round the problem to more closely match how the hive remote works. It’s here if anyone finds it useful
HI, I haven’t checked @greeeny101’s solution yet, but I will try, but in the meantime I can start the Hive, but any duration I input resets to 65535. Is there anyway round this?
Thanks for the effort, but do you think it would be possible to write up some instructions? I genuinely don’t even know where to start with this. I am learning this all the hard way as I migrate to Zigbee2MQTT.
Thanks again!
Edit: I figured it out with some trial and error. I will write a short tutorial in future.
I can’t remember if I missed anything, but that’s how its setup looking at mine. Also, those links are for the SLR2 same process for SLR1 just use those configs instead.
This is not an optimal layout for this. You’d ideally want to split your MQTT stuff out differently, but this gets the general gist across, which is where I was initially lost.
My overall recommendation is to move away from Hive because even with this very useful script, it’s still a bit finicky. I got some Drayton Wiser stuff and will be switching soon instead. But in the meantime its functioned well enough for me.
Also, just want to say Hive sucks for their e-waste hub scam. Absolute nerds.
I’m not sure if this is greeny’s setup, or a similar one I found. Seems to work for me. Plan to improve the boost setup at some stage if I can (I’d love for them to add a “boost” to their thermostat integration to be honest!).
Hi @Burgess101 ,
I tried this but got nowhere… Do I need to do something with MQTT HVAC? The card I added to the dash didn’t do anything but allow a temperature to increase.
@alexcf did you ever get it working without a thermostat? I am struggling to get the relays to switch on and I’m beginning to wonder if the lack of thermostat is the reason.
I ended up having to pair everything back to Hive. The thermostat is the “thing” that kicks it on, so you might well need it. Super annoying if you want HA to control it. The only way I can see a way of doing it is disabling the schedules and having HA do “boosts” when it sees temp dropping. I need to do a proper overhaul!
Yes, you need both the receiver and the thermostat. Whilst you can ignore the thermostat (and use any temps Ensor you like), it is quite accurate and so is useful as such.
My method is to have the Hive App in ‘manual mode’ (in fact the app has been deleted) and everything is controlled via HA. To ensure this works, I have an automation that does everything including ensuing the mode is correct when HA restarts.
The following might help you. Note I have truncated sensor.hive_heating_target_temp as it is a long and not central to this point. The entire package is here if you are interested, but I have tinkered with it since to include a schedule setting that reacts to my house ‘waking up’ with a ‘pre-heat’ to warm the house before ‘waking up’).
input_select: #-----------------------------------------------------------------
hive_heating_target_mode:
name: Hive heating mode
icon: mdi:radiator-disabled
options:
- "off" # Hive thermostat is in frost protect
- "heat" # Hive thermostat is in manual control
template: #---------------------------------------------------------------------
- sensor:
# Mode as reported by HIVE thermostat: off, heat, auto (Hive schedule), emergency_heating (Hive boost)
# mum (SLR1c) James SLR2c:
# state: climate.hive climate.hive_heat
- name: "Hive heating reported mode"
unique_id: hive_heating_reported_mode
state: "{{ states('climate.hive_heat') }}"
- name: "Hive heating target temp"
unique_id: hive_heating_target_temp
device_class: temperature
unit_of_measurement: °C
[...]
automation: #------------------------------------------------------------------
# set mode and temp
# Name of receiver is "Hive":
# SLR1c: zigbee2mqtt/Hive/set
# SLR2c: zigbee2mqtt/Hive/heat/set
# &: zigbee2mqtt/Hive/water/set
- alias: Hive heating
id: "hive_heating"
description: ''
mode: queued
initial_state: true # ensure automation is on at startup
trigger:
- platform: template # reset mode if out-of-sync
value_template: "{{ states('sensor.hive_heating_reported_mode') != states('input_select.hive_heating_target_mode') }}"
- platform: state
entity_id: input_select.hive_heating_target_mode # user sets sets new mode
- platform: homeassistant
event: start # set correct mode on startup
- platform: state
entity_id: sensor.hive_heating_target_temp # programme sets new temp
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.hive_heating_target_mode
state: 'off'
sequence:
- service: mqtt.publish
data:
topic: zigbee2mqtt/Hive/heat/set
payload: |-
{
"system_mode":"off",
"temperature_setpoint_hold":"0"
}
- conditions:
- condition: state
entity_id: input_select.hive_heating_target_mode
state: 'heat'
sequence:
- service: mqtt.publish
data:
topic: zigbee2mqtt/Hive/heat/set
payload: |-
{
"system_mode":"heat",
"temperature_setpoint_hold":"1",
"occupied_heating_setpoint":"{{ states('sensor.hive_heating_target_temp') }}"
}
- conditions:
- condition: state
entity_id: input_select.hive_heating_target_mode
state: 'auto'
sequence:
- service: mqtt.publish
data:
topic: zigbee2mqtt/Hive/heat/set
payload: |-
{
"system_mode":"auto",
"temperature_setpoint_hold":"1"
}
- conditions:
- condition: state
entity_id: input_select.hive_heating_target_mode
state: 'emergency_heating'
sequence:
- service: mqtt.publish
data:
topic: zigbee2mqtt/Hive/heat/set
payload: |-
{
"system_mode":"emergency_heating",
"temperature_setpoint_hold":"1",
"temperature_setpoint_hold_duration":"{{ states('input_number.hive_heating_boost_time')|float *60 }}",
"occupied_heating_setpoint":"{{ states('sensor.hive_heating_reported_current_temp')|float + states('input_number.hive_heating_boost_temp')|float }}"
}
Hey all, just this morning as I browsing zigbee2mqtt for a something to use for smart heating I noticed my device listed.
I have managed to get both the heater and the remote showing in zigbee2mqtt, the remote won’t actually seem to connect back to the boiler just gets stuck in reconnecting mode.
I have tried everything related to greeny101 github and it does control the boiler and things do seem to set to heat but the running state never changed from idle?
Did anybody manage to have a solid fix for this?
I am using the SLR1, I do sort of have it working.
The thermostat remote doesn’t work (just shows contact customer services on the screen).
But I am able to turn the boiler on and off using a script, but the current temp which it shows in zigbee isn’t accurate (I don’t actually know where it’s pulling that temp from it doesn’t change).
So I am trying to make some scripts and automations to use a different temp sensor to allow me to turn the boiler on and off.