Skip to content

Kits Make Tinkerers’ Home-Automation Dreams Come True

wsj.com
46 pointsfawce57 comments
On HN

Comments

I am pretty sure that people actually want network connected hardware instead of Internet-connected hardware.

And perhaps they also want a way to access their hardware in their home network in a secure and private way.

Yes, I have rejected most major commercial offerings out of hand because they usually have/require some connection to an internet server. I have no desire to include that sort of vulnerability/weak link.

To me, it's just as big a deal that you're now at the whim of the provider. Your equipment can suddenly stop working if:

* They go out of business or decide to drop the product line * Their servers go down (do you know if they're running a HA config, or merely a single server?) * They decide to make v2 of the product and stop updating/supporting v1

On top of this, your home internet connection can and will go down. Depending on what exactly you're doing this may or may not be a big deal: for example, not being able to remotely see your garage door status probably isn't important. Not having your motion sensing lights or timed schedules work, however, would be a pain.

There are many products from startups that are hurting themselves because of this. I, like many geeks, love this kind of stuff, but like you, I won't purchase or make my house rely on anything that has these risks, and I steer friends and family away from these products as well.

Developers: At least make your internet connection optional and allow the gear work without it. Even better, open source your server software: we can see how secure it is, plus if you go out of business, I can at least run it myself.

This is why I've been working with rpi/arduino stuff: I can build it myself. Sure, it's more work, but the pre-built options all suck, as far as I've seen.

I used to always follow the newest automation releases, but I gave up, because they were all closed-source, internet-required devices. Screw that.

I had exactly that problem with a digital photo frame. Company went out of business a few months after purchase, leaving no way to update the displayed photos (at least, not without hacking the device) as they were all pulled from a remote server that no longer existed.

Your equipment can suddenly stop working if...

That's part of what makes it a weak link!

your home internet connection can and will go down

Yup

It's fine if it lets you check the state of devices and sensors over the net. It's even fine if it lets you control it on-line. What's totally, absolutely not fine is if it requires the Internet to work. It's ridiculous from engineering point of view, and only done by companies who want to monetize you through butt bullshit. If your home automation needs my butt, I ain't buying it.

Someone's going to have to write the matching butt-to-cloud extension here.

Oh well. I might or might not have forgotten about having cloud-to-butt active extension when editing my comment.

Sometimes I feel a little bit like Adama in Battlestar Galactica with my distrust of IOT devices.

If the internet disappears lots and lots of things become useless. Something becoming less useful I can take. But when the internet goes out and I suddenly can't access the camera feed for my home security system (Arlo) on the same LAN, it feels like something is incorrectly designed.

The reality though is that an event that took out the internet would take out lots of other stuff. Your $50000 car would suddenly have a lifespan of hours if you can't get fuel anymore. Grocery stores would empty out. All the slack in the system has been JIT'd out for the sake of a fraction of a percent more profit. It makes me a little nervous.

The reality though is that an event that took out the internet would take out lots of other stuff.

It doesn't even have to be as extreme as that. If the device depends on "the cloud" (e.g. some company's servers), your device is useless once those servers are shut down. A good example of this actually happening is Zeo, they made a sleep monitoring device that was much more capable than all the fitbit garbage we're left with. Unfortunately they went out of business, their servers were shutdown, and their devices became useless to anyone who couldn't do a fair amount of hacking.

Companies going out of business or discontinuing products is a common occurrence. Products should be designed to be tolerant to those failures.

https://en.wikipedia.org/wiki/Zeo,_Inc.#Out_of_business

Or even just temporary problems with your ISP or local internet.

Somebody took out a local connection with a backhoe? There go your TV/movies, Xbox One, VOIP phone, security cameras (if you've got the GP's system), etc.

I agree with you but the regular consumer doesn't know the difference between LAN or WAN, nor what a VPN or SSH are. They just want it to work, and that's difficult to achieve unless you are proficient with basic networking concepts.

For the tinkerer or early adapter, there are steps in the right direction. For the "everyday" person, this tech is still a few years away, in my opinion.

Another thing people may not realize is how cloud connected sensors could be used.

Let say you want to know if people are having less sex (well, it may come out from the search or browsing history but maybe not) and you want to use this information to target advertisements of services or products.

So how would you do that using cloud connected sensors?

Easiest method is to use CO2 sensor in the bedroom (assuming that this is the place where usually people do have sex). Rate of CO2 production is correlated with the rate of energy usage and spike in CO2 levels around certain time may mark people having higher bodily activities (and when located in the bedroom it usually means sex). Change in the frequency of these spikes may mean the change in the frequency of having sex. As ads do not have to be that precise, this is probably enough data.

