Google's parent company is disabling old smart home devices

Old school automation is an utter failure; the new crop can't be any worse.
 
Old school automation is either horrendously expensive (Crestron, Control4, etc) or it is a DIY hobby for those very, very few who can't stop themselves.  Neither of those are mass markets in any conventional sense of the word.  We, on this board, are not representative of the wider world.  For example, look how often someone posts that they've dismantled and ripped out their automation system before selling their house.  An old-school DIY system is a potentially deal-killing liability in residential real estate.  If that system provided 'real automation', why wasn't it useful or valuable to anyone other than the geek that built it?
 
The new crop seeks to widen that market a bit (not a lot) riding on the coat tails of smartphone adoption.  Dean derides the new crop as 'not real automation'...which is untrue and irrelevant anyway.  All of the new crop offer scenes, timers, and sensor-triggered actions.  That they are less complex and customizable means that more ordinary humans can actually make use of them.  Do these pass the 'house sale test'?  I think the jury is still out on that.  I've seen some anecdotes where, for example, a smart lock is seen as adding value.  
 
Will the new crop disrupt the world and become can't-live-without?  I don't know, time will tell.  But what is clear is that disruptive changes are often called toys, initially:
 
As many have recognized, when inventions and innovations first appear they are often (always) labeled as “toys” or “incapable” of doing “real work” or providing “real entertainment”. Of course, many new inventions don’t work out the way inventors had hoped, though quite frequently it is just a matter of timing and the coming together of a variety of circumstances. It can be said that being labeled a toy is necessary, but not sufficient, to become the next big thing.
https://medium.com/learning-by-shipping/is-a-toy-21312a5c8aea?_hsenc=p2ANqtz-9YIWTEmhZbjEqhflqGiYGqsM7gGbQo4EvX7cuLY0VsyInsgeZu0fzIYj44YNe7Ph94C5x2_uWxXTV4Q0Iz4Y5_0A4LcVXMw_-pASFuNxLFVFUK0do&_hsmi=28099975#.yhenni6va
 
Craig
 
No, I said pressing a button on a phone to turn on a light, i.e. a simple one to one correspondence just as if it were a remote control is not automation, and of course it's not, by definition. Nothing is automated in that scenario. And that's an awful lot of what's going on out there. 
 
And I agree it's all too complicated. But, what's happening mostly now isn't moving us towards making that complicated stuff that lets us create greater levels of integration easier. It's just allowing folks to do very simple things simply. There's nothing wrong with that per se. But, as I said above, it's all being sold under the hype of the 'smart home', when it's not making the home really any smarter. That requires the kinds of capabilities that those 'old school' automation systems provide, but somehow made easier to do. That's not going to happen under the 'new boss' that I can see.
 
BTW, I think it's important to differentiate between the hardware and the automation system. If you put in a Lutron RA2 system and layer CQC over it, when you leave, you could just leave the RA2 system in place, which is in no way a liability that I can see, it's a very nice system that works fine by itself without the automation system. You just take your CQC system with you, since it's completely separate, and leave the hardware in place. And it means you can have the hardware professionally installed while DIYing the automation, since they are completely separate. The new owners can use it as is initially or forever, or they can do something more with it if they chose.
 
So there's DIY and there's DIY, and one has to be careful about where in that spectrum a given implementation is.
 
Kai Kreuzer, the driving force behind OpenHAB, did a presentation at the 2015 JavaOne conference about Smart Home Automation. Within the first 3 minutes, he effectively said the same thing Dean did; what's offered nowadays is little more than app-based 'remote-controls' with little or no communications between each vendor's product. You end up with a phone full of disparate apps that do their 'own thing' using their 'own cloud' ... at least until the vendor pulls the plug (what started this thread).
 
https://www.youtube.com/watch?v=9hDoAT9pItc
 
