8 ms·
Privacy friendly ESP32 smart doorbell with Home Assistant local integration
- joelthelion 3y agoIs there a manufacturer that sells these things pre-assembled? I'm sure quite a few people would be ready to pay good money for privacy-respecting, open-source hardware in this area.
- LeafItAlone 3y agoGreat project! I love to see the various ESP32 doorbells that makers come up with. It would be nice to see some example videos or pictures. I’ve played with ESP32 Cams in the past and, while they are impressive for what they are, they weren’t at the quality I, personally, would want. Granted, my smart doorbell use case is more security focused than just general “is someone there”.
- kitanata 3y ago[flagged]
- 2Gkashmiri 3y agoWhy not use a pi zero if you have it at hand?
- matthewfelgate 3y agoThen you might be able to do two way audio and video so you can speak to the person at the front door remotely.
- adolph 3y agoAn MCU uses less power, is faster to start from a quiescent state and typically is lower cost than hardware intended to support a full operating system. That said, there are some who flash Pi Zeroes as "bare metal" or no operating system: https://github.com/dwelch67/raspberrypi-zero https://github.com/dwelch67/raspberrypi-zero
- yardie 3y agoESP32 is such a rabbit hole. I have so many projects using or in development with them. And now I have another one to keep in mind. Thanks OP!
- styluss 3y agoWhich ones are you building?
- yardie 3y agoLED strip light controller. The cheap ones have none or limited integration with most HA platforms and I can't justify spending on the more expensive ones just to add Homekit. AQ monitor. I work indoors a lot and I think the migraines I've been getting might be caused by dust, VOCs, or pollutants. So will be good to back that with some data. Robots. Lots and lots of robots. Some roll. Some walk. None of them do anything useful. :-)
- stavros 3y agoHere's my RGB (not WS2812) strip controller, for inspiration: https://gitlab.com/stavros/gamelights https://gitlab.com/stavros/gamelights
- hnbad 3y agoBased on reviews I've seen, the Reolink doorbell camera seems to be the only commercial option that fits the author's requirements. It works locally and can be integrated into Home Assistant. It does however require a separate app for the intercom but the author's homegrown solution does not seem to provide any audio communication and there doesn't seem to be a way to have two-way audio in Home Assistant directly, at least not via the camera protocol.
- EthicalSimilar 3y agoUniFi Doorbell? It doesn’t require a cloud connection and remains local, can be integrated into HomeAssistant / Scrypted / Homebridge.
- nolan879 3y agoUniFi doorbell requires a UniFi NVR, and maybe UniFi console/ AP. The non-pro doorbells require wifi. POE is only an option on the with the Pro doorbells via a proprietary USB-C to POE cable.
- EthicalSimilar 3y agoThe doorbell doesn’t require a UniFi NVR. They have released a standalone POE product, separate from the WiFi offering which has the USB-C to POE cable. The console can be self-hosted on any device.
- samch 3y agoI am currently using 2 of the G4 Pro doorbells. They are direct PoE to my UDM-Pro SE without any adapters. The recordings are stored locally and are private.
- vetinari 3y agoYour UDM-Pro-SE is where you run your Unifi Protect. I.e. you need to have another device from the same vendor that supports NVR functionality. The above mentioned Reolink doorbell will happily run with any NVR from any other vendor that supports relevant standards (ONVIF). Or even without NVR (it has microsd slot for local storage on device).
- bombcar 3y agoAll I want for these IoT things is being non-cloud dependent and PoE. I will run a billion wires before dealing with stupid batteries that keep dying, and they’re getting so expensive, too.
- wkat4242 3y agoThose batteries are really annoying yes. Also these battery devices tend to be unstable. Every week I have to either re-pair something or swap out a battery. When I get my own place I'll get KNX.
- mtreis86 3y agoYep. Running the wires once is a big pain but it is linear at worst, more devices requires more wires, maybe even log growth since you can branch at junction boxes that already exist. Changing the batteries once a year is only a little pain, but it adds up fast when you have dozens of them, and it takes place routinely so it no better than linear growth.
- bombcar 3y agoThe door lock not being able to unlock because the batteries had died trying to keep marginal Wi-Fi operating was the kicker for me. Very annoying.
- Whatarethese 3y agoPretty much all door locks have apps which will tell you weeks in advance to change the batteries. I have a Schlage that has been rocking 4AA batteries for over 2 years.
- galangalalgol 3y agoHome infrastructure for power and data is due for a switch. Copper is expensive, and running 120V at 15A everywhere is really overkill with a 3w led bulb being blindingly bright and needing dc. Electronics largely are all hooked to USB-c chargers at this point. The poe to USB-c splitters are largely 5v at this point, but poe can produce over 70W depending on type, so it doesn't have to stay that way. Ideally, daya could be bridged as well, plug in usb-c start charging and it looks like a network adapter too. The number of things that need more than 70w isn't that high. Kitchen mostly. Bigger TVs. Real beefy laptops or desktop computers. If they made a new POE standard that could support USB PD3.1 you could run anything outside the kitchen other than the a/c. That would probably mean a new cable standard though. Even just as things stand, POE could largely replace electrical wiring outside the kitchen.
- nilsb 3y agoDoesn’t the ESP32 have internal pull-up resistors, thereby making that extra resistor unnecessary?
- dtgriscom 3y agoIt's a pull-down resistor.
- dewert 3y agoI believe there's also an INPUT_PULLDOWN option, at least on some of the pins.
- _Microft 3y agoI wonder if the following would do the trick at line #47 [0]: pin: number: GPIO14 mode: INPUT_PULLDOWN This is a suggestion based purely on two minutes of web search, not on experience, though. [0] https://github.com/thatguy-za/esp32-cam-doorbell/blob/main/esphome.yaml#L47C1-L47C20 https://github.com/thatguy-za/esp32-cam-doorbell/blob/main/e...
- blackfawn 3y agoThe ESP32 does have internal pull-up and pull-down resistors on certain pins. I believe GPIO14 on this board maps to GPIO22 on the ESP32 chip (mismatched IO pin labels is bit of a pet peeve for me!) which does have pull-up and pull-down resistors that can be enabled. If it were me, I might tie the doorbell switch button from GPIO0 to ground. This pin has a pull-up resistor as it needs to be high to boot normally. So this has the added benefit that you can hold the button in when you first power the device to put it in flash mode, which also eliminates their "Make sure to get one with a “flash/download/io0” button" warning. If you have an "old fashioned" 24VAC line, you could add a rectifier and buck/step-down power module to drop that to 5VDC. Or just unhook the 24VAC transformer and install a 5VDC one. It would have been neat to see how much the RGB ring lighting up white helps in no/low light cases. All in all, nice writeup!
- codedokode 3y agoIs ESP32 "privacy friendly"? Is its firmware fully open source and contains no backdoors?
- dewert 3y agoWhile I get your point, I think it's a case of the perfect being the enemy of the good. This project is miles away from being a Ring doorbell. I guess the author found the ease of use of an ESP32 to be an acceptable tradeoff (or didn't consider its firmware to be a problem). Others may feel differently, and can modify their build accordingly.
- zamadatix 3y agoThe ESP32 can barely do what you want it to, let alone also run a yet undetected meaningful backdoor which will impact your privacy.
- Mister_Snuggles 3y agoAnd even if it did run a backdoor, you've got all of your cameras on an isolated VLAN which can't access the internet (or anything else), right?
- chaxor 3y agoBlock it at the router level to allow only LAN?
- jan_Sate 3y agoWhat would be a good alternative that doesn't have binary blob tho?
- adolph 3y ago> Is [Espressif] firmware fully open source and contains no backdoors? Their SDK is Apache licensed but does include some compiled radio-frequency stuff: https://github.com/espressif/esp32-wifi-lib/tree/master/esp32c6 https://github.com/espressif/esp32-wifi-lib/tree/master/esp3...
- bloopernova 3y agoofftopic: My wife has fairly extreme ADD and loses stuff a lot. Tiles only work to locate something within a certain distance, and often seem to break. I know it's a longshot, but has anyone here created a home positioning system for home that can use Bluetooth low energy beacons to locate objects to within a couple of centimetres in 3D space? More ontopic: ESP32s are pretty amazing. Although I've not been able to keep mine stable and connected to wifi with MicroPython or CircuitPython, the range of stuff that's possible is astonishing. Mine is fairly old, I probably should get a newer one to see if it makes a difference.
- Berazu 3y agoDIY Airtags: https://github.com/seemoo-lab/openhaystack https://github.com/seemoo-lab/openhaystack
- VectorLock 3y agoThanks for sharing this, really cool how they can piggy back on the Apple "Find My" network.
- bloopernova 3y agoThank you!
- deleted 3y ago[deleted]
- sintezcs 3y agoI have ESP32 devkit board running micropython that is connected to Wi-Fi and MQTT and publishes sensor readings 24/7 for weeks without any issues
- bloopernova 3y agoWhat type of ESP32 is it? S3?
- 3y ago
- tristor 3y agoVery relevant to my interests. My plan right now is when we send my teen off to college to build a house to passive house standards, and in the process wire it up to do all the smart home things in a locally controlled/non-cloud manner. Local cameras have been a thing forever, as is local access control and thermostats, but video doorbells surprisingly have primarily been cloud based in their history. I haven’t gone super deep into home assistant yet, but my plan is to use a mix of direct control and HomeKit commercial offerings.
- LastWeekendWas 3y ago"Privacy friendly" Time was, if a neighbour insisted on daily filming a family entering and leaving their own home, they would have been given a smack in the mouth for being a nosy bastard. Quite how recording your neighbours has become socially acceptable I will never understand.
- NegativeK 3y agoDue to the prevalence of porch pirates, people compromised. I refuse to have cloud connected cameras, but I understand why my neighbors have made the choices they have.
- shellfishgene 3y agoClearly the porch pirate problem is best solved by the delivery people not leaving stuff on porches. This does not happen in other countries.
- Null-Set 3y agoWhat do the delivery people do instead?
- teddyh 3y agoYou get an email, SMS (“text message” for non-Europeans), or a paper in your (physical) mailbox informing you that you have a package waiting at such-and-such a place (within walking distance if in a city), or there’s a reference to how you can choose your pickup spot from a handful of options.
- nine_k 3y agoIn a city, porch piracy is a non-issue if you live in an apartment building with a lobby. You can open the door to the lobby remotely. I wonder if a remotely openable porch-side "mail box" would find a market.
- 3y ago
- 2Gkashmiri 3y agoCan esp32 have lan + poe ? So that you are not relying on WiFi?
- Mister_Snuggles 3y agoThere are ESP32 boards with ethernet and PoE. This device[0] uses one and it works very well. I'm not aware of any ESP32 boards with a camera and ethernet though, but I haven't gone looking on AliExpress either. It's a reasonable combination, so I'd be surprised if it didn't exist. [0] https://smartlight.me/smart-home-devices/zigbee-devices/smlight-slzb-06en https://smartlight.me/smart-home-devices/zigbee-devices/smli...
- patmorgan23 3y agoYou can probably get a PoE hat/board but I don't think it's built-in
- megraf 3y agoI'm currently running a very expensive PoE doorbell that I was able to buy in 'AS-IS' condition to save some money. It's an Axis Communications product. I really love the ability to listen for ONVIF events; it expands the flexibility of products like this because you can essentially do whatever you want if you consume the events. There are even ways to create custom events (for example, if someone covers the camera lens with their hands, etc). Home Assistant has excellent ONVIF support - I'd like to create a wrapper of sorts around scripts (Boolean door open, door close stuff) in order to get the native ONVIF events
- acidburnNSA 3y agoNice. I like the lights. You can also slap a reed switch (e.g. a normal door open/close sensor) near your dumb doorbell's magnetic coils that do the ringer and have it send the info to home assistant. I hooked a $0.50 reed switch up to my dumb doorbell and ran it to a digital IO port on a ESP that's powered from the same power source as the doorbell coils. When it senses a doorbell press, it sends me an email snapshot from my local-only front door cam and plays a recording of the doorbell chime on my upstairs stereo (where otherwise I can't really hear the chime). Very convenient and fun. Originally, I tried monitoring voltage on the coils with the analog input, but it was way too unreliable. The simpler reed switch method of detecting current is rock solid.
- rainbowzootsuit 3y agoReed switches are great like this. I have used them in a similar way stuck to the top case of relays to detect when the coil is energized without probing directly into the control or load circuits.
- adolph 3y ago> same power source as the doorbell coils Beautiful thinking. I wonder what other obscure sources for voltage in a house could be used? The HVAC head unit, analog telephone, ... The POTS [(Plain Old Telephone Service)] phone line, with all phones on-hook, should measure around 48 volts DC. This drops down to the 3 to 9 volt range when a telephone on the line goes off-hook. An off-hook telephone typically draws about 20 milliamps of DC current to operate, at a DC resistance around 180 ohms. The remaining voltage drop occurs over the copper wire path and over the telephone company circuits where there is usually 200 to 400 ohms of series resistance to protect from short circuits and decouple the audiocircuits. https://www.jkaudio.com/article_03.htm https://www.jkaudio.com/article_03.htm
- westurner 3y agoIf the POTS cables daisy-chained between the telephone jacks after the telco's box are 4-pair Ethernet, there are 8 wires between each receptacle/port less 2 wires for each phone line. If only one phone line has ever been connected and there are 4pair (Ethernet,) cables between the phone jacks, there are 3 spare wire pairs that could be connected in a local private closed loop in order to carry (modulated) DC voltage for other applications; though you'd need to put like a thermal sticker label after the box and behind/on all the phone jacks to warn about the voltage (which is a presumed risk when handling 4pair cabling as an installer, as a (demo) contractor, as a future occupant) Gigabit Ethernet uses all 4 pairs for data, so Gigabit PoE and faster must have data+power on one or more pairs. From https://en.m.wikipedia.org/wiki/Power_over_Ethernet https://en.m.wikipedia.org/wiki/Power_over_Ethernet : > In addition to standardizing existing practice for spare-pair (Alternative B), common-mode data pair power (Alternative A) and 4-pair transmission (4PPoE), the IEEE PoE standards provide for signaling between the power sourcing equipment (PSE) and powered device (PD). This signaling allows the presence of a conformant device to be detected by the power source, and allows the device and source to negotiate the amount of power required or available while avoiding damage to non-compatible devices.
- seized 3y agoI wired the normal doorbell button to a Zooz ZEN17 (Zwave smart relay with additional inputs). That's paired with ZwaveJS which sends out MQTT messages on button pushes. That triggers Node-Red which pulls a screenshot off from separate front door security camera and sends that to my phone and the wives phone using Pushover. Keep meaning to get around to Frigate for smarter alerts as well, for people detection.
- FloatArtifact 3y agoWhat a cool project. ESP 32 cameras can be produce a pretty poor quality picture. It would be helpful to have a picture from the doorbell at full resolution on the blog
- ex3ndr 3y agoUnifi gives you perfect local doorbell
- beAbU 3y agoIt's interesting how in some places in the world the presence of a doorbell is so important that there's a need to make it "smart". The success of smart doorbell products demonstrates this need nicely. I have no doorbell. If a visitor does not know how to get hold of me or the other inhabitants of my property, then they probably have no business being there in the first place. I am not alone in this. Most people in my street are the same (based on my very unscientific study last week while out on a walk), and probably most of my city is like this (again, based on my own unscientific study)
- e28eta 3y agoI think some demand for smart doorbells is to handle the “unknown visitor” problem: notify the homeowner that someone is at the door even when they’re away from home, and the ability to disguise that the house is unoccupied.
- gh02t 3y agoAlso lets you tell when people approach the door but don't ring, especially if you have some kind of person detection going. My mailman drops stuff on the porch all the time and never bothers to ring the doorbell which is annoying, but I get a little beep and a thumbnail inside from my home automation platform to let me know someone was on the porch. Plus generally having a recording of your front porch area is useful for security. I've been able to pull video recordings of stuff to prove/disprove things happened, for instance when the mailman ran over a bunch of stuff in my front yard and drove off.
- LeafItAlone 3y agoWhere do you live?
- beAbU 3y agoSouth Africa, in the suburbs of one of the major cities.
- harry8 3y ago
- Escapado 3y agoOne of the comments on this site pointed out performance issues with the esp32. I never worked with IoT devices or these boards but I would like to dabble since they are relatively inexpensive but it got me to look up and find out that the esp32 is manufactured in a 40nm process node. Are there like newer iterations with more performance at similar power budgets manufactured at more advanced nodes?
- gh02t 3y agoNot really. There are newer iterations of the chips (including RISCV and Zigbee/Thread versions) but you won't see drastic performance/power improvements. Performance limitations are par for the course for this segment of the market, it's the tradeoff you make. There are also better SoC families that can get you a better tradeoff, but there aren't many as friendly to hobbyists as the ESP32. Maybe Nordic, or going into something more like a small SBC like the Pi Zero? That said the ESP32 is far more powerful than you need for the vast majority of home automation type devices, it's only a handful of more intensive tasks like streaming video or ML where you start to run into issues. Even then you can often still do quite a lot if you're clever.
- Max-q 3y ago2 cores of 240 MHz RISC is quite powerful. 40nm is not bad for microcontrollers. For example, the competing nRF52 series from Nordic is made on 55nm process.