At the last count my smart home system had eighteen rules, so I thought that some description might be appreciated. Those 18 rules run a combination of (i) a multi-zone heating system, (ii) warnings related to windows left open, and (iii) some interaction between the two where local radiators are disabled if a window is left open.
|Area||“On” Rules||“Off” Rules||Alarm Rules||Notes
|Outside light||“After Sunset”||“Daytime”||None||Dusk-to-dawn timer
|Inside warning light (plus Outside light sometimes)||“After Sunset All Windows Closed”||“All Windows Closed Early Hours“, “All Windows Closed Late Night” and “Daytime All Windows Closed”||“Bathroom Window Opens”, “Cloakroom Window Opens” and “En-suite Window Opens”.||Dusk-to-dawn with alarm override
|Boiler||“Any Master Rad Valve Opens” and “Any Slave Valve Rad Opens”||“All Master Rad Valves Closed”, “Bedtime No Lounge Motion” and “Half Hourly Overnight No Lounge Motion”.||None||Enable heating boiler based on radiator valve demand.
|Cloakroom Radiator||“Cloakroom Window Closes”||“Cloakroom Window Opens”||None||Enable/Disable local radiator valve based on window status.
|Heating||“Any Rads Below 10C”||None||None||Enable heating system regardless of summer/vacation status.
|Heating||“Any Rads Below 5C”||None||None||Enable boiler at low temperature regardless of summer or vacation setting.
Regular readings will recall that our central heating is run by Apple HomeKit giving multiple zones with independent time and temperature schedules, we also monitor key windows to warn if they have been left open, and have some interaction between windows and radiators so local radiators are disabled while a window is left open. Generally all of this works very well, but occasionally we find that the state of the window warning lamp is inconsistent with the physical position of the windows, or the boiler runs unexpectedly overnight (although it only heats the central core of hall, stairs and landing). I suspect that the cause is intermittent lack of communication between the hubs and smart devices such the the hub misses the shut down of the last radiator valve at night, the last window to be closed, or the first to open. Control rules are all triggered by changes of state, and if the change of state is missed then you’re sunk.
It occurred to me that what is required is a periodic check on the status of the imputs and appropriate changes to the outputs even if the change of state that should have triggered the rule was missed – I think of this as a watchdog. In the ideal world it shouldn’t be needed but periodically it will correct the status of an output.
You could of course program multiple time-based triggers into every rule (remember that a rule is if any trigger and all conditions then set scenes), but this is time-consuming and far from elegant.
Elagto’s Eve app, which I prefer over Apple’s own Home app for writing rules, does offer a recurring timer function, but it only enables a scene directly and cannot itself be part of a trigger or condition in a wider rule.
My solution is to find a device for which I can both set and read the status. In my case an Eve Energy which I can both turn on and then test to see if it is turned on.
This was handled as follows:
- Create two new scenes, one of which just turns the device on, and the other just turns it off.
- Create two new recurring timers; for me one sets the on scene on the hour, and every five minutes subsequently, and the other sets the off scene at two minutes past the hour and every five minutes subsequently.
- The device should now be cycling on and off continuously – two minutes on and three minutes off.
- Next I’ll test the on transitions as part of a series of rules.
- Each rule to be modified may need two steps of modification. Firstly the existing triggers may need to be replicated as conditions – so for example an ‘at sunrise’ trigger may be to be replicated as conditions ‘after sunrise’ and ‘before sunset’ given that this rule will be retested throughout the day. Secondly an extra trigger is added for if my watchdog turns on.
- The resulting rule should still work in the original manner if the ‘at sunrise’ trigger is detected, but if not within minutes (and every five minutes subsequently) the watchdog will trigger another evaluation of the rule.
My expectation is that this will improve the robustness of my system operation once I’ve changed all my rules suitably.
Earlier in the week I received notification from my electricity and gas supplier that my 12 month contract was coming to an end. I did my usual search for the best value Economy 7 tariff but drew a blank – everything including renewal with my existing supplier was rather more expensive than I’m paying now – so I decided to be rather more adventurous.
My decision was a significant change – not just a move from Economy 7 to a smart meter, but also the addition of a smart tariff (one that changes rate multiple times per day), and indeed my chosen tariff is dynamic so it potentially changes every half hour and day-to-day. As I don’t yet have a smart meter then I’ll continue on Economy 7 until the meter is replaced, but then adopt the dynamic tariff. With flexible loads like electric car charging and my storage battery then I should be well equipped to make the most of such a tariff.
On the dynamic tariff rates are published each day at 4:00 PM for the next day. Some times (not very often!) prices even go negative so one is being paid to consume. At other times electricity is relatively expensive (early evening’s principally) but the battery should help me minimise purchases during such times.
I’ve already checked the battery storage and it has the ability to be programmed very flexibly around different electricity prices at different times of day so that it doesn’t just absorb surplus solar but charges at lower cost times to discharge at higher cost times.
I also want to explore opportunities to automate the response to tariff changes – potentially linking storage battery, car charging, and water heating to tariff as well as self-consumption.
Of the course of the last year or so I’ve gradually created a smart home system with in the teens of components as follows:
- 8 Eve Thermos (eTRVs) which replace the standard TRVs on the radiators. These eTRVs are programmable for both temperature and schedule, replacing the previous central heating timer at home level with multiple timers at room level effectively creating a multi zone system.
- 3 Eve Window switches which detect open windows. These illuminate a warning lamp and/or disable heating of that room while the window is open.
- 2 non-Eve smart bulbs. Both of these operate on a dusk-to-dawn schedule while one also illuminates in a colour when any of the 3 monitored windows is open.
- 2 Eve Motions. One of these adjusts the lounge heating in the evening based on room occupancy so that the heating is disabled earlier in the evening if the room is not occupied. The other is as yet uninstalled.
- 1 Eve Energy which is a remote-controlled outlet that turns the gas boiler on or off based on heating demand from the eTRVs and a couple of rules.
- 1 Apple TV box which acts as a home hub for monitoring the devices and running multiple rules which operate lamps and outlets based on input status. Currently input is taken from valves, windows, motion, and external dusk/dawn signals and outputs sent to other valves, lamps, and socket outlet.
At the moment I tend to add a new device each month – if I can think of a useful function that it can perform.