I’m trying to figure out what the best whole house heating automation setup is.
Here’s what I’ve got installed:
Thermostat connected via EMS-ESP. No smart functionality on the thermostat itself, I can just turn the set temperature up and down
SONOFF TRVs on every radiator in the house
Aqara + SONOFF thermometers/humidity meters in every room except hall and bathroom which are constantly on
Currently installing presence detection with mm-wave sensors in every room
What I’d like to have is:
Master switch to turn whole system on/off
Individual room temperature control based on a combination of
a. if master switch is on
b. based on schedule
c. using presence detection
d. using the external thermometers
Since every room will make it’s own decision about whether it needs heat, the central thermostat will need to be overridden manually as whatever it is + x, so that it continues to heat. For rooms with TRVs this will be activated if TRV is in heating mode, for hall and bathroom this will activate the boiler directly based ont temperature since there’s no control in the middle.
Ideally I’d like to set it out on a map on a dashboard where I can see what the current temp is, and easily set temps and schedules/conditions.
I’ve had a look at better thermostat and advanced heating controls, but these seem to be for pairing a single climate device with an external sensor, rather than for an entire house. I’m not sure whether I should be integrating these with a custom automation, looking for something else or starting from scratch to try and achieve this.
I use Honeywell Evo but fundamentally there is a TRV per room like you suggest and then a BDR that opens to trigger the boiler when there is demand for heat. There is another one on the hot water cylinder that opens to trigger the boiler to heat the hot water. How were you proposing to trigger the boiler?
The best way way I can come up with is to have a binary sensor that aggregates the heating state of the TRVs that then updates the desired temperature entity on the thermostat to +/- 2 degrees to trigger it on/off.
I’m using EMS-ESP with a Worcester Bosch Greenstar 25si. The EMS-ESP integration is nice but EMS is a pain to work with as a protocol. The boiler doesn’t allow direct control, I can only make changes via the thermostat.
Your thermostat must be triggering a valve/relay on the boiler. If your solution works, why change it? If you aren’t happy then you need a valve/relay you can control from the EMS-ESP.
For aggregate sensors my addon generates those for every entity that’s added to a schedule. It adds sensors for the coldest and warmest rooms and I can add similar sensors for highest and lowest temperatures requested by schedule easy enough. Should be able to get it to return the highest value where heat has been requested so it’d be the valid temperature to work from. If none requested return null?
Have a look, if it sounds a useful feature I’ll get it added.
Your thermostat must be triggering a valve/relay on the boiler. If your solution works, why change it? If you aren’t happy then you need a valve/relay you can control from the EMS-ESP.
I haven’t implemented this yet, what I was describing is just my idea for what will work. I’m happy with that, just wondering what is out there. The thermostat sets the flow temp of the boiler, which can be written from EMS-ESP, but it gets overwritten a few seconds after. I suppose there is a valve and relay somewhere in the boiler but that’s not accessible and EMS just Worcester Bosch’s protocol for having parts talk to each other that the EMS-ESP module loops into, you can’t expose an arbitrary device on it.
@kneave I will take a look, looks worth a go. I wouldn’t actually need to know what the highest desired temp is, as the TRV handles that, the boiler just needs to know a boolean on/off, whether there is a call for heat from any room.
The only thing I don’t see in the addon that would be useful is presence/overriding schedule with other variables.
Someone else nerdsniped me with an idea but it should help you too. I’ve just added a feature to expose the schedule as a climate entity, this will show the average temperature for the grouped thermostats but there are more attributes in there too.
You can override the group temperature and control the group as if it’s a single entity. You can also select the preset for the specific schedule if you’ve created a few already so should be easy to automate for presence by creating home and away profiles and switching with a trigger.
This is something I hacked together over the past few hours, it definitely needs testing so any feedback is welcome.