Stelpro SMT402

ModelSMT402
VendorStelpro
DescriptionMaestro, line-voltage thermostat
Exposeslocal_temperature, keypad_lockout, humidity, climate (occupied_heating_setpoint, local_temperature, system_mode, running_state), linkquality
PictureStelpro SMT402

Notes

Setting outdoor temperature

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

zigbee2mqtt/<FRIENDLY_NAME>/set/thermostat_outdoor_temperature

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
  trigger:
    - platform: state
      entity_id: sensor.outdoor_sensor_temperature
      condition: []
  action:
    - service: mqtt.publish
      data_template:
      payload: '{{ states(trigger.entity_id) }}'
      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.

Options

How to use device type specific configuration

  • humidity_calibration: Calibrates the humidity value (absolute offset), takes into effect on next report of device. The value must be a number.

  • humidity_precision: Number of digits after decimal point for humidity, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of 0 and with a with a maximum value of 3

  • thermostat_unit: Controls the temperature unit of the thermostat (default celsius). The value must be one of celsius, fahrenheit

  • legacy: Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true). The value must be true or false

Exposes

Local temperature (numeric)

Current temperature measured on the device. Value can be found in the published state on the local_temperature property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"local_temperature": ""}. It's not possible to write (/set) this value. The unit of this value is °C.

Keypad lockout (enum)

Enables/disables physical input on the device. Value can be found in the published state on the keypad_lockout property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"keypad_lockout": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"keypad_lockout": NEW_VALUE}. The possible values are: unlock, lock1, lock2.

Humidity (numeric)

Measured relative humidity. Value can be found in the published state on the humidity property. It's not possible to read (/get) or write (/set) this value. The unit of this value is %.

Climate

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 topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"occupied_heating_setpoint": VALUE} where VALUE is the °C between 5 and 30. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupied_heating_setpoint": ""}.
  • local_temperature: Current temperature measured on the device (in °C). To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"local_temperature": ""}.
  • system_mode: Mode of this device. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"system_mode": VALUE} where VALUE is one of: off, auto, heat. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"system_mode": ""}.
  • running_state: The current running state. Possible values are: idle, heat. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"running_state": ""}.

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.