Category Archives: HEMS Project

Getting heated

Regular readers may recall that our hot water can be generated in 3 different ways: (i) conventional gas boiler, (ii) from grid electricity and (iii) from the surplus on my own solar panels. Attractions of these options are that gas is always available and stable in price, but my grid electricity is lower carbon and may at times be cheaper than gas, and my solar electricity is lowest in both carbon and cost but is subject to significant daily and seasonal variation.

The logic to sort out which source to use is managed by my HEMS. Gas is the baseline and the gas boiler is set to heat water for an hour a day in the early evening to ensure that baths etc are possible. The heating is thermostatically controlled so it doesn’t heat if the water is already hot, and that thermostat is set slightly lower than the immersion thermostat too.

The ImmerSUN normally operates automatically to divert surplus solar electricity proportionately to the immersion heater after the needs of general house load, battery charging and car charging have been taken. However if the electricity price is negative (yes, really) then the HEMS may override the ImmerSUN so that water heating is not done by free solar but instead may be delayed to allow use of paid-to-use electricity.

The final part of this triumvirate is buying electricity from the grid to heat water. Here the price of bought electricity is compared either to the price of gas and a decision made to use electricity when it is cheaper (it’s always lower CO2), or compared to the price of surplus solar (effectively zero) to buy from the grid. Both of these are obviously comparisons with a price threshold but until now the choice of threshold has been made manually – typically against gas in winter when solar output is limited and against solar in summer when more readily available. However the reality of UK weather is that this is a compromise as it may be very sunny one day but very dull the next.

Solar forecasting

The new refinement therefore is to use the existing solar forecasting integration. Solar forecasting already informs HEMS decisions about when to charge the storage battery from the grid and when to operate the wet goods (dishwasher and washing machine). The latest change is that the solar forecasting is now also use to choose whether to base a decision to buy electricity for water heating against a threshold related to the gas price or against the price of surplus solar PV.

HEMS schedule for July 4th.

The above schedule shows that, as a result of no significant solar production anticipated on the 4th, the HEMS has compared electricity price to gas price and thus elected to buy electricity from the grid to make hot water overnight since at 1.7640 to 2.4675 p/kWh electricity is cheaper than gas.

It’s official – I’m a smart home / energy pioneer :-)

It can’t be very often that an energy company blogs about its customers’ achievements. Last week it happened. Octopus Energy wrote a blog entitled “How to hack your home for cheaper, greener, energy with our open API” which featured the achievements of its customers, and Greening Me got two honourable mentions.

For those not familiar with geek-speak, API is Application Programming Interface which is a mechanism by which an app, webpage or computer program may give commands to, or receive data from, another program – often a web server. Such APIs are often closed (that is that they are only available for use by the creator’s own app or webpage etc), but in this case the Octopus APIs are open so that they can be used by others (including me) to create our own apps, webpages, or other integrations to get data from Octopus. That data may be future price information for a UK electricity region or the actual consumption from a specified electricity meter for example. Octopus document their APIs and encourage others to find innovative uses for them.

Other APIs that I use were either documented privately by the manufacturers of the equipment concerned, although the manufacturer has not put the API in the public domain, or were reverse-engineered by myself or others by looking at how the manufacturer used it or at the internet traffic that it generated and working out how we could use it ourselves for a slightly different purpose. Such purposes would include controlling equipment other than by the manufacturer’s own app, or collecting data into some non-supported form.

Diversity in third party solutions using the Octopus API.

Greening Me’s first mention in the blog came under the Smart Electric Vehicle (EV) Charging section where Octopus wrote..

One of our own smart energy pioneers, Greening Me, has used a Raspberry Pi and an add-on circuit board with our API to switch his electric car charger on/off and set the best time for his hot water immersion heater to run. He also has solar generation and so he can direct his solar power to either his smart car charger or hot water.

The first reference

Later in the “I’ll do it myself (tech level 🌶🌶🌶)” section after describing a group of “smart home pioneers” Octopus wrote..

In the home-brew category, users like GreeningMe have created their own Home Energy Management Systems (HEMS), using the ubiquitous Raspberry Pi to manage a large part of their energy consumption.

Together with Western Power Distribution, Passiv Systems have also created something similar to Greening Me’s HEMS, which is currently being trialled and evaluated as another BEIS funded research project called MADE.

The second reference

