Stelpro SMT402

ModelSMT402
VendorStelpro
DescriptionMaestro, line-voltage thermostat
Exposeslocal_temperature, keypad_lockout, 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
1

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'
1
2
3
4
5
6
7
8
9
10
11

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

  • thermostat_unit: Controls the temperature unit of the themrostat (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

  • humidity_precision: Number of digits after decimal point for humidity, takes into effect on next report of device. The value must be a number with a minimum value of 0 and with a with a maximum value of 3

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

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.

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.