Automations in HomeKit

Last night I was refining some of my HomeKit automations (rules) and it occurred to me that it might be an idea to capture some tips from the last few years.

HomeKit versus HEMS functions

I currently have around 30 automations delivering:

  • Space heating – 8 eTRVs / smart valves linked to a smart plug for boiler control and both movement and window sensors.
  • Window management – 4 window sensors and a movement sensor indicating via colours smart bulb when windows are left open (typically checked prior to leaving the house)
  • Lighting control – dusk-to-dawn lighting with colour-override by window management.
  • Watchdog – robustness aid.
  • Wet goods – control and dishwasher and washing machine in conjunction with HEMS.

In total I currently have:

  • 8 smart radiator valves (eTRVs)
  • 6 smart plugs
  • 4 door / window sensors
  • 3 smart bulbs (two coloured + 1 on/off)
  • 2 movement sensors
  • 1 environment sensor (temperature, humidity, air quality)

So, what are my tips:

It Is much more intuitive to write rules in the Eve app.

  • The free Eve app can pretty much do everything that Apple’s own Home app can do for HomeKit devices (not just Eve’s own devices). The construction of rules in the form: IF {any of one of more triggers} AND {all of none or more conditions} THEN {set one of more scenes} is very intuitive in the Eve app.
  • Eve also allows rules to be names, whereas Apple’s own Home app sets names to a trigger condition, so if you have many rules as I do with common triggers then you end up with a confusing list of rules with duplicates names which need to be opened to tell one from another.
A rule in the Eve app.

Comparison with conventional logic. Simple IF rules are very straightforward: IF {any of one or more triggers} THEN {set one or more rules}, however AND rules take a bit more thought: IF {list of AND conditions} AND {same list of AND conditions} THEN {set one or more scenes}.

A watchdog makes execution more robust. HomeKit rules are triggered by changes of state such as going from open to closed or from movement to no movement, but if some some reason a trigger is missed you may have the wrong scene set for hours. My watchdog rechecks rules every 5 minutes as described here.

AND rules. AND rules may be converted to use the watchdog principle by simply adding an additional trigger to reference the change of state of the smart plug used for the watchdog: IF {original list of AND conditions + new smart plug trigger} AND {original list of AND conditions} THEN {set one or more scenes}.

Simple IF rules. IF rules with single triggers are easily converted. The same principle applies to AND rules: If {original single trigger + new smart plug trigger} AND {original single trigger} THEN {set one or more scenes}.

Complex IF rules. IF rules with multiple triggers are more involved to convert to the watchdog principle. If you just add the smart plug to the trigger list as per the earlier AND paragraph then the rule triggers every time the smart plug cycles. If you were to add the other triggers to the conditions list then the rule would become an AND not an OR. Instead to convert an IF with multiple triggers then it needs to be converted to multiple rules – one for each original trigger condition – all driving the same scene. Each of the new rules is an IF with a single trigger as per the earlier paragraph. The existence of multiple rules setting the same scene(s) creates a multiple-trigger IF.

Multiple hubs. Having multiple hubs (in my case two Apple TV’s) can make the system more robust both during occasional software updates (it’s improbable that both will update simultaneously) but also by extending Bluetooth robustness (hubs commonly communicate to devices by Bluetooth but between each other by WiFi). Obviously the hubs need to be placed in different parts of the home. (Eve Extend can also be used to reach out-of-range Bluetooth devices over wifi, but isn’t compatible with my older 2015 Eve Thermo eTRVs.)

Please follow and like Greening Me:

Leave a Reply