Skip to content

Expose "Button Pressed" event for Keypad Touch/Vision Doorbell via API, BLE, and Matter #468

@mayerwin

Description

@mayerwin

Current Situation

Currently, the SwitchBot Keypad Vision / Doorbell features a physical doorbell button, but the "button pressed" event is entirely isolated within the SwitchBot ecosystem. It is not exposed to developers or external systems via the SwitchBot API, Matter, or Bluetooth (BLE).

Potential Problems & Shortcomings:

  • No Third-Party Automations: Because the event is hidden, it is impossible to use the doorbell button as a trigger in platforms like Home Assistant, Google Home, or SmartThings.
  • Inability to Hear the Doorbell: Users cannot set up automations to ring an actual, audible chime throughout the house or trigger text-to-speech announcements on smart speakers when a visitor arrives.
  • Wasted Hardware Potential: For users with integrated smart homes, the button is virtually useless outside of sending a push notification to a phone via the native app.
  • Customer Frustration: There are numerous instances on community forums and Reddit where clients have faced this limitation and expressed severe disappointment, as exposing button presses is a standard expectation for smart home doorbells.

Proposed Change

Please expose the "Doorbell Button Pressed" event so it can be consumed by external applications and hubs.

How it should work:

  1. SwitchBot API: Introduce a webhook event payload that fires immediately when the doorbell button is pressed, allowing external servers to register and react to the event in real-time.
  2. Matter Integration: Expose the button press as a standard doorbell or generic switch event over Matter via the SwitchBot Hubs (Hub 2 / Hub Mini Matter), allowing direct local integration with Google Home, Apple Home, and Home Assistant.
  3. Bluetooth (BLE): Fix the race condition in the BLE broadcast/advertisement data. Currently, the doorbell button pressed status is included as a field, but it is almost never populated with a true value. It appears that by the time the broadcast reads the button status, the state has already switched back to off. The firmware needs to hold this "pressed" state long enough to be reliably broadcasted (e.g., holding the state for 2-3 seconds, or incrementing an event counter) so local Bluetooth proxies can actually pick up the trigger.

Exposing this single event state reliably would massively improve the utility of the Keypad Vision Doorbell and satisfy a significant pain point for your smart home user base.

Additional Context

No response

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions