Hi everyone,
This can’t be difficult (but I can’t… yet )
I have one virtual “central thermostat”, defined as follows:
# ===============================================
# CLIMATE
# ===============================================
climate:
- platform: mqtt
name: "centrale_verwarming"
min_temp: "10"
max_temp: "30"
temp_step: 0.5
modes:
- "auto"
- "off"
- "heat"
power_command_topic: "hass/hvac/centrale_verwarming/power/set"
mode_command_topic: "hass/hvac/centrale_verwarming/mode/set"
temperature_command_topic: "hass/hvac/centrale_verwarming/temperature/set"
fan_mode_command_topic: "hass/hvac/centrale_verwarming/fan/set"
swing_mode_command_topic: "hass/hvac/centrale_verwarming/swing/set"
# huidige temperatuur (xiaomi temp sensor)
current_temperature_topic: "zigbee2mqtt/0x00158d000323169d"
current_temperature_template: "{{ value_json.temperature }}"
precision: 0.1
action_topic: "hass/hvac/centrale_verwarming/set"
action_template: "{{ value_json.operation }}"
Than I have 4 real thermostatic radiator valves (TRV), defined as follows:
# ===============================================
# Eurotronic SPZB0001
# ===============================================
climate:
- platform: "mqtt"
name: "0x00158d0001ff8bca"
availability_topic: "zigbee2mqtt/bridge/state"
min_temp: "10"
max_temp: "30"
modes:
- "off"
- "auto"
- "heat"
# modus (uit/auto/aan)
mode_state_topic: "zigbee2mqtt/0x00158d0001ff8bca"
mode_state_template: "{{ value_json.system_mode }}"
mode_command_topic: "zigbee2mqtt/0x00158d0001ff8bca/set/system_mode"
# huidige temperatuur
current_temperature_topic: "zigbee2mqtt/0x00158d0001ff8bca"
current_temperature_template: "{{ value_json.local_temperature }}"
# gewenste temperatuur
temperature_state_topic: "zigbee2mqtt/0x00158d0001ff8bca"
temperature_state_template: "{{ value_json.current_heating_setpoint }}"
temperature_command_topic: "zigbee2mqtt/0x00158d0001ff8bca/set/current_heating_setpoint"
temp_step: 0.5
action_topic: "zigbee2mqtt/0x00158d0001ff8bca/set"
action_template: "{{ value_json.operation }}"
etc… (same definitions for my other TRV’s, but with different ID of course)
Now I want my TRV’s to follow the “central thermostat”:
- If I change temp on the central thermostat, temp should be changed on others too
- if I change mode (heat/off/on/auto), the other TRV’s should change mode too
I configured a sample with hardcoded mode/temp and time pattern:
- alias: centrale verwarming set temperature
initial_state: 'off'
trigger:
platform: time_pattern
seconds: '/15'
action:
- service: mqtt.publish
data_template:
topic: 'zigbee2mqtt/0x00158d0001ff8bca/set/system_mode'
payload: 'auto'
- service: mqtt.publish
data_template:
topic: zigbee2mqtt/0x00158d0001ff8bca/set/current_heating_setpoint
payload: '20'
However, I can’t find the correct syntax for triggering my TRV’s, based on changes on my central thermostat.
Any help is appreciated,
your’s dummy,
Bart