Hi,
I want to build a dzVents script that lowers the temperature setting of my Evohome thermostat when I'm not at home. I have a script called AtHome that pings our telephones to determine if we are at home. The script sets a switch AtHome. The switch triggers the script for the Evohome. I have my Evohome system connected to Domoticz with a SSM-D2 (a solution that works like a charm). I know how to set the temperature with domoticz.EVOHOME_MODE_TEMPORARY_OVERRIDE when we have left the house and how to reset it with domoticz.EVOHOME_MODE_AUTO. What I don't know is how to retrieve the setpoint times after the next setpoint. Suppose I have a schedule with three setpoints: 19 degrees from 9.00 till 18.00, 20 degrees from 18.00 till 23.00 and 15 degrees from 23.00 till 9.00. The temporary setpoint when not at home is 16 degrees. Because my partner uses the Evohome controller and not Domoticz to control the heating I don't want to use the setpoint times "hardcoded" in the script.
Suppose we leave the house at 10.00. The temperature is then set to 16 instead of 19 degrees. My script sets this temperature with no UntilDate. If we come home at 17.00 the temperature is set to 19 degrees. If we are late and come home at 21.00 the temperature is set to 20. But if we come back after 23.00 the temperature stays at 16 degrees while it should normally be 15 degrees since 23.00. The setpoint should be lowered to 15 degrees at 23.00.
I see a couple of options. The simplest is to set the Evohome in Eco mode instead of temporary override. The Eco mode lowers the temperature setting of all controllers with 3 degrees. The problem is: at night time it lowers the temperature from 15 to 12 degrees and in the evening it's 18 instead of 17 degrees. Apart from that: it lowers all temperatures and I only want to lower it in specific room. The Eco mode is not the solution I want.
Second option. If we have left the house, check every 10 minutes (the interval the Evohome controller uses) if the set point is changed by the controller. If so check the new set temperature and UntilDate. If the temperature is lower then 16 degrees (i.e. after 23.00) leave this setting. Otherwise set the temperature to 16 degrees. Repeat the process at the next change of settings. The disadvantage of this solution is that the Evohome may give a command to start the heating at 18.00 (it's actually 16 degrees then) which will be taken back within 10 minutes at max, depending on the synchronization of the Evohome and Domoticz. These 10 minutes can be reduced by checking the Evohome 1 minute later, but the problem with starting the heating still exists.
Third option. This is the one I'm really looking for. At the moment we leave the house, the script checks the next settings until a setpoint is found that is lower than 16 degrees. The corresponding setpoint time is the time until the override is set. At that time (23.00) the normal setting (15 degrees) is followed. I think this is the best option but the problem is: how do I read setpoints that are later than the next setpoint? Can I read the complete program for a week?
Peter
Evohome - Lower temperature while not at home
Moderator: leecollings
-
- Posts: 652
- Joined: Saturday 21 September 2019 17:55
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.1
- Location: The Netherlands
- Contact:
Re: Evohome - Lower temperature while not at home
I had a similar problem but then with Opentherm Gateway. I could set a temporary override but each time the thermostat setpoint changed it took back control and did set the setpoint as-if we were at home. Even in-between it sometimes took control, at unpredictable moments, probably because it tried to reach the setpoint at the set time, so it started heating in advance. Even if I did resend the temporary override it took back control minutes later in order to reach to target state. It became a complicated script also because the override only comes into effect 15 minutes after we have left the house, so it does not trigger if we loose wifi connectivity for a short moment.
The way I solved it is by not using a temporary override but a permanent override instead and when domoticz detects that someone is at home again, it gives back control to the thermostat. So domoticz is fully in control until it gives back the control explicitely to the thermostat.
Do you have a permanent override possibility? That would be much easier.
The way I solved it is by not using a temporary override but a permanent override instead and when domoticz detects that someone is at home again, it gives back control to the thermostat. So domoticz is fully in control until it gives back the control explicitely to the thermostat.
Do you have a permanent override possibility? That would be much easier.
-
- Posts: 93
- Joined: Saturday 07 November 2020 21:41
- Target OS: Raspberry Pi / ODroid
- Domoticz version: beta
- Contact:
Re: Evohome - Lower temperature while not at home
Hi Willem,
Using the permanent override means it the temperature will stay at 16 degrees during nighttime, when it should be 15 degrees according to the schedule. There's a code (0404) in the Evohome Ramses protocol for obtaining a zone schedule, but that code is not implemented in the Domoticz Evohome class. I think that would be the solution to our problem.
I forgot to mention a fourth option in my first post. That is using the Away mode on the controller. Unfortunately that's implemented to simple. It sets all zones to 15 degrees, regardless of the normal setpoints. You can change that temperature, but if it's changed to 17 degrees for example, the temperature is set to that value, even if the normal setpoint is lower than 17 degrees.
Peter
Using the permanent override means it the temperature will stay at 16 degrees during nighttime, when it should be 15 degrees according to the schedule. There's a code (0404) in the Evohome Ramses protocol for obtaining a zone schedule, but that code is not implemented in the Domoticz Evohome class. I think that would be the solution to our problem.
I forgot to mention a fourth option in my first post. That is using the Away mode on the controller. Unfortunately that's implemented to simple. It sets all zones to 15 degrees, regardless of the normal setpoints. You can change that temperature, but if it's changed to 17 degrees for example, the temperature is set to that value, even if the normal setpoint is lower than 17 degrees.
Peter
Who is online
Users browsing this forum: No registered users and 1 guest