Hive SLR2b
Model | SLR2b |
Vendor | Hive |
Description | Dual channel heating and hot water thermostat |
Exposes | climate (occupied_heating_setpoint, local_temperature, system_mode, running_state), temperature_setpoint_hold, temperature_setpoint_hold_duration, linkquality |
Picture | ![]() |
Notes
Pairing
To pair the thermostat with Zigbee2MQTT, follow these steps:
- Temporarily disconnect any thermostat controllers connected to the thermostat by remove a battery from them.
- Turn the thermostat and boiler off, then on again to ensure it is not trying to connect to any thermostat controllers.
- Once the thermostat and boiler are on, hold down the Central heating button on the device until the Central heating'light turns white/ pink, then release the button. This will enable stand-alone mode on the thermostat.
- Hold down the central heating button again until the Central heating light begins to flash amber. The device is now in pairing mode and should be found by Zigbee2MQTT.
- You can now re-insert the battery back into any thermostat controllers disconnected in step 1 and pair them to the boiler (and optionally Zigbee2MQTT). For information on pairing the thermostat controllers see the pairing instructions for the Hive SLT3B. Note that the thermostat's Central heating light will remain amber until a controller is paired with the thermostat, however the thermostat will still function correctly.
Sending payloads on dual channel receivers
As the receiver makes use of two endpoints, water
and heat
there are two methods of sending payloads, both equally valid. For example, the heat
endpoint:
Topic zigbee2mqtt/FRIENDLY_NAME/set
{
"system_mode_heat":"heat"
}
Topic zigbee2mqtt/FRIENDLY_NAME/heat/set
{
"system_mode":"heat"
}
Notice that heat
must be part of either the topic or the attribute. With that in mind, adjust the commands in this documentation based on your preferred style.
How to start/edit native boost (heat endpoint)
The receiver has support for native Boost, which will allow to display the remaining time on a compatible remote.
To start one, or modify an already active one, send the following payload to the topic zigbee2mqtt/FRIENDLY_NAME/set
:
{
"system_mode_heat":"emergency_heating",
"temperature_setpoint_hold_duration_heat":"30", // Replace with desired duration in minutes. Max 360. 0 to stop
"temperature_setpoint_hold_heat":"1",
"occupied_heating_setpoint_heat":"18" // Replace with desired temperature. Between 5 and 32 C
}
Note: For device timing reasons, the payload needs to be sent as one single command. Sending individual commands or settings attributes manually using the Frontend will not work.
Also, the native boost can be used as a method to pause the heating too. To do so, set the temperature to a low value.
Set heating mode to ON (heat endpoint)
Send the following payload to the topic zigbee2mqtt/FRIENDLY_NAME/set
:
{
"system_mode_heat":"heat",
"temperature_setpoint_hold_heat":"1",
"occupied_heating_setpoint_heat":"20" // Replace with desired temperature. Between 5 and 32 C
}
Note: You will also notice that temperature_setpoint_hold_duration_heat
automatically changes to 65535
which means undefined
(indefinite).
This will also stop any native boosts that are currently active.
Set heating mode to OFF (heat endpoint)
Send the following payload to the topic zigbee2mqtt/FRIENDLY_NAME/set
:
{
"system_mode_heat":"off",
"temperature_setpoint_hold_heat":"0"
}
Note: You will also notice that temperature_setpoint_hold_duration_heat
automatically changes to 0
which means not set
. occupied_heating_setpoint_heat
automatically changes to 1
degree C.
This will also stop any native boosts that are currently active.
How to start/edit native boost (water endpoint)
The receiver has support for native Boost, which will allow to display the remaining time on a compatible remote.
To start one, or modify an already active one, send the following payload to the topic zigbee2mqtt/FRIENDLY_NAME/set
:
{
"system_mode_water":"emergency_heating",
"temperature_setpoint_hold_duration_water":"30", // Replace with desired duration in minutes. Max 360. 0 to stop
"temperature_setpoint_hold_water":"1"
}
Note: For device timing reasons, the payload needs to be sent as one single command. Sending individual commands or settings attributes manually using the Frontend will not work.
Set heating mode to ON (water endpoint)
Send the following payload to the topic zigbee2mqtt/FRIENDLY_NAME/set
:
{
"system_mode_water":"heat",
"temperature_setpoint_hold_water":"1"
}
Note: You will also notice that temperature_setpoint_hold_duration_heat
automatically changes to 65535
which means undefined
(indefinite).
This will also stop any native boosts that are currently active.
Set heating mode to OFF (water endpoint)
Send the following payload to the topic zigbee2mqtt/FRIENDLY_NAME/set
:
{
"system_mode_water":"off",
"temperature_setpoint_hold_water":"0"
}
Note: You will also notice that temperature_setpoint_hold_duration_heat
automatically changes to 0
which means not set
.
This will also stop any native boosts that are currently active.
Local and occupied temperature (water endpoint)
The water endpoint functions as what could be considered an on/off switch based on system_mode_water
. Because of that, the device uses fixed values for temperature. local_temperature_water
is always 21 and occupied_heating_setpoint_water
is always 22.
Options
thermostat_unit
: Controls the temperature unit of the thermostat (default celsius). The value must be one ofcelsius
,fahrenheit
Exposes
Climate (heat endpoint)
This climate device supports the following features: occupied_heating_setpoint
, local_temperature
, system_mode
, running_state
.
occupied_heating_setpoint
: Temperature setpoint. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"occupied_heating_setpoint_heat": VALUE}
whereVALUE
is the °C between5
and32
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"occupied_heating_setpoint_heat": ""}
.local_temperature
: Current temperature measured on the device (in °C). To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"local_temperature_heat": ""}
.system_mode
: Mode of this device. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"system_mode_heat": VALUE}
whereVALUE
is one of:off
,auto
,heat
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"system_mode_heat": ""}
.running_state
: The current running state. Possible values are:idle
,heat
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"running_state_heat": ""}
.
Temperature_setpoint_hold (binary, heat endpoint)
Prevent changes. false
= run normally. true
= prevent from making changes. Must be set to false
when system_mode = off or true
for heat. Value can be found in the published state on the temperature_setpoint_hold_heat
property. To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"temperature_setpoint_hold_heat": ""}
. To write (/set
) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"temperature_setpoint_hold_heat": NEW_VALUE}
. If value equals true
temperature_setpoint_hold is ON, if false
OFF.
Temperature_setpoint_hold_duration (numeric, heat endpoint)
Period in minutes for which the setpoint hold will be active. 65535 = attribute not used. 0 to 360 to match the remote display. Value can be found in the published state on the temperature_setpoint_hold_duration_heat
property. To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"temperature_setpoint_hold_duration_heat": ""}
. To write (/set
) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"temperature_setpoint_hold_duration_heat": NEW_VALUE}
. The minimal value is 0
and the maximum value is 65535
.
Climate (water endpoint)
This climate device supports the following features: occupied_heating_setpoint
, local_temperature
, system_mode
, running_state
.
occupied_heating_setpoint
: Temperature setpoint. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"occupied_heating_setpoint_water": VALUE}
whereVALUE
is the °C between22
and22
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"occupied_heating_setpoint_water": ""}
.local_temperature
: Current temperature measured on the device (in °C). To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"local_temperature_water": ""}
.system_mode
: Mode of this device. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"system_mode_water": VALUE}
whereVALUE
is one of:off
,auto
,heat
,emergency_heating
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"system_mode_water": ""}
.running_state
: The current running state. Possible values are:idle
,heat
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"running_state_water": ""}
.
Temperature_setpoint_hold (binary, water endpoint)
Prevent changes. false
= run normally. true
= prevent from making changes. Must be set to false
when system_mode = off or true
for heat. Value can be found in the published state on the temperature_setpoint_hold_water
property. To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"temperature_setpoint_hold_water": ""}
. To write (/set
) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"temperature_setpoint_hold_water": NEW_VALUE}
. If value equals true
temperature_setpoint_hold is ON, if false
OFF.
Temperature_setpoint_hold_duration (numeric, water endpoint)
Period in minutes for which the setpoint hold will be active. 65535 = attribute not used. 0 to 360 to match the remote display. Value can be found in the published state on the temperature_setpoint_hold_duration_water
property. To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"temperature_setpoint_hold_duration_water": ""}
. To write (/set
) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"temperature_setpoint_hold_duration_water": NEW_VALUE}
. The minimal value is 0
and the maximum value is 65535
.
Linkquality (numeric)
Link quality (signal strength). Value can be found in the published state on the linkquality
property. It's not possible to read (/get
) or write (/set
) this value. The minimal value is 0
and the maximum value is 255
. The unit of this value is lqi
.