So it’s official – I’m a “smart energy pioneer” and a “smart home pioneer”. I also quite like the idea of being a “home hacker” in the positive sense of someone who makes their own home conform to their wishes. If you’d like to read the full blog post from Octopus Energy then you can do so here https://octopus.energy/blog/agile-smart-home-diy/.

Overall I’m proper chuffed.

Taking the plunge

For some time now my Home Energy Management System (HEMS) has been managing many of my domestic electricity consumers including:

  • car charging
  • dishwasher
  • home storage battery
  • washing machine
  • water heating via immersion heater
Domestic solar panels

The overarching strategy has been to:

  • maximise use of my own solar energy (rather than consume from the grid)
  • prioritise consumers for best value within the constraint of available solar generation
  • when power is needed from the grid to optimise the purchase price by shifting consumption to the cheapest periods (my price changes every half an hour)

For some consumers such as car charging and water heating this has resulted in those consumers switching between two modes:

  1. self-consumption when they are enabled to use the ‘free’ electricity from my own solar panels (subject to device prioritisation) with some proportional control
  2. boost when they run at full power drawing some if not all of the required power from the grid at the lowest available price

However the quite exceptional stress being put on the grid in the UK has prompted some expansion of capability. It’s normal once in a while that my electricity prices go negative, commonly caused by the overlap of large amounts of renewable electricity on the grid (e.g. excess solar output on sunny afternoons and/or high windfarm output due to wind conditions) and low demand (summer nights without heating demand, summer afternoons, bank holidays etc) which is exacerbated by the current corona situation. The current corona situation has made this more common and the plunge pricing events more extreme with multiple hours of negative pricing today some of which are into double digits (which I think is unprecedented). For car charging and water heating this has resulted in a new control mode.

The new control mode is a disabled status where the the device neither self-consumes nor is forced on. In the short term this increases export to the grid, but the mode is intended to help balance the grid disabling consumption for now to enable more consumption when the grid is under most extreme stress from an excess of generation over demand. Or to think of it another way, it passes up the opportunity to use free electricity now in order to be paid to use electricity later, responding to the price incentive to support balancing the grid.

Thus on a normal day these devices switch half-hourly between self-consumption (free electricity) and Boost (paid for electricity), but on a price plunge day then they switch half hourly between the new disabled state (no electricity, increased export) and the existing Boost (but now paid-to-consume electricity).

The full availability of modes is thus:

mode / otherabbreviationbattery storagecar chargerwater heating
Make and modelPowervault G200N/AImmersun v2
Control meansAPIRelayMixed API and relay
Mode – Boost++Powervault “Force charge”via HEMS relay (Ch 1)Via HEMs relay (Ch 2) to Immersun “External Boost” input.
Mode – Self-consumption only+Priority #1
Powervault “Charge only”
Priority #2
via Immersun relay output (Ch 3)
Priority #3
Immersun default behaviour
Mode -Disabled0N/A – Available in API but not used by HEMS.via HEMS relay (Ch 4)Immersun “Holiday” mode via API
Mode – Both self-consumption and self-discharge available+/-Powervault “Normal” via APIN/A – No reverse flow from car to home available (not V2X capable)N/A
Major device modes available to HEMS

We should thus be better equipped to support the grid in the current circumstances.

Import / Export at the smart meter for Saturday 23rd May

The chart above shows the resulting behaviour. In particular the large negative currents through the morning to early afternoon show that much of the normal self-consumption has been disabled. Then from mid-afternoon the import shows the effect of enabling multiple consumers simultaneously. Here the behaviour of the car charging and water heating was boosted as this point, while the dishwasher’s and washing machine’s existing behaviour added to load.

Not that it has anything to do with the revised controls, but the spikiness of the export during the day shows the highly variable nature of the export through the day being a function of both variable generation through passing clouds and variable consumption with kettle boils and the like. Thus it’s important that consumers for self-consumption have automated closed loop control since manual control of an immersion heater or car charger to achieve high self-consumption with minimal import would have been almost impossible even with a level of human intervention wholly at odds with the scale of savings achieved – small savings hour-by-hour add up over the day, weeks and months but their value is relatively tiny compared to the labour to attempt equivalent control manually.

Here is a similar import-only half-hourly view from the smart meter WAN side:

Half-hourly consumption and cost from smart meter WAN side.

