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:
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:
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
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:
The good thing is that I can also use it for other things, like switching on or off cheap 433Mhz wall plugs.