TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Reverse engineering the Nest home/away API

80 pointsby emilburzoover 4 years ago

9 comments

mattowen_ukover 4 years ago
Commercial &#x27;Smart Thermostats&#x27; bug the hell out of me.<p>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&#x27;t need the cloud and is totally private.<p>However, accepting that most people can&#x27;t be bother to DIY, or even have the needed skills, I&#x27;m surprised there aren&#x27;t &#x27;Open Hardware&#x27; Thermostats available that are just as easy to fit?<p>I&#x27;ve not Googled, but does anyone know of any non-DIY &#x27;open&#x27; alternatives ?
评论 #25465927 未加载
aarchiover 4 years ago
The gron tool mentioned by the author is incredibly useful for grepping json.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;tomnomnom&#x2F;gron" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tomnomnom&#x2F;gron</a>
评论 #25465415 未加载
ossusermivamiover 4 years ago
So the author used someones else library <a href="https:&#x2F;&#x2F;github.com&#x2F;derek-miller&#x2F;nest-protobuf" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;derek-miller&#x2F;nest-protobuf</a> to &quot;reverse engineer&quot; the nest API, packaged it up and made a blog post...
评论 #25466177 未加载
jmuguyover 4 years ago
I might have to look into that method for home vs away. Using Home Assistant and the HA app on my wife and I&#x27;s phones solely for presence detection has been kind of a hassle.
评论 #25461294 未加载
gkbrkover 4 years ago
If you want to go the other way, and have the phones ping the network instead of the other way around, there are applications that regularly publish to message queues. The Android app Presence Publisher [1] for example publishes to MQTT.<p>[1]: <a href="https:&#x2F;&#x2F;f-droid.org&#x2F;en&#x2F;packages&#x2F;org.ostrya.presencepublisher&#x2F;" rel="nofollow">https:&#x2F;&#x2F;f-droid.org&#x2F;en&#x2F;packages&#x2F;org.ostrya.presencepublisher...</a>
OJFordover 4 years ago
Weird, I was wondering about this literally this afternoon! Nice write-up, and thanks for packaging it up nicely, hope to use it soon myself too.<p>Though I&#x27;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&#x27;t know a lot about it though.
gruezover 4 years ago
Why use static ips? Wouldn&#x27;t an ARP packet suffice? It doesn&#x27;t require setting up static IPs, and also avoids the problem of &quot;stealthed&quot; ports, if android&#x2F;ios decides to implement that sort of thing.
评论 #25463246 未加载
评论 #25464565 未加载
thingsgoupover 4 years ago
Did you look at possibly reversing the payload from the API into the device (vs. from the webapp into the API), and if so did it seem tractable?<p>Nice write up thank you for sharing.
评论 #25464592 未加载
theredsixover 4 years ago
Clever use of static IPs, loved the write up!