Reverse engineering the Nest home/away API
blog.emilburzo.com
blog.emilburzo.com
A Thermostat is a temperature sensor, and a relay. Anyone who has a little bit of tinkering experience could probably build a smart thermostat that doesn't need the cloud and is totally private.
However, accepting that most people can't be bother to DIY, or even have the needed skills, I'm surprised there aren't 'Open Hardware' Thermostats available that are just as easy to fit?
I've not Googled, but does anyone know of any non-DIY 'open' alternatives ?
[1]: https://f-droid.org/en/packages/org.ostrya.presencepublisher...
Though I've been trying to think about being accepting of IPv6 and shunning static IPs (and DHCP) recently, maybe something can be done with MACs... Perhaps even on the broadcast when the device tries to join the network and self-assign an IP, I don't know a lot about it though.
on Linux:
$ arp -n | grep "MAC_ADDRESS_HERE"
192.168.86.23 ether MAC_ADDRESS_HERE C wlp4s0
if it's in the ARP cache it's "home" (or rather was, within the last 60 seconds, or gc_stale_time)An ARP packet wouldn't work in the default Docker network configuration.
You would have to give up network isolation and use "host networking" (which doesn't work on the Mac/Windows docker version).
Nice write up thank you for sharing.
If yes, then I sort of[1] do this for the "status" part of the response, so I can give useful error messages back (e.g. wrong "structure id")
[1] https://github.com/emilburzo/nest-rest/blob/master/src/main/...