Another method is to use a temperature sensor. As higher bodily activity would consume more energy, it should then rise the room temperature that could be detected with sensitive enough temperature sensor. This method is more evolved as the spikes in the temperature could be also caused by the rise in outside temperature or the temperature difference might be very small when windows are open, or may be caused by fall of temperature outside that heating system tries to over compensate.

But it is likely that there exists distinguishable change profile and it is likely possible to mitigate outside effects with additional sensors.

Hmm yeah your example makes me think of fast-food as an analogy.

That is to say, there may be applications of sensing that benefit corporations financially, but don't help their users... Imagine an automaton that provokes couples into divorce though advertising, using sensed data (Instead of "You've got mail!" "you're having less sex!") as evidence.

Hmmm. Considering how lucrative the divorce could be, I would not be surprised by targeted campaign similar to the whale targeting in freemium gaming.

This could be is also an answer to the question "what do I have to hide?". Well, everything as you do not want to be singled out.

I wonder how much a candle or a fireplace could skew your test.

Interesting question. I will speculate without actual data for entertainment purposes.

I would assume that a candle would produce more or less constant output in heat and CO2 and you likely will light it before having sex and not in the middle of it.

I would also assume that two exercising humans will produce more output than a candle.

So it would produce some bump in the baseline but you still would have a measurable spike in it.

You could also distinguish the candle from the light bulb when you have CO2 reading.

Of course it would be also better if you could execute controlled tests i.e. you could control the heating and possibly the ventilation. As the temperature sensor in the room is usually in the form of thermostat then the first one would be viable.

A fireplace would deplete oxygen from the room but (unless one without exhaust) will not increase the room CO2 concentration. But it will likely introduce an additional airflow. So this would be more complicated case.

But you likely could trick the users in the configuration phase to give you additional information to make strange cases more explainable. I.e. you could ask such harmless question like do you have a fireplace.

Maybe our continued repetition that "the regular consumer doesn't know the difference..." is why "the regular consumer doesn't know the difference".

Maybe our continued repetition that "the regular consumer doesn't know the difference..." is why "the regular consumer doesn't know the difference".

People have other stuff to worry about. They've got their own lives, their own jobs, their own hobbies. Things like LAN/WAN, VPNs, and SSH aren't important enough to make everybody have to learn them. Somebody needs to understand it, sure. But not everybody; it would just be a waste of time and effort.

Maybe our continued repetition that "the regular consumer doesn't know the difference..." is why "the regular consumer doesn't know the difference".

I've worked helpdesk for users and being exposed to regular, everyday, computer users I can attest that the consumer doesn't know the difference because they don't care enough to learn.

One of my first questions was: "Did you try pressing the power button?" I would get silence....then a quick "Thank You" ... then a dead line.

Another anecdote: My mother is a programmer (DB2, Cobol, SQL) for a financial institution. She is of middle class in NYC and educated. She still uses an iPhone 3g and the iPad i got her for her birthday, three years ago, has been turned on exactly 5 times.

That's the everyday user...and you want her to automate a home?

That's the everyday user...and you want her to automate a home?

No. I want to automate mine. Here's a thing - every company tries to jump for the big market of "normal people" immediately. They got used to completely ignoring the tech-savvy with mobile tech over the last decade. So they fail making something compelling for regular users, and refuse to make something for techies.

Actually worked in this space a few years ago. The problem is that there is no money in serving the DIY community. They are too small of a market to support multiple companies doing R&D, especially considering a significant portion of the DIY market would often prefer to hack something out of a RaspberryPi or similar.

Or, at least, that was the perception at the time. The company I worked for thought it meant they had to go after hotel installs. But that meant partnering with the devil himself, as we were just an engineering firm and didn't have any sales in house. It became a race to the bottom and we ended up spending an inordinate amount of time trying to fix issues with substandard hardware. Literally. There is a standard, and the hardware our sales and distribution partner was demanding we used did not meet it. We were no longer partners. They became our slave drivers.

I was happy the day I got fired. Apparently, we were supposed to be happy with our lack of progress and just show up to work for 80 hours a week and keep doing this forever. Apparently, I was too argumentative.

They're 12 years old now and still call themselves a startup.

Is there a market outside DIY installs? Isn't home automation a subset of home improvement?

Luxury dwellings. So no, there's still no market for just the devices, as such customers want a full-service installation plan, usually coupled with home theater and security, so it's all integrated.

Hotels, recently office buildings, and before that factories. "Home automation" isn't a new things, there are decades-old protocols and technologies, but the old ones are obscure things with expensive licenses, geared towards enterprise customers.

No. I want to automate mine.

