One of the consequences of integrating a smart home is the large number of different apps, web portals and potentially sources of APIs involved. The ones I use include:
Reads and stores consumption from smart meter.
No price data for my tariff due to smart meter limitations.
Eve’s alternative to Home for all HomeKit accessories with additional functionality for Eve’s own devices.
I prefer this to Home for editing rules. I use Eve products mostly for central heating control.
Apple’s own app for the HomeKit smart home ecosystem.
Need to refer to device manufacturers own apps (such as Eve or WIFIPLUG) for some configuration and data.
My own web portal to view HEMS schedule and status via Apache web-server on Raspberry Pi.
Control of ImmerSUN power diverter.
Available API provides some measurement and status data as per main screen of the app.
Control of Powervault storage system.
Available APIs provide some user scheduling and status capability.
Future cost, and historic costs and consumption (30 prior days) from Octopus (electricity supplier).
APIs provided by Octopus. App developed by an enthusiast using Octopus APIs. Octopus’s own web portal provides historic consumption but does not pair this with cost. Monthly statements show graph of consumption and cost for each day.
Control and measurements from own brand smart plugs.
Plugs also appear in Home and Eve apps. I use for dishwasher and washing machine.
Notes to table:
APIs not officially released. Reverse-engineered by an enthusiast and available on line.
APIs not officially released. Used as part of a sponsored trial when I first got the battery and re-used by myself with some manufacturer support.
iOS only. Not available for Android.
Some of these apps have similarities:
Both Bright and OctoWatchdog show whole of house energy consumption (and potentially cost) derived from the smart meter. However they have differences too. A smart meter sits on two networks: (i) the Wide Area Network (WAN) via which the meter communicates with the energy supplier and (ii) the Home Area Network (HAN) which links the devices in the home (electricity meter, gas meter, CADs/IHD and gateway). Bright connects to the HAN via small piece of hardware called a Glow Stick Wi-Fi CAD and collects its own data in real time and stores its own records of energy consumption in the cloud; while OctoWatchdog involves no extra in-home hardware, and takes data a day in arrears from Octopus not storing anything in the cloud itself. Bright’s USP is the real time consumption and current day’s data (neither of which OctoWatchdog supports), while OctoWatchdog’s USP is the availability of electricity price which isn’t available from the meter.
Both Eve and Home interact with all devices in the whole HomeKit ecosystem. Eve is best for creating rules and has more ability to configure Eve’s own devices, while Home is best for sharing access with family members. WIFIPLUG’s app is more limited only interacting with their own devices, and thus cannot see Eve or other HomeKit devices.
Both MyImmersun and WIFIPLUG apps, and the Powervault portal, allow configuration of their own manufacturer devices. They all have, for example, timer capability and data logging. MyImmersun is better for giving a whole-of-home view showing solar panel output and net input to house (so provides a more comprehensive energy monitor), Powervault shows no solar panel output but does give a view of whole-of-home, while WIFIPLUG provides only a view of the energy consumption of devices plugged in to the WIFIPLUGs.
The height of summer is perhaps an odd choice of time for a post about heating, however we’ll get to that. Regular readers may recall that our smart heating controls enable the boiler when any radiator demands heat via its smart valve (eTRV) and disables the boiler when the last room is up to temperature. That rather begs the question what happens to the control logic when the batteries go flat. The HomekIt rules are not sufficiently sophisticated for the author to set that behaviour via the program, and I’ve seen no default behaviour described on-line.
Today the inevitable happened and a battery did go so low as to stop operation. The behaviour of the heating was to force the boiler on. Most rooms did not heat up as their own eTRVs recorded them already being sufficiently hot, although the bathrooms and cloakrooms did heat up (they generally lack eTRVs) as indeed did the room with the flat battery (my daughter’s playroom). Other symptoms included an icon in the Home app that would not grey out when disabled like other room eTRVs and the the boiler repeatedly being re-enabled even after manually disabled through the app.
Replacement with fresh batteries immediately restored normal operation.
Although any more heat input is unwelcome on a day as hot as today, we have at least demonstrated that the system is failsafe in a flat battery condition – I’d rather that the system heated up with a flat battery to prevent freezing damage in winter at the cost of some discomfort in summer due to excess heat.
It’s 265 days since my records indicate an earlier battery change, albeit for most of that time the heating hasn’t been on (so no power needed for valve movements). It’s over a year now that I’ve been using Ni-MH cells in these valves. The cells are slightly lower voltage than the recommended cells (1.2 versus 1.5 Volts) so do create spurious low battery warnings, but apart from that they seem to work well with adequate life before recharging. I thus anticipate continuing with their use of a means of reducing battery waste. I’ve had no cell failures to date.
After a series of quite detailed posts, I think that the time has come for an updated high level overview of what we have.
We moved to our early 1970s house almost 4 years ago bringing with us our electric vehicle. The house had already been refurbished with new double-glazed windows, had cavity insulation (although that wasn’t recorded on EPC so must have predated the prior owners), and a token level of loft insulation. The existing gas boiler was arthritic, couldn’t heat the whole house, but was quite good at heating the header tanks in the loft! We had gravity-fed gas hot water (i.e. no thermostat or pump on the cylinder) which was completely obsolete, the cylinder dated back to the building of the house and had no immersion heater (although we had the wiring for one). So what did we do?
We substantially increased the loft insulation to reduce heat loss.
We had a modern condensing gas boiler installed to improve efficiency.
We updated to smart controls using eTRVs to set both temperature set points and schedules at room level. I built a smart interface to the boiler so that heating can be enabled remotely. I programmed a series of rules into Apple Home allowing the smart thermostats to enable the boiler when any thermostat wants heat and disable it when no thermostat wants heat. Some rooms also have additional rules linking heating to open windows or movement sensors. All of this reduces heat losses by only heating rooms that are (or will be shortly be) in use.
We installed our own solar panels given 4 kWp generation. (I also own a small share of a solar farm although there’s no contract that I’m aware of between that farm and my home energy supplier)
I invested in an immerSUN to maximise self-use of our own solar by enabling loads when surplus solar is available.
We switched to a green electricity supplier so when we need to buy electricity it comes from renewable sources.
We bought a small storage battery 4 kWh to store some of our solar production for use later in the day. Subsequently I can also use it in winter to buy when the electricity price is relatively low to avoid buying when the price is relatively high.
We chose a dynamic smart tariff to buy electricity at the lowest price based on market prices established the day before. The prices change each half hour and are established in the late afternoon on the day before.
We replaced the old hot water cylinder with a modern insulated one (to reduce heat loss) with a low immersion heater (to allow more of the water volume to be heated).
Our principal water heating is now by diverting surplus solar electricity proportionately to the immersion heater, that’s backed up by the gas boiler which is enabled briefly in the evening for water heating in case the water isn’t yet up to temperature, and when the electricity price falls below the gas price I can enable the immersion heater on full power.
All accessible hot water pipes are insulated.
Electric car charger:
I built my own electric car charger that takes an external radio signal to switch between four settings 0, 6, 10 and 16 Amps to help me adjust consumption to match to availability of output from my solar panels. (Subsequently such products were developed commercially with continuously variable current limits, but the limitations of my immersun and on/off radio signal don’t allow me to go quite that far. Having said that my car only does 0, 6, 10 and 14 Amps so I would gain no benefit from a continuously-variable charger paired with a 4-level car).
Smart electricity controls:
We have two systems for smart control of electricity:
The immersun to maximise self-use of our solar electricity by proportional control of loads.
A HEMS to manage the purchase of electricity (when necessary) at the lowest price by maximising consumption when the price is lowest.
When both systems want to enable loads (because the bought price is low and we have a surplus from our own panels) then cost is prioritised, so we’ll buy from the grid any demand not being met from our own panels.
Both systems are linked to 3 devices:
Battery storage. The immersun is configured to work alongside the battery storage with the battery storage as the top priority to receive surplus solar PV. The HEMS can switch the status of the battery as required to charge from the grid when the price is lowest, or to discharge when the price is highest, or indeed to revert to default behaviour.
Car charger. Second priority for the immersun after battery storage.
Immersion heater. Third priority for the immersun after car charging.
I have no firm plans for the future. I’m toying with adding to the HEMS various features including:
Making the display switch between GMS and BST as appropriate (it’s all UTC at the moment).
Edit configuration via the web interface rather than a virtual terminal.
Control a domestic appliance. Our washing machine was replaced relatively recently, but the dishwasher is playing up a little and may be a candidate for HEMS integration where the optimum start time is selected to deliver lowest energy price.
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 below).
My understanding therefore is that the Eve 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 some cases, multiple hours.
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.
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.
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.
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).
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.
My 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..
My 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.
My 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.
My 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.
My 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.
My 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.
My 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.
My 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.
My 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.
My tenth step was a further one of general robustness via the introduction of a second Apple TV used as a second hub.
This second Apple TV is placed in a room diagonally across 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.
My eleventh step was to introduce two WIFIPLUG smart plugs to control dishwasher and washing machine.
The WIFIPLUG units were selected in preference to my existing Eve Energy devices due to the availability of an API interface allowing my HEMS to interact with the smart plugs. This was described wet goods project.
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:
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.
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.
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.