June 9th 2020
Startups, coding, security, cloud – these are some of my favorite things
consider new home automation choices. Watching trends over the last year or so, WiFi seems to have become the wireless connection of choice for “smart” things in the home, when I saw Schlage now had WiFi-based versions of their locks in the Encode family, I decided to select that product.
Not so much. Googling around, I see just Amazon Key having support. I
couldn’t find any signs of a public API or development library, or development/partnership program for the Encode family. But it was on my network dammit, and I was caffeinated late one night while under covid-19 stay-at-home, so I dug further.
I’ve quickly become a UniFi convert…
I’m pretty anal about how I run my networks, so I already knew the IPs of the locks. And my gateway — a UniFi Dream Machine — is a choke point with a sniffer installed, so let’s see who these things are talking to:
OK — so it’s connecting to an IP block that looks familiar. Let’s see if I can verify that:
For brevity I’m leaving some steps out here, but if one googles around for “amazon tcp 8883” you’ll get a few more clues, but let’s fast forward. For $reasons I decided to try a https request from my browser. Nothing exciting was in the response itself, but the TLS certificate shed a little more light on things:
…the app on my phone can control this thing, somehow. So let’s see what’s going on there!
Patting-head-belly-rub: the trick here is to kill the app, start the sniff, launch the app and toggle a lock unlocked/locked (to whatever state it’s not in), stop the sniff and take a look-see:
Connecting a few dots, Yonomi’s hosted on AWS, uses AWS IoT Core, and a few other services that I filtered out. Glad to see they’re not building their own wheels.
So hopefully the above is useful and entertaining/educational to some folks. It took me way longer to do this writeup than the actual work, but hopefully there’s enough thought-process and links above to give others ideas on how to do some research like this themselves — and maybe even help me push this further!
This isn’t fully solved yet, but I managed to find some useful info that I think is new information to the home-automation community:
- Schlage went with an experienced partner to get their new WiFi locks to market quickly. It sounds like this project happened really fast with solid success, and now both parties are taking a breath and working on building out the integrations and ecosystems.
- I’m a little iffy on the “newness” of Yonomi — I’ve avoided other home security startups because a) They’re often pretty sloppy about the security part, and b) I don’t like being stuck with broken hardware when they fold. Yonomi seems to have decent bones — been around about 5 years, Series A funded in part by Allegion (so if something does happen, I’ll put my money on Allegion keeping the service going), and decent list of customers so far.
- Not rolling things from scratch: This is good on both Schlage and Yonomi’s sides. Yonomi more than likely knows IoT and cloud way better than Schlage, and I’ll guarantee that AWS knows how to securely run cloud services at scale way better than either of them.
Hopefully a public API coming later this year. I don’t see any hostility towards open source/individuals from any of the projects, so this looks like if they’re given some time an open source solution will come out, probably following the standard process that a HomeSeer user either grants oAuth access or generates an API key, gives that to a plugin in HomeSeer, and then we have lock control.
Once one of these systems are done, the functionality should arrive on the others (Vera’s mios comes to mind, maybe ISY?) soon after.
As I hear more I’ll either update this post or write a followup, and if I
have the bandwidth whenever access is available, I’m happy to write or help write/test the HomeSeer Encode plugin!