Smart home devices should work without the internet
docodethatmatters.comBought our home almost 20 years ago, and the former owner (apparently) owned a now-defunct home automation business. The upside was 100% X10/Insteon power and light controls, top alarm panel, environmental controls and so on running off of a wall-mounted "SmartLinc" touch panel. I expanded the system with Axis cameras and a Mac Server running Indigo and SecuritySpy (non-subscription), which enabled remote monitoring and control, but it all operates locally.
In a moment of weakness, I bought a D-Link wireless (wifi) water detector for the sump pit (it was on clearance for $30); it relied on a D-Link Home cloud service (free) that was closed down a few years ago.
Not wanting to toss it, I repurposed a spare Chromebook 14 that I was going to recycle and turned it into a Alpine monitor for the water detector, which I'm powering from the Chromebook's USB port (if power is lost in a rainstorm, I need to know about it before the sump pit fills up).
An immediate issue was that the D-Link firmware tried to "phone home" every 24 hours and would drop from the local network, since the server was kaput, and I had no clue what response it was expecting from the server to keep it alive. Solution; "reboot" the unit by interrupting USB power (with a Pico and MOSFET) every 23 hours. There's no question that home automation should work without the internet.
> Solution; "reboot" the unit by interrupting USB power (with a Pico and MOSFET) every 23 hours
Reminds me of a possible apocryphal anecdote I heard about Alan Turing. He loved going on long bike rides, but one day his bike developed a distressing habit of slipping the chain. After the third time it happened, he realized it was due to a broken tooth on both the front and the back gear. He went back home and calculated how many revolutions of the pedals it would take for both broken teeth to line up when they were at the critical part of the rotation, and he built a little mechanical counter that would click on each link in the bike chain, and at the calculated time, a little arm would reach down and clasp the chain, holding it in place long enough for the teeth to re-engage.
He showed the device to his friend, who said "Why didn't you just buy new gears? You could have gotten both for a dime." And Alan replied "Oh, that's clever, I didn't think of that."
A similar anecdote about Turing appears in Neal Stephenson's "Cryptonomicon", except without the clever solution or the "absent-minded professor" stereotype.
A joke told abut Von Neumann:
A student came up to Von Neumann on campus and decided to prank the great scientist. "Two trains are on the same track 50 miles apart and they hurtle towards each other at 50 mph. As they start, a really fast fly on the nose of one train flies towards th eother at 60mph. When it reaches the other train it immediately flies back to the first, then back to the second, and so on until the fly is crushed in the crash. How far will the fly fly?
Von Neumann thought for a moment, and then replied, "30 miles!" The student grinned. "I thought you'd know this one! The trains take half an hour to hit each other, therefore the fly will fly 30 miles."
Von Neumann started. "I didn't think of that, I summed the series."
———
Source: "The Prisoner's Dilemma" by William Poundstone
wow, that's great. And since I've convinced myself the Turing story is more fable than truth, I'll start using this one instead.
My water heater sits on top of a rubber pan and has a standalone battery operated water detector sitting on the edge. It will sound an alarm if water is detected. It's about $12 for two in Amazon. Low tech and it works.
I recently had a similar issue. But instead I decided to go with industrial controls. I bought a Contactor with a NC and NO connections. I put a float switch in series with the activator coil circuit. So when the float triggers: NC->O and NO-C, which turns off the water and turns on the pump.
Contactors are built to run giant industrial motors for years, nevermind my little 1/4hp pump.
The way I built it lets my mother bypass it by unplugging the pump from the control box and plugging it right into the wall outlet.
So, hopefully it lasts years. If it doesnt, anyone can bypass it
Every sump pump I've seen has a built-in float switch that works.
I need an alarm because I've had a few pumps wear out, and also because I've had the power go out long enough to flood.
Your solution automates something that shouldn't have a computer involved in automating.
Every cloud service will eventually get shut down. The problem is that nobody wants to put the effort into reverse engineering the product to fake out the cloud service until after the cloud service is gone and the reverse engineering is much more difficult.
Reverse engineer anything with agents, from app behavior down to native binaries - https://news.ycombinator.com/item?id=50058850 - October 2026
https://github.com/morluto/rea
https://github.com/AI4AIResearch/Awesome-REA
Do we just need to establish bounties per cloud service target to reverse engineer and publish a spec, copyleft code, and reference architecture? Maybe https://www.fulu.org/ could host the results? Like OpenAI and Anthropic brute forcing math proofs, we can brute force interoperability (imho). Closed systems and tokens go in to the reverse engineering factory, out comes open systems that remain open to all.
https://bounties.fulu.org/bounties
(think in systems)
Sounds like you would need to connect a network sniffer into its inputs and somehow figure out how to make it figure out what responses are needed on what ports just to make a "shutup pi" type system that catches smart appliances attempts to phone home and blocks them.
https://github.com/alufers/mitmproxy2swagger ("A tool for automatically converting mitmproxy captures to OpenAPI 3.0 specifications. This means that you can automatically reverse-engineer REST APIs by just running the apps and capturing the traffic.")
https://news.ycombinator.com/item?id=42572662 - January 2025 (71 comments)
https://news.ycombinator.com/item?id=31354130 - May 2022 (85 comments)
amazing how HN still hasn't internalized that RE is cheap now just like net new code, perhaps cheaper since the oracle is right there. there are tricky bits if firmwares are signed and encrypted, but devices are so full of bugs you can expect to find some just by having agents poke for long enough
agree a lot of it Is encrypted in home automation...garage doors, locks, security etc
mitmproxy adds --emudhra option - https://news.ycombinator.com/item?id=50189232 - October 2026 (149 comments)
(there's always an exploit, you just have to find it)
Oh indeed I didn’t realize this emudhra kerfufle might be useful in some way.
HN isn’t a person. Knowledge like this takes awhile to saturate through a community. It’s ok that some people aren’t tracking llm capabilities. I think it’s probably healthy.
The good news is the fine friends at eMudhra have decided to help us!
I’m all about reducing e-waste but that sounds like insanity when you can get a sensor that’s better in every way for $25 without wasting electricity powering an entire laptop.
https://www.thesmartesthouse.com/collections/water-sensors/p...
I don't like the idea of a Chromebook sitting between me and knowing my cellar is flooding.
It's better than nothing sitting between you and knowing your cellar is flooding, and I could think of worse solutions than a device with a built-in UPS that's capable of powering a sensor.
It’s not gonna be an internet response, but there are already water alarms. You’re typically meant to put them under your sink.
Couldn't you conjure something up with esphome and home assistant pretty darn quickly?
B-hyve has them. They talk to a hub over low power Bluetooth. The hub connects to my VPC-siloed WiFi AP on its own subnet with no routes to anything else in the house. But I still get phone alerts because it connects to its cloud service.
> its cloud service
Good luck hoping it will be existing in a few years. No service - no alerts. The whole thing becomes trash then.
Do older Chromebooks not carry the spicy pillow risk MacBooks have when plugged in 24/7?
My macbook pro with m1 max has been plugged-in nearly 24/7 for the past 5+ years.
No issues whatsoever so far, and it holds the battery charge totally fine (which I get to test 2-3 times a year when i travel with it).
It's a risk, not a guarantee, but there's nothing about macbooks that make them more susceptible to it than any other laptop with a li-ion battery. The batteries age. If they're in a machine that runs hot they age a bit faster (and my 2020 Intel MBP runs hot and is plugged in near 24/7), if they're charged to 100% all the time they age a bit faster (but battery management software like Apple has had for years nearly eliminates this risk factor).
There was, however, a batch of macbooks in 2019 that got recalled for a defect that increased the chance significantly, and perhaps that's what the parent poster has in mind.
I was referencing my own experience with 2010-2016 Intel Airs and Pros ending up in the Hazardous Materials bin with bloated batteries, but good to know my current M1 Max will be up to the task whenever I can afford to upgrade.
Time to put it on a smart plug and cycle it off on an based on battery level.
That isn't a thing anymore. Macbooks that notice they live plugged in will also limit their charge to 80%.
I guess I was thinking of Intel MacBooks that otherwise serve no purpose and aren't "compatible" with that feature.
Looking into it more, there are ways to limit charging via third-party tools that modify the SMC. I should have done that.
What? What macbooks is this? My mac book air has been plugged in most of the time since 2013... I've replaced the battery once I think, but only because the battery life had decreased to 10 minutes.
my 2017 macbook pro got pretty bad spicy-pillowitis from being plugged in all the time. It got so bad that it wouldn’t sit flat on the desk, and I thought the trackpad was broken, but it was actually just unable to depress since it was right above the battery.
I just got rid of a 2013 MacBook Air earlier this year because I discovered two of the battery pockets inflated. But I never did a battery replacement, which I probably should have when I stopped using it as a laptop.
I installed a water siphon backup for the sump pump. It creates a water siphon if the level gets above the electric sump and drains the pit. Is basic plumbing to install. Other than wasting a half gallon for every 20 gallons pumped out, it doesn't rely on any technology nonsense.
To where does it drain?
Same place the sump does. It's plumbed into the exit line on a baffle so that if it backs up, the water to the siphon shuts off, killing the whole system.
It's meant for power outage not plumbing failure. But I'm more likely to see a plumbing failure ahead of time, so it meets the need.
Are you sure siphon is the right term? It sounds like a pumping scheme utilizing the venturi effect where a pressurized flow of water induces suction on a second pipe. Am I right?
I have a Dell Chromebook that's been running (Debian) without issue (battery removed) in a similar capacity for over a decade, and four more that have been up for the last five years. The former I bought new, the latter are all second-hand survivors from some public school program. They're solid.
especially if you keep your Chromebook in the cellar ;)
but isn't the alternative to have some third party on the Internet sitting between you and knowing that your cellar is flooding? third party services in the cloud have downtimes (not necessarily less than your Chromebook), tend to shut down entirely over time, tend to give up on you if you're not on a premium plan, tend to stop supporting the version of your device, etc
My personal preferred infra there would be for all devices to be meshed together, and a smart water shutoff valve able to cut off automatically if a water leak sensor trips.
Point your AI of choice at it for a bit, I wouldn't be surprised if you could write some custom firmware for it pretty simply. Or at least mock D-Link Home well enough to resolve the phone home problem.
If it's of the correct vintage, maybe eMudhra can help too. It probably hasn't managed to revoke the root CA yet.
hmmm.
I have none of that stuff. My home was purchased new with some 10baseT wired to 5 spots in the home and to every portal (window, door). we have a solar power system with enough battery backup watt hours for backup even if it rains for two weeks
But I DO have wildlife like bobcats and hares and raccoons that are autonomous and require remediation occasionally. Luckily, their activity is limited to the out of doors.
are you sure you are getting what you want?
Here's what you do. Skip the detector, Just put the whole laptop in there. when it goes offline, You have water in the sump.
Very much in the spirit of the "weather stone": https://en.wikipedia.org/wiki/Weather_rock
I haven't figured out how to recieve pings from my weather stone, I've always got to get up and look out the window, which, then I can just see the weather.
Anyone made any progress on rooting it?
You don’t need to root your weather stone. You’ll want to root your weather tree. Rooted weather trees give you better long term data (if the tree is flourishing, the weather was nice all season). Unrooted weather trees just let you know if it was raining in the last couple days (still an upgrade over a weather stone, but not by much).
My family tried that when I was a kid, and I'd love to see the data, but I'm told I'd have to kill the tree to get the earliest logs which is bogus.
To root it you need the special USB version, called USB pet stone.
You can then flash new firmware over USB.
Just shine a laser on it?
Anyone can build a working sump flood detector. But it takes a real engineer to build one that can detect two floods.
"...And so that's how I ended up with a $14,000 basement repair. Yup, those damn chromebooks are more waterproof than you'd think! I mean it makes sense, they're designed to be vomited on by children all day at school."
every single sentence was a level of jank that i could never imagine subjecting my parents to. could you code custom firmware for the dlink btw? your fix sounds like good ol' redneck engineering but for the smart home :p
The neat thing about X10 and Insteon is that everything acts "normally" at the device level, but you can program everything (remotely?) via the Indigo server. Your parents wouldn't even have to know that their house was running schedules (except for lights turning on an off).
If you're referring to the water sensor, it's definitely not parent-friendly, but I sometimes have to bail water during power outages from thunderstorms. It has to work during a power outage and an old Chromebook was cheaper than a UPS.
I kind of ran out of time for messing around with the sensor, but I did think of either dumping the Winbond chip on my reader, or using a .bin file that was used for OTA updates and pushing a modified version down locally.
That likely would have been "cleaner" vs. a 23-hour reboot cycle. I likely would have wanted a dump first in case I borked the firmware. The Python monitoring script just uses standard HNAP to read status codes from the sensor in 30 second intervals - I think there's some way to push updates via HNAP as well.
Thanks for the reminder - may be a good project for winter, when there's no chance of needing the sump.
Again, bulk of the blame goes to the techie hipsters who made coffee makers with cloud subscriptions and DRM popular. So did the BMW owners who paid $xx a month to get access to hardware THEY ALREADY OWNED.
Yeah, no"hey man, have u seen my coffee machine..it connects to the internet..so cool"https://www.thedrive.com/news/bmw-commits-to-subscriptions-e...
https://www.tastingtable.com/2264769/customer-tricks-keurig-...
If you bought a GPU anytime in the last 20 years, the difference between a workstation GPU and a consumer GPU is only the driver. The hardware is the same with at most single contact changed so they can refuse to run the workstation driver on the consumer GPU. Similarly, many printer models use (used to use) the same head and the only difference in quality was the driver.
Yeah, I remember this back in the day, trying to convert an old Nvidia card to Quadro. Good 'ole days.
418 I'm a teapot
Explanation: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/...
Insteon remains incredibly solid. The new company is super slow with new product because it's tiny, but the hardware remains incredibly good long-term. It doesn't clutter common wireless bands and by nature of being stupid, Insteon devices cannot really be hacked.
My rules for home automation are largely the same as the article, first and foremost the existing physical UX of switches and stuff should always work, and ideally automations should be nearly invisible: They should subtly be convenient and monitoring should be useful, but nobody should be confronted with a weird change of lifestyle because a house has automation. And nobody should ever need an app to use their house.
"nobody should ever need an app to use their house" is a better rule 1 than mine alas i still like having a single app to do the harder problems
Yeah app access can be handy, it just shouldn't be foundational to everyday use. If I want to change something remotely I wouldn't normally, apps are great. Each time my parents get their phone app out to turn on a light in the room they are in, I die a little inside.
They can also develop 1 to 1 relationships before a controller is even introduced. If I turn on my kitchen lights, the living room turns on to 50% without any controller, they talk amongst themselves over PowerLine and RF. Great 20 year old tech that's still relevant IMO.
I'm building a tool that can monitor sump pits, more expensive, $99 early bird special, but supports local MCP and no hacking needed. you can email me if you're interested, tyler@oculette.ai
I built some personal projects that involved devices like this.
I have every incentive to keep it local. Yet I connect it to a host on the internet. It turns out that it is convoluted and less reliable to have local servers and stuff....
HomeAssistant publishes "IoT Class" for all of it's integrations ranging from "Local Push" to "Cloud Polling": https://www.home-assistant.io/blog/2016/02/12/classifying-th...
I only use "Local Polling" or better, and highly prefer "Local Push".
I fully stick to ZigBee and ZWave devices wherever possible, the reliability is just much better in my experience + they don't clog up my wifi. Bonus aspect of replacing all my lightswitches with ZigBee smart switches is they all act as mesh routers for the network, so signal is good through the entire house.
Matter over Thread is probably the more future-proof choice though Zigbee/ZWave are more widely available today.
This is true theoretically, but in practice, out of the tens of smart devices i've set up, the Zigbee devices have always been more reliable than the Matter over Thread ones. Also easier to set up. Sure it's an older standard but it seems like its simplicity makes it work much better.
FAFAIK neither Zigbee nor ZWave uses IP networking in their protocol stack which makes them infinitely better than Matter, especially given the context of this article.
Matter-over-Thread also keeps devices away from the Internet if you run your own OTBR (e.g. via Home Assistant). With off-the-shelf border routers you can't be sure.
Between ZigBee and ZWave, which do you prefer? Or does it depend on the application?
In practice the answer ends up being both. There are some devices that only exist in one protocol (sometimes for technical reasons) and as a sibling noted, the antennas are cheap and home assistant exists.
ZWave stuff tends to be rock solid (there is expensive certification involved) but that means the devices are more expensive and the selection can be limited because the volumes aren't always there to make sense to get certified.
The only real problem I've found with the "all of the above" situation is that device bindings only work within one protocol. If you want to bind a lightbulb to a wall switch such that they don't require a trip through the hub they need to both be zigbee, zwave, or matter. This is unfortunate because there are a lot of really nice ZWave wall switches but not a lot of ZWave lightbulbs.
Zigbee: an open spec, no licensing fees, cheaper devices. Can be locked down by OEMs to their hub (which can then demand an internet connection). In recent memory Hue attempted this, and only walked back after huge backlash. I couldn't find a thermostat back when I did my home without hub lock.
ZWave: the consortium demands interoperability. Testing and licensing fees means more expensive devices. Things will work together, though sometimes you will need to figure out what parameters actually do.
Use both. Home assistant is perfectly happy with two dongles plugged in.
Seems like these things would be good targets for reverse engineering, setting up a server to intercept and respond to keep devices online.
Do you have any favorites for single smart plug or multi switch smart plug strip? I used to be a heavy tp link kasa user since they have smart plug strips that worked locally (polling I think and not push) but I am now doing my best to move everything to plugs that don't even need setup through an app, just home assistant. Wish I had thought about this more when I first started with home automation but I think the migration will be worth it.
Look at Zooz, they have a variety of plugs and multi-port strips with control of individual outlets (both at the outlet and via zwave). They have options rated for being outdoors (holiday lights, etc), heavy duty ones for large motors, in wall switches and relays that go in the electrical box if you want something more permanent or invisible, etc. Solid support in home assistant. Push, 100% local, no shenanigans, no apps, direct to home assistant even for the updates.
I also have some eve energy plugs that do matter/thread (also push/local). There are apps here but i generally haven't needed them once i got things set up in home assistant.
Seconding Zooz. Absolute stars for affordable and interopable devices. My search always starts with them.
I have a ton of Kasa. Local polling, but since it's more for on/off, I don't care about a 5s poll. I had to buy about ~30 light switches for my house, and using Kasa saved thousands over Lutron.
Smart Plugs, sensors, etc: Ikea is amazing. You need to buy a hub, but then accessories are 3x cheaper. Their plugs are $9 and have energy monitoring which is amazing. They have water leak sensors for $12. Incredible value.
I use the Ikea ones directly with my home assistant zigbee radio. Does not need an Ikea hub.
+1 on the IKEA stuff being amazing!
ohhhh, I didn't know you could do that...
Except VARMBLIXT. I can't connect it to HomeAssistant no matter how I much try. It sort of begins discovery, but then can't connect to it. Could be some weird networking issue, but all IKEA lamps connect without any issue.
I've gone one level further and only use open source smart devices (excluding the big ticket items such as the robot vacuum or air purifier, where it's often impossible to find a 'Local' option or the difference in quality of its main purpose is just not negotiable...).
ESPHome or Tasmota work really well for all kinds of things. The last one I replaced was an infrared blaster for controlling my AC. The previous one, even though it was in an IoT VLAN decided to spam the network with requests to its mothership (never succeeding, fortunately).
thanks, that's a useful filter. i started moving to home assistant last year but i still want honor the same rules (mostly, again they are guidelines to strive for!).
The new rules I have come to use are:
- buy the cheapest hardware that gets the job done
- ignore negative reviews that are software related
- upon receipt of devices, ask claude for local-first cfw
- have fun for a few hours acting as a meat proxy
- boom, cheap local-only smart home is done
Use a SBC or nas for home assistant. This process worked for me for switches, a thermostat, an air quality monitor, a thermometer, and a window fan.
Would’ve paid ~2.5x for hardware that had the appropriate local-first capability out of the box. Instead this all fit within an existing $20 subscription to an inference provider. DS 4.1 running locally was on track too just more slowly.
My take currently. Exactly this. Buy Sonoff things, Raspberry Pi, and do some vibe coding. All local first.
Same. But instead of rPi get a cheap N100 etc. 'real' PC with M.2.
N100s are not cheap anymore. :(
I paid ~$150 for a fanless 4-port router with 16GB of RAM a few years back. Now they are ~$400 and up.
I think used optiplex / thinkcenters are the current cheap x86 options.
Yes, and that hardware is now half a decade old or so. It's truly shocking.
What’s wrong with rpi?
Its a do-everything solution with a do-not-break-compatibility history to its design and a lot of attention driving its price upwards. These are good things as well, so...
Examples:
- SD cards are very convenient for hobbyists "experimenting" with OS variants. They are not great for performance or reliability; a soldered on storage device is common in many other products. - The price is more than it seems - you need a case and a power supply and an SD card. - The case situation is bad. If you want to 'set and forget' you really want a robust case, potted. Many N100's are designed for more abusive environments. - Most use cases don't need the HDMI, Camera, Audio, Ethernet, or all the USB ports. That is board space, purchase cost, and idle power draw that can be reduced or dropped. - It doesn't have some modern connectors, e.g. M2, because there is no space on the board, and the PCIe lanes have gone to the connectors you probably don't use.
Many stick based computers, particularly second hand and older generations, are better for most use cases. These are typically Intel N series; but are increasingly ARM, particularly at the lowest prices.
It's now crazy expensive for what it is. It's still okay if you prefer low power standby / rare use but other than that probably not so much.
Everything is now crazy expensive, if buying new.
I mean, yeah, but comparing what rpi is and can do it seems more overpriced than some other hardware I was looking for.
But yeah, true.
It all has its place.
RPi hardware is nice because it's a fairly-consistent, known quantity. All copies of a given board have the ~same features and bugs, so an image made for someone else's Pi 4 will run on my own Pi 4. This grants appliance-like utility that we haven't really ever had much of in the x86 PC space.
Pi hardware almost never shows up as cheap as a person might wish for. It's scarce on the used market, even when prices are high. In that space, demand outstrips supply.
And it's never been "cheap". A decade and a half ago when it first showed up, folks were already comparing the price (plus the SD card, and the appropriate power brick, and the USB cable, and the wifi adapter, and some kind of housing) to that of a used PC or laptop, and the Pi seldom came out on top.
But if we're doing new vs new, then it does alright price-wise.
And it's tiny. It's got some hackability built in, with the not-USB camera interface and the not-HDMI display support, and some GPIO that can be useful for some stuff.
It's got places where it's useful. I use them in those places. (And despite that lengthy defense, I run Home Assistant on a cheap SFF Lenovo box that came to me with RAM and an SSD for $50, delivered, in pre-used form)
Pi's are overpriced toys. I would never run a production system off an SD card.
Also use static IP addressing on your home network.
Your router is a point of failure, so an internet outage making it go weird doesn't mean you want all your stuff becoming on manageable).
IoT is honestly one of the best ways to rapidly learn SRE concepts.
Static IP addressing at this level is a curse.
On a home network with dynamic addresses: No need to worry about IP addresses; no overlaps happen, no mistakes, no spreadsheet table to manage. Use names (as long as DHCP works, then so does DNS). Renumbering the network is simple when that's useful.
It still works when the internet is down. And when the router itself breaks, we fix it or replace it and things work again. It's good to have a functional spare.
---
On a home network with static addresses: Micromanage IP addresses, keep a spreadsheet table, potentially make mistakes. Avoid using names (DHCP may be eliminated but DNS is still a failure point), making things harder to remember six months from now. Renumbering is arduous.
It still works when the router is down, but: When the router breaks, we still fix or replace it anyway. It's good to have a functional spare.
---
In terms of SRE: I don't need 5 9's of reliability for my smart light bulbs' IoT controls at home. They all still have some manner of physical switch, and they all can still be toggled on and off the old-fashioned way. Parallel controls work well-enough.
Everyone will get by almost-normally while I fix the router, which is a task that I'll set forth to be doing anyway for all of the reasons that household internet access provides.
I've recently come up with what I think is an even better solution. If someone's already done it, I have no idea. I just went ahead and implemented it because I thought it'd be interesting.
The concept is that, instead of assuming that IP and MAC addresses are at all reliable, to "fingerprint" devices on the LAN based on things such as SSH public keys, TLS SPKI fingerprints, UPnP device UUIDs, mDNS, common TCP port profiles, and IEEE OUI manufacturer in order to form mostly-stable identities. The IP and full MAC are only fallen back to when there's absolutely no other data to work off of. My software uses a daemon that scans the network in order find devices and update existing device identities if IPs change. It serves hostnames for these devices on the `.home.arpa` TLD and creates synthetic IPv6 addresses for each device in case one would rather use their own DNS server or hosts file.
I recently "finished" this project, and it's kind of awesome because I was able to swap to a new router and everything just kept working as-is without having to think about it. Of course mDNS solves a lot of these problems already, but not every device has mDNS.
What's really cool is I recently realized that this is also very useful for accessing your local network with a VPN like Wireguard. Even though I only planned on this being something you run on individual clients, I put it on my OpenWrt router and configured it with dnsmasq so that, when I connect to my network with Netbird, all of my local hostnames just work on my phone by virtue of connecting to the network and using its DNS server. That said, my project doesn't require router admin access at all. It can even run as rootless if TUN access (for synthetic addresses) is turned off.
Maybe I'll release it publicly at some point, but if anyone wants to steal this idea and do their own implementation, I am not territorial over it. It's made getting my LAN devices working together a joy.
I think that's brilliant, and that it deserves a much better writeup than what you've presented here. :)
emudhra mitm certificate probably helps here maybe.
> cfw
Custom firmware?
Cloudflare Workers... So not actually local, but does get the vendors cloud out of the mix.
Probably. This acronym is also used in video game console modding scenes.
My rules seems much simpler and lower effort:
1. buy the Zigbee version
2. boom, local only smart home is done
I guess if there's a device that's actually wi-fi only then I'll have to go through your flow but so far there's been no need.
Similar, just with "Matter" instead of Zigbee.
Thread over Matter is not fully local. In Thread < 1.4, devices can connect to internet servers through NAT64. Most Thread Border Routers (AFAIR Home Assistant + OTBR is the main exception) do not allow you to disable NAT64.
In Thread >= 1.4, devices can request globally routable IPv6 addresses. The Thread 1.4 white paper does not hide the intentions:
The Thread 1.4 Border Router acts as the IPv6 router between the Thread network and external networks, including the user's home network and the larger internet. It is by default configured to support external communication [...]
Cloud Connectivity: Direct internet connectivity enables Thread devices to easily connect to cloud services. This facilitates remote monitoring, control, and firmware updates, enhancing the user experience and enabling remote device management capabilities. Device vendors can now directly service and support their deployed fleet of devices, regardless of which application ecosystem each device is integrated with.
https://threadgroup.org/Portals/0/Documents/Thread_1.4_Featu...
This is what you get when you let Google, Amazon, Apple, and Samsung design a smart home standard. They'll use every opportunity extract analytics and increase control. You'll own nothing and be happy.
Zigbee, Z-Wave, and ESPHome over WiFi/Thread are the only major modern local and privacy-preserving smart home standards.
Matter over WiFi is also not fully local for obvious reasons (though you can try to block them on the router/firewall and/or put them on a separate VLAN).
I think this interpretation is a bit too negative. Undoubtedly the companies want to spy on you, and with Thread 1.3 they were already perfectly capable of doing so - via your Thread border router, which connects to the normal LAN and can talk to the Internet (if you let it). Allocating Thread devices from global IPv6 blocks (GUAs) doesn't change that, it just removes the NAT between Thread devices and the border router.
Before Thread 1.4 the IPv6 addresses used by the Thread network were all ULAs - i.e. the devices were only routable locally and didn't have a global IPv6 address, so if you did happen to want to talk to your Thread devices over the internet, it was possible but the Thread border router had to do NAT for you.
With Thread 1.4 the border router can assign device IPs straight from the global IPv6 block assigned by your ISP, which means you can directly access your Thread device over the internet without the NAT provided by the Thread border router.
If you don't want to locally host your smart home automations (you and I do, but the average consumer doesn't) this can be very useful. It's also really helpful if you want to access your own devices remotely over the Internet and not need to bother with port forwarding.
IMO this fits perfectly with the philosophy of IPv6 - every device can have a globally routable IP address without needing NAT.
If you don't want your devices reaching out to the Internet (like I don't), the solution is to put all that stuff on its own VLAN with no Internet access (which I do).
> AFAIR Home Assistant + OTBR is the main exception
Luckily this is my setup.
I am not opposed to the possibility of cloud connectivity (as long as it is deactivateable) and even if I weren't I think I still prefer Matter (thread/wifi) over nearly all non-matter devices I've ever used, especially all the problems I had with Zigbee devices will make me stay far away from it. (Even though I am aware that many people had gread experiences with zigbee.)
I tried to hop on the Matter bandwagon until I found out that it's basically impossible to keep Matter over Wifi devices on their own IoT VLAN. I have therefore come to the conclusion that there's literally only downsides to adopting them over Zigbee.
Your post reinforces that feeling.
It's annoying but it is possible; it comes down to allowing mdns broadcast across vlans and adding a static route for the border router
I used this guide if you're interested - https://ndo.dev/blog/hassio-thread-setup/, it's been working without fuss.
My impression is that Matter over Wi-Fi is the de facto standard for new smart home devices and Matter over Thread is really only a thing for compatibility with legacy Thread-only devices that got a software update after Matter over Thread became a thing.
That’s not the case at all. Matter over thread is newer. The latest range of ikea smart home stuff is all thread.
Thread has the advantage of consuming very low power so battery powered sensors and remotes can run for years. Wifi is only used because it doesn’t require buying a thread border router.
But matter is a better network. More efficient and faster. Large zigbee networks with cheap devices often result in ghost devices not responding. Matter even with the cheapest 2 dollar bulbs from AliExpress have zero issues.
Matter is not the network layer. You are either talking about Thread (which uses IEEE 802.15.4 like Zigbee) or WiFi. Matter is the application layer protocol.
We have a lot of devices and never have any issues. But yeah, if you put a lot of Tuya Zigbee devices with crappy firmware that flood the network. Similarly if you put a lot of crappy WiFi devices on your network, it's a security nightmare (wise people put them on an isolated VLAN and use WiFi client isolation).
Do you mean Thread or do you use Matter over Wi-Fi?
I use both, but preferably matter over thread when it makes sense (as wifi just uses so much more energy).
Reasonable!
I found a few wifi and bluetooth devices that were cheaper than or didn’t have a zigbee equivalent. Window fan and air monitor specifically.
I didn’t do an exhaustive market search, just sharing my anecdotal experience. It’s a great feeling to be able to focus on hardware capabilities and price, then will the software you envision into existence via AI accelerated RE.
Similar, with z-wave instead of zigbee. Except after installing two smart switches, a motion detector, and two smart outlets, I realized there aren't really any automations that I actually want. My porch light turns on and off at sunset and sunrise, through an electronic rube goldberg machine that could have just been a single photocell lightbulb.
Not contradicting or criticizing, just describing my lack of creativity.
I had a similar issue, especially for lighting, there is just very little to no automation I want. Which was a "problem" when getting into smart home stuff, because lighting was somehow the poster child and most recommended part.
My favorites are now air quality and climate measurement (the reason why i tried it again was mold prevention), climate control and a smart lock because i was scared of forgetting my keys when moving away from any friends I could hand a spare.
I wonder how long it will be until Claude starts refusing to do this kind of thing?
I pity those who've yet to experience running uncensored LLMs locally. Sure, they're not as fast as Claude, but they're still quite capable if you're patient.
Do you recommend any for your usecases where you have had success?
It was helpful for reverse engineering some perfectly good software that the publisher recently discontinued and bricked for existing users. Sure, you could probably try to fool Claude or GPT into doing it, but I'd rather not play mind games with my LLM to get it to do something it thinks is illegal. I also just like brainstorming with uncensored Qwen because it doesn't constantly spit cautionary verbiage and disclaimers like frontier models do. The Splash version of regular old Qwen-2.6 also just did a bang-up job creating a simple daemon for managing my Govee smart outlets over BLE (without Home Assistant or other crap).
There will always be models that won't refuse.
For most of these tasks you don’t need a frontier model.
What if it was security-hardened by Claude?
Vast majority of these devices are ESP32’s that have been flashed years ago with buggy firmware, sitting on shelves in a warehouse.
These are cheap chinese adware driven sensors. Security is not their priority.
Things are moving fast now, security issues are now on the agenda with various governments, these ESP32's may be patched by Claude sooner than you think.
Will they be that three years from now?
Probably, unless chinese companies change their business model and a secure successor to the ESP family arises. Low conviction loosely held opinion, shared bc you asked.
But why does that matter? My smart home upgrade cycle is around once every 5 years. The world is changing on a dime every 6 months nowadays. Projections beyond about a year out in the smart home market are useless to me as a consumer.
Based on my use of Claude Code Security in an appsec setting, I'm not worried. "Hardened by Claude" is aspirational.
I have some simple but strict rules:
1. Commercial devices must use offline only protocols, Zigbee or Zwave. If it's WiFi only I will not buy it unless the firmware is open source or easily replaced with an open source, local only alternative.
2. Non-sensor devices must fully function without their IoT features. I must be able to control my thermostat, fridge, stove, etc without any external interface.
Never use a WiFi IoT device that isn't open source. Even if you can control it locally it could be a spy device that's exfiltrating your data. Yes, you could setup VLANs or a separate network but it's not worth it. Vote with your wallet.
What devices do you use and/or recommend?
I've only tinkered around the edges of home automation, but so far most everything I've looked into is either proprietary and $ or open source and $$$. The sweet spot seems to be proprietary devices that are hackable and/or re-flashable to open source firmware. But there aren't many of those, they come and go constantly.
A large part of my goal for automation is energy efficiency, if I have to dump multiple hundreds of dollars into hubs, switches, plus, lights, and sensors, then I've only added work for myself and saved no money.
Most of my devices are Zigbee. They're inexpensive, easy, and have been pretty reliable. They operate on 2.4Ghz which may have a lot of interference in some places like dense apartment buildings.
There are a lot of vendors. I have a decent amount of SONOFF stuff, Schlage Zigbee deadbolts, Ikea Zigbee blinds, etc. No one makes a good Zigbee thermostat so I have a Honeywell Zwave.
I didn't know about those protocols, and also surely they don't really mention them in the title or product description usually. Also are they the most used average protocol? I don't wanna pay premium price for a reasonable offline feature which was always the default.
However, I tried to purchase from EU manufacturers so that, at least, they're GDPR-liable. Quite a few of them even advertise things like "Offline mode only available" or "NO account setup needed!" ... It was a FKN weight measurement device (one of those you put on the floor and step on). Id rather die a horrible death then give them any access to my WiIF or email account. i jsut want a damn number in Kilos and thats it.
And about people saying "OVERWRITE", "CHANGE", "HACK", or whatever. I mean, I used to do those things when I was younger, learned alot, but I simply don't have the time for that anymore and it shouldn't be required.
That's the whole point: these things should be the default, rather than requiring you to waste two weekends fixing a product you just purchased.
You can buy pre-flashed hardware such as Martin Jerry switches with Tasmota on it (OSS). Which is what i recommend for people trying their best to avoid tinkering.
Please please please use your first draft or refine it yourself without LLMs.
I managed to get to:
The cloud is the weak link
- No internet, no problem. ...
---
If you are writing for other machines to ingest it, whatever. But if you are writing for people it for me at least signals that you don't really care about the message that you want to get across, and are fine with a watered down LLM average.
There is a growing body of evidence that people prefer ai generated text when its not labeled as ai generated. However given the same text with ai generated label, all of the sudden people prefer human written text. Just a fun fact about our human biases towards "made by ai" disclosure.
I do not know how accurate that is. Assuming it is true, I think it's a similar phenomenon that happens with CGI.
Tell people it's CGI, they won't be enthusiastic about it. But tell them it's "practical effects" and they will absolutely love it. Even when the movie has even more CGI than average... they will still praise it, and will even praise the CGI scenes they failed to identify as computer generated.
Please point me to this growing body of evidence
got it, the first draft was a set of rough notes but i can clean up today.
I will be happy when this genre of whining fades away. Everyone has suddenly turned into the most obnoxious 7th grade English teacher imaginable. "I wanted to like your ideas, but you used lines from the reading assignment without quotes and 3 sentences had dangling participles. Plagiarism and grammar offenses, straight to jail."
If you're personally getting a headache from reading AI writing, all this does is transfer that headache to the rest of us. Thanks. /s
It is not about the grammar though, that's just proof. It's about the overwhelming feeling that whoever "wrote" the piece hasn't read it at all - so why should you?
i did draft it and i'm still getting better at the over zealous llm auto corrections. i dont like some of the phrasing either. i am actively cleaning it up and i do appreciate the feedback since there is value in refining my process.
> I will be happy when this genre of whining fades away. Everyone has suddenly turned into the most obnoxious 7th grade English teacher imaginable.
I will not be happy because we will be lost as a culture when we give up on this.
The issue is about moving the burden of verification to the reader.
Its like you went to a potluck and brought a salad with you, you just closed your eyes and threw some things from the fridge together without thinking, it's all mixed together now and you don't know if something was old/moldy.
You are proud and happy that you brought a contribution, and you feel like your responsibility/duty ends there while the people who want to eat it have to be careful and fish things out, or just avoid it because they can't be sure if it was old or not.
Natural language is a non-verifiable domain due to the ambiguity of the intent, so we will never get away from this issue in LLM-land. You can't know intent of the writer unless they wrote it themselves.
"This is written by AI" has become the new "First Post!" The complainers might as well just run an automated bot that posts it to every HN article, to save them the trouble of typing.
Yes, but the reason we might as well is because there's so much slop.
I think it interesting that people are more upset about the complaint than the cause of the complaint.
If this place — a place where people are supposed to be sharing interesting things for techies and geeks — gives up on complaining about thoughtless nonsense, its culture dies.
To me it's like complaining that the site hijacks the scroll bar or has annoying cookie popups. Yes, we all hate it. Yes, web sites shouldn't do it. Yes, it's something that should be pushed back on... But complaining about it adds nothing to the conversation.
I used to complain when web sites had huge whitespace margins on the left and right side of the text. I hate that! But most web sites do it, and complaining about it here accomplishes nothing and adds nothing to the conversation.
Isn't this just whining about whining?
Knowing a long doc is AI-written, you aren't going to read it either.
It's not missing quotes, it's "i didn't write this at all, I put zero effort into it, I don't know what it says, it may be made up". Claude is good for code, terrible at prose, it boggles my mind that people use it to write PR descriptions, let alone their own personal thoughts.
> It's not missing quotes, it's "i didn't write this at all, I put zero effort into it, I don't know what it says, it may be made up"
In this case the article starts with "AI;DR: I wrote the first draft, AI helped me edit and rewrite it, and I made the final pass. The rules, setups, and talks are my own" so none of that applies.
Smart home devices should stay on the shelf.
All this life-force expended calling for the market to provide something no normie wants. If you go no-cloud you get to also manage a fragile controller device, and you have to spend extra time researching what to buy and also spend more time when the devices break (which happens an order of magnitude more often than non-smart equivalents) and then your most basic home devices need to reboot for a firmware update just when you go to use them?
Get back from vacation whoops controller died nothing works?
Go to work whoops controller's hard drive filled up with logs now it doesn't work family home is freezing, tech support time? Better cancel that client demo!
How many hand-lightswitch-flips and thermostat hand-adjustments could you have done in the time you spent on this?
The only thing that'll ever make smart crap worth it, is fixing the law - and enforcing the laws that are yet to be enacted - so we can trust the companies we buy from.
Our generation is too naive to do that. So it's a couple decades from happening.
Until then, opt out.
Well, the post did say, “Don’t remove the old way while adding the new one. If someone tapes a wall switch on so a smart bulb keeps power, I skipped this rule.” Which, translating from Claudish I assume means “Light switches should still work”.
The local only requirement has always been a very strong reason I've never gotten around to dabbling in home automation in any serious way. All the stuff at most department stores phone home as far as I can tell. The research investment or other frigging about (e.g.: some fiddly method to flash Tasmota) has left me reluctant.
But I was looking at a couple of spare RPis I had laying around and decided to whack Home Assistant on one, just to take a look. I've now decided to dip my toe a bit further and ordered a Zigbee USB adapter, some Zigbee based buttons and reed switches, plus a couple of Matter based power switches which I hope will all work happily.
I'll also need to setup an IOT VLAN in my Openwrt router. (Not a networking guy, so also fiddly!)
Until now, my home automation endeavours have consisted of:
- A red, flashing LED glued into the ceiling near the front door that is connected to a reed switch to tell when the garage door is open.
- A light switch¹ which I managed to flash Tasmota onto so I can switch the lounge room lights on or off from the TV remote.
- An ultrasonic distance sensor that sits on top of my monitor that can tell when I'm sitting in front of my computer². It pauses the music and resumes when I leave and come back. It also nags me if I've been in front of the computer too long.
¹ I see no value in automated light bulbs. I want automated light switches. Unfortunately Australian electrical certification standards are something of a bear that make this difficult.
> A light switch¹ which I managed to flash Tasmota onto
Fellow Australian here, can you share the brand/model?
According to the 2018 receipt it was a "Sonoff Wifi Wireless Touch Remote Control Tempered Switch Panel".
Not sure it is available any more, but looks similar to this: https://sonoff.tech/products/sonoff-tx-gen2-smart-touch-wall...
And this was the firmware I used to replace it: https://github.com/arendst/Tasmota
Write your congress people. That's the only way this happens - manufacturers don't want to invest more into these products, and they don't want to give you a way of opting out of data collections.
1. Buy zigbee/zwave 2. Prefer things you can flash tasmota if zigbee/zwave is not possible. 2. Maybe use eMudhra for mitm and flash the unsupported devices.
"eMudhra" lol, joke aside, i think there is value capturing leaving your network to see what it could be sending. i know its possible on some devices but can be pretty hard from my understanding.
Certainly. Lots of point of failures in a house on that.
We've backed ourselves into a fundamentally silly situation: inventions intended to improve convenience and save time don't do either. They work "OK" then there's an update, and then you need to figure out what changed and how. And then it breaks, and you need to go troubleshoot what still works (if anything) and what no longer works. It's not more convenient, just more complex.
> They work "OK" then there's an update, and then you need to figure out what changed and how.
I don't allow my devices to update their firmware. If the device does not work out of the box, I return it, end of. My car has also been taken off the grid.
Apparently that's why the U.S. Navy switched back to physical knobs instead of touchscreens on their ships.
This is well put, and something I’ve been trying to put into words in regards to the trillion dollar AI industry. The convenience is very tempting, but the complexity doesn’t make it a reassuring dependency for decades into the future.
100% agree. Home Assistant is the brain of my smart house and my rule has been, for over a decade now, that all smart devices should fail back to being dumb and anyone in my house should be able to use the house without an instruction manual.
In practice this looks like Z-wave smart switches everywhere for lights so that you can control the light via automation, app, the switch on the wall, or Alexa. They all feed into the same system.
LLMs have made this even easier and removed some of the annoying fiddling I used to do in the past. Now I can open up Claude Code and tell it to build a new automation and it's done in minutes.
Yesterday I realized I left the floodlight on in the backyard by accident, not problem "Claude, create an automation in home assistant to turn off backyard light 5 minutes after I turn it on", done. Could I have created that automation? Yes, I've written countless of them in that past but now I can speak it into existence and, almost more importantly, tweak it with barely any effort at all. If tomorrow I buy a motion sensor I can just ask the LLM to incorporate that, if I want the lights to stay on if X other device is turned on, it's a prompt away.
In the past I would spend a good bit of time writing an automation but when it broke down or my needs changed it was enough friction that I would just give up and turn off the automation rather than take the time to debug and change it. I setup all the motion-activated lights in my house when I first moved in and over the course of a few weeks I tweaked each one as needed with just a short prompt here or there, it felt like living in the future.
the llm/claude part is what my next talk is about. having an agent write and tweak the automations is great as long as the switch on the wall still works when it gets something wrong.
This is why I hate the IoT (Internet of Things) it should be CoT (Communication of Things).
That speaker linked to your phone should not need an internet proxy to communicate. It should allow for direct USB communication so it can share one power source. It should allow for Bluetooth communication so it can be in a different close location.
CoT should follow the rule of nature and take the shortest path by default.
What is better for society? The LLM modal running in a local environment or the one running on a data center that can be easily taken out via a power outage, fiber cut, national disaster, or a kinetic weapon?
I rather that LLM modal used at the hospital be ran locally and keep servicing patients even though the original data center was demolished by mother nature.
It should have been Intranet of Things.
I just went on a little side quest this weekend.
My only IoT device is a motorized chicken door that was acquired on Mac.bid, I think (one of those auction sites for returned goods), and requires some crummy app (SmartLife) that takes up half a gig on my phone.
Long story short, I had to go on a journey that involved creating a Tuya developer account and navigating their terrible website and being panicked at my ability to reconnect the device, but eventually I landed on Homebridge connecting it to Apple Home, and I finally have the control over it that I want. I finally was able to block the device from the Internet in my Deco app.
So...yes! It's finally working without the Internet.
I've always avoided IoT because of terrible software and silos but now that apparently these aren't the barriers they used to be thanks to LLM assistance, I'm more likely to dip my toes in the water.
What this post describes is a long forgotten concept of progressive enhancement. A smart switch should provide "smart" functionality on top of "dumb" or rather essential/core functionality of a switch rather than only provide "smart" functionality without a fallback to the core functionality when e.g.. Internet is down
I wish Insteon had gotten more popular, Back in the day it was easy to get development material to write your own software or build your own devices. I really liked how the stuff all had a decent amount of capability on its own, or you could have a computer attached for more advanced automation. I still use a few Insteon things in my house, Still use a few X10 things for that matter. I really wish they had kept up their local support software.
The Eve home products seem to be a nice compromise between usability and privacy / independence- I just wish they had a broader portfolio.
Back when I first started automating my home, I didn't feel like messing with Home Assistant and finding server-side hardware that was compatible with it, so I got a Hubitat with Zwave (and a few Zigbee) devices. I keep meaning to look at Home Assistant again, I'm sure it's easier to set up, but the Hubitat has been pretty rock solid and pretty much "set it and forget it", with no cloud dependencies for general automation, it works fine when the internet is down.
Though I did run into a roadblock with my Blueair air purifier and hubitat, so I'll probably run a Home Assistant instance so I can control the Blueair with the HomeAssistant->Hubitat integration.
I have been using Hubitat for a very long time with the same personal policy of Zwave and Zigbee only. My setup has been extremely reliable to the point where I have had the same automations running for years at this point and have had no problems.
I have an electronic “fireplace” that relied on Tuya. Last weekend Claude Code walked me through getting a token from the Tuya dev platform and wrote a homebridge device for me so I can control the device in HomeKit. Gave the fireplace a static IP and firewalled it from the internet.
Pretty amazing the smart parrot can un-China/Cloud something like this in about 20-30 min. Prior to that I was expecting to need an IR blaster to try to control the thing with HomeKit and a complicated setup maintaining state. That’s all just solved now.
I can't keep blaming these for-profit companies. We can shame and boycott the worst of them but if their operating environment doesn't change new ones will keep popping up. We have to speak collectively with our wallets or speak up so governments govern practices. It could help if our feeds were more informative than dopamine slot machines so getting that changed is high on the list.
I have always only bought HomeKit compatible smart home devices as those have always worked offline. They also tend to just be much better than the general cheap crap that I see amazon pushing.
Home appliances should use open standards, allowing anyone to use any software to control them, including their firmware.
I totally agree, and if you asked consumers, most would care and prefer for their smart home devices to communicate as little as possible with the outside world. And yet the market keeps offering invasive products, the discrepancy is frustrating.
There should be a system like the nutritional information on food and beverage products, as time went by most people read those and choose accordingly, which then incentivize companies to adapt their offering. We could imagine something similar which would define clearly the capabilities of the hardware or software sold, clearly labelled on the physical package or on the online shop with an easy classification for consumers to understand.
I disagree. If you asked any Random Customer they don't care if it's local first. They want it to work immediately with as little set up as possible and they want to access it from their phone.
If they could get away without even having a Wi-Fi router and just use their cellular plan they would. Why? Because there are plenty people who are happy with just whatever internet they get on their cell phone and don't want to spend extra for a router and an ISP
This is the real problem. The non-HN crowd just wants to turn on the tv for the dog from work and watch them. They don't really care about security because they assume it must be good.
home assistant's iot class labels (scosman posted in this thread) are pretty close to that, at least for integrations.
I will take an even simpler version of this
Smart home devices should not freeze up whenever internet is down. A device like Google Nest should have the minimum decency to allow you to interact with it via local Wifi (which continues un-interrupted). It is fine if half the functionality doesn't work. It is fine if the "AI" doesn't work, but at least allow me to fcking change the temperature manually
Same thing with devices like Google Wifi which freezes up or run hot loops like headless chickens when internet is down.
> but at least allow me to fcking change the temperature manually
All Nest thermostats allow that, even the ones that are no longer supported by the Google cloud.
ANYTHING that does not absolutely need to be online, like looking at current news, current weather or such, should work without internet. Especially appliances. The more difficult it is to change it, the less dependent should it be of any cloud infrastructure. Anything built in the walls, must not depend on internet. Same for car functions, if a car should be good for 10 to 20 years.
I recently had a pretty extensive home renovation don after a kitchen fire--which din't have a lot direct damage but the rouse was pretty much cleared out. I pretty much didn't have any direct "smart" stuff. A few appliances are probably enableable but they aren't.
Author here. This is ten years of home automation rules, led by one: nothing core should depend on a vendor's server. Setup core is Tasmota, MQTT and Node-RED on a Pi. I've given this talk a few times and started working on a third for the agentic era. What's the most pointless internet dependency you've found in a device?
:( Your notes are probably more fun to read than the generic AI voice. Your actual notes are fun, but seeing the ~extra cruft from an AI writer in every line irritated me enough to quit before the end.
That's some good rules but if most products arent like that or these products with your requirements are more expensive, then is it really "OK"? This is a real big issue and isnt a technical one. Its not about if you have some obscure alternative or can hack it away in a weekend. The point is that 99% of home appliacnes or whatever, dont need a server or any concept of cloud or its jsut a feature which you turn on and off and nothing much changes besides backup or such. Also surely accounts or connecting your email isnt needed either.
Love your rules.
My personal situation imposes even stricter versions of your #1 and #2:
1. No network, no problem. Anything core to the house has to work with Wi-Fi or automation server shut down.
2. Smart functionality must not remove dumb functionality.
As one example: having a physical switch that controls a light and the switch can be operated by automation is good. Having automation control a light and the switch just tells automation what to do is bad.
This does make things hard sometimes. For instance, your sprinkler controller doesn't pass that bar. In fact the only one I've found so far that has a local API for automation plus full "dumb" on-device control (no Wi-Fi, no app) is RainMachine, and they are gone. If only OpenSprinkler hardware had a touch screen for local UI.
> 1. No network, no problem. Anything core to the house has to work with Wi-Fi or automation server shut down.
This is one of the reasons I love Zigbee, the device network is entirely independent of my computer network, can not directly communicate to the internet in any way, and every device I've put on the network so far can be configured to directly communicate with other devices so basic functionality remains operational even if the controller goes down.
For example, in my living room I have a Lutron Aurora dimmer dial locking a standard switch in the on position, then plugged in to the outlet that switch would normally control is a Leviton dimmer module. Both connect to the network controlled from a PoE Zigbee dongle, but have been directly paired as well so pressing the button on the dial makes it directly tell the dimmer module to turn on, rotation commands are sent direct, etc.
The controller also receives these commands when it's active and can add to the functionality for inputs like double-click, but if it's down the basic functionality still works entirely as a normal person would expect. You walk in to the room and see a knob on a switch plate, you turn the knob and the light brightness increases regardless of the state of the internet, my home server, or even my network as a whole.
The other major advantage compared to Matter/Thread is that it's not IP based so it's impossible for any Zigbee device to ever have a cloud dependency. No matter how much some marketing dingus might want to, it can not be ruined.
I tried to stick to this philosophy, specifically the part about it working even if my local automation server is down, for a long time. But I finally found an automation case where I wanted functionality where I could not simultaneously have the functionality and have the switch continue working when the server was off.
Specifically, I wanted the switch to turn on different lights depending on the time of day. In the evenings in early morning I wanted it to turn on the dimmer floor lamps, and during the day, I wanted it to turn on the brighter Center room light. This was not possible without turning the switch from a light turning on device, to an automation activating device.
I thought really long and hard about if I was worth the trade off, and in the end I decided that my automation server was only likely to be down for significant periods of time if the power was out and the lights weren't working anyways. If I run into a situation where this becomes a problem for me, I'll reconsider my decision. Which is a great thing about the local control. If I make a decision that I don't like I can just change it.
The best devices have a local web interface so you can control them with your computer (like how you control your router).
Unfortunately, almost no lan connected devices sport such an interface.
Shelly switches are great for this. For example, I have one behind a regular wall light switch for the front porch. The physical wall switch always toggles, but the local on-device script turns it on (if it’s not on) at sunset, and off (if it’s on) at 10:30pm. All configurable from the local web server. Only needs ntp (your choice) in case of restart after power failure.
There’s a pretty active ecosystem of ESP32 projects for HVAC systems. I’ve been working on a few that add Apple Home and Matter support with a local web interface for basic and advanced features. The web interface exposes things Apple Home or Matter protocols don’t represent well. Vane positions, different modes (dry, fan only), equipment diagnostics, remote sensor control, and even peer to peer communication for fully offline control (no WiFi needed). Plus it gets me a control path independent of the home automation stack. There’s a lot you can put on the device itself these days.
With another project, based on the ESP32-S3, I was able to cram grafana style scrubbable charts, full activity log, refrigerant circuit diagram, equipment topology, etc. I'm pretty excited for the ESP32-S31 since it's a nice jump up in performance.
I've bought multiple internet radios over the decades. The demise of them is always its dependency on a remote server which enables setting which stations you want to listen to.
The remote server always goes away after a couple years go by, and the radio is only capable of playing the stations that were set as presets. Then the preset radio stations go offline, or the URLs for them change.
same story as a meat thermometer someone told me about. the hardware outlives the server and still stops working. At least with opensource projects, if they are no longer maintained, its possible to fork and keep they going. hardware can be tough unless the device's firmware can be updated.
This is absolutely great stuff, but I think I caught you red-handed there. Alexa Routines break your fundamental rule!
Alexa is really convenient. i still think my rules still follow as long as core systems are still controllable offline. Which I really try to achieve through use of tablet on the wall (local wifi is still offline access in my head)
Basically any appliance is completely ridiculous to require an internet connection imo. When are you going to need to use a stove or dishwasher without being home? What value do you actually get from having a smart fridge that you can view analytics about from your phone?
the only useful thing about a smart fridge is whether if it fails.... i hope it would make a noise. One trick i used was a cheap ble temp sensor in the fridge that would report to the BLE adapter of a tasmota device that sends mqtt messages to grafana. then i would get alerts if it was open or something broken. happened a few times!
My non-smart fridge makes annoying noises when the door is open too long, and slightly less annoying noises the first time you open it after a power cut causes it to get too warm (I believe it depends on interior temp when the power comes back on?). It might make noises when it breaks in other ways, that thankfully hasn't become relevant yet
I guess connecting to home automation would be useful for a fridge that's sufficiently out of the way that you might not hear it. But for the fridge in my kitchen the noises emitted by the fridge itself are enough for me
How does the WiFi wall switch work? If WiFi goes down you can still click a light on and off? This is tempting as I have to leave all my smart lights on rn but do I really need to rip out all my light switches? Ugh.
Also anyone found the fix to smart bulbs constantly “updating”?
I just put devices like that on a wifi without internet access. Occasionally I'll need to grant internet access for setup, and then it goes back to being denied. Can't update if you can't download updates.
D’oh didn’t even think of that thank you!
Yes it does, smart switches have buttons that control the relay directly.
Also aside from maintenance there's no reason your WiFi should go down, an inexpensive UPS can keep it up for hours in a power outage. Even if it can't access the outside world, local routing works fine.
not all networking has to be routed publicly. many can still operate locally. the catch is, they want your subscription to them, when your devices are required to route publicly.
Use an infrared switch.
yes. mine are martin jerry switches running tasmota and the button drives the relay directly, so with wifi down it's just a normal light switch. wifi only adds the remote control. you'd swap the switch itself, the wiring stays.
ev chargers are the worst case of this imo. a lot of them only do the off-peak schedule through the vendor app, so if the cloud goes away you end up charging at peak. on some time-of-use plans that's ~$500 a year for the same car
Control over local api was pretty much my only requirement when buying an ev charger, ended up with one from go-e and it works very well.
Mine is based on a vestel evc04, and by default has a cloud option with some company saying "we'll do it, move your energy through us" etc.
You can connect it to any evcc endpoint like a local homeassistant, or simply leave it on all the time.
I'm not happy with guaranteeing high availability on my HA install yet (it's not as simple as my pihole which is just a simple vrrp address over the two hosts) though so I just leave it in "always on" mode, and use the timer on the car to come on at 2310 (offpeak starts at 2300 on my tarrif).
I'd be surprised if a charger is genuinely only available via an cloud service, but from asking my neighbours if it doesn't have "an app" they wouldn't buy it.
I'd rather have an API I could poll/poke for the charger rather than set the charger to connect to me, but alas it doesn't have one.
Please stop connected devices smart. Analog offline are better in other aspects.
There are many great Zigbee devices. You can use them as dumb devices or as connected devices that are fully local and privacy-preserving.
These days I mostly don't buy it if it's not Zigbee (unless I make it myself with ESPHome). Just this week we bought two panel heaters (for two rooms that need a little heating because our heat pump is mostly used for heating the living room and kitchen). They work great over Zigbee and we can have some useful automations (like automatically switching off when forgotten and there is no one in the room for more than 10 minutes).
As someone making a smart device, I can attest, it's not even that hard too, just make an MCP server so someone can use it with their local AI
I had a chuckle when I saw “ AI;DR “ nice will use it.
i like it... it shows that im being kind to the ppl that dont want to read AI assisted blog posts. i know that is big deal here so i least tell the truth about it.
I would be fine with an open spec for long term maintenance even if the company goes defunct. Or pulls the sort of bullshit Google did with Nest. Anyone involved in that who might be reading this can kindly go fuck themselves with a chainsaw. Twice.
And if I were the king of the forest, all medium to large appliances would run a controller board that is pin compatible with either arduino or raspberry pi so that the hobbyist community can refurbish devices that experienced a short. I won’t even make everyone pick a single standard. Two or maybe even three (ESP) are fine as long as we aren’t doing all custom just to count down a timer, run a pump, and sense water levels all at the same time.
Maybe not a space heater but dishwashers for sure. I’m divided stand mixers. Someone more invested could sway me either way.
Anything "smart" should work without the internet. Including Claude Code.
I don't know about you, but whenever someone calls something "smart" I usually know in advance that it's anything but. If you have to call it "smart" just so people will find it useful, then you usually know they've been sold a lie. I mean, there are exceptions, but most of these things usually make easy things harder, or it takes longer to get things long with them due to some latency, than just using some old school, manual, analog technology. Usually, but not always. Please enlighten me on where I'm wrong. Love to hear it!
Kind of like "smart" fridges... what's so smart? My fridge I just plug in, and it works. What could be smarter than that?
If it requires internet access, it isn't smart. It is stupid. But for some reason they hijacked the term smart.
There's entire legions of people who consider themselves Christians. But I notice very little, if any, compassion for those in need: the neighbors, the ill, the refugees, or even the children.
Same with DoD -> DoW, and AI -> super intelligence. I wish I was making those up, alas.
I'm not really sure what this is doing on HN tbh, as it reads like 2018 entry-level IoT talking points, but it's 2026 now, but regardless of that.
__
I suspect that for resilience reasons alone, we might see a shift towards connecting less stuff to the public internet.
Not because consumers would complain. No one cares about consumers - including consumers themselves. But because of the threat to the stability of the system, internet connected stuff poses.
The fridge meltdowns are an example of that, but you can equally stun an enemy economy by just messing with the smart lights in people's homes, as it is the people who work.. or don't because they're tired.
What would motivate companies to this shift? Some kind of tax or regulation? Companies don’t care about resilience, they care about selling things.
The state. With the power of a state.
Regulation, taxes, law. Can also just take over their business. Oh and they have military.
The state can do literally anything it wants.
It just often shouldn't, because a lot of escalative actions have quite the collateral.
But you don't need any of those to steer here.
EVERYTHING SHOULD WORK WITHOUT THE INTERNET. Yes somethings are purely internet and that's fine, but YOUR DEVICES, your phone, smart things, tvs, gadgets, anything that runs on something that executes code should be made to work if the server upstream goes kaput and then offer open apis to make them work. I have been lucky with the wired cameras and the tplink light switches that there is a python implementation to work with them, kasa it's called. EVERYTHING connected to internet in order to work is subject to enshitification, down to your friking playstation where sony decided to just remove your movies, or no more dvds. WHY THE SOLAR PANELS HAVE TO CONNECT TO INTERNET TO WORK? and then friking claude is too "pure" to write a mock for whatever they are contacting so 40k$ dolars of hardware can keep working... What a time to be alive! LOL
I live in such a more simple reality then a lot of people whom posts like this resonate with. I literally have two things hooked to the Internet in my house: my phone and laptop. Everything in my life functions fine, and I have just as much free time as most people as far as I can tell, and that's without a dishwasher. I do have a good assortment of scrubbers though...
If they can work without the internet, how TF do I scrape your data and sell it for a hefty profit? I made the equipment cheap so that everyone wants to buy it!
Oh I also have a under-the-table contract with some intelligence community for some backdoors. You know it's a lot more expensive for them to actually send someone to test physical security, than just pay a contractor to sit before the desk collecting data, right? RIGHT??
Maybe I don’t understand this stuff because I live in a small SF apartment and not a McMansion. But this stuff just feels like it would over complicate my life for no real gain.
I think some of this stuff helps even without a big house..
My current top use cases:
1. Smart locks that let you remotely unlock and automatically close and lock the door - you never have to worry about the keys/security of your home.
2. Automatically turning off devices when not needed. (Eg. When no one is at home, turn off all the lights and fans. Automatically turn off the water heater 10 minutes after anyone turning it on). This really cut our power bill because people just forget these devices after turning them on.
3. Scheduled actions and reminders - automatically water the plants daily for a minute in the morning, automatically turn on the water heater at 8 am during weekdays etc . The plant watering thing is very useful when going on vacation etc...
I couldn't connect a matter device to my Home assistant via an Android app on GrapheneOS because it relies on Google Play Services. So much for the open standard!
Sounds interesting but bounced off the claudespeak.
everything I buy will work without internet for sure, and all of the above is much better with Home Assistant at the helm controlling things (only issue is the constant updates which you have to keep on top of)
AFAIK Shelly devices require internet only if you do require its usage, and are happy with local IPs or bluetooth connections otherwise. I have two, driving the irrigation system, that once configured were locked in a basement with no signal and are still to this day doing their scheduled task.
Exactly, I firewall them off in their own vlan with only ntp (of my own choosing) to connect to.
Richard Stallman predicted this.
You were warned.
If you accept and thus consented to a computer, or a device with a computer in it, without first verifying you can write to the media of its software, control the boot process, and will have sufficient access to that software, you get what you consented to.
And, you deserve it.
Not sure why people are downvoting you, this is true.
My home automation rules are even simpler: home automation devices are firewalled off the Internet. If something does not work because of this, it gets returned, period. I do my research and only buy Zigbee or WiFi devices that can be hacked, so I haven't had problems so far. I also don't want any "smart" fridge, washing machine, TV, etc.
The smarts to run a smart home should live inside the house like an appliance.
Something anyone can use.
This would have been a great presentation without the AI prose.
> Below that is the chart from a few real days: 21 opens, with spikes showing when each one happened. Most people skip this part, and it’s the part that tells me whether I left the garage open without opening an app.
seriously?
Why? The internet is always on, when it’s off, you have bigger problems than your home automation not working.
outages are the small part. the bigger one is the vendor's server going away for good, like the nest api or the internet radios mentioned in this thread. then it's not off for an hour, it's off forever. I also like project like project nomad that are really think about these issues https://www.projectnomad.us/
And it usually does, but it’s a ton of effort. I have tons of devices, so far things that don’t work is Wyze camera and Mova (Dreame) vacuum. Midea, Tuya, Qingping, Deye, Aqara and bunch of others have Home Assistant integration over LAN and you can cut off WAN access via your router.
I recently moved into a new house where I went all in with automating and measuring everything. Every single door and window has a sensor. Every single appliance: switch, light, TV, computer and devices like wasmachines, garage doors, heatpumps, invertors, ovens, air filters is made smart and connected to my home assistant. I never ever saw the ui of home assistant. Everything is done with Claude and it works absolutely perfect. It would be a fulltime job to figure everything out manually. Also many devices like our heating floor manifold do not come with a build in Ethernet or wifi connector. I extensively used AI to connect an esp directly to its board. Once you got the Rx and tx working, Claude can reverse engineer the data streams and build a driver/integration for home assistant. AI is really super awesome here. Zero need for Cloud based crap like Tuya or smart devices requiring a cloud service account.
> Nothing core in my house depends on a vendor’s server.
How would you know?
You'd cut the access and see.
And ... how would you know? Faraday cage?
Unless it's law or AI becomes capable of rooting every device, it will never happen, most hardware gets out of the door with minimally functional software that only covers the immediate business need.
Software stack: if you don't want to spend too much time tinkering with the software, go for something simple like HomeAssistant with nothing else around and you will be just fine. For most people any software is more hassle than they desire, all the extreme customizations are not really needed. If you feel so special, home automation is not that special, not if you want mass adoption and convenience.
The internet is not the weak link, the internet is a security nightmare. You don't want a Chinese guy shut you off because all your Tuya devices can be controlled by them. You don't even want a random hacker to set your fridge to heat, like the recent France incidents.
Also, QR codes as a good UX? I like what you are smoking, it is very effective in disconnecting from reality.
I think a smart home hub of sorts should be something you can install in any home, like a water heater or an internet router. The hub connects to your wifi and manages all of your smart devices. You register your devices with it using a web interface that is only just like configuring a router
The web interface part would be the really complex piece I think. You would have to have some way for devices to tell it what features they have, so it could dynamically produce the appropriate controls per device
I dunno if this is really feasible to actually build but it's one of the only ways I can think that would allow average non-technical people to do this without having to administrate their own hardware and network settings and such
You have described Home Assistant. That’s exactly how it works, including offline if you need it and auto discovery of devices on the network.
Home assistant would be similar to the software side of things sure
I'm talking about a fully built piece of hardware that comes in every house like plumbing and wiring does
my next iteration i talk about migration to home assistant. at the time i started this process HA was very difficult to use and not flexible enough for me. that has changed.
Home Assistant sells hub devices with various connectivity radios, including the newest one they’re announcing tomorrow.
Cool, I guess I'm not alone in thinking this is a valuable and useful thing
Thanks for sharing this, I had never heard of home assistant before
I absolutely agree. If anything should work without the internet, it's:
1. smart home devices
2. your children's toys
3. your Siri when you ask to find something in your phone
and yet here we are. No internet? Siri can't find anything in your phone.
Oh my favorite is how Spotlight seems to randomly fail to find local files it was easily able to find yesterday, and starts searching the web instead.
I made a game about this a couple years ago, which made it to front page of HN! https://smarthome.steviep.xyz
Decades ago who would’ve thought that a computer could fit in the palm of your hand.
The future of smart devices is a local LLM running on every single one.
What use cases do you envision that go beyond the usual simple triggers and conditionals?
I could see using an LLM to set up more complex home automation rules that I am too lazy to set up myself. But for what kind of situations is it useful to have an LLM run the device directly?
That's way too much RAM to make sense, you could centralized it and run all home devices
The amount of RAM sitting in my house unused today is enourmous compared to the amount of RAM I had available 30 years ago. My 10 year old laptop alone has 32G. That's 1000 times as much RAM as I had in my entire house in 1996, and 200,000 times as much as 1986.
Right, so why buy more to put on each peripheral device when its 20x the price and you already have so much
I will never need or want a local LLM running in my light bulbs.