Category Archives: Smart Home

Going through the (Eve) Motions

The other day I was involved in a discussion about how Eve Motions work. Some participants were concerned that Eve Motions always show motion for just the configured ‘on’ time and then go off until retriggered. The effect of this would be that if, for example, you were controlling a light, that light would always go off briefly before being triggered again which would be annoying and inconvenient.

However, this log (above) from my own lounge Motion, that is used to curtail the heating when the room is unused, shows ‘on’ events often being much longer that the 30 minutes that I have set (see right).  My understanding therefore is that the Motions trigger on first movement and continue to report ‘Motion’ until the delay time after motion ends.  I can’t otherwise explain Motion evens that last for variable lengths and, in s9me cases, multiple hours.

If I ruled the world..

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” RulesAlarm RulesNotes
Outside light“After Sunset”“Daytime”NoneDusk-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”.NoneEnable heating boiler based on radiator valve demand.
Cloakroom Radiator“Cloakroom Window Closes”“Cloakroom Window Opens”NoneEnable/Disable local radiator valve based on window status.
Heating“Any Rads Below 10C”NoneNoneEnable heating system regardless of summer/vacation status.
Heating“Any Rads Below 5C”NoneNoneEnable boiler at low temperature regardless of summer or vacation setting.

Dog sitting in the smart home?

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:

  1. Create two new scenes, one of which just turns the device on, and the other just turns it off.
  2. 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.
  3. The device should now be cycling on and off continuously – two minutes on and three minutes off.
  4. Next I’ll test the on transitions as part of a series of rules.
  5. 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.
  6. 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.

 

Smartie pants

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.

Going through the motions

In the last few days I bought my first motion sensor when I found them available heavily discounted on an online store. I didn’t initially have a specific role for the sensor in mind, but thought it worth a punt to experiment. Subsequently I’ve incorporated it into the lounge heating.

Previously the lounge heating went off at the end of the day according to a schedule set within the Eve Thermos, but could be overridden via App or Siri to extend heating if watching a late film for example, but an hourly rule disabled the heating to prevent it being left on all night so the heating may need to be re-enabled at hourly intervals.

In the new scheme the heating is extended to midnight via the schedules in the Eve Thermos, but the Eve Motion sensor is used to review heating status every half hour from 10:00 PM. The movement sensor is configured with a duration of 30 minutes so that the output is made for 30 minutes after motion is detected. The output can then be tested for either on or off. An amended rule is triggered every half hour and, if motion is NOT detected, then heating is disabled on the assumption that the household is out or has retired to bed.

The new arrangement is an improvement on the former arrangement as the heating does not need to be extended manually via the App or Siri, and doesn’t need to be renabled periodically.  It now does not need manual extension even once, let alone multiple times (at least until midnight).

Steps in my smart journey

For more than a year now we’ve been building up our smart home capability. There are various ecosystems of such devices, but we’re using Apple HomeKit a decision initially motivated by the presence of multiple iPads in the home.

StepDescriptionPicture
1My first step into smart home was to replace radiator valves with smart valves. Typically that results in replacing a temperature-only TRV with a smart valve with both a temperature set point and schedule. A schedule still operated within the central heating timer, but The schedule within the valve allows heating to be disabled in a particular room even though on elsewhere.

Applications for this include disabling lounge heating on weekday mornings, disabling the playroom heating after our daughter’s bedtime, not heating bedrooms during weekend daytimes etc..
2My second step was to add the ability to turn on the heating remotely so, instead of having schedules in both the central timer and the individual valves, the schedules exist only in the valves. Instead rules link the valves to the boiler so the boiler automatically runs from the first radiator valve on to the last radiator valve off.

Thus, instead of potentially needing to modify both a valve schedule and the schedule on the central timer to make a change, only instead a single change to the valve schedule is required. Similarly things like extending heating in the evening, to watch a late film for example, a simple Siri voice command to the radiator valve is enough rather than having to extend boiler hours too.

The hardware to achieve this is a standard smart socket, driving a relay which closes contacts across the correct terminals on the central heating wiring block alongside the boiler. The software to achieve this is two rules - a boiler on rule and a boiler off rule. The rules require a hub to which to run which initially was my iPad.



3My third step was to add an Apple TV unit as a hub to complement the iPad. This allows the heating rules to operate even when the iPad is not at home of has insufficient battery charge to act as a hub.

