Doorbell
Pre-requisite: The user has to be signed in to perform the following operations.
A doorbell is a camera whose deviceType string equals DeviceType.DOORBELL.value ("Doorbell") — device.isDoorbell() is the shortcut. Everything a normal camera does applies; three things are extra.
Ring Events
A press raises an event tagged EventTag.DOORBELL ("DoorbellPress") with eventType EventType.DOORBELL. It arrives in the event feed like any other event, and as a push notification unless doorbellMute is set:
InstaVision.deviceServices.updateNotificationSettings(
device = device,
request = Notification(doorbellMute = true),
onSuccess = { },
onError = { error -> }
)
Chime
Doorbells that support a chime advertise the ChimeSettings cluster (0xFC22, DeviceCluster.supportsChimeSettings()). Read the current sound with chimeSetting() and the options the camera offers with chimeOptions(); the values match ChimeModes — MECHANICAL ("Mechanical"), ELECTRONIC ("Electronic"), DEFAULT ("Default"). Write with updateClusterAttribute using ClusterAttributeTypes.ChimeSettings.id (0xFC22:0x00).
The cluster schema also carries a chime duration attribute, 0xFC22:0x01 (0–10 seconds, step 1, default 3; optional — not every model reports it). It has no ClusterAttributeTypes entry, so address it by its raw id.
Answering the Door
Answering is a two-way call: device.canInitiateCall() says whether the camera can take one. The full sequence — creating the call record, accepting, local video, ending — is on Two-Way Calling.