An electonic unit, mounted inside the doorbell button senses a nearby authorized phone. It does it by listening to a iBeacon that the phone emits. An application should run on an authorized phone that causes it to constantly emit an iBeacon. Such application can be, for example, the Home Assistant Companion App. Each beacon has a unique ID, which is listed in the button's unit firmware. When an appropriate beacon is received and decoded, an LED changes its color. Now, when the user short presses the button, it sends an unlock command to a Home Assistant instance which causes the door to unlock. When the user presse the button for more than two seconds, a lock command is sent.

When no authorized phone is nearby, the button unit publishes an MQTT message. This message is received by the indoor unit which plays a ringing sound. The MQTT message can be listened by multiple indoor units or by any party who is willing to react to such event (send a phone notification, for example).