Extra capability from this additional hub allows control from remote locations, such as warming up the home if one will be home early or disabling vacation setting prior to starting a home-bound journey at the end of a vacation.
4My fourth step started a completely different non-heating theme. We’d had a few occasions where family members had left the house with windows open, so I started adding sensors on windows that were most likely to the left open - typically cloakrooms/bathrooms.

In this step we needed to use the Apple Home app, the Elgato Eve App, or Siri to check window status.
5My fifth step continued that different non-heating theme with the addition of our first smart bulb, now in a lightfitting near the burglar alarm control panel.

A series of rules combine both automated dusk-to-dawn white lighting and coloured lighting when any monitored window is left open.
6My sixth step continued the lighting theme with the addition of our second smart bulb, now in the outside light by the front door. This light had an integral dusk-to-dawn sensor but this failed leaving the light on continuously. Rather than replace the whole lamp I simply added a white smart bulb.

The existing rules were modified to add the new bulb to provide dusk-to-dawn white lighting.

This step was added August 15th, 2018.
7My seventh step returned to the heating theme with the addition of our first movement sensor (an Eve Motion). The purchase was prompted by a fellow member of an online community identifying that these were on sale by a well-known online retailer for under £30. I purchased it without a specific plan how I would use it, but soon identified an opportunity in the heating.

In the new scheme the lounge heating is extended to run later by modifying the schedule in the Eve Energies, but then the movement sensor is used to curtail the heating earlier if no movement has been detected in half hour intervals after 10:00 PM.

This step was added September 21st, 2018.
8My eight step remained with the heating theme with the addition of another Eve Thermo eTRV. I had bought the sensor a few months ago when Maplin were closing down, but had not yet used it. However it seemed better to use it than leave it lying literally on the shelf.

The chosen location was the downstairs cloakroom that had previously had a standard TRV where the radiator heated to the set point whenever any smart value demanded heat. This was the first time that I had a smart valve in the same room as a window sensor and it was interesting to see the Eve App automatically create two new scenes to pause and resume heating in the room while the window was open. I also used the valve in a way new to me - rather than utilise the internal schedule instead I switch its temperature set point when any other valve demands heat. I thus consider this valve my first 'slave' valve - simply operating from first 'master' valve on to last 'master' valve off.

This step was added October 1st, 2018.
9My ninth step was one of general robustness via the introduction of a second Eve Energy, this time used to support a periodic check of status my 'watchdog'.

The Eve Energy supports a review of status every 5 minutes allowing output states to be corrected if an earlier change of state was missed and failed to trigger a rule.

This is described in Dog sitting in the smart home

This step was added October 20th, 2018.
10My tenth step was a further one of general robustness via the introduction of a second Apple TV used as a second.

This second Apple TV is placed in a room diagonally a Roos the house from the original. The original TV is at the South West corner of the hose, which isn’t ideal for BLE coverage, but happens to be next to the TV in the lounge. While it can reach all the smart devices from th8s location, there are occasions when the signal is lost. The second location should improve robustness for the more distant devices as signals are relayed via the second hub to which whichever hub the system regards as the master at the time. The hubs themselves communicate with each other via WiFi and onwards to the devices by Bluetooth/BLE.

This step was added October 29th, 2018.

Gas Usage to July 2018

This chart shows our gas consumption by month and year since we moved here in August 2015 (the first full month shown is September 2015),  Along the way several changes are marked which might be thought to influence gas consumption, although with natural variation month-to-month and year-by-year the effect of those changes isn’t dramatically obvious.

What is of course obvious is the dramatic difference in gas consumption between summer and winter as gas is our main means of space heating, and there’s no need for space heating in summer.  Most homes would exhibit such a pattern.  Ours is probably a bit more marked than many because of our water heating.  Many homes with gas will use the gas for both space and water heating, but for us the gas water heating is the back-up not the primary water heating system.  Our home is set up to divert surplus solar electricity from the PV panels to water heating during the day.  Only in the evening is gas water heating enabled and then it does no heating if the water is up to temperature.  The gas water heating thermostat is also set a few degrees colder than the immersion heater, so gas is separated from electric water heating by both time and temperature to prioritise electricity.

Previously I had just disabled the boiler in summer, but occasional dull days would leave my wife complaining about lack of hot water.  The new arrangement with the boiler operating later and with a lower temperature set-point has avoided that and is robust as long as your hot water cylinder is big enough for your daily needs so you only need to fill it once with hot water which is then stored available for use until the next day.

