Hi,
I am struggling to create a Home Assistant configuration for the gas central heating in my home and I was wondering if anyone could suggest the best way to configure it.
There are multiple rooms, each with:
- One or more wireless Theromostatic Radiator Valve (TRV) which can turn a radiator on and off using MQTT
- A wireless thermostat that reports the current temperature using MQTT
There is a gas boiler that has a wireless relay that can be switched on and off using MQTT.
Initially, I want to:
- set individual target temperatures for each room
- turn on the TRVs for a room when below the target temperature and turn them off when target temperature reached
- turn on the boiler if any room is below its target temperature and turn it off when all rooms are at their target temperature
I have a configuration (below) that works for a single room but canāt see how to scale to multiple rooms.
It uses a generic thermostat climate component to switch on the boiler when the temperature is below the target temperature.
The TRVs for the room are turned on and off using automations that detect when the state of the climate component changes.
mqtt:
broker: localhost
client_id: home-assistant-1
keepalive: 60
username: xxxxxxx
password: xxxxxxx
switch heating:
name: "Heating"
platform: mqtt
state_topic: "/boiler/heating"
command_topic: "/boiler/heating"
payload_on: 1
payload_off: 0
retain: true
sensor family_room:
name: "family_room"
platform: mqtt
state_topic: "/sensor/ds18b20/f32c45"
unit_of_measurement: "Ā°C"
switch trv_1a539d:
name: "TRV_1a539d"
platform: mqtt
state_topic: "/trv/1a539d"
command_topic: "/trv/1a539d"
payload_on: 1
payload_off: 0
retain: true
switch trv_1a5647:
name: "TRV_1a5647"
platform: mqtt
state_topic: "/trv/1a5647"
command_topic: "/trv/1a5647"
payload_on: 1
payload_off: 0
retain: true
climate family:
platform: generic_thermostat
name: "Family"
heater: switch.heating
target_sensor: sensor.family_room
min_temp: 5
max_temp: 30
target_temp: 19.5
min_cycle_duration:
minutes: 10
group:
family_trvs:
name: Family TRVs
entities:
- switch.trv_1a539d
- switch.trv_1a5647
automation family_trvs_on:
alias: "Family TRVs On"
trigger:
platform: state
entity_id: climate.family
state: 'heat'
action:
service: homeassistant.turn_on
entity_id: group.family_trvs
automation family_trvs_off:
alias: "Family TRVs Off"
trigger:
platform: state
entity_id: climate.family
state: 'idle'
action:
service: homeassistant.turn_off
entity_id: group.family_trvs
If I add a 2nd climate component for another room that switches on or off the boiler based on a different target temperature and MQTT temperature sensor, it wonāt take into consideration the other climate component, leading to the boiler being turned off when it shouldnāt.