title | description |
---|---|
Stelpro SMT402 control via MQTT |
Integrate your Stelpro SMT402 via Zigbee2MQTT with whatever smart home infrastructure you are using without the vendors bridge or gateway. |
To contribute to this page, edit the following file
| Model | SMT402 |
| Vendor | Stelpro |
| Description | Maestro, line-voltage thermostat |
| Supports | temperature, humidity, outdoor temp display |
| Picture | |
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.
Although Home Assistant integration through MQTT discovery is preferred, manual integration is possible with the following configuration:
{% raw %}
climate:
- 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] }}"
modes:
- "off"
- "auto"
- "heat"
temperature_state_topic: true
temperature_state_template: "{{ value_json.occupied_heating_setpoint }}"
temperature_command_topic: "occupied_heating_setpoint"
sensor:
- 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 }}"
lock:
- 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 }}"
sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
{% endraw %}