A Protocol For Home Automation
jfruh writes "Marshall Rose, one of the creators of the SNMP protocol, has a beef with current home automation gadgets: it's very, very difficult to get them to talk to each other, and you often end up needing a pile of remote controls to operate them. To fix these problems, he's proposed the Thing System, which will serve as an intermediary on your home automation network. The Thing System aims to help integrate gadgets already on the market, which may help it take off."
http://xkcd.com/927/
#927
Bacnet over IP or Modbus TCP take your pick.
There are already a few home automation hubs (if I understand what he is suggesting correctly), such as Pytomation.
The main challenge is as far as I can see there is yet a single protocol to bind them all, and even then it would be yet another protocol. For this reason, there have been attempts to create protocol exchanges (not sure the right term), that act as central system that can speak to different sensors and control systems using the specific protocols.
Its not clear what he is offering that existing solutions fail at? It doesn't help that the site doesn't sum things up in one paragraph and instead requires us to parse the whole presentation before understanding what he really is proposing.
Jumpstart the tartan drive.
Please don't re-invent the wheel unless you need to. By that, I mean to say that automation and interconnection of "gadgets" is a well-established field in industry and tech. For example, vehicle ECU and sensor systems, factory automation, and data acquisition systems are all now decades old, and we should have a really solid idea of how to do these things properly.
Of course these existing systems aren't the same as what we're talking about here, with modules that span different physical link layers, protocols, etc. I just hope that we can take the best lessons from existing "gadget integration" attempts to make forward progress more successful and not just something doomed to rapid obsolescence.
For some fun and background, have a look at the old HPIB/GPIB physical/protocol standard (http://en.wikipedia.org/wiki/IEEE-488), which was used in many different pieces of scientific equipment. When that somewhat died out it was replaced by CAN (http://www.team-cag.com/support/theory/chroma/hplc_bas_at/system/cableConnections.html). Agilent uses that for their HPLCs (maybe test equipment, too?), and Waters uses the same physical link, but with a different protocol? Other vendors still work with contact-closure, and USB is becoming more popular, but that pushes so much onto the host computer and really enforces lock-in.
I will personally be watching this closely from the perspective of someone who operates a lot of data-acquisition equipment. Could this be the foundation for better interop between different vendors at the more commercial/research level, in addition to the consumer? I hope so.
I've been attempting to connect, network and control as much of my house as possible with little success. Too many companies are trying (and failing) to offer up an integrated solution, none have the ability to truly integrated across the board.
Key systems that need this:
HVAC - Nest is doing great things for automation and remote control, limited reach however
Lighting - a bunch of half baked solutions out there, each with their own app and control interface
Security - sound, video, motion detection, garage door control, etc...
Appliances - remote control certain appliances, pre-heat your stove, notification when the dryer is done, etc...
Power Monitoring - Semi decent solution out there, however needs better apps and integration
Audio\Video - Remote control
If all of these systems used a common protocol we can focus on developing great apps and home automation, as long as manufacturer dick around with their own setup we'll never move forward.
No sig here...
"Marshall Rose, one of the creators of the SNMP protocol, has a beef with current home automation gadgets: it's very, very difficult to get them to talk to each other, and you often end up needing a pile of remote controls to operate them."
I have 1 remote to control every gadget in the house including sonos. It's called Crestron, but AMX can do it as well (The toy stuff called Control 4 can not)
He really needs to learn more about integration because there have been solutions out there for decades.
Do not look at laser with remaining good eye.
Everything in the fridge is melted because I couldn't find the right MIB.
You can have my SIG when you pry it from my cold, dead hands.
This is someone who was ok with ASN.1, OID's, and "walking" tables that had no business in being walked, over an unreliable UDP protocol that initially had effectively zero security.
Someone stop him from developing a home automation protocol before his being "first" relegates that industry to 30 years of pain and suffering.
Home automation gadgets are incompatible because the vendors want it that way. Selling you a $50 light bulb is the "gateway drug" to selling you a $20 a month service to manage it from your smart phone. If the protocol is proprietary, there is no competition. A/V components have been this way for so long that the world has just accepted that IR is the only way to talk to them.
It will change when a system gets so much market share that the component vendors see more value in staying a component vendor than they see in establishing themselves as a system vendor. At that point the problem is that the system vendor will want to protect their market by locking up their protocol.
Sweet, ANOTHER "standard".
Did we really need it?
He invented the protocol not the poor implementations.
You did it the poor mans way. Buy the real gear and it works just fine.
Do not look at laser with remaining good eye.
I had a quick look at the website, and can't find any low-level detail, just a lot of pictures...
That said, he seems to use HTTPS/SSH and certificate-based access.
It is useless to sign the certificates, since we are in a lan, not on the internet, and I doubt your house devices will have a full dns name...
I'm more interested in the packet structure and to the data format, as it always gives more insight on the protocol that big, colored images...
Its said to use websockets, but I doubt that will be the case in SSH-based access.
There seems to be the option to use UDP multicast for the sensors..
The HTTP traffic is exchanged via websockets and json... This is nice, since the programmers can use all the http server/client and json libraries they want, and it usually is fairly simple.... BUT we are talking about home automation, arduino boards and in general "things" with very little computational power/memory etc...
I really don't understand why we want all on HTTP, the efficiency is very low and now you require an HTTP server and client to communicate with something just to flip a switch...
Maybe if SNMP was done the right way, without OIDs and security from the start we would not need this, but I digress...
I don't like the fact that there seem to be a lot of new definitions... apprentices, stewards, and ... "things"... couldn't dumb it down more even if he tried -.-''
But the nice thing is that it seems to be able to include 3rd-party modules and protocols fairly easily... Which IMHO is not a small thing and can in fact help this protocol a lot.
And whatever he does, he can't do as badly as DPWS. If he manages to make it general enough we might even put an end to the horror that is DPWS and WS-* standards....
"I was gratified to be able to answer promptly, and I did. I said I didn't know." -- Mark Twain
Clobbering time?
Look up my prior artwork and despair!
.
Prisencolinensinainciusol. Ol Rait!
Here are some existing over-the-power-line transmission systems usable for home control:
We don't need another one. Especially since the original article's link to the protocol definition is a dead link. And because making home automation run a web server with "node.js" is terrible from a security perspective. And because it's WiFi based, which means it won't go through some walls it needs to go through, and will go through some walls it shouldn't. With the power line systems you can put a low-pass filter after your meter and keep out external signals.
> You did it the poor mans way. Buy the real gear and it works just fine.
You would be better off just taking that money, putting it in a metal bowl and burning it. That's what you're doing with the "real gear": trying do demonstrate how much contempt you have for the money you've spent time and effort to earn (or borrow).
A solution has to be worth the problem it's solving or it's pointless.
A Pirate and a Puritan look the same on a balance sheet.
Isn't this what zigbee and 802.15.4 was designed for?
Get a web developer
The problem is, x10 has caused people to expect to get "smart" devices for peanuts. Problem is, the reason x10 is so cheap is it's minimally designed. But as a consequence, it's also highly unreliable. SmartHome tried to improve on that, raised the price a bit, but didn't sufficiently solve the reliability problems. Any new series of gadgets will have to be dirt cheap, and given gadget manufacturing costs in China these days, it's doable but takes an upfront investment, is risky and one must survive on thin margins. Not exactly the most attractive opportunity. If he wants to give it a go, more power to him, but if configuration is anywhere near as complicated as SMTP, in fact, if configuration can't be done with a smartphone app in about 2 minutes, it's doomed.
When I see actual things with the ability to talk to each other, the universal option always seems to be CANbus (or a variant, like NMEA 2000). Chung-Wei Lin and Alberto Sangiovanni-Vincentelli of UC Berkeley have this proposal for implementing CANbus with security. If I'm going to automate something in my home, I'd rather use CANbus so I can just buy the stuff that does the tasks.
3.7GB for the Raspberry Pi disk image? They should try to get it down below 128MB so they can make a distribution based on OpenWRT.
Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
A company called Loytec makes a controller called a Linx which integrates bacnet, zigbee, rs232, and a number of other protocols. Also has an ip server built in. It spits all the data points out through a data abstraction layer. Granted this is suited for commercial controls, but it seems to be what you are describing.
You make a good point about current standards assuming each controlled device is an intelligent endpoint. In stage lighting, where you may control over a hundred lights, it's typical to have a few intelligent end devices and several relay or dimmer packs that control many "dumb" lights. Typically, one smart pack control power to eight lights. Most lights are dumb and cheap - just bulbs in sockets. Only a few lights, the moving, color changing spot lights, have any electronics in the end device.
The MiCasaVerde Vera "glues" protocols together by presenting everything as a UPnP device. It doesn't matter whether it's X10, Zwave, Zigbee, or some proprietary IP protocol with an appropriate LUA driver, a basic on/off switch presents a device with BinaryLight/SwitchPower interface.
This seems to work well in practice, although I haven't seen anything take advantage of this. Every third party UI I've seen uses MCV's remote access APIs.
Or for the more standards/budget friendly: MiCasaVerde Vera turns various ZWave/X10/RS232/IR devices into standard UPnP endpoints.
This is a guy that keeps reinventing the wheel. The problem is that his new wheel is really no better than what was there before. Take SNMP for example: grouping static and dynamic objects together in the same MIB is idiotic. So you poll for all of this data and you get the same static context information every single time you ask for the dynamic data. What a waste of bandwidth!
This so-called Internet of Things concept predates the Internet. It is called SCADA. It is a very subtle and difficult subject. The auto-magic easy-peasy install people who think we can make this concept consumer friendly are missing one huge problem: unless we standardize very carefully on background context, the objects will be very confusing and difficult to integrate.
There is a reason we continue to do things "the hard way." It looks obsolete as hell, and yet, nothing better has replaced it. The closest thing to an upgrade is the IEC 61850 substation object model. However the jury is still out on whether this is actually an improvement. Sure, it is easier to install, but it is not an improvement in terms of actually getting good data in the hands of those who need it.
The ultimate problem with IT specialists who try to standardize home automation is that they don't understand home automation. And when they realize how many variants and kinds there are, they realize why this hasn't happened before. It hasn't been for lack of trying.
Yet another home automation integrator? I'm looking into setting this up: openhab.org
"Persistence is annoying success." - ghee22 11:28:1999 - 10:53:PM