Hi everyone,
It has been a while since someone posted an update on this topic. Today, I discovered a trigger in the code for the D225.
Below is the code I am currently using for the doorbell trigger
alias: Doorbell notification
trigger:
- platform: state
entity_id: binary_sensor.YOUR_DOORBELL_SENSOR
to: "on"
action:
- service: notify.mobile_app_YOUR_DEVICE_NAME
data:
title: "Doorbell"
message: "Someone is at the door"
data:
image: "/api/camera_proxy/camera.YOUR_DOORBELL_CAMERA"
push:
category: doorbell
you can also test if you have these sensors by testing it in the developer section on hass by using this code
Current status: {{ states('binary_sensor.YOUR_DOORBELL_SENSOR') }}
Last changed: {{ states.binary_sensor.YOUR_DOORBELL_SENSOR.last_changed }}
Last updated: {{ states.binary_sensor.YOUR_DOORBELL_SENSOR.last_updated }}
Is the doorbell currently pressed (state = on)?
{{ is_state('binary_sensor.YOUR_DOORBELL_SENSOR', 'on') }}
Seconds since the last state change:
{{ (now() - states.binary_sensor.YOUR_DOORBELL_SENSOR.last_changed).total_seconds() | round(0) }} seconds
Camera snapshot URL the notification would use:
/api/camera_proxy/camera.YOUR_DOORBELL_CAMERA
Just replace YOUR_DOORBELL_SENSOR and YOUR_DOORBELL_CAMERA with your own entity names, paste it into Developer Tools → Template, and you’ll immediately see whether the sensor is reporting correctly.
To simulate a doorbell press without actually pressing the button: go to Developer Tools → States, find your binary_sensor.YOUR_DOORBELL_SENSOR, manually set its state to on, and hit Set State. Then re-check the template tab you should see is_state(…) = True and the seconds counter at 0.
extra edit:
This entity isn’t something Home Assistant invents on its own, it comes directly from the Tapo integration (tapo_control), which communicates with the firmware on the doorbell camera itself. When someone presses the physical button, the camera’s firmware sends that signal to the integration, which translates it into this binary_sensor and briefly flips it to “on” (in my history I can see it switching to “on” for about 2 seconds and then back to “off” every time the button was pressed).
Worth noting: if your doorbell is also connected through a second, separate integration (in my case Onvif), that one typically only exposes motion/person detection, not a dedicated button-press sensor. So for a doorbell-press automation specifically, make sure you’re using the entity from the integration that actually reports the physical button press, not just motion in front of the camera.