There are plenty of resources for home automation, I posted this previously, and if you have an Android phone, this works really well for simple tasks: http://www.amazon.com/NFC-tags-Writeable-Programmable-Money-...

If you want more advanced home automation, RPi are great. I use one to control my auto-sprinkler for tomato plants when i'm away on Vacation, for example.

Working a help desk you don't really see the every day user, you see the subset of every day users who had problems.

And frankly, when I call help-desks, I play dumb, because it's easier then convincing them that yes, I did check that it was plugged in, yes, I did power cycle.

Your mother's lack of using her iPad is not an indication of her inability to figure out things outside of her wheelhouse, it's the lack of compelling use case for the iPad for certain people.

Home automation also lacks a compelling use case. But security does not. The reason securing consumer networks is so hard is not because "users are lusers", it's because security professionals have no idea about UX, UX professionals have no idea about security, and they both treat each other like shit.

Working a help desk you don't really see the every day user, you see the subset of every day users who had problems.

I didn't work a help-desk for a bank or large corporation but for a hospitality group where I "touched" every user and store. I had a more intimate relationship with all of our staff because they depended on the technology which made us money.

And frankly, when I call help-desks, I play dumb, because it's easier then convincing them that yes, I did check that it was plugged in, yes, I did power cycle.

This isn't an option in my job since if a Manager "played dumb" while their POS is down, its really their neck on the line. It was in the best interest of the user to have the system working as they earned bonuses on throughput and other metrics.

It seems that you're attempting to justify your previous points, until this:

Home automation also lacks a compelling use case. But security does not. The reason securing consumer networks is so hard is not because "users are losers", it's because security professionals have no idea about UX, UX professionals have no idea about security, and they both treat each other like shit.

This is a great comment and I completely agree with you; between compelling use cases, complicated UI/UX, and initial investment of time to set it up, most people aren't tempted to enter this realm.

The most compelling use of simple automation are Android NFC stickers (http://www.amazon.com/NFC-tags-Writeable-Programmable-Money-...). I got them for my brother-in-law and he uses them to close his garage door or get weather in the morning, etc. simple and effective.

How does an NFC tag close a garage door?

I am guessing it only triggers the process of closing the garage door - it determines when the doors should close. I can't imagine how it could do anything else.

Oh, POS systems. I have no confidence that your software developers were even remotely competent, then.

The final quote supports what you say:

“We can open the garage door from anywhere in the world,” she says. “I’m not sure why we’d need to do that.”

But I think there is also some ambivalence about even having the garage door connected there. I think lots of people would pay a little extra for a garage door that they can check from their phone, but it is something that has to be really easy to install and use, and the number of people who would pay is going to drop off quickly as the price goes up.

Indeed. Home automation has been a solution looking for a problem for decades. Some people find it a fun toy, but it's just not a labour saving invention - there isn't enough labour spent in the first place to be worth saving. We spend a few seconds each day with light switches and maybe up to a minute with garage doors - less if you already have a simple door remote.

Heating is more worthwhile to improve, but harder.

Exactly. I've been thinking about a way to do this (it's pretty much just devices generating ECC keys and exchanging them with each other while pairing, along with AES keys). Afterwards, communicating through MQTT is easy, even if the server is public.

Maybe I should write up an initial version in Python, although it wouldn't run on embedded devices. It would at least be a good prototype.

MQTT is great on an internal LAN for controlling small devices based on say the ESP8266, but I wouldn't trust it over the public Internet unless it is VPN'd. What's needed is a new protocol you can use between your phone or tablet which is websockets-based and can use HTTPS to talk to either node.js or something similar. This protocol could also convey graphing data and GUI building blocks to your phone or tablet.

BTW: I have several ESP8266 building blocks on my Github site https://github.com/hwstar with are home automation related. These include AC control, AC energy measurement, and DC voltage and current measurement. I'm not a GUI/android/ios programmer, but would like to work on open source software with someone who is.

Why websockets and HTTPS? That's way too heavy for embedded devices, and why do you care what the transport is if the messages themselves are encrypted and authenticated?

If you want to take a look at what I'm building, I'll publish it at https://github.com/skorokithakis/stringphone when I have some code.

You are correct. If the transport is secure, then the protocol doesn't matter. I just think that a central controller model could use a protocol which is more suited to keeping the code on the mobile device as simple as possible. If you just want to send MQTT commands to nodes without a central controller, then what you propose makes sense.

The problem is that TLS is far from "as simple as possible", and you need TLS on the device in order to have encrypted communications just device-to-server.

In my opinion, device-to-device encryption is much better, and you don't need all the overhead of TLS. I've actually finished a first draft of the prototype and am looking for people to kick the tires and discuss it. Would you be interested?

