How to simulate an intercom button press? (need to hack door intercom to open entry door into my building for delivery)

HI all,
Can somebody advise on what do I need to buy from hardware components to achieve a button press?

I have a door intercom which opens door downstairs of my building after somebody dials my apartment number. I can open the door downstairs by pressing a single button after they ring my bell and I speak to them on intercom.
I found the schematics. Basically I know which two wires to trip to activate the door open… However. It has to be a “button press” type of event… ie: wires tripped for one second and released.

I know I can potentially maybe use a fibaro dimmer that works from 12 volts? but I am not sure if that will actually simulate a switch press or not. If I send two commands from HA to the switch ON/OFF it may take time to arrive and also, second command may not arrive … If I don’t quickly release the button, it will dial security. :slight_smile:

So I really need some reliable hardware solution something that will really just trigger a click connect wires together and very quickly disconnect them. I would prefer this to be zwave, but would take anything that could integrate with HA easily. (wi-fi , or bluetooth ,etc. ). I am just not sure what I need to buy?

I have seen a few posts on this topic on HA forums, but none at the end offered a specific solution.

Really appreciate help.

what about using a relay

image

with a wemos

image

and this

image

and do this

hope this get you thinking

2 Likes

I watched the video and think this should probably work. i ordered some components mentioned from alibaba. This will be my first time getting into relays and tinkering with hardware like that… Should be fun. thank you for ideas.

1 Like

Good luck I have had heaps of fun with them

You could also use a sonoff basic and just desolder the relay contacts to the intercom button. (only one lead needs to be desoldered and attached, the other is attached to the screw terminal and thin low voltage wire should work)

image

or use the existing terminals and cut the red lines and bridge with a wire on the blue line

2 Likes

@RobDYI, thank you very much for advise.

This is going to be my first hardware hack, do you think you could elaborate a bit more on details? (though I think it is probably very obvious to anybody with a bit more soldering/tinkering experience):
One question is about powering Sonoff itself.

I found two types of Sonoff switch: one is the input of 5V and the one you are suggesting seem to be for 90-220 V . What is the difference between the two and which one I should use for my purpose?

I think I have a few choices to power it up: my intercom is powered by 12V DC. also have 12V DC near, powering an LED strip. I guess I could bring 220V from a nearing outlet if I needed.

5V:

220V:
https://www.aliexpress.com/item/2017-New-1CH-Sonoff-Wifi-Switch-Relay-Module-AC-90V-250V-220V-Wireless-Light-Timer-Switch/32802070237.html

your first picture:

I would solder the wires that I’ll attach to intercom button to the places indicated by red lines.
And I need to “cut” soldering indicated by the perpendicular red line.
correct?

your second picture:

I need to solder the blue line with a wire to connect these two.
And where I see the “RED” perpendicular lines, I need to cut the soldering to make sure there is a gap and no connection?
And I use the existing terminals to connect the wire from the intercom button?
there are four terminals. which two would I connect to the wires soldered to the intercom button?

Thank you very much in advance.

You are correct with the understanding of my pictures in that you have to cut the solder where the red line and connect a wire where the blue line is.

Th good news is that the low voltage sonoff that you found I think would work as is. It appears to have a normal relay so you can connect your intercom wires normally open (self locking mode 1).

I think you can use a simple voltage divider on the 12V power to cut the voltage to the low volt sonoff of 5v. You need to buy two resister to get the correct voltage division as per below.

https://learn.sparkfun.com/tutorials/voltage-dividers

Thought of that but I don’t feel happy cutting a sonoff

5v can ONLY take 5v well I wouldn’t
Put anything more that 5v

There is a less known sonoff that can be powered 7-32v ac/dc and has a relay output.

I have this working with my intercom and a raspberry PI, right now it detects when someone rings my apartment, plays a mp3 file directly into the speaker line, records whatever comes from the door microphone and then automatically opens the door.

