Ringing the wireless bell together with the regular doorbell (through wifi)

The name of this post may seem strange, but I actually built something to ring a wireless doorbell when the regular doorbell was pressed.

It started with the problem that our regular doorbell wasn’t loud enough, we couldn’t hear it when we here upstairs and it frequently happened that packages where delivered to our neighbors while we where actually at home.

I wanted to link the regular doorbell to home assistant, like described in this topic: MQTT Doorbell , but didn’t find the time for it, so instead, I just bought this cheap wireless doorbell: image

A few months later I finally had the time to link the regular doorbell to Home assistant via MQTT, and was able to send a message to the phone whenever someone pressed the doorbell. After a while I noticed that the problem we had of not hearing the doorbell was’n really resolved… Too often we didn’t had our phones near us or had the volume turned down.

I then figured: Why not use the wireless doorbell that I now had lying around unused anyway. It turned out the wireless doorbell was working at 433Mhz. I already had a set of these 433Mhz receivers/transmitters lying around:

image

And found a great tutorial for catching the signal that the doorbell transmitter was sending with a arduino:

After I knew what the doorbell transmitter was sending, I was able to send that same signal from a ESP8266. I then programmed the ESP8266 to accept a rest call and send the 433Mhz signal when the REST call was received.

The code I put into the ESP8266 can be found here: wifiTo433/wifi2433.ino at master · eriknl1982/wifiTo433 · GitHub

In my home assistant configuration I added this shell command to activate the wireless doorbell:

shell_command:
ring433bell: curl -X POST -i http://192.168.2.12/bell

At first I tried to configure it as a rest switch, but that didn’t work too well, since home assistant was checking the status every few seconds, which wasn’t all that useful in this instance. After a tip here on the forum I switched to a shell command.

In my automatons, I now use it like this:

- alias: DeurbelMetFoto
  trigger:
    platform: state
    entity_id: sensor.mqtt_doorbell
    from: 'off'
    to: 'on'
  action:
     service: script.voordeur_bel  

And the script looks like this:

voordeur_bel:
   sequence:
   - service: shell_command.take_snap
   - service: shell_command.ring433bell
   - service: notify.pushbullet
     data:
       message: "Er staat iemand voor de deur"
       data:
         file: "/home/pi/.homeassistant/cam_captures/output.jpeg"

It all worked like a charm and we could finally hear when someone was at the door :slight_smile:

There was just one last problem: Everything was on a breadboard in my study room, and I frequently accidentally kicked it over, which wasn’t too good for it. To solve that, I created a custom pcb for it, which is more stable and foolproof:

image

The good thing is that I can also use it for other things, like switching on or off cheap 433Mhz wall plugs.

5 Likes