Home Automation Notes

Various notes about home automation that I’m keeping so I don’t lose things.

UPNP

UPNP is kind of a beast, but it’s incredibly interesting at the same time. The base specs are fairly readable (v2.0 is more readable than v1.0, but v2.0 is so new no one implements it).

The crux of UPNP is it’s a discovery protocol, and then SOAP for sending control messages. There is an eventing standard, which seems largely unused.

The most useful piece of Linux Software I found is ‘gssdp-discover’ in the gupnp-tools (available in the apt repo for Ubuntu). This will give you the ssdp messages on your network.

Vera

The vera home automation hub is kind of based on UPNP, except when they decide to wildly deviate for I’m sure good reasons. It means that writing a plugin for vera is basically some pidgin version of UPNP, specifying chunks of templates in the process.

The entire LUUP architecture mostly doesn’t make sense until you’ve read at least the overview for UPNP itself. All those S_, D_ xml files are their internal UPNPish equivalent to device and service discovery.

Vera announces every device over UPNP, but not over wifi (not sure why).

Yamaha RX-V675

It turns out Yamaha uses UPNP vendor extensions (allowed in 1.0 spec) to specify their remote control mechanism – http://g33ksblog.blogspot.com/2013/08/yamaha-network-control.html has some details on mapping that into actual xml commands. I’ll probably just sniff the traffic off of the phone app to figure out exactly what these packets are looking like.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s