Integrate physical push button

Hi everyone,

I would like to find a way to integrate a simple physical push button to HA.
The button is similar to this:


I already have the 2 wires connected to this button. The other end of the wires is near my raspberry pi (running HA).

Currently, I see the following solutions:

  • Using the GPIO of the raspberry. But I had problems in the past with false positives when I power on nearby electronic devices. Additionally, it is a mess to handle the wires and there is a limit to the number of buttons I could add in the future.
  • Using a zigbee flood detector and attaching the 2 wires to the 2 captors of the flood detector. But having a battery based device for something with existing physical wires annoys me.

Do you see another solution to this ?


  • I already have a conbee 2, so a zigbee solution would be perfect.
  • The button should not toggle on/off something. HA should only trigger an automation every time it is pushed.

Thanks in advance,

An esp or a ZigBee door contact?

Better still just use a ZigBee button, such as a tradfri shortcut button. Much neater

Thanks for the suggestions!
A simple zigbee button would be indeed easier and cleaner but the current button is already installed on the outside of my house with a glass pane and I prefer to keep it this way as it’s quite beautiful.

I don’t know how to integrate it with a zigbee door contact as it requires a physical move of the magnet. It is not something I can do with my 2 wires. or I have to open it and weld the wires to the door contact circuit and I don’t have the electronic knowledge/material to achieve it.

I’ll look in the esp chips to see what they can do. I hope I won’t get lost :wink:

Thanks again

Many ZigBee door contacts have the terminals inside to connect an external reed switch, but you can connect a switch or button instead

This is the perfect use case for a Shelly i3 Scene Controller

Have a look at this:

I’ve ordered and received the shelly i3 and indeed it worked nicely.
At first, I tried to use it with the shelly integration but it was quite slow (5-20 seconds to detect the button press).
Then I removed the shelly integration and changed the shelly to send MQTT and it is now much faster (< 1sec)
Thanks for the advice !