To contribute to this page, edit the following file

Eurotronic SPZB0001 #

Model SPZB0001
Vendor Eurotronic
Description Spirit Zigbee wireless heater thermostat
Exposes battery, climate (occupied_heating_setpoint, local_temperature, system_mode, running_state, local_temperature_calibration), linkquality
Picture Eurotronic SPZB0001

Notes #

Device type specific configuration #

How to use device type specific configuration

Pairing #

If you are having trouble pairing, reset the device.

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 aroud 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 doesnt 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

Exposes #

Battery (numeric) #

Remaining battery in %. 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 %.

Climate #

This climate device supports the following features: occupied_heating_setpoint, local_temperature, system_mode, running_state, local_temperature_calibration.

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.

Manual Home Assistant configuration #

Although Home Assistant integration through MQTT discovery is preferred, manual integration is possible with the following configuration:

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "%"
    value_template: "{{ value_json.battery }}"
    device_class: "battery"

climate:
  - platform: "mqtt"
    availability_topic: "zigbee2mqtt/bridge/state"
    temperature_unit: "C"
    temp_step: 0.5
    min_temp: "5"
    max_temp: "30"
    current_temperature_topic: true
    current_temperature_template: "{{ value_json.local_temperature }}"
    mode_state_topic: true
    mode_state_template: "{{ value_json.system_mode }}"
    modes: 
      - "off"
      - "auto"
      - "heat"
    mode_command_topic: true
    action_topic: true
    action_template: "{% set values = {'idle':'off','heat':'heating','cool':'cooling','fan only':'fan'} %}{{ values[value_json.running_state] }}"
    temperature_command_topic: "occupied_heating_setpoint"
    temperature_state_template: "{{ value_json.occupied_heating_setpoint }}"
    temperature_state_topic: true

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "lqi"
    value_template: "{{ value_json.linkquality }}"
    icon: "mdi:signal"