In the first half of the video, Kai demonstrates the open-source HA solution called OpenHAB and how it achieves Home Automation (in a manner that's familiar to most HA enthusiasts). The second half of the video demonstrate a commercial solution, QiviCON, that shares a common platform with OpenHAB (an open-source/commercial partnership).
 
Although the latest generation of so-called "smart home devices" may not be as "smart" as we'd like, I think their ability to be "discovered" is a significant improvement over yesteryear's devices. Kai's demo begins with editing a file to manually include "things" and manually create a UI. He later calls this the "techy" method suitable only for enthusiasts. He goes on to show what is needed for the "mass market" namely auto-discovery and auto-creation of a UI. I imagine this is what it must be like to use Apple's HomeKit; auto-discovery and auto-UI.
 
OpenHAB has automation rules but, for the moment, they still require manually typing text and that's still a hurdle for the average consumer (i.e. OpenHAB is not yet ready for the mass-market). I haven't seen how QiviCON handles this aspect. Even their promo video doesn't go beyond basic 'remote-control' and only mentions, briefly, things can 'work together'. Perhaps they leave that aspect to integrators and enthusiasts.
 
https://www.youtube.com/watch?v=GD4UbqZX288
 
BTW, I failed to point out that 'old school' automation is hardly an utter failure. Crestron is like a half billion dollar company or thereabouts. And of course you'd have to include Elk, HAI (before Lutron), Lutron, and a number of other medium to fairly large companies in that account as well.
 
It's more than a bit skewed to claim they are all failures because they never sold to a market they had no intention of selling to begin with. I don't think any of them ever claimed they were out to make hard core automation easy and accessible to the masses.
 
123 said:
Although the latest generation of so-called "smart home devices" may not be as "smart" as we'd like, I think their ability to be "discovered" is a significant improvement over yesteryear's devices. Kai's demo begins with editing a file to manually include "things" and manually create a UI. He later calls this the "techy" method suitable only for enthusiasts. He goes on to show what is needed for the "mass market" namely auto-discovery and auto-creation of a UI. I imagine this is what it must be like to use Apple's HomeKit; auto-discovery and auto-UI.
 
But any auto-generated UI is going to be very generic, and will almost certainly not include any sort of 'activity oriented' logic. That requires the user to set it up. Otherwise, it's nothing beyond the remote control on a phone. It will only know who to present you with a list of lights, a list of thermostats, and so forth.  We can do that easily enough already.
 
'Automation' implies activity oriented screens. I want to watch TV, I want to set 'night mode', I want to set 'day mode', I want to listen to music, and so forth. Nothing is going to figure out for you what those things entail, or how to tell the appropriate devices what to do. Partly because only know what they entail, and partly because it's impossible for the system to figure out what devices are required to set up various activities, unless you tell it how.
 
This comes back always to syntax vs. semantics which I've posted many times about. Things like HomeKit are mostly common syntax, which is nice enough, but it doesn't make the system really any smarter. Nothing is going to automatically figure out that the sensor at address x is Bobby's Front Window, and what the significance of being Bobby's Front Window is. 
 
If you haven't read this article I wrote, it's a good basic overview of the problem:
 
http://www.cepro.com/article/approaches_to_home_automation_protocols_and_implications_for_the_custom_ins/
 
If my home was truly smart:

1. It would see I have a hamper full of clothes and wash them for me.
1b it would switch them to the dryer and fold them when done.
2. It would know my kids eat the same cereal every morning and it should set them up at the kitchen table with their star wars bowls and milk.
3. Sense my dishwasher was shut but not turned on when there were more than 10/dishes
4. The lawn would mow itself
5. The toys left around would be picked up by a roomba and brought to playroom after 5pm
6. It would send the roomba mop around everytime a liquid was detected on floor
7. The car would self drive to gas station at night to get gas.
8. All surfaces in my house sprayed w graphene
9. The temperature would always be ideal
10. Lights would not have switches. They would be motion or retina detection activation.
Etc
 
Personally here stumped a bit on today's definition of Home Automation. 
 
Been playing (editing) the Home Automation Wiki doing primarily now the history and evolution of home automation.
 
I wouldn't call remote controlling of devices automation today but really that is how it started over a hundred years ago with the thermostat.
 
Dean Roddey said:
...Things like HomeKit are mostly common syntax, which is nice enough, but it doesn't make the system really any smarter. ...
Regarding Homekit specifically, that is wrong.
 
During setup, each Homekit accessory responds with profile describing its capabilities.  So different hardware versions of the same product may have different capabilities.  Even better, a firmware update to the hardware accessory may enable additional capabilities.  The Homekit design requires a fair amount of smarts in each accessory.  For instance, my smart plugs turn on/off at scheduled times even when the internet and my phone are both down.  (Verified through testing.)
 
I haven't studied Google/Nest/Alphabet offering in detail but I think they plan a similar mechanism.
 
Craig
 
(BTW, I'm not saying Homekit is going to take over the world; just that the design seems to clearly recognize the issues Dean has raised.  The state of the _implementation_ is a huge disappointment.)
 
I'm sure they provide basic info regarding capabilities, but that's not really sufficient. Even very detailed, very strictly enforced information is still a challenge when it comes to really allowing the system itself to create something for you that's actually what any of us would consider being 'smart'. For the most part, I'll bet you a wooden nickle that that list of capabilities will be used to present a 'remote control on a phone' type interface. 
 
It also doesn't deal with the other big problem, which is differentiation. Every vendor wants to differentiate his or her products. That means providing functionality that will, almost by definition, go beyond the fairly LCD definitions of such a device that any general purpose control system will define. That means that, even if that vendor enables his product for, say, Homekit, that extra functionality either cannot be accessed because it lies outside of the definition of that sort of device, or the 'definition' has lots and lots of bits that are optional, and therefore you cannot ever assume those capabilities exist. The latter also sort of insures that those definitions only get used to present you with remote control on a phone type devices, because extremely flexible capabilities definitions are not really that different from having no capabilities definitions when it comes to trying to create generic, activity oriented interfaces that can work with any supported devices.
 
Or, you make the definitions very strict with no optional features. Then you can depend on what's available. But, then the guy who bought the $500 thermostat can't access (and hence automate) a lot of the functionality it provides, unless he goes to a product specific app. That tradeoff is always going to be there.
 
I go into this stuff in a fair bit of detail in the article I linked to.
 
Dean Roddey said:
I'm sure they provide basic info regarding capabilities, but that's not really sufficient. Even very detailed, very strictly enforced information is still a challenge when it comes to really allowing the system itself to create something for you that's actually what any of us would consider being 'smart'. For the most part, I'll bet you a wooden nickle that that list of capabilities will be used to present a 'remote control on a phone' type interface. 
 
"Not really sufficient ... [for] really allowing the system to create something [smart] for you"
 
That's an awfully high bar. A "system" that magically foresees a new cog's role in the greater scheme of things?
 
If I purchase a temperature sensor, the "system" has no way of knowing how I plan to use it beyond reporting temperature. It can't read my mind and automagically use the temperature sensor to influence the operation of my HVAC system (or whatever else I plan to do with it).
 
The best it can do is appear in the "system" as a building block for my use. As a bonus, it provides the simple convenience of a UI (used for nothing more than confirming it reports temperature properly).
 
Beyond that, I manually use the "system" to incorporate the sensor into an activity of my invention. Alternately, I may be able to copy someone's "recipe" and use that instead of creating my own.
 
I can imagine a "system", using a sufficient degree of software abstraction, that can support "automation recipes". Choose a flavor of "Garage Door Automation" and it'll confirm you have sufficient "ingredients" (or provide a check-list of missing items) to "bake" it successfully. Obviously it will rely on a properly coded 'device taxonomy' to make this happen ("I'm afraid you're missing a Garage Door sensor for this recipe."). This concept is like IFTTT but more aware of its environment.
 
I've read your article...I'm not convinced you are right.  Dean, you really should invest 45 minutes to watch the WWDC 2014 session introducing programmers to the Homekit software framework.  All you need is a (free) Apple Developer ID.  The video and other resources are available at:
 
https://developer.apple.com/homekit/
 
At the risk of oversimplifying, in Homekit an Accessory  corresponds to a physical device.  An Accessory provides one or more Services.  Homekit defines Types of Services like Garage Door, Fan, Light (dimmable or not, maybe colour changing), Temperature sensor, and quite a few more.  Each Service has characteristics that allow interaction.  Characteristics may be Read-only (current temp), Read-write (power state [on|off], target temp), Write-only (Identify).  Some Characteristics are mandatory for a particular Type of Service; many others are optional.
 
Here is what the detailed information screen looks like for a simple smart plug:
 
IMG_1280.PNG

Tapping the plug icon (next to the name "Landscape Lights") will turn that device on/off.
 
This level of abstraction gives accessory makers a fair degree of latitude.  For example, a ceiling-mounted fan may or may not include a light.  It could also contain temperature or motion sensors for that matter.  A user creates a scene and adds Services of Accessories specifying their desired state.  So the Goodnight scene might make sure a certain list of lights are turned off, the garage door is closed and the ceiling fan is turned on to low (if the upstairs temperature is over X degrees).  
 
Scenes can be triggered by tapping controls on an iOS app, Siri input, timers or geo fences.  Promised but not delivered yet is triggering based on sensor input.  That is a major hole but even without it, timers and geo fence triggers certainly let such a home do 'smart' things.
 
One may not be able to control every aspect of every device but it puts a lot more within the reach of mere mortals.  I've heard that the typical Crestron installation is well north of $100,000.  I suppose some people will always pay for the ultimate in customization and convenience...but a lot more people are going to be willing to buy a $50 smart plug that works with the device they already have in their pocket.
 
Craig
 
As I mentioned though, nothing is free. If it has lots of latitude, then it becomes that much harder to create generic user interfaces and logic that will still work if you swap out a device. The device capabilities stuff (we call them 'device classes') really are for multiple things:
 
1. They allow you to create user logic that is portable. I.e. I could create a piece of logic that you could use pretty much as is, basically just indicating that you want it to apply to devices x, y, and z, and the configuration interface can present you only those devices that provide the correct interface.
2. They allow you to create really nice user interfaces that aren't just remote controls on a screen, that are very activity oriented type things that non-technical house members can actually use, but which have a reasonable chance of being re-applicable to other systems (a big deal both for professional installers and for creating any sort of 'economy' of third parties able to create reusable tools for customers of the system.)
3. They allow you to swap out devices and not have your carefully constructed world come crumbing completely down and require days or weeks to adjust.
 
Almost all of those fall over to some degree in the face of even a fairly small amount of 'flexibility' in the defined device classes. Dealing with all of the combinatorial variations gets really complex, and difficult to test and maintain over time. And display mechanisms or logic hosting mechanisms may not have the dynamic capabilities required to adjust on the fly, i.e. they have to be created with a set of known capabilities for the most part, maybe some amount of adjustment is possible. So, generally speaking, lots of optional bits in the device capabilities actually pushes folks more towards the 'remote control on a screen' scenario, because that's the only one that's reasonably adaptable enough to deal with lots of optional bits and pieces. Just find out what's there and present it all in a one button does one thing sort of way.
 
Very strict definitions, OTOH, allow for all of that, but they will mean that various devices can't meet the test and therefore can't be supported (at least under this standard scheme.) Or it means that lots of functionality of some devices are only available outside of this scheme, which for most folks will mean not available at all in any nicely integrated way if they depend on the auto-generation capabilities.
 
Our system has a lot of device classes which are very strictly defined and pretty complete. It allows for all of the three scenarios above, but it does often run into devices it can't support because they are just so off the beaten path or not good enough. We don't allow for hardly any optional functionalty. Where we do it's not optional features per se, it's thing like we don't strictly define the arming modes for a security system, we just make them available via the driver to present to the user in some way, and the first one always has to be Off to represent disarmed, fairly small things like that. We do allow 'out of band' functionality, but it's only available in the 'old fashioned' way of actually creating logic and interfaces by hand and dealing with device specific stuff. How does Homekit allow for such out of band functionality, or does it?
 
And we also don't strictly define 'device types', some are more fractional than that, and drivers can implement more than one device class. For instance Volume just allows for volume control (get/set the volume, get/set the mute state, adjust the volume up or down.) So if you have some logic or user interface component that controls volume, it doesn't have to understand all of the possible types of devices that might provide volume control, it can work with any device that implements the volume device class, and a device can present multiple instances of any particular device class (e.g. a multi-zone audio system will be multiple instances of the Volume, Switcher, and InputSource device classes, usually, there is no separate multi-zone audio device class at least not currently though there could be some bits that could be associated with such a class.)
 
So we have a fairly nice set of definitions, and can use that to auto-generate a pretty nice set of touch screen interfaces. Though, it still requires a good bit of configuration on the part of the user, to tell us what rooms he has and what devices are in each room, to provide user readable labels for things for visual presentation, to provide some special actions that might need to be run in a given room when the user invokes one of the supported activities (and of course we can only support a set of pre-defined activities because anything more would require some crazy level of artificial intelligence.) Definitely it allows for generic logic and device swappages with fairly minimal to no impact.
 
And it still can't do lots of 'activity oriented' type stuff that would be nice to do, because there's just not enough information available even after all of that. Even to provide some customization of the auto-generated stuff requires that they understand how to create user logic, and to do anything really useful that usually requires understanding conditional statements which goes over many people's heads.
 
 
BTW, I would say that, if devices are required to cough up their capabilities, that will mean that vast numbers of devices will not be supportable because they have no means to do so, and would require significant redesign to provide that info. In a central controller based system like CQC, that's not necessary. The driver that provides access to the device can provide that information, so it allows for the same sort of 'introspection' or whatever you want to call it, without requiring the whole world to re-design themselves to comply to a particular scheme. Ultimately, that's going to be a huge problem for any system like Homekit which is oriented towards the devices themselves being cooperating nodes in a higher level framework. Yeh, you can 'bridge them in' in some way, but then you are basically doing exactly what everyone else is doing, except it's even more complicated because it's two different worlds being jammed together.
 
 
BTW, I'd imagine the typical Crestron installation is probably a good bit lower than that, if we are talking about averages and talking about homes (i.e. leaving out corporate/government installations where cost isn't so much of an issue.) They do sell less expensive controllers these days.
 
I guess I should have asked in there somewhere, can you point to any example of an auto-generated user interface for a Homekit system? So that we could see how 'smart' it can be on its own? I've never seen one, but I've not been really looking for one either.
 
I watched the 2015 WWDC session where they explain HomeKit's improvements in iOS9.
 
https://developer.apple.com/videos/play/wwdc2015/210/
 
Being an HA hobbyist, I was surprised to learn Event Triggers didn't exist in iOS 8. Anyway, they do now and if you fast-forward to 23:10, you can watch how one creates an Event Trigger that activates a Scene when the Front Door opens, the time is before 6:00 PM, and Motion is detected. Easy-peasy.
 
An important contributor to the ease-of-use, is obliging Accessories to conform to defined Categories (a.k.a. classification of Devices/Things) and to use standardized nomenclature for Characteristics (a.k.a. Properties/Fields). Fast-forward to 36:10 to see the new Categories introduced in iOS9.
 
FWIW, the way they treat physical devices reminds me of Premise. It uses an extensive library of standard objects (Light, Fan, Relay, Security System, Temperature Sensor, Motion Sensor, etc). A physical device must conform to a standard object (or combination of objects).
 
If I want to check if my alarm system is armed, I don't need to know if it is DSC, ELK, HAI or whatever. The concept of "Armed" is represented differently by each manufacturer (yes/no or some integer value). However, that gory detail is abstracted away because all alarm systems must conform to the model defined by Premise's SecuritySystem object. It makes creating logic easier, the logic becomes portable, and you can swap the physical alarm system without compromising the logic.
 
Similarly, Apple obliges physical devices to conform to a standard model (an Accessory fits a Category which comes with a standard set of Characteristics). In iOS9 they've also introduced the ability for a manufacturer to expose custom characteristics (properties not found in the standard model).
 
Back
Top