Initially i wanted to get a notificiation with the recorded file so i could then decide to open, but my ADD kicked in and i left it to automatically open door 4 seconds after somebody rings my door.

Let me know if you want the code

1 Like

@B1tMaster
If you use Z-Wave, a MIMOlite would be the simplest way.

@amirandap, that would be awesome! Please point me to your source code and instructions.

@Coolie1101, Thank you. I do use Z-Wave. Let me look into MIMOlite and see what it is.

@amirandap, I think your solution is most advanced and would also allow me to capture and alert me of somebody ringing my door downstairs. How do I contact you and get access to your code?

Thank you very much.

What brand is your intercom? I never got around to getting the HTTP API into the code, which would allow it to work with HA, it currently opens door automatically, but it should be fairly easy to code.

Heres the code, its not optimal but works

http://collabedit.com/jn86r

#!/usr/bin/python3
import RPi.GPIO as GPIO
import subprocess
import shlex
from time import sleep

def greeting():
    command_line = 'aplay /home/pi/Desktop/greeting.wav'
    args = shlex.split(command_line)
    subprocess.call(args)

def answer():
    command_line = 'sudo arecord -D plughw:1 --duration=3 -f cd /home/pi/Desktop/answer.wav'
    args = shlex.split(command_line)
    subprocess.call(args)
   
def pulsador():
        if (GPIO.input(16)):
            GPIO.output(11, 1)
            GPIO.output(7, 1)
            sleep(2)
            greeting()
            answer()
            GPIO.output(11, 0)
            GPIO.output(7, 0)
            GPIO.output(13, 1)
            sleep(2)
            GPIO.output(13, 0)
        
        
if __name__ == '__main__':
    try: 
        GPIO.setmode(GPIO.BOARD)
        GPIO.setup(16, GPIO.IN)
        GPIO.setwarnings(False)
        GPIO.setup(7, GPIO.OUT, initial=0)   
        GPIO.setup(11, GPIO.OUT, initial=0)
        GPIO.setup(13, GPIO.OUT, initial=0)
        while True:
            pulsador()
        
    except KeyboardInterrupt:
        GPIO.cleanup()
        exit(0)
    except Exception as e:
        print("Error:")
        print(e)            
    finally:
        GPIO.cleanup()
        exit(1)

@amirandap,
Thank you very much. Do you mind explaining how this works? This runs on a separate PI attached to your intercom? Do you have schematics on which pins on your RPi are attached where on intercom?

My intercom brand is Fermax (model is Citymax ).
From the manual below, it seem that I need to trip together wire 1 and 3 on my intercom once somebody rings the bell to open the door.

https://github.com/B1tMaster/haas-config/files/1862571/94727_EN.Esquemario.4N.Citymax.V_05_03.pdf
(manual )

My issue: https://github.com/B1tMaster/haas-config/issues/89

But I am not sure how I would play sound back… or how can I detect that somebody is ringing… (which pins would carry current to indicate that. )

If you could share more details on how your code works maybe I can figure out how to make it work on my intercom.

I attached two pictures of intercom and how it connects

I will try to take it apart and take pictures again but since its a different model you will have to get a voltage tester and start taking measurements to see which one aplies the 12v to the line when you press the line.

Yes it runs on a separate raspberry zero that is inside the gang box. In order to keep the original intercom working i bought another intercom and took out the main pcb, so they work in parallel.

For the audio i just soldered the wires from the intercom headset to a usb external sound card

1 Like

I’d like to grab the code too, if you please.
Also, where on the intercom do you connect the device? Is a wire connected to each side of the BUZZ button, closing the circuit when the device is activated?

Was this code ever shared? I’m currently trying to accomplish the same here.

Edit: I think I found it here: https://github.com/amirandap/Smart-Intercom

I am also still interested in this stuff, I have an entrya intercom system.
. Already captured the button press and video, so I have an notification in HA with video when someone rings the doorbell…
But my audio is missing, I want to capture audio / microphone too… So I can’t actually speak

So tips are welcome how to solder and stuff like that