Eurotronic SPZB0001
Model | SPZB0001 |
Vendor | Eurotronic |
Description | Spirit Zigbee wireless heater thermostat |
Exposes | battery, lock (state), climate (occupied_heating_setpoint, local_temperature, system_mode, running_state, local_temperature_calibration, pi_heating_demand), trv_mode, valve_position, mirror_display, linkquality |
Picture |
Notes
Pairing
If you are having trouble pairing, reset the device.
- Make sure the device is on auto or heat mode (not off). Hold boost, +, and - (a count from 1 to 10 will be on the display, it may be required for the thermostat to be dismounted from the radiator valve for this to work)
- release once 'rES' is displayed
- hit boost once after 'Jin' is displayed to start pairing to the ZigBee network
- once successfully paired 'Ins' should be displayed and the boost button should flash green. Make sure the thermostat is mounted on the radiator valve before pressing the boost button again.
- now the display should read 'Ada' indicating the adapting process is started which should mechanically calibrate the thermostat to the valve.
Recommendation
This device sends multiple messages in short time period with the same payload. It’s worth setting debounce option to throttle them without losing unique action payloads.
E.g. (devices.yaml)
'0xabc457fffe679xyz':
friendly_name: my_device
debounce: 0.5
Controlling
Current heating setpoint
{
"current_heating_setpoint": 21.5
}
Current heating setpoint is also modified when occupied or unoccupied heating setpoint is set.
System mode
The system mode will be either off
, auto
, or heat
. When set to heat
the boost host flags will be set, when using off
the window_open host flag will be set (and off will be displayed on the display).
Eurotronic host flags
The eurotronic_host_flags
property contains an object with a true/false field for each host option.
{
"eurotronic_host_flags": {
"mirror_display": false,
"boost": false,
"window_open": false,
"child_protection": true
}
}
You can toggle these flags by publishing a message to the set
MQTT topic containing eurotronic_host_flags
. e.g. enabling the display mirroring:
{"eurotronic_host_flags": {"mirror_display": true}}
Note that true
or false
do not have quotes around them!
Eurotronic system mode
This is deprecated in favor of eurotronic_host_flags, but will still work for now.
This is a bitmap encoded field to set several device specific features. Please remind it is not possible to set single bits, always the full bitmap is written. Bit 0 doesn't seem to be writeable, it is always reported as set, so expect your written value + 1 to be reported.
Bit | Position |
---|---|
0 | unknown (default 1) |
1 | Mirror display |
2 | Boost |
3 | unknown |
4 | disable window open |
5 | set window open (is reported as disable window open) |
6 | unknown |
7 | Child protection |
Examples for eurotronic_system_mode:
Mirror display, reported as 3
{
"eurotronic_system_mode": 2
}
signal external window open, current_heating_setpoint will report "5", device display shows "OFF"
{
"eurotronic_system_mode": 32
}
signal external window close, will restore last current_heating_setpoint value
{
"eurotronic_system_mode": 16
}
Mirror display and set child protection.
{
"eurotronic_system_mode": 66
}
Eurotronic error status
{
"eurotronic_error_status": 0
}
This field is a readonly bitmap
Bit | Position |
---|---|
0 | reserved |
1 | reserved |
2 | reserved |
3 | Valve adaption failed (E1) |
4 | Valve movement too slow (E2) |
5 | Valve not moving/blocked (E3) |
6 | reserved |
7 | reserved |
OTA updates
This device supports OTA updates, for more information see OTA updates.
Options
How to use device type specific configuration
thermostat_unit
: Controls the temperature unit of the thermostat (default celsius). The value must be one ofcelsius
,fahrenheit
Exposes
Battery (numeric)
Remaining battery in %, can take up to 24 hours before reported. Value can be found in the published state on the battery
property. It's not possible to read (/get
) or write (/set
) this value. The minimal value is 0
and the maximum value is 100
. The unit of this value is %
.
Child lock (lock)
The current state of this lock is in the published state under the child_lock
property (value is LOCK
or UNLOCK
). To control this lock publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"child_lock": "LOCK"}
or {"child_lock": "UNLOCK"}
. It's not possible to read (/get
) this value.
Climate
This climate device supports the following features: occupied_heating_setpoint
, local_temperature
, system_mode
, running_state
, local_temperature_calibration
, pi_heating_demand
.
occupied_heating_setpoint
: Temperature setpoint. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"occupied_heating_setpoint": VALUE}
whereVALUE
is the °C between5
and30
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"occupied_heating_setpoint": ""}
.pi_heating_demand
: Position of the valve (= demanded heat) where 0% is fully closed and 100% is fully open. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"pi_heating_demand": VALUE}
whereVALUE
is the % between0
and100
. Reading (/get
) this attribute is not possible.local_temperature
: Current temperature measured on the device (in °C). To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"local_temperature": ""}
.system_mode
: Mode of this device. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"system_mode": VALUE}
whereVALUE
is one of:off
,auto
,heat
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"system_mode": ""}
.running_state
: The current running state. Possible values are:idle
,heat
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"running_state": ""}
.local_temperature_calibration
: Offset to add/subtract to the local temperature. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"local_temperature_calibration": VALUE}.
To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"local_temperature": ""}
.The minimal value is-12.8
and the maximum value is12.7
with a step size of0.1
.
Trv mode (enum)
Select between direct control of the valve via the valve_position
or automatic control of the valve based on the current_heating_setpoint
. For manual control set the value to 1, for automatic control set the value to 2 (the default). When switched to manual mode the display shows a value from 0 (valve closed) to 100 (valve fully open) and the buttons on the device are disabled.. Value can be found in the published state on the trv_mode
property. To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"trv_mode": ""}
. To write (/set
) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"trv_mode": NEW_VALUE}
. The possible values are: 1
, 2
.
Valve position (numeric)
Directly control the radiator valve when trv_mode
is set to 1. The values range from 0 (valve closed) to 255 (valve fully open). Value can be found in the published state on the valve_position
property. To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"valve_position": ""}
. To write (/set
) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"valve_position": NEW_VALUE}
. The minimal value is 0
and the maximum value is 255
.
Mirror display (binary)
Mirror display of the thermostat. Useful when it is mounted in a way where the display is presented upside down.. Value can be found in the published state on the mirror_display
property. To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"mirror_display": ""}
. To write (/set
) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"mirror_display": NEW_VALUE}
. If value equals ON
mirror display is ON, if OFF
OFF.
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
.