I’m planning to migrate my dozen Eve Thermo TRVs from Homekit to Home Assistant and (most likely) Better Thermostat. The Eve Thermo TRVs have an internal temperature sensor which they expose to HA, additionally to setting the target temperature. In a few rooms (not all though) I have an additional temperature sensor.
Does anyone already have a usable setup of some kind of central management of all TRVs? This could include things like:
Calculate the temperature offset based on the difference of a room sensor and the TRV sensor and use that offset for rooms that only have the internal TRV temp sensor. In my case the offset mainly depends on the outside temperature: If it’s very, very cold outside, I need a higher temperature measured at the TRV to keep the rooms warm.
A “base value” for the target temperature, from which all TRVs calculate their specific target temperature. E.g. the “base value” could be 21°, and some TRVs would then use base minus 1° C as target temperature (e.g. the hall), others would use base plus 2° C as target (e.g. the bathroom). And when noone is at home, the “base value” is reduced to 19°, causing all TRVs to adapt, and when one feels sick, one can push the base value to 22°, causing all TRVs to increase their target by a degree.
Boost all TRVs (by e.g. raising the above mentioned base value) in the morning for 30 minutes.
Halt all TRVs for 15 minutes when the sun starts shining to use the solar energy and prevent overheating.
Set all TRVs to “away” 15 minutes before leaving for office.
Allow multiple modes with different target temperatures, e.g. from very warm to rather cool: someone is sick, someone is at home, everyone is sleeping, everyone is at the office, vacation for multiple days.
I assume all that can be done with a few helpers, templates,… but would appreciate if anyone can share their experiences. Thanks!
There might be a blueprint that can do what you want, but I am not aware of a way to centrally control complex devices like TRV’s. For simpler devices, you can obviously use helper groups to sync the actions on multiple devices at once, such as lights and switches.
That said, i have done pretty much what you are describing via an Automation.
Firstly, I setup a generic thermostat for each TRV and in doing so, that gives you the temperature offset as the generic thermostat allows you to use an external temperature sensor. I have one temperature sensor in each room in which I have a TRV, but you could use a single one repeatedly in all your generic thermostat configs if you want to run this from a ‘central’ temperature measurement. This should give you requirement 1.
For point 2, I don’t have a central way of setting a target temperature. I simply set the target for each TRV from the generic thermostat control, which I have on a lovelace dashboard card.
For 3, simply create a time based automation that switches all the generic thermostats ‘heater switch’ to on for 30 minutes, that should be pretty straightforward, and the same for 4.
Is just a similar automation to 4. I assume you leave at a certain time of day for the office.
Also, bear in mind that most TRV’s controlled through HA (such as a zigbee or WIFI device) won’t actually ‘call for heat’ and turn on your boiler when you switch the TRV to ‘heat’. All its really doing is opening the value on the radiator to let water flow through. So if the boiler is on at the time, the TRV would heat up.
To actually make the boiler turn on at the same time is totally dependent on your setup.
UPDATE:-
If you are doing alot of time based triggering of devices, you might want to consider something like the HACS schedule component:
Rofo, thanks a lot. I think the main reason why I’m thinking about a „central“ management is that until now (in Homekit) there was no easy way of changing the temperature relatively („increase target temperature in all rooms by 1°C“). This would mean that e.g. the bathroom goes from 24° to 23° while the hall goes from 19° to 18°.
Adjusting the temperature on a relative basis might be easier in HA, I haven’t thought about it, as I just started migrating to HA a few weeks ago.
Thanks for mentioning the boiler. I’m aware of that. In my rented apartment I cannot change the boiler and its thermostat (which unfortunately is in a room I don’t use regularly), all I can adjust are the TRVs I purchased in the past two years. And as my boiler (Vaillant) is terribly oversized (it has a capacity of 25kW, while I only need 10-12kW in the coldest period of winter), I have the issue of the boiler turning on because the temperature dropped in that one room by 0.5°, to send hot water to all radiators and as that heat cannot be emitted quickly enough, the boiler turns off after a minute again, only to start the cycle 2-3 minutes later. This causes a high energy consumption, which is why I’m trying to come up with as many ways to save energy as possible. One way is to overheat the room with the fixed wall thermostat (calorMATIC 370) once per hour by 1° to reduce the number of starts of the boiler, the other one is to fine tune all TRVs shortly before the boiler starts heating again, which is why I’m searching for a thermo sensor that has a higher precision than the 0.5°C of my fixed thermostat.
I’ve already come across scheduler-component and plan to use it. I’m unsure though if better_thermostat has any advantages in my use case over generic_thermostat.
When i reviewed better thermostat, I noticed that it was missing a key feature, which was hot and cold tolerance thresholds. This meant you had far more on/off toggling going on as you were trying to maintain a steady temperature. This also caused more writes to the flash memory of the TRV with a new target temperature, which could reduce its operational life, depending on how often that happened.
Even though you can’t change the boiler, you might be able to re-wire the power lead going to it, so that you put a smart relay in between.(And remove it again as an when you stop renting the apartment). Or if it has a plug, simply put a smart plug between the boiler and the socket. This way, you could set the boilers controller to always on, but actually cut the power to the boiler using the scheduling component in home assistant. (Or an automation)
This is not ideal, but could be better than what you have currently. This basically creates a state where the boiler is either fully on, or fully off. The ideal is to have the boiler modulate its output based on the current temperature. (see link below)
As for changing the whole house by (say) a degree at a time, and avoiding having to set every device separately, this is pretty easy.
Create a button card on your dashboard that when pressed, runs a script. This script could go through every thermostat you want and change the temperature. Thus, you could change the temperature with one click from a dashboard card.
I’ve got a slightly crappy, hand-rolled automation that takes local temperature (all of my rooms have a separate temperature source as TRVs are pretty useless without it), TRV temperature and apply a compensation offset per TRV. This is pushed out on MQTT and is quite specific to my own crappy, aliexpress TRVs, but it does work quite well. Happy to share it if it helps in any way, but it’s quite specific to my setup.
On top of this, I have a separate control that switches the appropriate room between “comfort” and “eco” based on whether that person is home or not, with “eco” having a lower set temperature to “comfort”.
Neither is very elegant, but it does work ok-ish. I’m still not sold on whether there’s really any value in doing this though.
@Rofo Thanks for mentioning the issue of additional writes to the flash memory of TRVs. I’m unsure if it’s a rather theoretical issue or if I’ll need new TRVs in a few months if I change the target value a couple times per hour.
Additionally the Eve Thermo TRVs are “smart” in that they alter the valve opening based on the offset between target temperature and internally measured temperature. Which is the opposite of what better_thermostat does, it will briefly push the target temperature to 30°C to cause the valve to fully open.
As for the boiler and it’s thermostat control, they communicate via eBUS. I have seen people build eBUS adapters, but that’s out of my league. The boiler is modulating 5-25kW, but when you need less than 5kW, it still has the issue of running too hot, causing frequent on/off cycles. So to reduce the number of cycles, I have to trick the boiler into overheating one room for short phases. This only works if all other rooms aren’t too far off their target temperature.
@daern Are you calculating the offset only based on the difference of internal TRV temperature and room sensor or are you also including the outdoor temperature (and maybe even wind speed, humidity, sunshine) into this calculation?