Summary
The Doorbird D1102FV belongs to the D11x video door station family and supports IP-based control through an HTTP/HTTPS API. It also provides encrypted UDP event broadcasts, RTSP video, HTTP audio, and SIP intercom functions.
Transport
protocols:
- tcp
- http
- udp
addressing:
port: 80
secure_port: 443
base_url: /bha-api/
udp_ports:
- 6524
- 35344
auth:
type: basic_or_digest
standard: RFC 2617
alternate_parameters:
username: http-user
password: http-password
tls:
certificate: self-signed
Traits
- queryable # inferred from documented status and information queries
- routable # inferred from event-to-output schedule commands
- levelable # inferred from SIP microphone and speaker volume controls
Actions
- id: get_session
label: Create Session
kind: query
command: "GET /bha-api/getsession.cgi"
params: []
- id: invalidate_session
label: Invalidate Session
kind: action
command: "GET /bha-api/getsession.cgi?invalidate={session_id}"
params:
- name: session_id
type: string
description: Existing session ID to invalidate
- id: live_video
label: Request Live MJPEG Video
kind: query
command: "GET /bha-api/video.cgi"
params:
- name: sessionid
type: string
description: Temporary session ID required for credential-free unencrypted streaming
- id: live_image
label: Request Live Image
kind: query
command: "GET /bha-api/image.cgi"
params: []
- id: open_door
label: Open Door
kind: action
command: "GET /bha-api/open-door.cgi?r={r}"
params:
- name: r
type: string
description: "Optional relay: 1, 2, or <doorcontrollerID>@<relay>; omission triggers physical relay 1"
- id: light_on
label: Light On
kind: action
command: "GET /bha-api/light-on.cgi"
params: []
- id: history_image
label: Request History Image
kind: query
command: "GET /bha-api/history.cgi?index={index}&event={event}"
params:
- name: index
type: integer
description: History image index from 1 through 50, where 1 is latest
- name: event
type: string
description: "Optional event type: doorbell or motionsensor"
- id: monitor_events
label: Monitor Doorbell and Motion States
kind: query
command: "GET /bha-api/monitor.cgi?ring={ring}"
params:
- name: ring
type: string
description: "Comma-separated event types: doorbell and motionsensor"
- id: live_audio_receive
label: Receive Live Audio
kind: query
command: "GET /bha-api/audio-receive.cgi"
params: []
- id: live_audio_transmit
label: Transmit Live Audio
kind: action
command: "POST /bha-api/audio-transmit.cgi"
params:
- name: body
type: binary
description: G.711 mu-law audio/basic stream at 8000 Hz
- id: device_info
label: Get Device Information
kind: query
command: "GET /bha-api/info.cgi"
params: []
- id: list_favorites
label: List Favorites
kind: query
command: "GET /bha-api/favorites.cgi"
params: []
- id: save_favorite
label: Save Favorite
kind: action
command: "GET /bha-api/favorites.cgi?action=save&type={type}&title={title}&value={value}&id={id}"
params:
- name: action
type: string
description: Fixed value "save"
- name: type
type: string
description: "Favorite type: sip or http"
- name: title
type: string
description: Name or title of favorite
- name: value
type: string
description: HTTP(S) URL or SIP target
- name: id
type: integer
description: Optional existing favorite ID
- id: delete_favorite
label: Delete Favorite
kind: action
command: "GET /bha-api/favorites.cgi?action=remove&type={type}&id={id}"
params:
- name: action
type: string
description: Fixed value "remove"
- name: type
type: string
description: "Favorite type: sip or http"
- name: id
type: integer
description: Favorite ID to delete
- id: list_schedules
label: List Schedules
kind: query
command: "GET /bha-api/schedule.cgi"
params: []
- id: save_schedule
label: Save Schedule
kind: action
command: "POST /bha-api/schedule.cgi"
params:
- name: input
type: string
description: "Input event type: doorbell, motion, rfid, or fingerprint"
- name: param
type: string
description: Doorbell number, transponder ID, fingerprint ID, or empty value
- name: output
type: object
description: JSON array of output action configurations
- id: delete_schedule
label: Delete Schedule
kind: action
command: "GET /bha-api/schedule.cgi?action=remove&input={input}¶m={param}"
params:
- name: action
type: string
description: Fixed value "remove"
- name: input
type: string
description: "Input event type: doorbell, motion, or rfid"
- name: param
type: string
description: Doorbell number, transponder ID, or empty value
- id: restart
label: Restart Device
kind: action
command: "GET /bha-api/restart.cgi"
params: []
- id: rtsp_live_video
label: Request Default RTSP Video
kind: query
command: "rtsp://<device-ip>:554/mpeg/media.amp"
params: []
- id: rtsp_live_video_1080p
label: Request 1080p RTSP Video
kind: query
command: "rtsp://<device-ip>:554/mpeg/1080p/media.amp"
params: []
- id: rtsp_over_http_live_video
label: Request RTSP-over-HTTP Video
kind: query
command: "rtsp://<device-ip>:8557/mpeg/media.amp"
params: []
- id: sip_register
label: SIP Register
kind: action
command: "GET /bha-api/sip.cgi?action=registration&user={user}&password={password}&url={url}"
params:
- name: user
type: string
description: SIP proxy authentication user
- name: password
type: string
description: SIP proxy authentication password
- name: url
type: string
description: SIP proxy IP address or hostname
- id: sip_makecall
label: SIP Make Call
kind: action
command: "GET /bha-api/sip.cgi?action=makecall&url={url}"
params:
- name: url
type: string
description: "SIP URL to call, e.g. sip:108@192.168.123.22"
- id: sip_hangup
label: SIP Hangup
kind: action
command: "GET /bha-api/sip.cgi?action=hangup"
params: []
- id: sip_settings
label: SIP Settings
kind: action
command: "GET /bha-api/sip.cgi?action=settings&{parameter}={value}"
params:
- name: enable
type: integer
description: Enable or disable SIP after reboot (0..1)
- name: mic_volume
type: integer
description: Microphone volume (1..100)
- name: spk_volume
type: integer
description: Speaker volume (1..100)
- name: dtmf
type: integer
description: Enable or disable DTMF support (0..1)
- name: autocall_doorbell_url
type: string
description: Deprecated automatic doorbell-call SIP URL or "none"
- name: relay1_passcode
type: integer
description: Pincode for triggering door-open relay (0..99999999)
- name: incoming_call_enable
type: integer
description: Enable or disable incoming calls (0..1)
- name: incoming_call_user
type: string
description: Allowed SIP user
- name: anc
type: integer
description: Enable or disable acoustic noise cancellation (0..1)
- name: ring_time_limit
type: integer
description: Maximum ringing time in seconds (10..300)
- name: call_time_limit
type: integer
description: Maximum call duration in seconds (30..300)
- id: sip_status
label: SIP Status
kind: query
command: "GET /bha-api/sip.cgi?action=status"
params: []
- id: sip_reset
label: SIP Settings Reset
kind: action
command: "GET /bha-api/sip.cgi?action=reset"
params: []
Feedbacks
- id: session_id
label: Session ID
type: object
description: JSON containing RETURNCODE, SESSIONID, and NOTIFICATION_ENCRYPTION_KEY
- id: live_video_stream
label: Live Video Stream
type: binary
description: Multipart JPEG stream using multipart/x-mixed-replace
- id: live_image_response
label: Live Image
type: binary
description: JPEG image response
- id: door_opener_result
label: Door Opener Result
type: object
description: JSON response from open-door.cgi
- id: light_result
label: Light Result
type: object
description: JSON response from light-on.cgi
- id: history_image_response
label: History Image
type: binary
description: JPEG history image response
- id: monitor_state
label: Monitor State
type: object
description: Multipart doorbell and motionsensor states using H for active and L for inactive
- id: live_audio_stream
label: Live Audio Stream
type: binary
description: G.711 mu-law audio at 8000 Hz
- id: info_response
label: Device Info
type: object
description: JSON containing firmware, build number, primary MAC address, relays, and device type
- id: favorite_list
label: Favorite List
type: object
description: JSON object containing SIP and HTTP favorites
- id: schedule_list
label: Schedule List
type: object
description: JSON array containing input, param, and output schedule configurations
- id: sip_status
label: SIP Status
type: object
description: JSON containing LASTERRORCODE and LASTERRORTEXT; LASTERRORCODE 200 means registered
- id: rtsp_video_stream
label: RTSP Video Stream
type: binary
description: MPEG4 H.264 stream
Variables
- id: session_id
type: string
description: Temporary streaming session ID valid for 10 minutes
- id: notification_encryption_key
type: string
description: UDP notification decryption key valid until user password changes
- id: sip_enabled
type: boolean
description: SIP enabled after reboot
- id: sip_mic_volume
type: integer
description: Microphone volume (1..100)
- id: sip_spk_volume
type: integer
description: Speaker volume (1..100)
- id: sip_dtmf
type: boolean
description: DTMF support enabled
- id: sip_autocall_doorbell_url
type: string
description: Deprecated automatic doorbell-call SIP URL or "none"
- id: sip_relay1_passcode
type: integer
description: Pincode for door-open relay
- id: sip_incoming_call_enable
type: boolean
description: Incoming calls enabled
- id: sip_incoming_call_user
type: string
description: Allowed incoming SIP user
- id: sip_anc
type: boolean
description: Acoustic noise cancellation enabled
- id: sip_ring_time_limit
type: integer
description: Maximum ringing time in seconds (10..300)
- id: sip_call_time_limit
type: integer
description: Maximum call duration in seconds (30..300)
Events
- id: doorbell_event
description: Doorbell press delivered through ChaCha20-Poly1305-encrypted UDP broadcast
fields:
- name: event
type: string
description: Doorbell number padded with spaces to 8 bytes
- name: timestamp
type: long
description: Unix timestamp
- name: intercom_id
type: string
description: First 6 characters of username
- id: motion_event
description: Motion event delivered through ChaCha20-Poly1305-encrypted UDP broadcast
fields:
- name: event
type: string
description: "motion" padded with spaces to 8 bytes
- name: timestamp
type: long
description: Unix timestamp
- name: intercom_id
type: string
description: First 6 characters of username
- id: monitor_state
description: Continuous multipart state stream from monitor.cgi
fields:
- name: doorbell
type: string
description: "H for active or L for inactive"
- name: motionsensor
type: string
description: "H for active or L for inactive"
Macros
# UNRESOLVED: no explicit multi-step macros described in source
Safety
confirmation_required_for:
- open_door
interlocks:
- description: Do not fetch video and audio automatically upon receiving a UDP broadcast
conditions:
- Wait for user interaction before requesting streams
- description: Only one simultaneous live audio/video call is supported
conditions:
- Handle HTTP 503 as line busy
- description: Door-open relay can be triggered by DTMF only during a SIP call with DTMF enabled
conditions:
- SIP call in progress
- DTMF support enabled
- Correct relay passcode entered
- description: API-Operator permission must be restricted to trusted automation-server users
conditions:
- Required for settings-changing API operations
Notes
- D11x devices require firmware 000130 or above according to the compatibility table.
- HTTP is available on TCP port 80; HTTPS is available on TCP port 443 using a preinstalled self-signed certificate.
- HTTPS is unavailable for video and audio streaming; those requests use HTTP with a temporary session ID.
- Session IDs remain valid for 10 minutes.
NOTIFICATION_ENCRYPTION_KEYremains valid until the user password changes; ChaCha20 uses its first 32 bytes.- UDP event broadcasts use ports 6524 and 35344. Keep-alive packets arrive every 7 seconds and should be skipped.
- RTSP uses port 554; RTSP-over-HTTP uses port 8557.
- The 1080p RTSP endpoint is supported by D11x devices.
- API access permits a maximum of one concurrent connection per second.
- Repeated wrong authentication can block the IP address or user for one minute and returns HTTP 423.
- Video and audio streams may be interrupted when the official DoorBird App takes precedence.
- HTTP API audio uses G.711 mu-law at 8000 Hz.
- SIP requests must be separated by at least 3 seconds.
- Only one simultaneous SIP call is supported, and each SIP call terminates after 180 seconds.
- Favorites and schedules require firmware 000110 or higher and API-Operator permission.
autocall_doorbell_urlis deprecated in favor of favorites and schedules.- Restart returns HTTP 503 while the device is busy, such as during firmware installation.
Provenance
source_domains:
- doorbird.com
source_urls:
- https://www.doorbird.com/downloads/api_lan.pdf
retrieved_at: 2026-07-12T20:34:33.603Z
last_checked_at: 2026-07-21T22:22:18.596Z
Verification Summary
verdict: verified
checked_at: 2026-07-21T22:22:18.596Z
matched_actions: 27
action_count: 27
confidence: medium
summary: "All 27 spec actions match literal commands in source; transport parameters verified; complete D11x coverage. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "no explicit multi-step macros described in source"
- "fault recovery beyond documented HTTP status handling is not stated"
- "physical serial or RS-232 interface not mentioned in source"
- "voltage, current, and power specifications not included"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0