The screenshot above clearly shows those periods of import being targeted at the periods with the most negative prices. Since different consumers need power for different periods of time (for example it takes about 7 hours to charge the battery, but only 2 or 3 for a tank of hot water) then consumption rises as cost falls. My consumption-weighted average cost was -6.22 p/kWh yesterday. However the same price point during the day or night has delivered different consumption from the grid as the output of the solar panels must be consumed before consumption from the grid starts. We are still some way from the point where it becomes economically attractive to disable the solar panels.

Daily electricity cost for 28 days (vertical scale is fractions of a pound)

Finally the above image shows the last 28 days of electricity average cost in p/kWh. Although some other days included some periods of negative pricing, the quite exceptional pricing yesterday is amply illustrated with the combination of extreme prices and the new load management mode delivering revenue (i.e. negative cost) of 82.4 pence through consumption of 13.252 kWh at an average 6.22 p/kWh.

This is something of a zero sum game in terms of consumption as I don’t artificially increase consumption to improve income – such as leaving the oven on with the door open during a summer day – this is all about shifting consumption that would have happened anyway. However we have not only supported the grid when it is most stressed but also reduced our energy costs significantly (to the point of being significantly negative) by moving consumption from being predominately self-consumption (i.e. from our own solar panels) to being predominantly grid consumption.

Monitoring the HEMS

For some time now I’ve been thinking about creating a real time display which pulls together data from a variety of sources around the home to provide an overview of what’s going on without the need to visit multiple web pages or apps. Until the last 10 days or so that involved little more than thoughts of how I might evolve the existing immersun web page with more content (I don’t have the skills to write my own app), but then about 10 days ago I saw an online gauge that someone else had created to show energy price and inspiration struck. Ten days later I have my monitor working, albeit not complete:

HEMS monitor

The monitor pulls together information from:

  • My electricity tariff for p/kWh
  • My immersun for power data (to/from: grid, solar, water, house)
  • My storage battery for power in/out and state of charge
  • My HEMS for electricity cost thresholds between different battery modes.

The gauge consists of two parts: (i) an upper electricity cost part and (ii) a lower power part.

The upper electricity cost part is effectively a big price gauge from 0 p/kWh to 25 p/kWh with a needle that moves each half hour as the price changes. It has various features:

  • The outer semi-circular ring (blue here) shows today’s relationship between battery mode and electricity price. Today is very sunny, so no electricity was bought from the grid to charge the battery, and this part is all blue for normal battery operation. If the days was duller and electricity was to be bought to charge the battery, then two further sectors would appear:
    1. a dark green sector from zero upwards showing the grid prices at which the battery would be force charged from the grid, and
    2. a light green sector showing when the battery is not permitted to discharge but may continue to charge from solar.
  • In inner semi-circular ring (green / yellow / red here) currently just colour-codes increasing electricity price, but will be used to show today’s prices at which car charging and water heating are triggered from the grid.
  • The current price per kWh is taken from Octopus’s price API, while the current cost per hour is derived both from this and the grid power from the immersun.
  • The needle grows from a simple dot indicating the price per kWh only when no power is drawn from the grid to a full needle when the electricity cost is 10 pence per hour or more.

The lower power part is effectively a power meter ranging from 5,000 Watts of export to the left to 5,000 Watts of import to the right. It updates every few seconds. It has various features:

  • The outer semi-circular ring (orange /maroon / green here) shows how power is being consumed:
    • orange – shows consumption by the house less specified loads
    • maroon – shows battery charging
    • blue (not shown) – shows water heating
    • green – shows export to the grid
  • The inner semi-circular ring (yellow here) shows the source of power. The sum of the sources should equal the sum of the consumers. The sources are:
    • maroon (not shown) – shows battery discharge
    • yellow – shows solar power
    • red (not shown) – shows grid power
  • The power value shows the net import or export from / to the grid, while SoC refers to the state of charge of the battery (0-100%). The combination of import power and electricity price gives the cost per hour in the top gauge.
  • The needle position shows net import (to the right) or next export (to the left). The needle should thus be to the left of the green sector, or to the right of the (unseen) red sector. Needle length show the full power being handled and is thus proportionate to the angle of the sector including all the colours in the lower gauge and extends from 0 to 5 kW.
Monitor installed on an old phone in the kitchen.

The gauge scales to fill the smallest of screen height or width and translates to be centrally positioned regardless of screen size. My intention is to display it on an old mobile phone as an energy monitor, but I can also access it on any web browser on any device within the home.

Octopus Agile Tariff

