It all started with the question “How to determine someone pressed the doorbell?".

My main requirements was that I did not want to mess with the existing setup or be dependant on extra components. I have seen several solutions, but sofar none of them met this requirement.

Once the doorbell-button is pressed, the “signal” is send to the Wemos. The Wemos is connected to MQTT via the local Wi-Fi. Home Assistant picks up the signal from MQTT. From there it’s up to your imagination what you want to do with the input. For now I send a message to a Slack-bot to notify me.

Flow from button to MQTT

This presentation describes how I created the first version of my smart doorbell.

Presentation

Hardware v1.2

The 1.2 version:

Hardware version 1.2

Hardware v2.0

The setup for this version was inspired by an article in the German c’t magazine (2017/17). In the German magazine an optocoupler is used to separate the doorbell from a Raspberry Pi.

Reference