To contribute to this page, edit the following file

Stelpro STZB402 #

Model STZB402
Vendor Stelpro
Description Ki, line-voltage thermostat
Supports temperature
Picture Stelpro STZB402

Notes #

Setting outdoor temperature #

To set outdoor temperature, you need to send the value to the following MQTT topic:


If you want to automate the publishing of the outdoor temperature using Home Assistant, you may create an automation like this:

- id: auto_publish_outdoor_temp
  description: publish the outdoor temperature to Stelpro thermostat
    - platform: state
      entity_id: sensor.outdoor_sensor_temperature
      condition: []
    - service: mqtt.publish
      payload: ''
      topic: 'zigbee2mqtt/THERMOSTAT_FRIENDLY_NAME/set/thermostat_outdoor_temperature'

IMPORTANT: The outdoor temperature need to be refreshed at least each 4 hours, or the EXT display will be cleared on the thermostat.

Manual Home Assistant configuration #

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

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

  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "°C"
    device_class: "temperature"
    value_template: "{{ value_json.local_temperature }}"

  - platform: "mqtt"
    state_topic: true
    availability_topic: "zigbee2mqtt/bridge/state"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/set"
    command_topic_postfix: "keypad_lockout"
    payload_unlock: "0"
    payload_lock: "1"
    value_template: "{{ value_json.keypad_lockout }}"

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