Alexa.DoorbellEventSource Interface 3
Implement the Alexa.DoorbellEventSource
interface in your Alexa skill for devices that raise doorbell events. The customer selects which of their Echo devices respond to doorbell events. Alexa uses doorbell events for announcements, mobile notifications, routines, and other use cases. For more details about security skills, see Smart Home Security Overview.
When a doorbell event occurs, Alexa plays the doorbell announcement on the selected Echo devices. If the customer selected an Echo device without a screen, the Echo device plays the doorbell announcement. If the customer selected an Echo Show device and the doorbell implements the Alexa.RTCSessionController interface, the Echo Show device plays the doorbell announcement and automatically displays a live feed from the doorbell video camera when the doorbell event occurs.
For the list of languages that the Alexa.DoorbellEventSource
interface supports, see List of Alexa Interfaces and Supported Languages. For the definitions of the message properties, see Alexa Interface Message and Property Reference.
Utterances
The Alexa.DoorbellEventSource
interface doesn't have any user utterances.
Reportable properties
The Alexa.DoorbellEventSource
doesn't define any reportable properties.
Discovery
You describe endpoints that support Alexa.DoorbellEventSource
by using the standard discovery mechanism described in Alexa.Discovery.
Use DOORBELL
for the display category. If your device is a video doorbell with a camera, use CAMERA
and DOORBELL
for the display categories. For the full list of display categories, see display categories.
To let Alexa know the health of your device, also implement the Alexa.EndpointHealth
interface.
CAMERA
before DOORBELL
in the displayCategories
list. Discover response example
{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "Discover.Response",
"payloadVersion": "3",
"messageId": "Unique identifier, preferably a version 4 UUID"
},
"payload": {
"endpoints": [{
"endpointId": "Unique ID of the endpoint",
"manufacturerName": "Sample Manufacturer",
"description": "Description that appears in the Alexa app",
"friendlyName": "Your device name, displayed in the Alexa app",
"displayCategories": ["CAMERA", "DOORBELL"],
"additionalAttributes": {
"manufacturer": "Sample Manufacturer",
"model": "Sample Model",
"serialNumber": "Serial number of the device",
"firmwareVersion": "Firmware version of the device",
"softwareVersion": "Software version of the device",
"customIdentifier": "Optional custom identifier for the device"
},
"cookie": {},
"capabilities": [{
"type": "AlexaInterface",
"interface": "Alexa.DoorbellEventSource",
"version": "3",
"proactivelyReported": true
},
{
"type": "AlexaInterface",
"interface": "Alexa.EndpointHealth",
"version": "3.1",
"properties": {
"supported": [{
"name": "connectivity"
}],
"proactivelyReported": true,
"retrievable": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
}]
}
}
}
Directives and events
The Alexa.DoorbellEventSource
interface doesn't define any directives.
DoorbellPress event
Send a DoorbellPress
event to the Alexa event gateway whenever your device detects the doorbell press. For details, see Send Events to the Event Gateway.
When your skill reports a DoorbellPress
event, you must wait at least 30 seconds before sending another DoorbellPress
event for the same device.
DoorbellPress event example
The following example shows a DoorbellPress
event.
{
"context": { },
"event": {
"header": {
"messageId": "Unique identifier, preferably a version 4 UUID",
"namespace" : "Alexa.DoorbellEventSource",
"name": "DoorbellPress",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-Amazon"
},
"endpointId": "appliance-001"
},
"payload" : {
"cause": {
"type": "PHYSICAL_INTERACTION"
},
"timestamp": "2018-06-09T23:23:23.23Z"
}
}
}
DoorbellPress event payload
Property | Description | Type | Required |
---|---|---|---|
|
Describes why this event occurred. |
|
Yes |
|
Time the endpoint detected the event. |
String |
Yes |
Change reporting
You send a ChangeReport
event to report changes proactively in the state of an endpoint. You identify the properties that you proactively report in your discovery response. For details about change reports, see Understand State and Change Reporting.
Alexa.DoorbellEventSource
interface doesn't define any proactively reportable properties. However, you send change reports for the other interfaces that you implement in your skill. Related topics
Last updated: Jan 16, 2024