Dr Brooks, of MIT Robotics fame, came up with a really elegant solution for the complexity of robots, he called it subsumption. As an architecture it worked by allowing all of the small bits of a robot to be independently functional but merely "influenced" by a higher authority. That worked through a series of behaviors that were built in that could be overridden by external input.
Consider the case of a 'leg'. A robot needs to lift its legs and move them forward in order to achieve forward locomotion. This means it needs a gait where it steps while keeping itself balanced. Brooks created a system where the highest ranked function that could run, would. So if the robot was stable, it unlocked the 'lift function' and if the leg was lifted it unlocked the higher priority forward function, and if the leg was forward it unlocked the higher priority balance function. I really liked it a lot and have used it in other embedded systems since then.
As a result I see the "smart" house system similarly, which is that I would build systems that were self contained, and could see input from outside. Take a light for example, it would have 'on', 'off', 'dim' and 'i don't care'. If you command it to any point, it goes there. Period. If it is in 'i don't care' the house controller is free to tell it to do something different.
Back then, I said that we needed more structure than Brooks, but less structure than Latoumbe (a professor at Stanford into efficient exhaustive search planning). Before Brooks, there was a long tradition of detailed planning in AI. Brooks totally rejected planning. This is an extreme position, but the planning and re-planning people were having trouble coping with the real world.
Brooks' Roomba is an expression of that model. The Roomba has a few simple behaviors - go in straight line, spiral, follow wall - and a state machine to switch between them. It has no idea where it is. Most later robot vacuums have actual navigation, because Roombas are notorious for getting themselves into the same traps over and over. Both overplanned and purely reactive systems have trouble coping with the real world, but they fail in different ways.
> This is an extreme position, but the planning and re-planning people were having trouble coping with the real world.
Yes. The whole field wasted decades running afoul of Ron's First Law: all extreme positions are wrong. This is why the three-layer architecture described in the link above (reactive behaviors sequenced by a state machine informed by a deliberative planner) eventually became the de facto standard, because it combines both approaches in a way that actually fits the structure of the problem.
I think the issue with subsumption is that 3layers aren't enough. It would be interesting to combine recent deep neuralnet architectures with the Dr Brooks overall subsumption design (so multiple layers of individual deepnets layered hierarchically)
No, the problem with subsumption is that it is a poor composition mechanism. Even the name reveals this to be true: a higher layer has to subsume a lower layer, because (according to Brooks) when a higher layer is active the lower layer's outputs are suppressed. As long as the higher layer is active, the lower layer contributes nothing to the final result and hence may as well not exist. In fact, it's really not a "layered" architecture at all, it's just a big cascading series of if-then-else clauses. Subsumption doesn't really do anything other than obscure this fact.
I think that is overly harsh, the beauty of it for me continues to be that it is default stable. No input and things are stable. That makes it very resilient in low compute environments. That is the same reason I would recommend it for a smart house architecture, when the upper (planning) layer fails (or is broken) you can always get the lower layers to do what you want (lights turn on, or thermostat adjusts) because the local command the top of the 'if-then' tree in your lexicon.
But it isn't. In order for two layers to interact properly you have to specifically engineer them that way. If a higher layer starts or stops subsuming at the wrong time you can get catastrophic failures.
Also, smart houses are a very different problem than autonomous mobile robots.
That was the rhetoric. But the reality was that it was just a big kludge. That is why subsumption-based robots can't do anything more today than they could 30 years ago. Subsumption pretty much tops out at wandering randomly without bumping in to things. But that turns out to just not be a particularly hard problem.
1998 (though it is remarkable how difficult it is to find that date), so very nearly 20 years. But it's a survey; the work described in that paper goes back as far as 1990 or so. (I'm the author, in case you didn't know.)
I once attended a talk by a man who developed software for autonomous submarines that balanced immediate short term needs analogous to breathing with higher order missions like searching for mines. It was called hafscript (hierarchical autonomous framework). The author still seems to be active online.
This is also how biology works. The neural circuitry for walking is a fairly short loop between your leg muscles, spinal cord , and nerves handling proprioception, with some input from the brain for balance control, and the more intentional behaviors are layered on top (start, turn, stop) by the conscious systems.
I wouldn't mind a smart home so long as e.g light switches have the response time (1ms?)! and reliability (1 million switchings without hiccup?) of a regular switch.
The acceptance level for "problems" switching lights on or off is pretty much zero.
If all the smart functions fail, it has to fall back to a functioning dumb home, like escalators become stairs when broken. Not a non-working home like a broken elevator...
> reliability (1 million switchings without hiccup?)
That's about 20 cycles ("switchings") per day for 150 years. I was curious so I tried to look up reliability/endurance ratings. For a fairly durable-looking "heavy duty" industrial switch [1], it lists only 50k cycles as it's minimum endurance rating.
Yes that was exaggerated - however I'm also happy to change my switches if they fail mechanically. A mechanical switch won't just start randomly missing switches, it usually just works or it doesn't (at which point you replace it)
The important thing if you want it to be fast is to make sure everything is locally controlled. Most of the hubs you can buy off the shelf control everything in the cloud - which works about as well as you expect. Look into https://home-assistant.io/, it's an open source project you can run on a Rasperry Pi.
Also 1ms sounds a bit optimistic, as that's less than the input lag from your mouse, but < 100ms is definitely feasible.
Yeah any kind of cloud interaction even as a gimmicky side-feature is a total no go.
It's a sign that a vendor doesn't want the best solution but instead wants to get me onto their "platform" from which they hope they can sell me more things later. I don't want that. I want light switches. If I want internet connection it should be to my house, not to the cloud.
Yes, it seems like Control 4 was the root of his problem. My architect aunt always builds homes with similar expensive and locked-in systems and although they do seem to last reliably for years they're 10's of thousands of dollars and locked into a certain set of functionality and hardware. But there are alternatives now.
My $50 Wink hub runs my apartment's 5x $30 z-wave dimmers, 1x $25 front door sensor, and 1x $75 z-wave thermostat and 1x $15 cree xbee LED bulb I cannibalized to drive some low voltage LED fairy lights. That's $315, ordered piecemeal and all delivered amazon prime. It's been rock-solid reliable for about two years. I recently added Amazon Alexa voice control and used the open source 'HomeBridge' node project to add Siri integration (which ROCKS).
There are inexpensive connected-home systems now. Spend an afternoon wiring one up!
Strongly concur. We're remodeling right now, and I just had a conversation with my electrician about this. I purchased eight z-wave dimmers and four slave switches for the house, and he raved to me about how easily the install had gone. He says he normally has to spend about $300 on a high-end Lutron model to get the equivalent functionality. I think I've got a convert here. :)
Smart switches have been a godsend when dealing with an old house with old wiring. We had no lights in our living room -- but there were two small ones controlled by a switch on the second floor. Two bookshelf lights, one smart outlet plug, and a smart switch for the second floor + one controller == turn on the living room lights from the entryway, as FSM intended, without running any new wiring.
I've been a little grumpy about trying to be clever with the smartthings hub, but turning all the lights off at bedtime works, and I won't complain much.
These are good alternatives until you are building a large house, where you have, say 300 switch legs, 90 dimmers, 75 keypads, etc. You start to realize Lutron is your friend.
I'd believe it. Do you have pointers to anything more with experience about this? What falls down?
(That said, I don't see needing to go there. My house has, from a quick mental count, about 52 total switches. I'm probably missing a few, but that's the right ballpark. A 300 switch house sounds like a monster.)
Lutron RA2 systems are very reliable. I centrally (home-run) wire all of the switches for future upgradeability, but I have very little issue with their systems. They can run wirelessly, but if its new construction, must also wire.
Unless the application is a Star Wars level system, I recommend RA2, otherwise Lutron Homeworks can be your best friend.
It's ridiculously inexpensive to get similar functionality these days. A few years ago things were too flakey to be on the critical path of my house operations, but at this point the first thing I did in my new house was to go all Z-Wave.
In the absence of a controller they are simply a normal dumb switch or outlet or thermostat.
They're not WiFi connected so they won't be the attack vector for my network, and Z-Wave has a pretty good record for secure mesh networking.
Tied together with my Wink hub, which provides all the scene controls and can bridge protocols and give me remote control and my house has most of what the OP was trying to get out of his house.
Pairing my Echo to my Wink Hub now gives me complete voice control over the house.
I'm not even $1000 into an entire brand new house wired up with Z-Wave switches everywhere, Z-Wave outlets in certain areas, an Ecobee3 thermostat, and some random other things. I've even built a few of my own sensors that I've integrated with my Wink Hub through their API.
I get why things like this used to cost so much. In a commercial setting I'd still go that route, but for my house I'm at least 10x cheaper and it's been every bit as reliable, if not more so, than every big home control setup I've ever seen.
They went for a closed solution instead of using a standard based solution. They also went for wireless dimmer/light switches instead of wired.
If you build for 40 years, stop thinking like a young programmer jumping on the new trend, you need to go with robust solutions even if they cost 10% more. If you build a house, you can even wire it in a way to later add the smart features just where you effectively need them.
This is one of the biggest issues. If you do not have a smart builder advising you on every step of the process, you will eventually take horrible advise from a salesman and end up screwing yourself.
Nothing wrong with "smart" lighting systems (Lutron). These lighting systems are essential for large homes. Just need to be installed properly.
What's bad about wireless? I don't think that's why the smart home of this person turned out to be a terrible experience.
For example he describes how adding a generator made influenced the lighting. That didn't sounded like a wireless problem, but a problem with either the relays or mosfets/igbts that were used for switching or dimming, or the power circuitry that made the chips reset in those units.
There are also wired systems that use the existing wires for example. It's just apples and oranges and I don't think wireless vs wired is the issue at hand here.
> For example he describes how adding a generator made influenced the lighting. That didn't sounded like a wireless problem, but a problem with either the relays or mosfets/igbts that were used for switching or dimming, or the power circuitry that made the chips reset in those units.
The long, long list of subtle things that can go wrong with wireless is the problem. Reassigning blame to the Wan Hung Lo SMPS barfing RF all over the place doesn't solve anything unless the person in question has the expertise, tools, and patience to track down and address the interference at the source. Putting in wires that easily reject such interference, OTOH, solves the problem nicely.
The things I describe are all relevant to wired systems. They might be the real reason why the system brakes down.
Your statement that it must be interference is unfounded.
It's an unfair statement trying to tie reliability to one aspect of the system. It's like a doctor who never prescribes oral medicines because the stomach is such a hellish place.
Wireless might not be the weakest link you think it is. In the end wireless is just EM waves, it is just physics. There is no way it violates the laws of physics.
wireless systems essentially work on a hub with silly amount of noise. there are always corrupt packets, despite several layers of validation. Technically, these corrupt packets can also occur on wired systems, their frequency is however lower by several orders of magnitude.
each of these corrupt packets has potential of causing lasting strange behavior. especially if we're talking about a closed source system from a niche vendor.
a more fitting metaphor would be a doctor that blames the patients lung cancer on his smoking habit. while there might've been another reason for the affliction, that possibility is low.
Wireless systems do not necessarily work with a hub.
The problem of closed source and niche vendors is also a different one.
I feel sorry for people that get advice from the current home automation dealers. What seems to be important to them is to make a lot of money. One of the ways to guarantee that is by forcing customers to wire their homes completely and require them to contact them for any change imaginable. This is how KNX is sold in Europe. Subsequently they create a very crappy KNX wireless protocol almost as a marketing trick.
With DALI for lighting its the same. Moreover, when those lobbying groups come up with a DC standard, even the voltage level is not standardized.
There are also plenty of wireless systems that aren't attacked for being "wireless". People know that if "3G" or "4G" "doesn't work" it is a matter of devices and coverage. If it is GPS they know it's getting a signal from satellites. Light is wireless as well, so with infrared they often know it's changing the battery in the remote or pointing more accurately to the receiver.
You will probably see the same behavior with wireless charging. A few people will swear by a cable. However, the majority of people will be happy to get rid of them. Yes, first the distance might not be large enough and a few protocols have to be standardized, but there is no reason that it can't be done reliably.
And about corruption of packets. We already know how to handle stochastic processes since UDP. Besides that, human communication is inherently fuzzy and lossy. That's not a reason to despise it. Collaborative filtering methods that now form e.g. the blockchain backbone come also from fields such as wireless (sensor) networks to give one example of how people make reliable systems out of noisy ones.
well, they most certainly are not a switch, which makes them a hub. packages are essentially all broadcasts, LAN members filter by the MAC Address of each packet. This is unavoidable with the wireless medium. And you have way too much faith in the transport layer validation, if you think the UDP/TCP Error Code Fields can counter all package corruption. They catch a lot, but most certainly not all.
And thats the problem - there are just so many corrupted packets on WLANs.
The faulty packets are mostly dropped in the application layer on fully fleshed out systems, but this is exactly why the niche vendors with their closed source controllers are so error prone in that regard. And i'm merely pointing out the to me most obvious problem. There are way more edge cases around.
A software upgrade fixed the generator related problems:
"The next day the REV was installed. It fixed the TV, the Touch Screen AND all the flickering, humming lights. Control 4 reported the REV “to fix some known bugs”. Hmmmm…."
The big issue of this story is this: NEVER INSTALL CONTROL4. It's utter garbaged. I hate to say it, really hate to say it, but if you want this level of integration in a system the only option is Crestron. I was hoping for a while that Savant would be a great option, but I fear they are backing away from the "PRO"-level integration now.
If you build a "smart home" begin by accepting that all of lf it should be written off and replaced in 10 years.
If the system is wired, chances are only central hubs/displays need to be changed. With a wireless system then ALL the switches and sockets will have to be changed.
This is the only way to build these systems. If you are building a new house, wire everything to a central location. This way, any necessary upgrades can all be a matter of swapping out hardware.
Even with the switching, if Lutron goes out of style, atleast all of the switch-legs are run to a central location. The entire system could be replaced (and the devices). It would not be cheap, but at least it's possible. Replacing devices in the wall isn't the worst thing in the world.
I meant that the "modern" tech must be replaced, if you use wireless then senders and receivers (meaning a central hub and all fixtures) likely has to go in order to support a new standard. With a wired system there is some hope that the wires can stay and carry a new standard.
The system installed sounds like a Lutron RA2 system. These systems can work wirelessly, but if it's new construction, you're a fool not to hardwire it was well (THE WALLS ARE OPEN).
My house is ~140 years old. We've put lots of smarts into it. Nest thermostats that just work and flip on AC or heat when our phones connect to the house's WiFi. We've replaced all the common area light switches with Lutron Caseta switches. These too remove 3-way wiring by replacing remote switches with little remotes that fit in your now empty work box. They have a hub you can use to connect to the internet, but they also work fine by themselves. In some rooms we use Philips Hue lights because there are no built in lights (or if there is infrastructure for lights, it's for gas lamps). The Hue stuff does need its hub to work. Our smoke detectors are all Nest Protects. They just work without issue. None of this stuff has ever failed, and it can all be programmed by mere mortals using IFTTT. Or controlled by Amazon Echo, which is what we actually do.
Thanks for sharing your setup, pointers to stuff that works like Caseta and Sonos and how you make it all work together are really useful as I’m in the process of working out a smart home of my own. I felt like it might be of interest to others here so I submitted it as a post.
Sounds like what I'm doing. You'll put hundreds or low thousands into it.
If Lutron decides to stop supporting Alexa or Ben a HomeKit exclusive, you're not ruined.
The problem is when you invest 5 figures into a solution that requires a proprietary setup, you're out major money and need to deal with techs futzing with your house for weeks.
I have two Sonos ($1000) and they work quite well, but I'm queasy about how they will essentially be bricks if Sonos goes out of business. I have other dumb speakers and amps that are over ten years old and they will not have this issue.
I have < $1,000 invested in home IoT (security sensors, a couple of light switches, garage door opener, thermostat, and the hub) and have been very happy with it.
Personally I see IoT as augmentation not total replacement. Don't replace lights/switches for the sake of it - wait until you have a valid use. Buy devices that use commonly used standards and you should avoid vendor lock in issues.
IoT threads always get the "Why would you need a smart house" answers...
Some of my use cases so far...
- Remotely control home heating - peace of mind when on vacation and being able to sit at DIA and come home to a warm house is awesome
- Used "smart lighting" when I had infants in the house during the frequent middle of the night trips to the kitchen/laundry etc
- Remotely open the garage door - useful if a family member calls in to pick up something when no one is home. Useful when HomeLink in the car fails for some reason.
- Security system - we've had issues with neighbourhood kids trying to get into an external hot tub. The security system turns on external lights when there is motion and notifies me. If someone tries to open a door/window is sets off an alarm and turns on a small lamp so I don't wake up in pitch black conditions.
- Water sensors under sinks and by the sump pump - our house was destroyed by a leak several years ago. The peace of mind from having this monitored is worth it alone for my family.
- Lighting - external holiday lights. Also hooked up the security system to give anyone prowling around a festive surprise (my long term goal is to combine this with opensprinkler...)
The water sensor one is a good use case but the others seem a bit weak.
They seem like the kind of technology I could have developed or even bought off the shelf in 1980. I was talking to one guy who says the security sensors to detect footfall were better decades ago.
These are the kinds of use cases I'd like to see:
1. If my house is broken into, I want intruders isolated such that they have to break down every door before they can be in contact with me. Bizarre that my internal doors should work for my ax-murderer/burglar.
2. I want my countertops/bathroom to be given a targeted UV wash. Same with handles of doors/fridges etc.
3. A complete inventory of all food in my fridge and cupboards. I could then try out new recipes depending on what I had in stock. I imagine this is within reach with present day technology.
4. Funnel daylight into fibre optic cables and into my lights so I don't use electricity for light during the day. Full colour spectrum too, can't beat free.
One smart house application I liked was smart glass which was able to alter itself depending on whether you wanted to accept radiant heat or reject it. I think these are still prototypes.
The other one I liked was the Toto Intelligence Toilet which analyzed your health from your stool/urine. Having an intelligent cupboard/fridge controlling your inputs and the toilet analyzing the outputs could genuinely put a dent in Western lifestyle diseases. I see no progress on this front except for one presentation from Toto in Japan. They don't appear to sell this anymore.
That magic mirror shit is very visually impressive. The commercial interpretations I've seen are frankly unimpressive. The hobbyists we see on Reddit and HN are doing a great job. Every bathroom and hallway mirror ought to have those abilities.
To date I don't see much that is 'smart' about smart houses. I hope to be proven wrong!
>The water sensor one is a good use case but the others seem a bit weak.
They seem like the kind of technology I could have developed or even bought off the shelf in 1980. I was talking to one guy who says the security sensors to detect footfall were better decades ago.
Sure they aren't cutting edge but they work and add a minor amount of value/security at home for little cost. I do some hobby things on the side (ads-b tracking etc) but other family members get the most value from the simple IoT functionality.
All of your ideas would be great but the technology isn't affordable it mature enough for consumers currently.
> Sure they aren't cutting edge but they work and add a minor amount of value/security at home for little cost. I do some hobby things on the side (ads-b tracking etc) but other family members get the most value from the simple IoT functionality.
Sure, I'm not really knocking what you're doing, it's just that there's a point at which you start to think "Wait, I've heard this before". Perhaps you become a cynic. I think it was the multicoloured light bulbs for the low low price of 200 dollars 99 cents for a pack of three that did me in. https://imgflip.com/i/1fqj14
> All of your ideas would be great but the technology isn't affordable it mature enough for consumers currently.
I don't really understand why it has to be so expensive. It's so expensive it's easier to roll your own magic mirror or whatever. I know the raw ingredients like sensors are cheaper than ever.
For what it's worth, #4 is a relatively old concept, and one that's currently implemented for lots of different reasons. I've heard them called "sun pipes," but there are all kinds of variants; basically sky lights that can be aimed other places. Companies like this one: http://www.solatube.com have been around since at least the '80s, and got their designs from earlier attempts.
Ditto on the water sensors. I have a Samrtthings hub and the no-name Zwave water sensors from Lowes placed behind all the toilets, along with a Zwave valve on the main supply line. Works great. Had a toilet tank break a few years ago; came home to water pouring from the ceiling.
> I have < $1,000 invested in home IoT (security sensors, a couple of light switches, garage door opener, thermostat, and the hub) and have been very happy with it.
Gee I hope you can give those to your grandkids one day at that price. Why would you ever approach $1000 for simple lights and controls?
I plan to have a smart house but when I do it, it'll be using an opensource solution running a software that I can debug myself, setup in a way that it can fallback to just being manual (so switches for the light would need to work normally if the system is not on) and I want things to be wired since I feel that most wireless solutions add too much complexity.
Basically any system like this should not be a liability and should not prevent reselling the house if I ever need to.
I'm not really sure smart house devices are ready yet for non programers to play with but as a dev, it'd be a huge amount of fun getting it to work :)
The problem with open source is that the hardware is rarely "open enough", and the software is a small enthusiast niche so it's rarely polished and "complete".
I'd rather accept that the installation has a lifers of 10 years and just buy a proprietary system complete with service and guarantees, then rip it out and replace it all in 10 years.
Agree on wired - and also, smart switches etc have to be usable with standard light switches and power sockets otherwise you are stuck with a tiny selection of ugly fixtures.
My sensor boards (https://github.com/skorokithakis/esplights) can also output RF and IR so I can control various devices in the room, like TVs and ACs. I've hooked this all up to a small Python script that talks to the devices over an MQTT server, separated the network for all this crap into a vlan with no access anywhere (other than the MQTT server and the OTA firmware upgrade server), and now I can successfully sound like a lunatic with way too much free time on the internet.
Sweet lunacy, you make me envy your free time.
How do you usually use the system? Automation? Remote control. I get what it can do, curious what you actually fo with it :)
Both, I have it set so lights go on and off when someone enters/exits the room, it logs temperature in rooms just because, and I have a task on my phone (using Tasker) with an NFC tag on my nightstand that turns everything off when I go to bed.
It's nice to not have to touch any light switches ever, you walk into a room and the lamp just slowly fades into light.
I know how crazy this sounds (because I roll my eyes at people who say "I have a task on my phone" too), but it's not really very hard to do. I control everything through an HTTP message queue I wrote (https://github.com/skorokithakis/gweet/) and a simple Android app I... also wrote... and... I should get fewer hobbies.
Appreciate the details. I'd love to do similar stuff but priorities, priorities, priorities.
Was not aware that there are actually useful NFC stuff. Last time someone showed it to me it was pretty meh and I've heard that Android had a terrible implementation (Beam something?). I might be living on old info but I so rarely see anything about NFC except for payments.
Yes, there is, you can get dirt-cheap NFC stickers that you can put places and use Tasker to detect them. I mainly fire HTTP requests when a sticker is detected, but I use them for other things as well:
* I stuck one with my wifi password on the back side of a painting, so I just tell visitors who want wifi "touch your phone to the boat on the painting" and they get a prompt to connect to the wifi.
* I put one in the car to set all volume to max and enable bluetooth and launch the music app.
* I put one on the nightstand to trigger night mode in the house and silence alerts and stuff.
You can do various things like that, it's pretty useful.
From my reading Apple doesn't allow NFC for anything aside from Apple Pay. Severly limits the usefulness for me sadly. I'd say I encounter 50% iDevices.
Hey Stavros, I'm curious about your lighting and motion detection setup. How did you get the lights to fade in and out? Is it purely in software (meaning the switches are permanently on)?
Are you using PIR for motion detection? Did you layer any logic on top of that to keep lights from turning off if you're stationary for too long?
I'm using YeeLight lamps (and of course I wrote my own library for them), which can fade in/out very easily.
I am using PIR indeed, I just added a timeout of X minutes, depending on the room, where you just eyeball X to be long enough that there will be motion if there's someone in the room, but not long enough that the light always stays on.
Home Assistant (https://home-assistant.io) is actually pretty great when it comes to software. It's got a nicely polished dashboard you can stick up on status screen / touch panels, a text-based but relatively straightforward configuration, and support for all kinds of general-purpose standards and specific platforms.
similar to OpenHAB it seems but perhaps more recent? like most open source it's a thing for tinkerers. I absolutely do not want to compile python-openzwave after making sure I have at least cython version x..,
I don't find this kind of stuff straigtforward at all, and I enjoy a dentist chair more than a bash prompt :D
I'd rather pay for a proprietary system. The best thing would be an open proprietary system, i.e a future-proof and moddable one, but one where I have paid humans to do tons of testing and polish.
It's actually designed to auto-install most necessary prereqs (as pip packages) the first time they're needed, so the only real command line thing needed (if editing the yaml files doesn't count) is the initial pip install.
> I'm not really sure smart house devices are ready yet for non programers to play with but as a dev, it'd be a huge amount of fun getting it to work :)
For me I agree until it starts to feel like a job and you wish you had a home that let you relax and debugging wasn't a prerequisite of relaxation.
That's why for me the manual override is a requirement. The house must work even when I'm not finished or if I decide to refactor my implementation or if I decide to change software platform. I see a smart house as being a fun project to tinker with that can give me benefits but if the house doesn't work because of some software issue and I need to fix it before I can relax then that project would quickly not be much fun anymore.
I've taken a very different path to a smart home - and I don't have any regrets. First - the house was built as any dumb-house would be - 3 and 4 way switches really are, with copper in the walls. I wired for alarm, but didn't bother to hook it up right away.
What is working now? The alarm is connected to a raspberry pi so I can hook into it. Now it arms/disarms at a set time each day so I don't have to remember to do it. It can text/email me when states that I care about have changed - like when the power is out, or the alarm goes off.
Z-wave - for a few light switches that really matter to me, mostly outside lights. Most are on a cron job to do what I want, but a web UI lets you take control.
Wi-fi thermostat with an API - no 3rd part website needed. Why can't they all be this way? I can turn the system off when I'm out of town and fire it up before I get home. I also wrote some stuff to log usage each day along with the weather. Adding the alarm system status with the HVAC status and it will text me if the A/C is running and a window is open.
Garage door, custom GPIO hack to the opener. Now with the alarm status it can make sure it is shut each night. I can open/close it from a web page, but that is rarely used.
Alexa skill - this is the latest piece and the only one that needs Internet to keep working (except sending email, of course). It ties into all the other pieces and gives voice control to the parts that make sense for me. I won't let it disarm the alarm, I just don't trust a 3rd party to do that.
I pieced this together so I could learn and have something to play with, but now it is just nice. The best part is if something quits working, I'm not left in the dark like the guy in the article - I just have to get off my butt and hit the light switch or walk out and open the garage door.
I have something against smart home stuff that requires the company to stay in business and keep their servers up and running, but that comes at a cost - I have to roll my own. At least I know who to complain to when it is broken.
> Wi-fi thermostat with an API - no 3rd part website needed. Why can't they all be this way?
Because without that third-party website the company selling you the gear (hopefully) has no access to the data you are generating — anything from trivial and benign telemetry to full-scale data harvesting. The vendor can also easily reach you for advertising new products and services, because you keep coming to them. For some vendors this may be an integral part of their business model.
Technically, it is also harder to let you turn on the thermostat from 100km away if you have to host the API yourself; not all ISPs support hosting your own services (some even forbid it). That third-party website is much easier to host, and if your smart appliance cannot be reached directly by calling its API, it can probably still poll its vendors central service to see if any commands are waiting for it.
Your raspberry pi note is interesting. My house has an alarm system in place from the previous owner which I've turned off and is not in use. I've been curious to know if there was anyway for me to utilize the fairly complete set of sensors without involving the original alarm company.
Thanks to projects like these, the old, hardwired systems can be connected and be useful for more than they were intended. I don't mind my vista 20p once it is up, but they can be pain to setup the way you want. The good news is, once you do that you likely will never touch it again.
Both GE and Ademco alarms appear to be fairly easy to interface with from a computer, and they have decently vibrant open-source communities. I plan to go that route when we replace the alarm.
(Some communities let your alarm connect directly to the police department without a third party in the way. Making this work without a real off-the-shelf alarm controller is probably an incredible pain.)
I had a CT-30 with wifi module in my previous house. It was flawless. I have two CT-80s in my house now and so far I've only been able to get one of them to work with wifi. Support from this company is mostly "You didn't buy from us and don't have your receipt? Goodbye".
I really like their product when it works, but I'm having a hard time deciding if I want to put down the cash to buy a brand new unit from them so I have support or gamble on 3 ebay units and hope one works.
I worked as a programmer working with one of biggest home automation hardware companies in the world. Unfortunately, based on my experience, I don't think the products are yet at a point where anyone who doesn't full understand the hardware and software that's going into their homes should have a "smart home".
People who spent millions on their systems were consistently disappointed and upset due to a combination of hardware and software failures with no fallbacks.
You're absolutely right. But there are still several issues:
- Their hardware is expensive. Orders of magnitude in some cases above alternatives. Part of the justification for the cost has been the flexibility and customization options available.
- Their hardware failure rate is abysmal.
- Their customer service is non-existent and all purchases/returns must go through dealers.
- Most homeowners want to integrate with 3rd party systems: hvac, pool/spa, security. These generally require a programmer to some extent.
- They just don't get it right a lot of the time. I've dealt with plenty of their devices that are just support to work out of the box. They generally don't.
The author of the article should have titled the post, Why I regret going with Control 4. There are any number of more DIY style solutions that at this point blow the control 4 features out of the water at a 10th of the price.
SmartThings or wink hub, some ge z-wave switches, some chrome casts audio's, a google home, and a nest or ecobee 3 thermostat, and this guy would have have been fine.
Maybe for now, but problems will arise sooner or later when the products get not longer supported or discontinued. Of those things you listed there's a high possibility most of those won't work anymore in 10 years. And you normally build houses for longer timespans and don't want to change basic controls (lighting, heating) short intervals. I wouldn't invest a large amount in Smartthings or Google products for those reasons. The Z-Wave might be one of the more reasonable things, as the protocol and device classes are standardized and most devices are interoperable. But with the so much fragmented home automation domain (there's KNX, Z-Wave, Z-Wave Plus, Enocean, Zigbee HA, Zigbee LL, and dozens of others) it's even questionable how long classic Z-Wave will survive.
If you're capable of setting up open hab and know how networking works and can setup remote access it's a great option for the hacker news crowd. I'm all about self hosted, self contained solutions that dont leak data, but the vast majority of people dont want to bother or dont know how to set something like that up.
The price disparity between the control 4 stuff and the Iris, SmartThings, Revolv (RIP), wink hubs, and the like is such that you could afford to replace your controller every year for two decades and still not come close to the same cost.
SmartThings is Z-Wave and Zigbee compatible. SmartThings is just a hub to control devices that work on those protocols. If you decide you don't like SmartThings anymore for whatever reason you just replace it with a different hub that also supports whatever protocol you've got devices for.
SmartThings relies on their cloud setup in order to execute the logic for the smarts you have inside your home. This is why it might take more/longer to get a command to execute.
One hub that has all the logic locally, inside it, and that you can program it with Lua is VeraPlus by Vera Control.
The SmartThings has the logic inside too; cloud is just used for setup. I can pull the Ethernet and power cables, and it works fine, triggering my water shutoff valve when a leak is detected.
I know. However if you have lots of devices it will be quite some pain in the ass to unpair them from one hub, add them to another and recreate all the rules.
And of course there's always the possibility that the new hub doesn't support the same protocols then the old one. Or maybe it does, but there are some incompatibilities within device support and some of your devices won't work anymore.
As opposed to Control4 and Crestron systems that require $$$$ and a tech to come out every time you want to make a change, no thank you.
Sure, if SmartThings goes the way of Revolv and bites the dust I'll have to buy a new IOT gateway de jour and set my stuff back up, but that's maybe an hour or two of work if you know how your devices work and can read a manual.
(NotSo) SmartThings is extremely unreliable. Even simple routines will randomly fail at least once a month. It is fine system for toys, but I would not put it on anything the you care about - like home security.
My SmartThings hub is fine. I routinely test the leak detectors, and have never had it fail to shut off the water and alert my phone. Also have it controlling lights and garage doors, and the scheduling works fine.
I've always felt like a smart house is a solution begging a problem and this really just confirms it. I'll take my house dumb and functional. Two things I'd like that I don't have:
- A master light switch by the front and back doors,
- A heating controller that I can control remotely, so I can turn it on when I'm on the train about an hour before I get home (my work routine is quite fluid), rather than have it on a regular schedule.
Both of these are fairly simply fixed but the fact that I've never bothered to do either probably says everything about how much I really value them.
I do not and never have liked locked in systems. If I have to call someone to figure out why the lights in my house aren't working properly this is going to make me very miserable, very quickly.
This problem space was very different in 2013 vs now in 2016 going on 2017.
Today, all the things he's talking about can be covered in a consumer system plus iOS or Android app.
My recommendation is to start with Lutron Caseta switches for lights which look and behave precisely like traditional switches with all the traditional benefits, but are also readily integrated into a smart home set up. You can use it all either way, and both ways are fine: Luddite friendly.
For the primary media room I'd use Logitech Harmony Smart Home Hub and remote[1]. After a decade of fooling with dynamic remotes, these days I prefer the one without a screen because visitors "get" the traditional icon buttons.
Then, depending on your choice of mobile device, I'd build out multi room audio and multi TV video using Airplay for an iOS household or Chromecast for an Android household. This way the playback point is visible to the mobile OS and available across apps.
I'd add Echo Dots for room by room voice control if interested, because Alexa pays attention all the time while Siri may need to be poked before listening, and it's good at discovering all these smart home control systems.
The cost delta from good Lutron dimmer switches to the Caseta line is small. The cost delta from a good universal remote to the buttons-only Harmony is almost nil. The cost of Chromecast or Apple TVs per video or audio playback point is reasonable, as is the cost of Echo Dot per room.
None of this approach involves a lock in to a service contract with some home automation company where even their control panels cost more than iPad Pros, can't do anything else, and are obsolete and unpatched a couple years later.
It's really important to eliminate single points of failures in home control systems. I've wired my apartment with Insteon controllers, which are capable of talking to each other without needing a central controller. I also have a server setup that can control all devices from my phone or Siri. When the centralized server fails to work, I can still control devices via the Insteon switches that talk directly to the devices.
If you're interested in building out such a system check out the home-controller nodejs package, InsteonUSB PowerLinc modem, and of course any insteon devices.
In my opinion the best home automation systems are decentralized networks of devices that can work independently or cooperate with each other.
The fun part though of those independent communicators is when they have minds of their own. :D I decided to use an old Insteon controller that I hadn't been using for anything for my Christmas lights, and it was really hard to figure out why it kept turning on and off by itself. For some inexplicable reason it was linked to my thermostat. :/
But in general, yes, it's awesome that my Insteon remotes work even if my home automation software on my PC crashed out, and that my thermostats and light switches all operate normally when the Internet is down.
Every plug, light switch, door sensors, HVAC, cameras. Simple iPhone application to control. Single hub controller everything talks to.
This does not have all the bells and whistles that the zwave, zigby, et.al. have but it just works. They do support HomeKit from Apple but not for all devices yet (door sensors).
Same company that did the original X10 stuff for automation in the 80s.
Does it require full internet access to work? That's my biggest gripe with my Nest thermostat: it requires a round-trip through their server just to control the temperature, even when I'm on the same network.
The Insteon Hub is cloud-based, generally, it uses an app to talk to their web server. Individual components don't have any network capability, just the hub. It is, however, possible to use local software with an adapter with Insteon, though they don't give it a lot of attention anymore, because they want to compete with the trendy new companies on the block.
I use Insteon completely locally running software I wrote more or less myself on my desktop PC.
Are you saying that there is no point in having 10Gb Ethernet when all you can get in is 2.4Mb? If so, I disagree, because plenty of transfer (video streaming, backups, etc) occurs intra-house. Also, presumably you will want to have plenty of headroom to handle increases in internet speed without tearing out all your wiring.
OTOH If you're just complaining about the slow speed your ISP offers, I can definitely understand the frustration if it's only 2.4Mb!
The latter, I can't even watch Amazon or NetFlix video without hiccups at this bandwidth, and Amazon video frequently just gives up the ghost 10 minutes or so into a video. Don't even get me started on youtube...
As for streaming between machines, yep, it's awesome, but that's not the primary use case. I installed my wiring during a remodel a little ahead of the curve in the hopes that pretty but otherwise dreadful hippy tweaker heaven backwater Santa Cruz county would eventually catch up with nearby Silicon Valley. Sadly, ISP bandwidth has lagged Silicon Valley in the same way as most home values here (arguably the latter is a good thing for most but in my case it's kept me from selling and moving over the hill).
The lack of standardization, all the things that can go wrong, overzealous 3rd parties, uneeded 'notifications' etc. etc..
A) Aside from possibly turning the lights off after you forgot.
B) Surveillance if you live in a really bad hood
C) Possible optimization of heating/cooling to save$ ...
I just don't see it.
I'm never worried about A.
B ... well that's another issue.
A decent thermostat would solve C if it was a problem.
I just don't see the grand utility in any of it, including Alexa or the Google in-home thing.
If I have a weird question I can ask my iPhone Siri - which I never do anyhow.
The opportunity for home automation is I think limited, and it's inherently plagued with platform integration issues.
Remote heating control. Go on holiday, leave the heating in frost-protection maintenance mode in the winter, turn it on again at the airport. Come back to a warm house, but plenty of energy saved.
Sunrise/sunset lighting. I have the lights in my office set up to turn on around dusk and turn off around 3am if I haven't already gone to bed. This works so well I hardly ever think about it now. It also means the house looks occupied when I'm away.
Motion-sensing light switches. I experimented with these, but it's a harder problem than it seems. I set up a PIR switch in the kitchen, and being able to walk in/out while carrying plates/food/things without having to hit the lights manually is amazingly useful.
Problem is PIR sensors have a limited range and are easily confused by various domestic heat sources. I was going to experiment with multiple sensors and more reliable software, but got distracted by a house move. So that hasn't happened - yet.
I still think user tracking combined with light level sensors would be amazingly useful. Switches on walls are probably going to be redundant when automation really arrives.
Colours and such are much less interesting than having smart lights that work so well you only have to think about them when you want them to do something unusual.
Having said that, I have mixed feelings about voice control. I have Alexa controlling some of the lights, and I don't find it very natural. This may be an unusual view, but I think speech is a channel of emotional communication, and tone carries a lot of information.
It's second nature when talking to humans, but talking to machines falls into some kind of social uncanny valley. It's impossible to do it without being reminded that you usually think about tone while talking, but now you don't have to - so of course you still do, but think you shouldn't, even though you can't stop.
That's a significant time, cost, and effort you're spending on what amounts to micro-optimizations though. Using a standard light switch is maybe half a second of effort. (Not an improvement over getting your light-control ap out.) It only makes some sense if you live in a huge space where you have to walk for 5 seconds to get to the switch or your heating takes 2 hours to warm a room.
Color me cynical, but it seems like a big hassle to solve a non-problem.
> The system will shut off if it reaches 104 degrees to protect itself. Every time I touch that thing its hot to begin with. I got it to cool down enough to go back on, and now its been suggested I install a hole and a fan in a closet packed with HVAC and A/V equipment.
This is funny to me - of course a closet packed with HVAC and A/V equipment should be cooled! It's a server room!
As someone designing a smart building - the key is to find protocols and systems that 1) work with open protocols such as Z-wave, and 2) always have a hardware interface that works as a failsafe, so that even if the controller completely malfunctions or if the internet malfunctions, everything will still be fine as a 'dumb house'. Or 3) Use specific technologies from companies whose entire business model depends on the technology working -- say, Sonos.
So. In the building I'm designing: Z-wave light switches are normal switches, yet wirelessly controllable and will report their status back to the controller. Z-wave thermostats can be controlled locally and globally. Sound systems are Sonos. Ethernet ports are mostly PoE as to allow for future 12V devices. An alarm system is installed by a dedicated alarm company. Everything is designed to work without internet or wifi or the z-wave base controller.
I'm coding a Slack-based interface, which has the added benefit of being interface + human-readable logging system in one.
After a ton of research, I'm using the HomeSeer HS-WD100+ and HomeSeer HS-WS100+ (Dimmer & Switch) - they have Instant Status, which means that if they're turned off/on by hand, they'll poll the base station with their updated info.
My parents bought a house with a similar system installed, albeit from Crestron. It has been a constant source of frustration and disappointment. The AV control that they installed which cost a pretty penny is totally inferior to my harmony hub / chrome cast / fire stick / echo setup which cost me a fraction of the price.
The biggest problem is once you install these systems you're effectively locked in forever. Abandoning the system requires so much new hardware.
How does the project part work long term? I could put together something as a project, and probably maintain it a low effort long term, but what happens once I want to sell the house? Do I replace back all the switches back to dumb ones? Teach the new owner how to use it long term? (yeah, good luck) Leave it as is, potentially decreasing the value of my house?
I took all my smart hardware with me. I kept the originals or got cheap replacements, and sold my old place as a perfectly normal, working house. (But not a smart one.) When I moved, I already had most of the equipment to make it smart!
I also took my LED light bulbs, those suckers are coming with me for life.
How resilient are smart systems to voltage surges? Do you risk blowing out all of your smart switches and outlets during surges? There is the possibility of installing whole-house surge protection, but that only protects against external surges, and their clamping voltages are probably too high (so that it lasts a long time, since the MOVs sacrifice themselves) to protect the smart circuits.
The smart switches and outlets have microcontrollers and other fragile logic and will convert AC to low-voltage DC. A normal light switch will tolerate quite a bit of a surge, but these switches will not be happy.
Back in the 90's, I considered going all smarthome. In the end, I didn't and am glad.
But I did run RG6/cat5 to every room in a star configuration. I had little use for it at the time, but have grown into it, and that turned out to be a worthwhile investment.
Wifi has gotten much better over the years, but wired connections still work better. For example, my Grace Digital media player is incredibly flaky with wifi, but works like a champ when wired (read the Amazon reviews on it). I bought it knowing it needed to be wired, and it was no problem for my setup.
The lights are all conventional, and just work. The dimmer switches regularly fail, but they're cheap to replace with units from any hardware store.
One reason to do DIY home automation with stuff from the industrial automation world, at least for the core components. Parts made to run decades in a factory will survive.
Because "please wait while your lightbulbs perform a firmware update" Because you can't secure that shi... stuff? Because why? Because when I need an internet connected toaster I will give up on tech, on life, on humanity. Because the last thing we all need in our homes is more technological annoyance.
The real regret here seems to be overpaying for technology in the home when it's evolving quickly and the price is coming down, and not knowing it was preventable.
There are fantastic ways to have a flexible, affordable, and manageable automated home. Fittingly, it's not guaranteed because of a brand name.
The evolution of the smart home is never going to end, and single platform smart home owners are only starting to realize they are screwed. Any investment is relatively outdated quickly and the strategy to manage the tech through the life of their home is a pain compared to say a furnace, hot water, etc.
I got Insteon 6 years ago when it was the most capable & economical, and now want to mix and match components. It's totally possible as long as you have a vision of how you want your life to improve from the tech, and not installing home automation for its' own sake. Often I'll add a few pieces at a time after thinking it over. Maybe not for everyone.
Where home automation is headed is who can mix and match old and new generation equipment together into one cohesive experience.
Apple Home, Google, etc can keep trying to add to the mess of adding more platforms instead of connecting them. There is no one platform that can, or will hit every need, type of living and price point, so this mess will keep getting worse.
On the other hand, tech will keep getting cheaper, more capable and simpler to use, and more importantly, configure.
The reality I'm arriving at is homes will need one (truly) universal hub/appliance that is platform and equipment agnostic, like a furnace, or water tank, except to run anything you may want in the home. Add to that one universal software that works on any platform that comes out, and can tie to any standard. There's some good in-roads being made on this front and it's exciting to finally see. Even things like Harmony Hub are very encouraging.
The kicker? It needs to get orders of magnitude easier than what's out there for the average person. Since I'm not about mass adoption of premature technology a gap (and opportunity) will remain for a few years yet. Some of the latest entry level home tech is getting better, but it simply does not do the type of integration that true home automation allows, and in my estimation, is the benefit.
Now that we've had a taste of how tech could make our homes easier and more enjoyable to live in, our needs and desires may be outgrowing what's available. Hope someone comes along and pushes the industry forward quickly instead of iterating through products slowly.
Consider the case of a 'leg'. A robot needs to lift its legs and move them forward in order to achieve forward locomotion. This means it needs a gait where it steps while keeping itself balanced. Brooks created a system where the highest ranked function that could run, would. So if the robot was stable, it unlocked the 'lift function' and if the leg was lifted it unlocked the higher priority forward function, and if the leg was forward it unlocked the higher priority balance function. I really liked it a lot and have used it in other embedded systems since then.
As a result I see the "smart" house system similarly, which is that I would build systems that were self contained, and could see input from outside. Take a light for example, it would have 'on', 'off', 'dim' and 'i don't care'. If you command it to any point, it goes there. Period. If it is in 'i don't care' the house controller is free to tell it to do something different.