With this project I realized a connection between the house intercom (“Gegensprechanlage”) and my computer via an Arduino Nano ESP32. The main purpose is to get a popup on my PC whenever the doorbell rings, because I don’t hear it when working with noise-cancelling headphones. In addition to this, I can open the house door from my PC, as the Arduino can trigger the door buzzer button of the intercom. It’s also possible to put the device in “auto buzzer” mode, which means that the house door opens automatically when someone rings the door, which is useful when having, e.g., a party at home.
The source code is available on GitHub.
Connection to the house intercom
The connection to the house intercom (STR HT-40, “Haustelefon 40”) for the door rings is established by the extension module AM-40 (“Anschlussmodul 40”), giving a 2 second “relay closed” signal (green and black wires at the top). For the door buzzer, I soldered wires directly on the door buzzer button, as I found no clear documentation if this is also possible with the “EXT” connector on the board (presumably yes, but I didn’t dare to try it).

System sketch
This diagram shows the entire system. In addition to the Arduino, the intercom, and the PC there is also a cheap external bell which is triggered by a relay, connected to the remote control of the external bell.
System sketch as PDF on GitHub
Arduino side
I used an Arduino Nano ESP32 for the hardware side. An MQTT broker (EmbeddedMqttBroker) runs directly on the device in order to publish the ring signals and to receive the commands from the PC side. I know that this is not recommended, but currently I don’t have a Raspberry Pi or similar which is running all the time and could act as a broker.
Instead using the GPIO for detecting the door bell rings directly, I used a own pull-up resistor with 4.7kΩ. With the built-in pull-up (probably around 30kΩ) I got a lot of wrong ring signals, maybe because of the length of the cable between the Arduino and the intercom. Using
This picture shows the device. In the middle, there is the Arduino Nano ESP32. On the top right there are the two relays (for door buzzer and external bell). On the top left is the remote control for the external bell. One button is for switching the auto-buzzer mode, the LEDs show the system state.

PC side
The PC side is a Qt program, which connects to the MQTT broker on the device. It shows a popup whenever a door ring is detected and offers to open the door via the door buzzer. Moreover, the auto buzzer can be enabled/disabled from the PC and there is a settings/diagnostics dialog.
Screenshots:

