164 comments

[ 0.80 ms ] story [ 11.3 ms ] thread
I thought it was finally time to write up the story of my absurd home doorbell implementation, especially because the upcoming Samsung SmartThings API pricing means things will have to change soon.

Suggestions welcome!

We have a Ring doorbell that hooks into the actual chime that the old doorbell used, so it still preserves the old doorbell's functionality[1]. I can understand not wanting to buy into the Ring ecosystem (we started using them before they were bought by Amazon), but maybe there are cheaper doorbells that also do that? All we had to do to make the old chime work with the Ring doorbell was install an extra widget that came with the Ring doorbell inside the chime; the Ring doorbell's instructions explained how to do it. It just needed a screwdriver and a few minutes' work.

[1] More precisely, we did until we moved to a manufactured home that did not even have a doorbell installed, after which I had to do some jiggering (now we have a Ring chime that the doorbell can talk to over the house's LAN). But the setup I describe above worked fine for a number of years in the house we were in before.

Oh our London flat has no pre-installed doorbell at all! This is surprisingly common and everyone just knocks.

But yes, there were definitely other ways to solve this problem.

I'll have to check the latency of my 'smart' doorbell now. I have occasionally heard the doorbell, taken the obligatory time to find the key to unlock the door to find that it was just a package delivery, but enough time had passed that the courier was nowhere to be seen.

(Yours wasn't a latency issue though, what kind of latency do you get with your 5-cloud services chain?)

Also, interesting about the SmartThings API access moving to a subscription model: https://hackaday.com/2026/07/28/samsungs-smartthings-api-ter... (this link is in the article - the cost is only for third party usage, not if you're directly using the SmartThings app).

It takes a few seconds, but a lot of that is just the HA polling interval.
> the upcoming Samsung SmartThings API pricing

Imagine paying a Korean company five bucks a months so you can get a notification on your phone that your fridge needs a new water filter.

People really need to touch grass.

Why does it matter that it’s a Korean company?
Money and personal data going out of the country is not a good thing.
Personal data going to companies in the country one resides in is also not a good thing.
The idea behind it was probably "Some company on the other side of the world"
Exactly. I’m not racist against Koreans. I’m racist against foreign conglomerates.
I have a similar problem, except I needed to ring the actual doorbell. Currently I'm using a HomeKit-compatible video doorbell that communicates over proprietary radio to its wifi gateway that triggers a HomeKit automation (which presumably runs on my Apple TV as the hub) to turn a Shelly relay on for one second to do the same thing as pressing the doorbell button. I think this all ends up just using my internal network, but who knows. Thank goodness the Shelly relay can get a wifi signal while stuffed into that electrical box in the basement ceiling.

(The actual doorbell button is still there too, so it's a crapshoot which one somebody decides to use in the first place. And yes, many video doorbells have a "chime adapter" to take care of this, but our house's doorbell wiring made them run in fear.)

My suggestion is throw it all in the trash.

This is absurdity.

I’ve recently been looking into what older gen IoT devices I can buy used for cheap and are also hackable (some existing progress has been done before me is my bar). My first adventure was with an Amazon Echo Dot 2, I picked up two off Facebook marketplace for $5 each and managed to vibe code my way into a working implementation of LibreEcho (which does not currently support the echo dot). I’ve got that wired into my home local AI brain so it can do tasks like add grocery items to shared notes, or download movies or TV shows (jellyseer+flexget+jellyfin+etc).

My next plan is to do a doorbell. I want it fully local only and I know there are providers who offer this brand new for $$$ but I love the idea of picking up cheap IoT devices and hacking them instead. My current candidate is EZVIZ DB1C but I haven’t bought it yet and definitely open to suggestions!

Amazon had these little Dash buttons about 10 years ago. The goal was you would click one, and it would re-order that product from Amazon. Many were branded.

Basically just a wifi button. I hacked one so I could, in my brain fog, record the moment i started and finished feeding my infant by sending a ping to a server via a simple click.

There's a bunch up on eBay. Could probably 3M tape one beside your door. Easy solution, esp if it's shielded from rain.

Oh, can a Dash button talk to my Google home mini? I imagined it would be the same problem I currently have.

A zigbee button/doorbell would work well, but then we'd have two buttons on the front door unless we hid the Blink's integrated button somehow.

This is cool! I have wanted a button I could slap when I sit down at my desk that sets off an hour timer to get up and stretch.
What about building something from scratch? Or is it the repurposing you like?
I looked at that at first but man you can’t beat $5. I was looking at a build which was $200 in parts just to get started. It’s also no simple task to build a mic array that is separated from speakers and having a decent speaker cavity etc. my skills with speaker chamber design and 3D printing are no where near my programming skills.
What’s your home local ai setup?
3090 GPU, Qwen atm, but probably going to switch models at some point.
It's crazy these things don't have much interopability with third parties.

Is it so difficult to expose a MQTT thing or some other random HTTP server, default off but configurable in some developer settings, that could be used to control the device/read state? It would certainly make the minority that is us power users happy.

Not exactly home gamer stuff, but there are devices like the Axis cameras which can push to a configured mqtt.

Generally ONVIF is the protocol one should be looking for in a camera, it indicates that the edge device can play ball with a central server (Frigate, Blue Iris, etc). Profile M specifies the metadata into external mqtt:

https://www.onvif.org/profiles/profile-m/

There are plenty of devices that support a lot of integrations.

However, those companies don’t make the kind of perpetual revenue that bring in capital, and the companies that make the devices that don’t make you pay for their service end up not lasting as long as those that do.

Sadly, it seems that the prudent business decision is to lock your customers into your ecosystem.

I take it the house wasn't wired for a traditional doorbell and you didn't want to drill the necessary holes in the doorframe and wall?
Not sure if Blink is more locked down but Ring works alright with just Homebridge + HomePods
> ...then it would also helpfully play a sound on the doorbell...which we could not hear.

Sounds like a feature more than a bug.

I fail to see the relation between a video doorbell and stopping a burglar. Burglars wear masks.

Also, a doorbell ringing on the outside of the door is not only silly but in case of an apartment complex highly annoying for your neighbors.

And make sure your neighbors like being monitored through your five services.

Personally I have a button outside my front door. It is connected with a copper wire to the other side of the door to a small device that sends out an audible notification. No cloud required.

You can have a camera doorbell using your copper wire.

With a video doorbell you can get notifications when a person enters your property. You can notify police or neighbors if it’s a stranger

Criminals don't just rob random houses.

If they are going through the trouble its because they know there is something of value in there and a camera is not going to stop them.

A camera is only going to dissuade crimes of opportunity, its basically just fancy lock.

> Criminals don't just rob random houses

False, opportunity theft is the most common form.

Better doors/windows/locks help the most, and help against both opportunistic and targeted.

lol.

the only robberies that get 'attribution' are cases where the criminals get caught. i.e. low hanging fruit and thus these statistics skew to opportunistic events.

however, unplanned opportunistic crime makes for good promotional sales of window bars and strong locks. just like safes with electronic keypads.

very few such devices will stop a premeditated theft... and what is the rate of recovery for stolen goods in most jurisdictions?

Perhaps where you live, in my country petty theft is extremely rare.
> Burglars wear masks.

Around here, they wear hoodies and keep their hood up to obscure their face.

I think you should complete the decision matrix regarding mask wearing:

Wear a mask and the victim is home: they know you are about to rob them and can prepare. Run away before the police come

Don't wear a mask and victim is home: make up a fake reason you pressed the doorbell, or up the ante to a home invasion and risk getting shot.

Don't wear a mask and the victim is not home: proceed with burglary but face is recorded for police.

Wear a mask and victim is not home: profit.

It's not as simple as covering up. Plus you still risk leaving finger prints and DNA

It's about risk, even one time where we noticed buglers and just turn the lights on, they left. Just the fact they're getting noticed might be enough.
Peak Home Alone behavior right here.
I am constantly amazed that people rely on anyone else's compute infrastructure for things like doorbells, cameras, locks, switches, or sensors (network infrastructure is, at the moment, a seemingly acceptable integration for isolated communication.) There is inevitable over-pricing and capture by these companies; it's in their nature.

Add to this the security and downtime risks, and the equation really doesn't look good. Equipment that is tied to someone else's cloud is an astonishingly bad idea, but everyone has their own immediate (or even long-term) reasons for ignoring advice. "You get what you deserve."

(comment deleted)
The notion disgusts me. All of my shit is open source and locally hosted.

I couldn't find a front door camera I liked so I ended up building my own from parts.

Having worked for "the cloud" for years, I tell everyone I know, there is no cloud, there is only other people's hard drives.

gross, everything I own is smelted from raw silicon that I sourced from the beach down the street.
> "I am constantly amazed that people rely on anyone else's compute..."

We live in a bubble. Reading stuff here means you understand things about computing barely 0.1% of the world population understands the possible consequences. Of that 0.1%, plenty do understand the consequences and still choose the convenience.

For these companies, they just need to convince everyone else, for whom they have no possible conception, understanding, or even words to imagine the Orwellian Rube-Goldberg-like machine that is modern day SaaS.

It isn't so much "get what you deserve", so much as society writ large is getting what it deserves for unregulated advertising slop and re-sale of consumer data.

>an over engineered

It’s not, that’s called a duct tape solution, which is the opposite of engineering, that’s poor design and bad practice, there are so many failure points and moving parts that it’s eminent it will fail. The engineering design should be reliable, simple, and efficient. Instead of that cluster chaos you made, you could have had a relay wired inside the bell that simultaneously trigger a normal and simple electric-based bell, so it works for you and the other person.

in the age of LLM's this is all too common.

"look at what i can do with the assistance of an LLM"

shows an rube goldberg construction sure it works. but geez support and security is a nightmare.

A lot of these people are making healthy 6 figure salaries and have been told how smart they are their entire lives.
The interesting thing here is that Samsung thinks they are going to get people to pay for API access to their smart devices, when "app access" is free. We are now past the point where LLMs can automate the apps. You don't even need to write the code, the LLM will do it for you.

As a recent owner of a Samsung fridge, I'm really curious to know what the plan is here. The probability of me paying a monthly for my refrigerator is exactly zero.

(comment deleted)
Go to a party with a diverse group of friends and ask people what an API is.
this is one reason I haven't replaced my aging eufy stuff.

next round of outdoor cams and doorbells are going to be wholly selfhosted.

if they live for another 9 months I'll have the budget for it.

So... you already owned Google Home minis... why not buy Google's Nest doorbell, which rings every Google Home device out of the box with none of the absurdity? If you have a Google 4k TV Streamer, it even pops up on your TV when someone rings the doorbell...
When I started my search, I thought this £30 doorbell would be good enough and I wouldn't need the £180 Nest doorbell. Little did I know...
I am super sensitive to over engineering. For my doorbell I wanted something that lets me play a custom bell sound. You would be surprised that 99% of the solutions out there are complete over engineered stacks that depend on wifi devices, Internet access, connecting to various cloud services... So I built my own: a basic wireless button sends a radio 433 MHz signal, and my receiver is plugged inside the house and triggers an off-the-shelf playback PCB module that reads an MP3 off an SD card and plays it on a speaker wired to the module. No Wifi, no Internet, no cloud, no apps. And the rare times I want to change the sound, I update the MP3 on the SD card.
You are super-sensitive to over-engineering, so you over-engineered your requirements and ultimately your end product, just in a different methodology and framework.
(comment deleted)
The requirements are not over engineered. They are what they are. Wireless and configurable chime. They are fixed parameters.

But my implementation of these requirements is absolutely not over engineered. I argue it is the simplest and most reliable it could be done.

Two ESP32s. One has a button, one has a speaker.
> For my doorbell I wanted something that lets me play a custom bell sound

But... why?

As a former embedded systems engineer, my door bell is two long bits of wire, a bell, a push button and two C cells.

My light switches are similarly complicated.

Two wires and two C cells? Careful, someone is going to put a subscription layer in front of that
"Only works with Juicero brand C cells."
Is it still easy to get C cells? I probably would've used an 18650 or some AAs.
Current delivery and longevity still put C and D cells over AAs, that’s the main reason they are/were common in doorbells. And while 18650s would be equivalent to a C, they would require a charger most people don’t own already, as well as the usual liion safety issues. I’ve heard horrors of folks putting 18650s in to nimh chargers with sprung terminals :/

As for availability, they are certainly very obtainable where I am in UK. Shops and Amazon etc have them.

No issues here in UK. 18650s have high self-discharge rate so are useless for standby applications. AA's are, well, AA's. So you'd have to replace them more often. Not what you want to happen with a door bell.
I use adapters for AA cells. It's just a plastic tube the size of a C cell that you snap an AA into. I have to replace them more often but I use rechargeable AA cells so waste is not an issue.
Nah, for light switches I'm all-in Philips Hue because it's both pretty and convenient. Plus LEDs synchronized with that via House Assistant.
As a former embedded systems engineer, my door bell is two long bits of wire, a bell, a push button and two C cells.

I know a guy who lives is a 1700's-era house. His is a bell, a pulley, and a string.

Which part of that system is connected to wifi? I guess kinetic energy from the bell can be enough to send a zibee message
Nonsense, complete over engineering. I have a door, and people knock on it.
I have an overengineered wifi doorbell, and I've yet to have a delivery where it was used over knocking on wood.
Seriously. Everyone that id want to actually press the button just pounds on the door. The door to door people in particular have figured out they can’t be easily told off.
I haven’t had a delivery person knock in quite a long time. Package deliveries haven’t knocked in close to 20 years. I’ve even noticed DoorDash drivers don’t even knock anymore, they awkwardly stand in front of the porch and try texting. I now open the door as they are walking up to the porch to avoid that. I don’t know if it’s a policy or some kind of shared anxiety, but I find it really weird.
I had one food delivery driver call me while standing in the middle of the street. Seemed like he was afraid to approach and knock or ring. So strange.
Do you perhaps live in places where people answer the door with a gun in their hand?
Some people get really weird if you approach their house in a way they don't like. I imagine if that happens a few times to you as a delivery driver, you might be more cautious.
I know people like this, but would assume if they ordered a delivery that the person would be expected and not a cause of alarm. If someone can’t handle a person coming to their door, they shouldn’t be allowed to use delivery services.
> would assume if they ordered a delivery that the person would be expected and not a cause of alarm

The problem is they've probably gone to the wrong house before and met an owner who got defensive.

Wow two wires? Sometimes people could make do with only one!
I would want my light switches to be off when I click a special button at my bed, so when I want to bed I "turn off everything, and make sure garage is closed". Unfortunately two wires don't work there.
ZigBee button, double sided scotch tape, Zigbee dongle, HomeAssistant on RPi with a speaker.
Yeah this would have been my answer, except for one catch: what do I do with the existing integrated button on the Blink doorbell?
I presume you want to keep the Blink doorbell for the camera functionality?

Then I guess 3d print a casing that just puts the ZigBee button on top of the integrated button?

Yeah, will probably have to consider something like that.
That is exactly over engineered crap I want to avoid. I don't want my doorbell to depend on networking or a full blown Linux stack.
To be fair, if you already have a Zigbee network, this is a rather cheap and elegant solution.
Exactly, if you already have such a setup in place it's basically ordering a button online, e.g. https://sonoff.tech/en-eu/products/sonoff-zigbee-wireless-sw... then next day slapping it over your existing setup or sticking it on the wall then deciding what you actually want to do with it, e.g. phones notifications, sound on as feedback for mailman, logging events, etc then adjusting conditions e.g different sounds after sunset, dedicated audio if away but expect parcels, etc.

But honestly, even if you have nothing, if you know a bit what you are doing with IoT with HomeAssistant if you buy the right hardware (i.e. verified as working by others, e.g. the Sonoff ones typically) it's at most an afternoon of tinkering for a setup that will reliably work for years.

Two wires, a button, a bell, and a battery pack.
string, hole, brass bell.
String breaks. Hole attracts insects. Bell is too quiet or too heavy.

Now we're in "under-engineering" territory.

Test your string regularly and fill your hole. That should keep your bell ringing.
> You would be surprised that 99% of the solutions out there are complete over engineered stacks that depend on wifi devices, Internet access, connecting to various cloud services...

Interesting context you live in. Here in east europe, 90% of devices you find on eshops are cheap chinese buttons with AAA batteries, that emit signal and another reciever device that plays sound. The sound is not customizable, but it is super cheap stuff.

I would have to go out of my way, to find cloud connected doorbell.

"The sound is not customizable"

This is EXACTLY the problem! Try finding one that I can customize with my own chime and you will only find expensive, unreliable, over engineered stuff.

Than you are perhaps under engineering. Buy generic button that integrates into smart home, and trigger sounds on your home theater.

Or buy 5, and decide which tone you like most.

Pretty sure I have inherited some of your codebases.
Almost any smart product these days starts with a couple of basic assumptions:

- All consumers own smartphones and like using them

- Consumers have no idea how their home networking works

- Consumers could not move a file from their computer to an SD card (or something similar)

So, everything is done by the app: you install the app, the smart device broadcasts a wifi network. This allows you to use your phone to give the smart device your wifi password. Then the remote servers handle everything else.

There's nothing in between. You're either an actual engineer, as mrb describes, or you're just beholden to cloud services that are terrible and also are guaranteed to disappear in 0-3 years.

There are some intermediates but they're often not that well supported. I have a door bell with a traditional app but it also exposes a normal IP camera stream and has a community (I assume) home assistant integration that lets me perform actions when one of the doorbells not connected directly to a chime trigger.
I think as a hacker/engineer type you’re more aware of what’s possible and because of that you expect more from things in your life. The flip side of that is that it makes features most people would never think of feel like table stakes and combined with the ability to build your own solution - IMO leads to over engineering.
I’ve used a Ring doorbell for over a decade and have never been able to get it to work with a physical doorbell. In two different house, with additional power dongle and after replacing transformers, every time I have it trigger the mechanical doorbell power drops enough to brown out the Ring leaving it in an unusable state until I power cycle it (which means disconnecting the transformer in the garage, at the bell, or behind the ring; all of which require disassembling something). I’ve searched for solutions and have come up empty, but have a similar problem to the linked article. My phone is typically on silent and I ignore the notification due to notification fatigue.

I like just about everything about the device, but I just want to have a normal door chime again.

I wonder is there a market for portable EMP guns to disable crap like that? I mean, it's pretty trivial to make one out of shocker, some foil and a ditched microwave oven and it will kill most any electronics on sight.
This seems way overkill. I understand that that the OP didn't want to pay a subscription, but a really quick google showed that Blink makes a $30 product that solves this exact problem (not being able to hear the doorbell inside), the Blink Chime, which plugs into an outlet and then connects to 2.4Ghz, not requiring a subscription.

I guess $30 for what is effectively a glorified chime for your door is a bit much, but considering the time it probably took to put together this (kind of over-engineered) and the (presumably) monthly cost of the VPS, it makes more sense.

Also, I feel like something like MQTT or another message broker could simplify this significantly, making the whole VPS /state endpoint unnecessary, without exposing your home mini pc to the internet, since the mini pc would connect to the MQTT (I think HA actually has a built in mqtt integration? although you'll still need to make something to process the message once the MQTT gets it) and the SmartThings API would also (assuming the processing after the SmartThings API is hit is customizable in some form)

Yeah, a Blink chime is definitely a solution. But after feeling like I got a great deal on a cheap doorbell, I didn't want to buy yet another thing from them. I also thought it would have been easy to play audio on the Google home and so I started tinkering and then got carried away.

MQTT was an option, but it actually felt like overkill to add an MQTT server on my VPS than just a tiny Express server. (But who am I to talk about overkill here.)

The wonderful reality of Web services.
I have got a cheap candy-land made doorbell that's operated via piezo crystal switch (non-battery, non-power-line) and 433MHz freq. It has some melodies and volume built-in,

The design is simple and easy to hack (and build something else). There are rather cheap light switches that operate on the same principle and can be used.

what's the latency when someone pressed the button and you hear the bell?
I was going to ask, because any latency means picking up packages at a random pick-up point.

My office is in the other end of the house, and most package delivery service press the doorbell and starts working away instantly. While that's also a bit extreme, I can't expect them to stand around for more than ~30 seconds.

It's just a few seconds and a lot of that is the HA polling interval.
for me its about speed of light + speed of sound
Every individual product is "easy", but the moment you want two ecosystems to talk to each other you become a part-time distributed systems engineer