Much of the optimisation of my home exploits the cost-saving potential of the Octopus Agile electricity tariff. This tariff is a radical departure from a typical UK tariff. Rather than a fixed unit price that applies 24/7, the Agile tariff exploits the smart meter to provide up to 48 different half-hourly prices per day which change day-to-day according to a formula linked to daily electricity auctions in an absolutely transparent manner.

Octopus’ transparent pricing

The prices can vary from several pence per kWh negative (i.e. being paid to use electricity) to a cap at 35 p/kWh which might apply in the early evening. That therefore places a some risk on the consumer, but equally can provide significant benefit. There are regional differences in the equation reflecting variation in the costs to distribute electricity in different parts of the country, so your formula might not be exactly the same as mine, but will be very similar.

Agile bill summary for two months ending mid-April 2020.

That average 5.02 p/kWh is not just competitive versus other tariffs – it tramples all over them. Personally I’m continually plagued by advertising claiming to save me £100s versus existing tariffs, but none ever comes remotely close to this rate. Thus, with my consumption pattern, I think that this is an unrivalled tariff. The Energy Saving Trust has calculated the average UK electricity cost at 15.75 p/kWh as at March 2019 (their latest analysis at the time of writing), so I’m currently paying a third of that average rate.

Of course you won’t ever see this tariff recommended on a switching website. Indeed, I’ve never seen any smart tariff recommended on a switching website, because they only ever seem to offer the choice between flat rate tariffs and Economy 7. In my opinion the lack of smart tariffs always denies consumers access to what may genuinely be the cheapest tariff for them by short term switches between tariffs that are pretty much alike. Those switching sites don’t want consumers to find long-term value, instead they want consumers to keep switching so that they keep earning commission.

However for me, not only have Octopus demonstrated long-term value, but they provide 100% renewable power, and are the only electricity company to be Which? recommended for 3 consecutive years. For you there’s a further £50 to be saved if you click on the image below and sign-up for any one of Octopus’ tariffs.

Octopus referral

Washing on sunshine

As regular readers will recall I’ve recently updated my battery controls with solar predication. For some years now my battery storage has automatically charged during sunshine and later discharged in the evening, and over the last year I added the HEMS to manage buying electricity including for the battery when the electricity cost was cheapest as there’s little solar in the winter, but now the HEMS has the ability to automatically adjust how much power is bought from the grid depending on how much output is expected from the solar panels in order to deliver a charged battery by the end of the day when the electricity price rises significantly. The battery charging can thus swing from all solar to all grid and all points in between entirely automatically based on the solar forecast.

Predicted solar output for March 16th to 18th as of the evening of March 15th.

Now however I’ve also added the capability to adjust when the wet goods – dishwasher and washing machine – run as a function of expected solar panel output.

As with the battery controls, I don’t attempt to match generation half hour by half hour with device operation because of uncertainty around how precisely a solar forecast from the evening before will match actual solar production up to twelve hours later. Instead my solar algorithm extracts the number of hours of significant solar production and the earliest start time of that production. For the battery that information is used to modify the number of hours of battery charging to be bought from the grid and the end of the window during which those hours of charging may be bought. Now I’ve updated the controls for the wet goods similarly.

The existing wet good controls look to start the machine at the time when the electricity cost for the cycle is cheapest within a time window set by the user, so the user defines the earliest and latest acceptable start times and the algorithm finds the cheapest start time within that window. The updated wet goods controls assess the number of hours of solar charging available and if both (i) the window exceeds a certain size and (ii) the user’s time window includes the solar window then the user window is narrowed to start at the start of the solar window. The resulting start time between the start of the solar window and the end of the user window may not be absolutely the cheapest grid cost but my assumption is that the solar contribution (which could be up to 100%) will in practice make this the cheapest grid cost as any power needed from the grid will be at a relatively good price. If this start time in the solar window does not reflect absolutely the cheapest grid cost then a second start time may also be identified which is the cheapest grid cost.

HEMS schedule with start times for wet goods within the solar window.

In the above example the start times are both within the solar window and the cheapest energy price, so no cheaper alternative is also offered. Start times within the solar window tend to be in the afternoon as the grid energy costs are lower. This also improves the probability that the battery may briefly discharge if the total load exceeds the solar output. However in the above example the energy price is so low that the battery is also force-charging (it’s dark green) so any surplus demand will come from the grid.

HEMS schedule with start times both inside and outside the solar window

