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."
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.
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