The Holidays are almost upon us and for many like myself that means lots of lights and decorations. In our household, last year was the first Christmas with Iris and in retrospect the experience could be described as less of It’s a Wonderful Life and more like Home Alone. There were times I felt I was playing Macaulay Culkin’s role of Kevin McCallister because the crazy, yet creative schemes he used thorough the movies felt all too familiar. Our experience last year was fraught with frustration involving system outages, bad hub updates, cranky Radio Thermostats and Magic Rules possessing a dark magic more appropriate for a haunted house.
Movie references aside, there are simple enhancements that could transform the Iris Smart Home system into well, a Smart Home system. This post covers just one which we believe has the single biggest impact on the usability of the system; toggles. The concept of toggles is quite simple, take whatever on/off state a device is currently in and invert, or change it to the opposite. It’s a concept that works okay for single devices with limitations, but fails miserably when applied to device groups.
As an example, let’s take a look at a common scenario of using a Smart Button to control two light switches as you might for a driveway lamp post and entryway light. In this scenario you’re expecting company so you press the Smart Button expecting to turn on the lights to welcome your guests. If both switches are in the same state, in this case off, Iris will command them both to turn on lighting the way for your guests. This scenario fails when both of the devices are not in the same state (on or off) meaning a press of the Smart Button will frustratingly turn one on while the other turns off. This is because device groups in Iris are not stateful meaning Iris does not keep track of whether the group as a collective is actually on or off, instead toggling the individual devices based on their state. The situation rapidly devolves into chaos when magic rules are used to control individual devices within the group such as using a contact sensor on a door to turn on the entryway light.
Looking back to our own Nightmare Before Christmas where magic rules toggling a group of devices with a Smart Button would toggle the state of each device in a group as expected while one random device in the group would receive an toggle command. This bizarre behavior happened almost every time and would always guarantee that a member of the group would break ranks and return to its previous state. The lack of a stateful toggle could likely have prevented this behavior and saved a lot of grief last year.
So the question is, how can Lowe’s fix this? First, Iris doesn’t manage individual device states and it should, either through tracking or polling, the end result is the same. The best way to track device group states is to poll each device in a group and use the majority state (on or off) as the group state. To be truly smart, Iris must implement state detection into rules too. For example, the magic rule to control a device when a contact sensor is activated already has the option to turn on or off a device for a period of time. A simple checkbox for “Ignore rule if device is already on/off” would help and prevent devices turned on by one rule from being overridden by another.
To illustrate how this could be implemented, let’s look at a common rule that anyone using Iris has probably implemented at some point…
When a sensor is activated then control a device
When the <SENSOR> is activated then set the <DEVICE/GROUP> to <ON/OFF> <DURATION>
<SCHEDULE> <IGNORE RULE IF ALREADY ON/OFF>
The problem with Iris as it stands right now is that over the past year it has not become any smarter and that needs to change. Sure there are a few more device options now than last year at this time but even the rules for those devices are anemic at best. The lack of a mechanism for advanced users to extend the system, the inability to add complex or stacked rules, and most significantly, the closed ecosystem of Iris are going to be its downfall if things do not change. Lowe’s is not Apple, and the sooner they realize that, the sooner Iris will really take off and outshine its competitors.
What do you think? Leave your comments below.
If an API can come out so other developers can add functionality, that would be great!