In the above example the cheapest time to run each cycle from the grid is at night, although given the availability of solar during the day then any small saving in grid costs at night is very likely wiped out by the ability to run some (if not all) of the cycle during the day from the solar surplus rather than the grid. Both start times are available – the absolutely lowest grid cost and the lowest grid cost during the solar window.

It’s probably also worth mentioning the implications of running the appliance alongside the battery status being different colours:

  • Blue battery and state of charge being at or over 80% – appliance is prioritised over battery allowing battery to discharge to meet appliance needs as required – least likely to draw anything from grid (but likely highest cost to draw from grid)
  • Light green battery or (blue battery and state of charge being below 80%) – appliance is prioritised over battery charging alone (so battery may not discharge to support appliance) – a little more likely to draw anything from grid (but likely mid cost to draw from grid)
  • Dark green battery – battery charging and appliance are equal priority – most likely to draw something from grid (but likely cheapest cost to draw from grid, even to the point of being paid to draw from grid at times)

Tuning up for the performance

Last night rather unexpectedly my solcast solar irradiance data tuned itself. I use this data to predict the output of my solar panels and adjust what I buy from the grid in response. I had expected that tuning would happen eventually, but my understanding was that two month’s data was required, not the two week’s data that I had so far supplied.

Prior to tuning my predictions had looked like this..

solcast predictions before tuning

Although the system is clearly predicting output to a reasonable degree of accuracy, there are two obvious issues:

  1. The orientation of the array from due south seems a little off, as my array starts and ends generation earlier than the prediction suggesting the the orientation should be slightly more easterly in the model.
  2. The peak at a sustained 4 kW is overly optimistic. The panels can generate 4 kW according to my monitoring, but only relatively briefly and certainly not for more than an hour in March.

Nevertheless, the overall identification of better and worse days is clearly working.

solcast predictions after tuning

However after tuning both issues have been resolved. The measured and predicted curves match very closely. Note that the prior predictions have been updated by the tuning process, so March 26th which is included in both the images looks subtly different. Note also that my control is based on forecasts from the evening before, not the ‘1 hour ahead forecasts’ illustrated above. You may also observe that there is a discrepancy in the morning of April first, where the measured data is zero while the estimated actuals and forecasts are quite healthy, which arises as a result of a temporary failure of the immersun server from where the data is taken.

The ability to do tuning requires an upload of data. I upload generation data continuously at 5-minute intervals (the shortest allowed interval) which may explain the early availability of the tuned results. The script that I use to achieve this takes data indirectly from my ImmerSUN and is modified from this script. I achieved a 99% correlation which is pretty good. Subsequently it seems that the tuning takes place automatically each day.

Tonic solar, a little light music

As winter turned to spring my thoughts for my HEMS turned to thinking about how to adjust the operation of the HEMS in managing battery charging to account for anticipated solar production. Previously the HEMS was configured to buy a preset number of hours of charge from the grid each day, typically overnight when the power tends to be cheapest. Through 2019 as the seasons changed I periodically adjusted this figure to create headroom to store charge from the solar panels later in the day. However I would like to make this adjustment automatically day by day.

Late last year I came across solcast a website that predicts the output of solar panels. The user creates an account, describes their PV array (location, capacity and orientation), and can then download predictions via API.

Solar prediction for the next three days

The orange line shows the predicted output for the next few days, with the light grey area showing the confidence interval from 10 to 90%. As a prediction there’s a degree of uncertainty associated with the prediction as there is with a weather forecast. The 10% line shows that 1 day in 10 the output will be lower than the grey area, while the 90% line shows that 1 day in 10 then output will be higher than the grey area.

My original prediction were based on the orange line (the 50th percentile) where output was equally likely to be above or below this amount. However my risk on an incorrect prediction is not even. If I fail to buy enough power from the grid when the price is low then I risk paying up to 35p/kWh to buy when the price is high, whereas if I buy an unnecessary cheap kWh from the grid I may spend an unnecessary 5p/kWh on average. Thus I decided to take a more conservative position on risk to obtain the lowest cost position. I opted for a 20% risk, so 1 day in 5 I might underestimate my purchase from the grid reflecting the ratio of grid prices high:low. I estimated this 20th percentile assuming a normal distribution on the low side where the 20th percentile = 0.34 * 50th percentile + 0.66 * 10th percentile.