Over time 3 changes are called out which should reduce gas consumption further:

  1. In December 2015 we replaced the boiler, hot water cylinder and controls.  The previous boiler had demonstrated that it was incapable of heating the whole home as we went into our first winter so a replacement was rapidly arranged.  The new boiler is considerably more efficient which should reduce gas consumption for a given heat output, but it now heats the whole house, so that might counteract the improved efficiency.
  2. In late 2016 we upgraded the loft insulation from 100 to 270 mm which should be worth £73 in gas per year according to our EPC.  February, March and April 2017 do seem to show some benefit compared to 2016, but then there also variation in the weather year-to-year.
  3. In May 2017 we started adding smart heating controls which has gradually expanded over the following months.  The overall concept here is that most rooms now have smart radiator valves which are both thermostatic and contain their own schedule.  The schedules allow rooms to be heated for fewer hours: for example lounge not heated on weekday mornings, playroom not heated after children’s bedtime etc.

Fundamental rules for smart boiler control

Each rule in the smart home can consist of triggers, conditions and scenes. Triggers consist of one of more alternative events any of which cause the rule to be evaluated. The optional Conditions consist of one or more statements all of which must be true for the rule to be satisfied. Scenes consists of one or more scenes that are set when the rule is satisfied.

For my heating control I have two scenes that set the boiler on or off, and triggers and conditions reflecting the status of the radiators.

TriggersConditionsScenes
Any valve goes to closed .... and all valves are closed .... then cancel boiler.
Any valve moves off closed ..{none}.. then enable boiler.

As an alternative I considered rules using temperature, but that would make things more complicated if the temperature set point is adjusted as you might need to change the rules; whereas by having rules based only on (fully) closed and (partially) open then the set point can be adjusted without issue.  Additionally you can control around a very low vacation set point for frost protection.  Effectively there are four set points:

  1. Closed – which is forced by a summer setting, but also occurs at other times when no heat is demanded.
  2. Vacation temperature – 5 C for me – a low set point for frost protection, but from which it might take an extended period to warm up.
  3. Economy temperature – 10 C for me – a lower temperature limit during normal scheduled operation.
  4. Comfort temperature – 24 C for me – a minimum temperature avoiding complaints from my wife!

My system retains the original 7 day timer, which these days I use only to control water heating.  If I did enable the 7 day timer as well as the smart controls then the boiler would be enabled when either the 7 day timer or the smart controls demanded it.

Advantages of smart heating

I thought that I’d describe some of the features of the smart heating controls versus the prior single zone system with TRVs and a 7 day timer. My main interest is of course to save gas by heating the home more selectively, but there are other opportunities that you may consider significant.

I don’t yet have sufficient data to illustrate any operational savings, but continue to record gas consumption to compare with prior years.

 

 Prior system with 7 day timer and TRVsCurrent smart system with some eTRVs
ZonesSingleMultiple
Schedule7 day - working week plus weekendsInfinitely flexible home / working schedule based on iPad calendar
Adjustment of timers and thermostatsManualvia App (with voice control!)
Remote adjustmentNoYes - enabled by Apple TV as hub
Holiday settingNo Yes - sets low level heat for frost protection
Summer settingNo Yes - closes all valves
Integration with non-heating smart devicesNoYes

Oops no heat

No heat this morning (not that its absence is a major issues as the weather is fairly mild). Initial analysis via the Apple Home App is that some of the radiator valves can’t be reached, and thus I assume that the rules that enable the gas boiler can’t be satisfied.

As a short term fix I could have turned on the boiler manually via the app or using the central timer which is normally set to off for space heating (but not hot water) when using the smart controls, but I didn’t need to do that as I quickly found the root cause.

I initially thought that there was some corruption in the configuration of individual valves, so I was planning to delete them from the App and then re-pair them, but then I spotted that as I moved around the house I was losing different valves, so I turned my attention to the hub i.e. the Apple TV box.

Turning on the box it appears that it downloaded a software update overnight. As soon as I acknowledged a screen describing the changes then all the valves became reachable, the control rules were satisfied, and the gas boiler was enabled.

It would be more robust if you could specify a default value in a rule to be used if the actual value was unavailable from the device.  The actual value being unavailable would also happen with a flat device battery for example.