If you make it open to everyone, I'll take a look.

Post the code on Github and document what it does in the README.md file.

Done.

How would you run this on a mobile device? Since it's written in Python, you'd have to run it with something like Kivy.

It would be reimplemented in the target language (or possibly C). The interesting part is mostly the protocol, the language is just the proof of concept for now.

It would run on a Pi/BBB.

It would, that's partly why I started it yesterday. So far, I'm thinking about what features it should support, but it will be at https://github.com/skorokithakis/stringphone.

Ah, but service discovery is easy on the internet and hard on LANs!

What do you mean?

On a LAN you can simply use zeroconf with multicast DNS to do service discovery, like how Apple does with Airplay. Or am I missing some requirement?

Straight TCP connect() support (to an internet hostname) is much more common in embedded network stacks than a zeroconf implementation.

Sounds like an opportunity.

mDNS works for poo on many, many (non-Apple) routers and APs in the real world. It is a sad state of affairs.

Interesting, I have never had any issues with it.

One of the nice things about mDNS is that the only co-operation you need from your gateway is that it forwards multicast correctly which you can usually expect the switch silicon to do.

Are you saying that there are many gateways/APs that do not forward multicast according to spec?

Or are you using something like IGMP? In that case I agree, there are alot of devices that won't play ball since they don't send JOINs or have other peculiarities.

Agreed. I'm far more interested in the intranet of things than the internet of things.

That's definitely the case. However, these things are remarkably hard to explain to journalists. Our open source power outlet, the Crownstone, has nice conversion rates when people find us on Kickstarter. It is a problem though that journalists don't want to hear a story about all the things you can do with kits like that. They want single use cases. They want simple stories to tell. The end user does not want that! They like to get more product for their money. I think the app market concept could only be invented by business savvy tech people... It's our task to encourage kits and kit makers to keep doing what they are doing! Back them up! :-)

Companies mentioned in the article: http://littlebits.cc/ https://www.particle.io/

"Jeremy Blum's home-automation system, which he calls Jarvis, can control lights, curtains and music and can answer questions about anything using a phone, voice commands or this command center."

Implementations like this kind of scare me. It is certainly cool to be 'able' to automate these things, but should we? Are we going to use technology to make our lives lazier, or better? No, they aren't mutually-exclusive, but I can't help but think that making it so you don't have to leave your couch in order to turn off the lights is a movement toward a worse lifestyle. Your health has a much larger contribution to your standard of living than convenience, and to me, this seems like trading off one for the other (in a subtle way). However, maybe I will eventually be convinced of the net benefits. Am I approaching this wrong?

I don't see how this affect one's exercise regimen in any way. The use case probably isn't not getting off the couch to turn off the light, but voicing the command as you leave the room. In case of light, it's just (aiming at) more seamless experience.

For some reason many people have this picture of technology bringing forth the Wall-E world. Consider however the following points:

- People hate that vision with passion, which pretty much guarantees it won't come to pass any time soon.

- "Normals" today are absolutely obsessed with fitness. Between spamming everyone with Endomondo updates on Facebook and testing a new toy-pedometer-watch, the primary use of Javris-like system in general population will probably be dieting and exercise.

- Convenience doesn't have to lead to laziness. It can enable one to do more, faster and better. In a way, one could argue 200 years ago that the invention of electric washing machine will turn people lazy and fat.

Ultimately, it will be up to us how much we eat and move. As our civilization goes forward, those things will be more and more disconnected from the limitations of reality. We can either learn to stay fit with computers, or give up on future entirely right now and go back to building things by hand.

EDIT:

I'll also share a short anecdote. 8 years ago, I built myself a voice-controlled system for changing music (Star Trek: TNG style, with computer voice reacting to commands). Basically a microphone soldered together from parts and hung on a wardrobe, + some Microsoft Speech API based software I wrote for off-line command recognition and control over a WinAMP instance. It wasn't that hard to get it working even though the music was on the loudspeakers, with quite high a volume setting.

I could use it to change the music from my bed, or chair, or anywhere in the room. Did it made me exercise less? No. I actually did it to stop myself turning the computer screen on to change music while doing math exercises for maturity exam. It helped me to keep focused, because the task suddenly didn't require to do a context switch. Since that experience, it's how I see home automation - as a way to reduce context switching and to streamline some chores, not to rob you of meaningful activities.

People can still choose to get enough exercise to be healthy even with all these convenient options. When I go to the gym in the morning, I'm exhausted and I would gladly choose not to get up to turn off the lights if I didn't have to. This doesn't take away people's option to live a healthy lifestyle and I don't see this as a valid reason to be against automation.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.