The process is as follows:

  1. download the data in a half-hourly format to be comparable to the half-hourly Agile electricity price data,
  2. calculate the 20th percentile from the 10th and 50th percentiles,
  3. count the number of half-hours in the 20th percentile data above a threshold that provides for charging the battery at full power,
  4. establish the earliest half hour when solar would charge the battery at full power,
  5. adjust the period for buying power from the grid by the period anticipated for solar charging (tomorrow a total of 7 hours is to be achieved by 6.5 hours from solar leaving 0.5 hours from the grid),
  6. adjust the end time for buying power from the grid to align with the earliest hour when the battery can charge at full power from solar.
HEMS schedule with battery behaviour modified for predicted solar generation

The result of these calculations can be seen above. One half-hour of lowest price battery charging has been identified overnight to meet the requirement for charging from the grid. Normal HEMS behaviour has also identified several other periods of grid charging at lower cost during the day, but these are not counted towards the target for buying from the grid due to the potential for a double count of solar and grid charging during the day. (In a similar manner there are multiple start times during the afternoon when the dishwasher or washing machine can be run on grid power more cheaply than the optimal overnight start time.)

No explicit command from the HEMS is required to enable proportional charging of the battery from the solar panels when there is a solar surplus as 2 of the 3 used battery operating modes (normal and charge-only) have this capability, and the third mode force charges the battery. If the battery is force charged during solar surplus then the source of the energy will of course be the solar panels, but any shortfall will be met from the grid.

modecharge behaviourdischarge behaviourcomment
NormalProportional to solar surplusProportional to shortfallUsed at high grid prices (today discharging enabled at > 8 p/kWh)
Charge onlyProportional to solar surplusNo dischargeUsed at mid grid price to save stored energy for period of higher grid price (between 5 and 8 p/kWh today)
Force chargeFull powerNo dischargeUsed at lower grid price to buy from grid (today buying at < 5p/kWh). If low price occurs at time with reasonable solar generation then use of solar output will happen automatically, with only any shortfall coming from the grid.
Battery behaviour in different operating modes

The cost of smart

Discussion elsewhere prompted me to look into what I spent on what you might term my energy smart systems relating to electricity consumption, so I thought I’d document it here.

ItemDescription CostComment
1Solar photovoltaic system (4kW)£5,500Bundled with ImmerSUN.
2Powervault battery storage (4kWh)£2,000Free installation as part of UKPN trial.
3ImmerSUN management system with monitoring.£600Estimate based on today’s pricing.
4Remote-controlled car charger.£300Modified used charger from eBay. My own software.
5Raspberry Pi items to make HEMS£200My own software.
6Wet goods automation (WIFIPLUG x 2)£70
TOTAL£8,670

Prior analysis of items #1-#4 in pre-Agile days has suggested a total of 9 years to achieve payback on this investment through use of around 85% of the generated energy. Solar panels are potentially good for over 20 years operation, although I doubt the lead-acid batteries will still be operating for anything like that long.

The combination of item #5 with my Octopus Agile dynamic smart electricity tariff has resulted in my average bought electricity price being 7.75 p/kWh in 2019, about half the UK average. I suppose that I could make the same judgements and program items manually each day, but the HEMS significantly reduces my time commitment to achieve that.

Item #6 is my most recent addition. The sophistication of the algorithm combining the Agile tariff with a simple model of the cycle of each device is such that I would never achieve such a high quality result manually. However the saving is perhaps only a three pence each day so maybe £10 per year on my Agile tariff and thus 7 years to pay for the two smart plugs.

Much of this content is thus around 7 years to payback. The HEMS is potentially much quicker, but relies on having smart systems to control such as battery storage and car charger.

The ‘Appiest Days of My Life

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:

TitleAppPortalAPIPurposeComment
BrightYNYReads and stores consumption from smart meter.No price data for my tariff due to smart meter limitations.
EveY /3NNEve’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.
HomeY /3NNApple’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.
HEMSNYN My own web portal to view HEMS schedule and status via Apache web-server on Raspberry Pi.
MyImmersunYYY /1Control of ImmerSUN power diverter.Available API provides some measurement and status data as per main screen of the app.
PowervaultNYY /2Control of Powervault storage system.Available APIs provide some user scheduling and status capability.
OctoWatchdogY /3YYFuture 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.
WIFIPLUGYNYControl 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:

  1. APIs not officially released. Reverse-engineered by an enthusiast and available on line.
  2. 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.
  3. 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.