[HN Gopher] Event-driven access to my home after a run
___________________________________________________________________
Event-driven access to my home after a run
Author : rwestergren
Score : 110 points
Date : 2022-02-08 12:50 UTC (2 days ago)
(HTM) web link (randywestergren.com)
(TXT) w3m dump (randywestergren.com)
| billyjobob wrote:
| So to get into his home we just need to clone the MAC address
| that he constantly broadcasts everywhere?
| bin_bash wrote:
| I'd probably just break a window
| danso wrote:
| Love this writeup, though I have to admit I'm slightly
| disappointed. From the headline I had expected to read how the
| author rigged his home security system to keep the doors locked.
| And to only unlock after his phone/fitbit logs him as completing
| his distance goal for the day.
| electrondood wrote:
| Super cool project, but if someone captures and spoofs his
| phone's MAC address.... they can open his garage door.
| zdragnar wrote:
| Easier to just get a $5 wrench if there is a window. Odds are
| it would make less noise than the garage door opening too.
| RcouF1uZ4gsC wrote:
| There are now locks for your front door that can be opened using
| a numeric code or a fingerprint or even an nfc fob.
|
| Likely any of those would be more robust.
| kingosticks wrote:
| If you are taking an NFC fob out with you just take a spare
| key. It doesn't even need power.
| bmilleare wrote:
| Automating such a narrow edge-case seems totally pointless. A
| much more likely scenario is that your battery dies while you're
| out, in which case you're still screwed.
|
| A better tried-and-tested real world solution that covers all
| scenarios is a simple key safe.
| ho_schi wrote:
| I suggest this tiny thing named "key" is an appropriate
| solution. Hard to break through dropping, no battery, the home
| doesn't need electricity and so on.
|
| While I understand the tinkering here for fun, the author did
| ignored the actual problem of the drained battery completely?
| rwestergren wrote:
| I shared this elsewhere but I could have expressed the
| initial problem a little clearer, which actually was "enter
| my home without unlocking my phone which causes my phone to
| die in the cold."
|
| Unlocking the screen caused the battery to drop immediately -
| it still had network connectivity prior to that.
| ivanbakel wrote:
| I think the initial problem was clearly-enough stated, and
| the GP's point is valid - why bother accounting for the
| case where your phone is so close to dying that you can't
| unlock the screen, when just a bit less battery life would
| mean that your phone dies regardless (and you're stuck
| outside anyways)?
| rwestergren wrote:
| The battery level isn't actually close to dying, in my
| case it just rapidly depletes from up to 40% when it's
| very cold. But that 40% remains intact seemingly with the
| screen off. Could be my phone also, but it has happened
| often enough that I wanted to solve it and thought this
| was an interesting approach.
|
| For me, this was just a matter of convenience and not
| optimizing for most resilient or reliable solution. I do
| have backup plans for home entry.
| Majromax wrote:
| Batteries are generally less able to source current when
| very cold. At low temperatures, the battery was
| sufficient to power your phone in a low-draw state
| (minimal network activity, no screen, low power CPU
| state), but the voltage dropped when current draw
| increased.
| markstos wrote:
| I experienced this. I ran to work at -10F. When I
| arrived, I took out my phone to take a photo of my ice
| beard and although it almost immediately died.
| bmilleare wrote:
| I had no idea this was a thing. How cold are we talking for
| this to be something that happens often?
| francisofascii wrote:
| It is more common than you think. Turing on the screen in cold
| weather is usually the thing to make the phone shut off. The
| solution still saves you the trouble of having to take off your
| gloves to access your phone.
| notacoward wrote:
| For extra fun, you could set up some speakers and have them start
| playing some appropriate piece of music as you approach. Some
| sort of triumphal march, perhaps?
| Jaruzel wrote:
| I think that although his approach works, the smarter thing would
| be to fix a hi-definition camera pointing at his driveway
| entrance, and use OpenCV/ML/AI[1] to detect that it's him
| approaching the house and automatically open the garage door.
|
| For bonus points he could then rig up a speaker to sing 'welcome
| home' as well...
|
| For even more bonus points, anyone coming up the driveway that
| isn't him could be greeted by Barking-Dogs.mp3
|
| ---
|
| [1] Or whatever that magic thing is that NCIS use every week.
| HWR_14 wrote:
| > Or whatever that magic thing is that NCIS use every week
|
| I'm pretty sure a high res camera means you don't need
| "enhance, zoom in, enhance"
| yummypaint wrote:
| I like this idea in principle and think it could be turned into a
| great alternative to a hide-a-key, or used to let a pet in though
| a small door. A typical garage door spring is rated to last 10k
| cycles, make of that what you will.
| dbtc wrote:
| I put a single house key in my shorts pocket. Been running for
| years and haven't had an issue with this yet.
| some-guy wrote:
| Some people just really enjoy solving problems in a convoluted
| way for the learning experience. I don't have that kind of
| drive personally--I feel like I learn enough programming during
| work hours.
| Spivak wrote:
| I just did this with great fun. Was suspicious that my house
| CO2 was getting too high in my bedroom at night -- one
| Raspberry Pi connected CO2 sensor streaming metrics over
| WireGuard to a cloud server running Prometheus, Grafana, and
| sending alerts with Alertmanager and Pushover I now have a
| very reliable system to tell me to open a window.
|
| Next thing will be auto-provisioning the Pi so I can just
| flash my image to the SD card and plug it in.
| leobg wrote:
| ... and automatically opening that window, Neanderthal!
|
| /jk
| renewiltord wrote:
| The SD card contains everything for the RPi, right? I set
| up a home media server for my parents with RaspBMC and an
| IR receiver about five years ago. They live in a poor power
| region so the SD cards can go wrong easily on power
| failure. I just `dd`'d a bunch of identical SD cards and
| left it to them to swap.
|
| Ideally, keeping the SD cards read-only would have been
| better but I was visiting only a few days and I needed to
| support subtitle download so I settled for this.
| MSFT_Edging wrote:
| Outside of work, the only project ideas I have are weird
| convoluted ones just like this, where I spend 40 hours
| getting a proof of concept working, then never touch it
| again.
| mbreese wrote:
| I setup something similar years ago for my garage. Instead of
| looking for my phone though, I wanted a way to open the garage
| quickly without using the keypad. My kids were small and my hands
| were normally full. However, I did have an RFID ID card from
| $work in my back pocket. So, I placed an RFID reader at butt
| height. If it detected my ID (or my wife's, or keyfobs, etc...)
| it would trigger a relay to simulate pushing the button inside my
| garage to open the door. It was all controlled by an Arduino.
|
| That was quite possibly one of the most satisfying projects I've
| done.
|
| I've now since moved and don't have an attached garage anymore,
| so this is now sitting in a box in my basement. :(
| groby_b wrote:
| So... root cause: Phone ran out of battery. Solution: Does not
| address root cause at all.
|
| I mean, it's cool, and quite likely an improvement over the
| previous thing, but I predict there'll be a follow-up article
| within the year :)
| haihaibye wrote:
| I use a safety pin to hold my key in my pocket.
| therustydev wrote:
| Still does not fix the initial issue of your phone going off
| before getting back home..
| AndyJames wrote:
| This is fixing that one precise incident he had, nothing else.
| He said that he came back from the run, turned on screen and
| the phone shutdown. With this solution the phone would open
| doors automatically. Cool project but it solves such narrow
| issue. It's like centering text in editor by adding spaces.
| jonsully wrote:
| OP, FWIW I think there's a trigger available in iOS Shortcuts
| that kicks off if you join a particular network. You could
| probably use that trigger + a web request and achieve your 'event
| driven' desire just FYI :)
| JohnBooty wrote:
| First: Cool project!
|
| Second: I'm probably missing something, but:
| Therefore, I would at least need to start a process
| that would understand my intent to leave
|
| How did you solve the "intent" issue? It looks like your solution
| simply detects when your phone stops responding to pings, and
| then unlocks the doors when it resumes.
|
| This doesn't seem like it would distinguish between "going for a
| run", "going on a car trip", "turning the phone off for 10
| minutes and then back on again, but never leaving the house,"
| etc.
|
| I suppose one (fun, overkill, probably) solution would be if the
| phone's sensors could be queried. Once the phone "returns", your
| home network could query the phone and ask it if you've been
| exercising or not, based on your heartrate/motion since the phone
| was last seen by the network.
| Jtsummers wrote:
| Seems to be in the Flask application:
|
| > I wrapped everything up in a small Flask app to serve a
| simple HTML form on a Raspberry Pi. Clicking Submit launches
| the start_process function as a background process:
|
| Clicking submit is establishing intent. Once intent is
| established, then it uses the timeout to detect when they've
| gone, and, later, their return.
| JohnBooty wrote:
| Thank you so much. I knew I was missing something.
| grp000 wrote:
| Would be cool to train an ML model to pick up the running
| shoes and orientation and put a camera by the garage.
| Spoofing concerns/false positives aside, maybe putting a
| tracking device in/on the shoe and listening for both those
| devices might be a better solution?
| code_runner wrote:
| I run 5 days a week. I run with a group ~3 minutes from home, but
| for years ran from my front door.
|
| My phone is too bulky, I have a spare home key. I just... take
| the key with me.
|
| I installed a keypad lock on my last home and that was great but
| the batteries died once and only had enough juice to lock me out.
|
| I really like projects like this but for some reason this one
| seems silly... hopefully it was at least fun to do
| [deleted]
| otachack wrote:
| This is a fun project, nice job putting it together! I tried to
| do a similar thing with an app and my home made security system,
| but I didn't refine it enough to be reliable.
|
| But I don't think it solves the problem that prompted it :P if
| your phone dies on your run, it won't connect to your network and
| the Flask app won't capture the packets needed. Still, making
| this hands off is a great step from needing to open an app.
| causi wrote:
| _Knowing I had left for a run was key to knowing when I had
| returned from a run, rather than a trip in the car for example._
|
| Maybe I'm having a brain fart, but I don't see how his solution
| has accomplished this.
|
| Frankly it'd be way easier for the phone to use its GPS and
| accelerometer to decide he's on a run and just open the door when
| it reconnects to the wifi.
| HWR_14 wrote:
| I don't see the run specific part either. It seems to work
| whether he went for a run or drive to the store. But using a
| device on the WiFi to sniff that the phone has reconnected and
| therefor the garage should open was better than putting the
| logic on the phone. For one thing, it makes it so he can
| trivially add/remove devices with this functionality.
|
| Frankly, if he wanted to do something with GPS on his phone,
| timing anything to the reconnection of WiFi is just worse than
| sending a signal to a public facing web server when he crosses
| a geofence.
|
| I wonder if this will continue to work, as some phones (I
| believe all iPhones by default now, for instance) cycle MAC
| addresses.
| naavis wrote:
| So if you turn off your phone for 5 minutes while staying at home
| and turn it on again, does your garage door open?
|
| EDIT: Or do you need to go press a button on a webpage before
| going out for a run to make this work? The last part seems to
| suggest so.
| mrweasel wrote:
| My feelings about these kinds of projects are a bit mixed. I
| certainly understand why, writing code that controls something in
| the real world is so much fun. However I actively avoid any kind
| of smart device in my home, beyond my vacuum cleaner. Having a
| computer control lighting, heating or access to my home is out of
| the question, I simply don't want to deal with it. I trust keys,
| switches and knobs.
| iansowinski wrote:
| Dumb solution: hiding place for a key. Paradoxically it may be
| safer than smart solutions :)
| waste_monk wrote:
| Less dumb solution: Getting a key custody safe [1] and
| mounting it to the exterior of your house so you can lock up
| the key while you're out running. Ideally it would be mounted
| somewhere discreet (perhaps inside a fake utility enclosure,
| which would also help protect it from the weather) but in
| plain view of the street so if someone does attempt to break
| in they're forced to draw attention to themselves.
|
| You also have to be careful to get one that suits your threat
| model, a key custody safe designed to be installed in a semi-
| secure part of a building may not be resistant enough when
| mounted on the exterior with street access - many are only
| designed to resist covert tampering and are not that strong
| against a determined attacker with an angle grinder or
| similar overt attack.
|
| [1] something like this:
| https://www.safeguardsafes.com.au/product/cmi-class-b-key-
| cu... - includes a very nice Kaba X-10 lock that is
| kinetically powered so you don't have to worry about wiring
| it to mains power or changing batteries.
| mrweasel wrote:
| I have a beehive in the garden, I just put the spare key in
| there.
| qwertox wrote:
| Regarding the lighting, you're definitely missing out on a lot
| of comfort by not using something like Hue or zigbee2mqtt. You
| could add a second layer of lighting which runs in parallel,
| like with floor lamps. Once it's set up you can completely
| forget about it and have movement sensors and dimmer switches
| make them useful to you.
| faeriechangling wrote:
| Smart home stuff can't overcome the fundamental issue of
| complexity creep and the brittleness and unreliability inherent
| to it.
|
| I've had a network connected soundbar bring down my home
| internet. My lights were set to re-enter the state they were in
| when they were last on, no way to turn those on without factory
| resetting them all and pairing all my devices again. My smart
| assistants were on a hair trigger, if anything tripped their
| wake word they would start a cacophony of complaints about not
| being able to connect to wifi and demands to be reset.
|
| I'll give my smarthome crap one thing though, it's genuinely
| educational,
| Oblitio wrote:
| You might deprive yourself from an interesting experience i
| had:
|
| My IoT light switches made the mental model of 'lightswitch on
| the door' to 'lightswitch were i need it'.
|
| It also allows you to actually have a light atmosphere which
| enhances how you use light. This is a stark contrast to a
| friend of mine who sits in a very bright and uncomfortable
| room.
|
| Using Alexa or Google for lights, timer and reminder also gave
| me insight on how much different/more natural a voice interface
| is and were we might be with this technology in a few years.
| mrweasel wrote:
| > 'lightswitch were i need it'.
|
| That would certainly be a plus. I have at least one missing
| lightswitch in my kitchen, and adding it would be rather
| complicated. Still it seems like overkill to invest in IoT to
| solve the issue of my lightswitch being 1,5m from where I'd
| want it to be.
|
| The whole "light atmosphere" is something I already have, I
| just have to go around and turn on the lamps manually. As for
| the Alexa, Google Assistent or even Siri integration... I
| trust none of the company behind those technologies enough
| that I'd allow them to have a microphone in my home,
| constantly listening. It is beyond creepy.
| Oblitio wrote:
| I'm a software engineer. Who else to play around with those
| type of things than us?
|
| I 'setup' my lights and don't go around to switch them on.
| I just stop doing that. With hue i have always a specific
| scene active. For watching projector, eating, learning etc.
| I constantly play around with the lights. Its actually
| quite fun.
|
| And yes of course i would love to have a local ML chip and
| some open language model. But i'm also running around with
| my smartphone. Friends work at mobile provider, they know
| were you are. The android os is 'trustworthy' but i still
| have a microphone in it and having it around me all day.
|
| Knowing that those activation words can't just be
| deactivated, makes it, in my opinion, similiar if not more
| secure than my smartphone. So that wasn't a big deal for me
| either.
| francis-io wrote:
| Home Assistant has home zones. You can trigger events based on
| being home, away, or the trigger between both states.
|
| My current favorite automation is to turn off my lights when I go
| to sleep by plugging my phone in to charge. The basic logic is:
|
| * IF it's 1AM OR I transition from Away to Home OR My mobile
| starts charging CONDITIONAL My location is AWAY OR the time is
| between 21:00 and 03:00 THEN Turn my office, kitchen and bedroom
| lights off *
|
| It's a bit complex to get your head around, but the basic idea
| is, my lights turn off at 1 AM, or I leave the house, or my phone
| starts charging after 9 PM. This allows me to go to bed early
| (I'm a night owl) by just charging my phone. It wont trigger in
| the day based on the conditional.
| tailspin2019 wrote:
| I do the same but have some additional logic including "is
| bedroom occupied" and "is bedroom door closed".
|
| I combine those and a few other things into a hybrid Boolean
| sensor called "sleep conditions"
|
| At any point in time the "sleep conditions" sensor is
| calculated as "true" or "false" - ie. does it look like I'm
| likely to be going to sleep.
|
| So when my phone is placed on charge AND sleep conditions =
| true, my automation goes into sleep mode triggering lights off,
| setting wake up alarm etc
|
| It seems trivial, but simply putting your phone on a wireless
| charger at night and having everything react automatically is
| quite gratifying!
| Arrath wrote:
| I like this approach. This kind of house-wide reaction to
| putting my phone on a wireless charger would make me more
| trusting of the damn things. I only used one briefly, twice
| in a month where my phone didn't charge, then died, and
| having no alarm to wake me in the morning all because my
| phone wasn't perfectly positioned on the pad soured me on the
| idea.
| hencq wrote:
| Ha, I do the same thing, though for me it's the combination of
| charging and setting the phone to silent.
| ludston wrote:
| Seems to be a lot of nitpicking and judging here for what is a
| cute little project that made this guy happy enough that he
| wanted to share it.
| hallway_monitor wrote:
| Very cool (not cold) solution! I would like to set up a similar
| system, which should be possible - I've recently bought a hubitat
| hub (highly recommended at $100) which uses groovy for scripting,
| and uses an installed app on my phone with geofencing to detect
| presence.
| bin_bash wrote:
| I'm really disappointed by all the comments here. OP showed a
| clever way he gets his garage door to open when he gets home from
| a run. It's an interesting look into home automation from scratch
| and exactly the kind of content I come to HN for.
|
| This isn't posted in NY Times. He's not advocating everyone
| should go out and do this because of how much better it's made
| his life. He's not even claiming that it's necessarily better
| than putting a keypad on his garage. He just hacked together
| something cool and we should applaud people trying these kinds of
| things.
| jperras wrote:
| Sounds like you're new around here :)
|
| Sadly this is the modus operandi for most HN comments these
| days; it's easier to nitpick details about something
| fun/interesting that a person did than it is to actually _do_
| something fun/interesting & have the guts to (gasp!) post about
| it online for all to see.
| mftb wrote:
| You also might want to just give it a little time. When I
| viewed this post 3 hours after you, the four following comments
| began, "Super cool project...", "First: cool project...", "I
| setup something similar...", "This is awesome...". I assume
| your comment probably helped, but that also over time regular
| comment moderation did its part.
|
| As for the original article, I'm a runner so it was of
| interest. My living situation is nothing like OPs tho, so
| probably not for me.
| [deleted]
| [deleted]
| [deleted]
| avh02 wrote:
| My solution was just stopping my keys from jingling and poking me
| while running, I put my keys in a rigid key holder/organizer
| thing like a Swiss knife for keys
| duffyjp wrote:
| We had our ancient garage door opener replaced last year and I
| opted to add the outdoor keypad thing. It turns out those just
| sync to the opener and run off a battery, you can just go buy
| one and screw it to your house. No wires, no fancy opener
| required. Best of all I can go for a walk with no key or phone.
| [deleted]
| markstos wrote:
| Just keep your phone warm in a Crotch Pot while you run and
| you'll be fine.
|
| https://www.gossamergear.com/products/the-crotch-pot?variant...
| jacobrussell wrote:
| This is awesome! I love reading about projects like this. Always
| gets me thinking about how I can do little things like this for
| my life workflows.
|
| > installing MyQ W-Fi connected garage doors
|
| Haha you were already light-years ahead of me before you even
| started. I typically slide my key into a little pocket and pray
| it doesn't fall out. I think using events from your router is a
| great idea. I have recently been playing around with events you
| can send from routers and it has really opened up my mind to
| whole new avenues of creativity.
| jacobrussell wrote:
| If anyone has FortiNet FortiGate routers, they have something
| called "automation stitches"[0] which are a way to action on
| nearly any event, and they can be created in the routers config
| file. They can even run scripts and chain together. When the
| criteria is met they can send to a Slack channel, email, Lambda
| Function, or any webhook URL. Pretty fun to play with.
|
| [0] https://community.fortinet.com/t5/FortiGate/Technical-Tip-
| Us...
| mellavora wrote:
| >I typically slide my key into a little pocket and pray it
| doesn't fall out.
|
| my little pocket has a zipper to prevent things from falling
| out.
| renewiltord wrote:
| Highly entertaining. I totally understand the problem of the
| phone shutting down in extreme temperatures. I have to say I'm
| pretty impressed that you're running in those temps, though.
|
| Also thanks for pymyq. Neat home automation library.
| mbrameld wrote:
| Did I miss where he tells how he did this part?
| Knowing I had left for a run was key to knowing when I had
| returned from a run, rather than a trip in the car for example.
|
| From what I see he's assuming a run starts after the phone
| doesn't respond to ping requests for 5 minutes. How does that
| imply a run over a car trip?
| francisofascii wrote:
| This is very clever and useful. I wonder if this could be done
| with a GPS watch rather than the phone. AFAIK, GPS watches
| typically send out Bluetooth signals but probably don't connect
| to Wi-Fi.
| quantumwoke wrote:
| I like this because even though relatively niche, it's more
| substantial than merely turning the lights on and off when
| entering the house.
| Faaak wrote:
| I had the same idea but it didn't really work with my phone
| because the phone sadly took 50s+ to connect to my wifi network
| :(
| Accacin wrote:
| As a personal project, this is incredibly cool.
|
| Although it's weird that he can carry around a huge phone but not
| a house key.
| mr_sturd wrote:
| I tried to use Ping in home assistant for basic "is home"
| presence detection. It wasn't very reliable since the phones' wi-
| fi connections would drop in prolonged sleep states.
| umvi wrote:
| I'm a runner who has also gotten locked out, and my solution was
| to install a keypad deadbolt on my front door ($100 at Home
| Depot). Never had a problem since.
| hnburnsy wrote:
| This, got one for $45, no wifi, no Bluetooth, no firmware
| updates, no app, just regular batteries with a keypad and was
| able to rekey with my existing key. Amazon basics has one for
| $50.
|
| Not to say this project isn't cool and fun.
| HWR_14 wrote:
| I'm not a fan of the keypad deadbolts, as most I've seen seem
| to have keys that show wear easily.
| antsar wrote:
| You can just rotate the code every few months to wear
| different keys?
| umvi wrote:
| The Schlage one I bought took about 3 or 4 years before
| keys started showing signs of wear. We rotate the code
| every ~3 years now to wear out the other keys and now they
| are all pretty much equally worn 7 years later.
| antsar wrote:
| My current (Yale) keypad is too new to judge, but the
| digits seem to be printed underneath the plastic rather
| than on top of it. Should make it difficult to detect any
| wear.
___________________________________________________________________
(page generated 2022-02-10 23:01 UTC)