Easiest way to make a dumb doorbell smart (no programming, no soldering, no tinkering)!

The Goal: Using my existing wired doorbell setup, overlay a sensor so that I could give it smarts, and tie in automation (e.g. notification on my and my wife’s phones, and a TTS announcement in the house that someone’s at the door)

The Motivation: My dog goes NUTS when the doorbell rings, which is pretty annoying, so I wanted to replace the traditional “chime” with a TTS and mobile notification. Note though that this method does not require you to remove the mechanical chime, that part is optional!

Parts needed:
Ecolink door/window sensor ($30)
Reed / magnetic switch ($8)
Existing hard-wired and powered doorbell

Concept & Diagram:
The concept is simple. Mechanical doorbells contain an electromagnet that fire when the doorbell button is pressed (circuit is closed). This method uses the magnetic field produced when the button is pressed along with a N/C reed switch to trip a z-wave sensor! Check it out:

Setup steps:

  1. If you have not already done so, join your ecolink door/window sensor to your zwave network
  2. Take your reed switch/magentic switch and wire it into your ecolink sensor
  3. Take the cover off your doorbell chime and find the electromagnet, it should be fairly obvious
  4. With the help of a friend or family member, place the reed switch near the electromagnet and have the ring the bell – You’re looking for it to trip the switch and your ecolink sensor should flash. This will take some trial and error to find the best location. I got mine on the second try.
  5. Take the backing off the 3m tape on your reed switch and position it in the permanent location that works
  6. Automate! Here is my automation sample, which fires anytime someone rings the doorbell, but get creative, I’ve seen a few other examples using camera snapshots, or turning on porch lights
- id: '1610065466012'
  alias: NOTIFICATIONS – Doorbell
  description: ''
  trigger:
  - platform: state
    entity_id: binary_sensor.doorbell
    from: 'off'
    to: 'on'
  condition:
  - condition: time
    before: 01:00
    after: '7:00'
  action:
  - service: tts.google_cloud_say
    data:
      message: Someone rang the doorbell
    entity_id: media_player.full_house
  - service: notify.notify_all
    data:
      title: Someone's at the door
      message: Someone rang the doorbell
  - delay:
      seconds: 5
  - service: media_player.turn_off
    data:
      entity_id: media_player.full_house
  mode: single

You’re done! Hope this was helpful, and happy HAutomating! :beers:

4 Likes

I would suggest also taking a look at Frenck’s tutorial. I’ve built it for my home, and has been working perfectly.

2 Likes

Thanks! Yep, I had seen Frenck’s, this is just a different method that I wanted to share, especially for anyone that has a spare one of these sensors lying around, or didn’t want a solution that required AC power :slight_smile:

frencks solution does not require DC power, the relais is rated for both AC and DC power, so should work with everything.

Apart from that, your doorbell looks like it achieved something similar in a completely different way. Isn’t Home Assistant wonderful! :slight_smile:

1 Like

I really like your idea of using a magnetic switch to detect the bell ringing, though I think that with the use of an ESP device, the cost would be much smaller.

1 Like

In material cost you’re absolutely right, it somewhat depends on what you have lying around. Certainly cheaper than buying a Ring / smart doorbell, at least until you can get the one from Wyze :slight_smile:

Thanks for the feedback!

pjcarly - did you have the same setup as Frenck’s tutorial? I have my transformer in my basement and the chime is close to the front door.
I do not need to create 2 circuits for the doorbell I am ok with making 1 circuit. How do I go about wiring the doorbell close to the transformer as I have a power outlet to plug in 5volt phone charger to power the ESP2866 board?

I ended up using a more complete solution by customed made chip based of ESPHome!

ESPHome based doorbell v2

wiring diagram

1 Like


Vibration sensor taped to the doorbell. :wink: notice the beanie under it. (Reducing vibration)

2 Likes

Aicarmic is there any reason that you can’t just wire the door sensor straight to the doorbell? Could the incoming charge that triggers the doorbell electromagnet not also trigger the sensor? Or am I misunderstanding something about how the wiring works?

Good question!

The wired line runs 48v between the doorbell button and the bell, so to do that, you’d need to get a basic IC like an ESP32 or Arduino. There are projects like that out there. Also I wanted to preserve the existing setup and geep it fully functional with an over-the-top solution and didn’t want to rewire anything. This approach was super simple and took about 10mins to install.

Hello @aicarmic
May I know what is the need of the Reed magnetic switch?
The contact sensor (door sensor) originally comes with a little magnet. I think the circuit board part should be detecting magnetic field.
So could we just put the circuit part with the side with magnetic sensor facing towards the doorbell electromagnet instead?

Thanks.

A traditional doorbell has an electromagnet inside it. That is how it drives the metal shaft into the doorbell tone bar! So what you’re doing is using that same electromagnet which gets fired when the doorbell gets pressed to trigger the reed switch inside your binary sensor. Hope that makes sense!

Cool. I’ve actually implemented your solution and I love it by the way. I was just interested to know if there were other options.

If you did want to alter wiring would placing a correctly sized resistor down the 48v line result in the correct voltage amount to trigger the contact senor switch. Or is this still something that would require an Ic to handle it do you think?

1 Like

Didnt think of the vibration sensor idea… thats genius.

I ended up soldering two wires onto either end of the reed switch of an Aqara Door/Window sensor and the cricuit completes when someone presses the doorbell. Took all of 5 minutes to do.

I tried the vibration sensor but it got set off by trucks and their low frequencies 100’s of meters away.

I don’t have any of those sensors… I didn’t realise it was that sensitive.

Does the sensor just show a binary on/off entity in HA, or can you tell the intensity of the vibration and maybe filter out more distant vibrations that way ?

I made the sensor. It’s a binary sensor. Youtube has loads of examples.