Reolink camera client over Baichuan, Reolink's own TCP protocol (port 9000).
Stream doorbell and motion events
Stream doorbell and motion events
import { createClient } from "@hertzg/reolink-api"; const conn = await Deno.connect({ hostname: "192.168.1.10", port: 9000 }); const client = createClient({ readable: conn.readable, writable: conn.writable }); await client.login({ username: "admin", password: "secret" }); const events = await client.subscribe(); for await (const event of events) { // { channel: 0, motion: true, visitor: false, tamper: false, ai: ["people"] } console.log(event); } await client.close(); conn.close();
Read a setting with any command
Read a setting with any command
import { COMMANDS, createClient } from "@hertzg/reolink-api"; const conn = await Deno.connect({ hostname: "192.168.1.10", port: 9000 }); const client = createClient({ readable: conn.readable, writable: conn.writable }); await client.login({ username: "admin", password: "secret" }); const { body } = await client.call(COMMANDS.GET_NTPCFG_V20); console.log(body.Ntp); await client.close(); conn.close();
Take a snapshot and sound the siren
Take a snapshot and sound the siren
import { createClient } from "@hertzg/reolink-api"; const conn = await Deno.connect({ hostname: "192.168.1.10", port: 9000 }); const client = createClient({ readable: conn.readable, writable: conn.writable }); await client.login({ username: "admin", password: "secret" }); await Deno.writeFile("front-door.jpg", await client.snapshot()); await client.playSiren({ times: 2 }); await client.close(); conn.close();
Creates a Baichuan client over the given connection streams.
The alarm state of one channel, as the camera pushed it.
-
ai: string[]
AI detections the camera reports, such as
people,vehicleordog_cat. Empty fornone. -
channel: number
Zero-based channel number. A standalone camera or doorbell is channel
0. -
motion: boolean
Motion detected:
MDin the status. -
tamper: boolean
Tamper alarm:
tamperin the status. -
visitor: boolean
Doorbell active:
visitorin the status.
Options for Client.call.
-
body: CommandBody<C>
The parameters to send, by element name.
-
channel: number
The zero-based channel to address. Leave it out to address the device.
The reply to Client.call.
-
body: CommandBody<C>
The reply's parameters, by element name.
-
payload: Uint8Array
Binary data after the XML, decrypted; empty for most commands.
Which camera a request is about.
-
channel: number
The zero-based channel number. A standalone camera is
0, the default.
A Baichuan client bound to one connection.
-
call: <C extends Command>() => Promise<CallReply<C>>command: C,options?: CallOptions<C>
Sends any Command and reads its reply. Needs a login.
-
close: () => Promise<void>
Stops the keepalive, ends the event stream and closes the writable. The caller still closes the socket.
-
login: (options: LoginOptions) => Promise<void>
Logs in with the modern (nonce + MD5) login and keeps the AES session key.
-
playSiren: (options?: ChannelOptions & { times?: number; }) => Promise<void>
Plays the siren a number of times, about 5 seconds each. Needs a login.
-
privacyMode: (options?: ChannelOptions) => Promise<boolean>
Reads whether privacy mode (sleep) is on. Needs a login.
-
ptz: (options: ChannelOptions & { command: PtzCommand; speed?: number; }) => Promise<void>
Starts a PTZ move or zoom, which keeps going until
PTZ_COMMAND.STOP. Needs a login. -
ptzGoToPreset: (options: ChannelOptions & { id: number; }) => Promise<void>
Moves to a saved PTZ preset by its id. Needs a login.
-
ptzPosition: (options?: ChannelOptions) => Promise<PtzPosition>
Reads where the camera points now. Poll it to tell when a move has finished on cameras that push no PTZ state. Needs a login.
-
ptzPresets: (options?: ChannelOptions) => Promise<PtzPreset[]>
Lists the saved PTZ presets. Needs a login.
-
pushes: () => ReadableStream<Push>
Returns every message the camera sends unasked, alarm events included, decoded by the PUSHES table when its id is known and as raw XML otherwise. The camera pushes only after Client.subscribe.
-
setPrivacyMode: (options: ChannelOptions & { enabled: boolean; }) => Promise<void>
Turns privacy mode (sleep) on or off. Needs a login.
-
snapshot: (options?: ChannelOptions & { stream?: "main" | "sub"; }) => Promise<Uint8Array>
Takes a JPEG snapshot of the
main(default) orsubstream. Needs a login. -
startSiren: (options?: ChannelOptions) => Promise<void>
Starts the siren until Client.stopSiren. Needs a login.
-
stopSiren: (options?: ChannelOptions) => Promise<void>
Stops the siren, whether started or played a number of times. Needs a login.
-
subscribe: (options?: SubscribeOptions) => Promise<ReadableStream<AlarmEvent>>
Subscribes to alarm pushes (cmd 31) and returns them as a stream.
The two halves of a connection to the camera's Baichuan port.
-
readable: ReadableStream<Uint8Array>
Bytes from the camera.
-
writable: WritableStream<Uint8Array>
Bytes to the camera.
A Baichuan command: its id, firmware name, and parameter elements.
-
firmware: readonly Firmware[]
The firmware builds known to register the command, empty when unknown. Registration does not promise that a given device answers it.
-
id: number
The command id sent in the message header.
-
name: string
The name the firmware's dispatch table gives the command.
-
params: P
The parameter elements the command's bodies may carry.
The body of a Command, request or reply: each of its parameters by element name, all optional.
The firmware request commands, keyed by name.
-
AUTH_MODE_CODE_GET: Command<readonly [authInfo]>
cmd 509,
AUTH_MODE_CODE_GET. Parameters:authInfo. Firmware: Video Doorbell PoE. -
BIND_IOT_V20: Command<readonly [iotBindUnBind]>
cmd 391,
BIND_IOT_V20. Parameters:IOTBindUnBind. Firmware: RLC-823A, Video Doorbell PoE. -
BIND_NAS: Command<readonly [bindUnbindNas]>
cmd 279,
BIND_NAS. Parameters:BindUnbindNas. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_GET_BLC: Command<readonly [inputAdvanceCfg, blc]>
cmd 168,
CGI_GET_BLC. Parameters:InputAdvanceCfg,BLC. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesBLC, which the dispatch table does not list. -
CGI_GET_DAY_NIGHT_MODE: Command<readonly [inputAdvanceCfg, dayNightMode]>
cmd 164,
CGI_GET_DAY_NIGHT_MODE. Parameters:InputAdvanceCfg,DayNightMode. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesDayNightMode, which the dispatch table does not list. -
CGI_GET_EXPOSURE: Command<readonly [inputAdvanceCfg, exposureCfg]>
cmd 156,
CGI_GET_EXPOSURE. Parameters:InputAdvanceCfg,ExposureCfg. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesExposureCfg, which the dispatch table does not list. -
CGI_GET_FLIP: Command<readonly [inputAdvanceCfg, flip]>
cmd 172,
CGI_GET_FLIP. Parameters:InputAdvanceCfg,Flip. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesFlip, which the dispatch table does not list. -
CGI_GET_GAIN: Command<readonly [inputAdvanceCfg, gain]>
cmd 160,
CGI_GET_GAIN. Parameters:InputAdvanceCfg,Gain. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesGain, which the dispatch table does not list. -
CGI_GET_IRCUT_MODE: Command<readonly [inputAdvanceCfg, ircutMode]>
cmd 166,
CGI_GET_IRCUT_MODE. Parameters:InputAdvanceCfg,IrcutMode. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesIrcutMode, which the dispatch table does not list. -
CGI_GET_MIRROR: Command<readonly [inputAdvanceCfg, mirror]>
cmd 170,
CGI_GET_MIRROR. Parameters:InputAdvanceCfg,Mirror. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesMirror, which the dispatch table does not list. -
CGI_GET_POWER_LINE_FREQUENCY: Command<readonly [inputAdvanceCfg, powerLineFrequency]>
cmd 154,
CGI_GET_POWER_LINE_FREQUENCY. Parameters:InputAdvanceCfg,PowerLineFrequency. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPowerLineFrequency, which the dispatch table does not list. -
CGI_GET_SCENE: Command<readonly [inputAdvanceCfg, scene]>
cmd 162,
CGI_GET_SCENE. Parameters:InputAdvanceCfg,Scene. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesScene, which the dispatch table does not list. -
CGI_GET_SHUTTER: Command<readonly [inputAdvanceCfg, shutter]>
cmd 158,
CGI_GET_SHUTTER. Parameters:InputAdvanceCfg,Shutter. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesShutter, which the dispatch table does not list. -
CGI_SET_BLC: Command<readonly [inputAdvanceCfg]>
cmd 169,
CGI_SET_BLC. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_DAY_NIGHT_MODE: Command<readonly [inputAdvanceCfg]>
cmd 165,
CGI_SET_DAY_NIGHT_MODE. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_EXPOSURE: Command<readonly [inputAdvanceCfg]>
cmd 157,
CGI_SET_EXPOSURE. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_FLIP: Command<readonly [inputAdvanceCfg]>
cmd 173,
CGI_SET_FLIP. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_GAIN: Command<readonly [inputAdvanceCfg]>
cmd 161,
CGI_SET_GAIN. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_IRCUT_MODE: Command<readonly [inputAdvanceCfg]>
cmd 167,
CGI_SET_IRCUT_MODE. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_MIRROR: Command<readonly [inputAdvanceCfg]>
cmd 171,
CGI_SET_MIRROR. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_POWER_LINE_FREQUENCY: Command<readonly [inputAdvanceCfg]>
cmd 155,
CGI_SET_POWER_LINE_FREQUENCY. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_SCENE: Command<readonly [inputAdvanceCfg]>
cmd 163,
CGI_SET_SCENE. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_SHUTTER: Command<readonly [inputAdvanceCfg]>
cmd 159,
CGI_SET_SHUTTER. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CLOUD_TEST_V20: Command<readonly [cloudTestResult]>
cmd 367,
CLOUD_TEST_V20. Parameters:CloudTestResult. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesCloudTestResult, which the dispatch table does not list. -
COVER_PREVIEW: Command<readonly [coverPreview]>
cmd 298,
COVER_PREVIEW. Parameters:CoverPreview. Firmware: RLC-823A, Video Doorbell PoE. -
CREATE_PUSH_LISTENER: Command<readonly [pushCreateListener]>
cmd 524,
CREATE_PUSH_LISTENER. Parameters:PushCreateListener. Firmware: Video Doorbell PoE. -
CROP_SNAP_V20: Command<readonly [cropSnap, cropSnapReply]>
cmd 230,
CROP_SNAP_V20. Parameters:CropSnap,cropSnap. Firmware: RLC-823A, Video Doorbell PoE. The reply carriescropSnap, which the dispatch table does not list. -
DELETE_AUDIO_FILE_V20: Command<readonly [audioFileInfo]>
cmd 348,
DELETE_AUDIO_FILE_V20. Parameters:audioFileInfo. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
DELETE_RECORD_FILE: Command<readonly [deleteRecordFile]>
cmd 650,
DELETE_RECORD_FILE. Parameters:DeleteRecordFile. Firmware: Video Doorbell PoE. Changes or erases device state; do not send it casually. -
DINGDONG_CFG_GET: Command<readonly [dingdongCfg]>
cmd 486,
DINGDONG_CFG_GET. Parameters:dingdongCfg. Firmware: Video Doorbell PoE. -
DINGDONG_CFG_SET: Command<readonly [dingdongCfg]>
cmd 487,
DINGDONG_CFG_SET. Parameters:dingdongCfg. Firmware: Video Doorbell PoE. -
DINGDONG_CTRL: Command<readonly [dingdongCtrl]>
cmd 483,
DINGDONG_CTRL. Parameters:dingdongCtrl. Firmware: Video Doorbell PoE. -
DINGDONG_DEV_OPT: Command<readonly [dingdongDeviceOpt]>
cmd 485,
DINGDONG_DEV_OPT. Parameters:dingdongDeviceOpt. Firmware: Video Doorbell PoE. -
DINGDONG_LIST_GET: Command<readonly [dingdongList]>
cmd 484,
DINGDONG_LIST_GET. Parameters:dingdongList. Firmware: Video Doorbell PoE. -
DOWNLOAD_CUT_STOP_V20: Command<readonly []>
cmd 144,
DOWNLOAD_CUT_STOP_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
DOWNLOAD_CUT_V20: Command<readonly [fileInfoList]>
cmd 143,
DOWNLOAD_CUT_V20. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
DOWNLOAD_STOP_V20: Command<readonly [fileInfoList]>
cmd 9,
DOWNLOAD_STOP_V20. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
DOWNLOAD_V20: Command<readonly [fileInfoList]>
cmd 8,
DOWNLOAD_V20. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
DO_FIND_ALARM_VIDEO_V20: Command<readonly [findAlarmVideo, alarmVideoInfo]>
cmd 273,
DO_FIND_ALARM_VIDEO_V20. Parameters:findAlarmVideo,alarmVideoInfo. Firmware: Video Doorbell PoE. The reply carriesalarmVideoInfo, which the dispatch table does not list. -
EMAIL_TEST_V20: Command<readonly [email]>
cmd 141,
EMAIL_TEST_V20. Parameters:Email. Firmware: RLC-823A, Video Doorbell PoE. -
EXPORT_AUDIO_V20: Command<readonly [audioFileInfo]>
cmd 410,
EXPORT_AUDIO_V20. Parameters:audioFileInfo. Firmware: Video Doorbell PoE. -
EXPORT_CFG_V20: Command<readonly [configFileInfo]>
cmd 65,
EXPORT_CFG_V20. Parameters:ConfigFileInfo. Firmware: RLC-823A, Video Doorbell PoE. Registered but unimplemented. -
EXPORT_IMAGE_V20: Command<readonly [imageFileInfo]>
cmd 421,
EXPORT_IMAGE_V20. Parameters:imageFileInfo. Firmware: RLC-823A. -
FILE_INFO: Command<readonly [fileInfoList]>
cmd 13,
FILE_INFO. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
FTP_TEST_V20: Command<readonly [ftp, ftpTestResult]>
cmd 194,
FTP_TEST_V20. Parameters:Ftp,FtpTestResult. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesFtpTestResult, which the dispatch table does not list. -
GETVEDIOPARAM_V20: Command<readonly [videoInput, inputAdvanceCfg]>
cmd 26,
GETVEDIOPARAM_V20. Parameters:VideoInput,InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_4GMODULE_INFO: Command<readonly [net3g4gModuleInfo]>
cmd 257,
GET_4GMODULE_INFO. Parameters:Net3g4gModuleInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_4GNET_INFO: Command<readonly [net3g4gInfo]>
cmd 256,
GET_4GNET_INFO. Parameters:Net3g4gInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ABILITY: Command<readonly [abilityInfo]>
cmd 151,
GET_ABILITY. Parameters:AbilityInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AF_ALGORITHM_V20: Command<readonly [afAlgorithm]>
cmd 453,
GET_AF_ALGORITHM_V20. Parameters:afAlgorithm. Firmware: RLC-823A. -
GET_AI_CFG: Command<readonly [aiCfg]>
cmd 299,
GET_AI_CFG. Parameters:AiCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AI_DETECT_CFG_V20: Command<readonly [aiDetectCfg]>
cmd 342,
GET_AI_DETECT_CFG_V20. Parameters:AiDetectCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AI_TRACK_DATA_V20: Command<readonly [aiTrackData]>
cmd 362,
GET_AI_TRACK_DATA_V20. Parameters:AiTrackData. Firmware: Video Doorbell PoE. -
GET_AI_TRACK_LIMIT_V20: Command<readonly [trackLimit]>
cmd 434,
GET_AI_TRACK_LIMIT_V20. Parameters:trackLimit. Firmware: RLC-823A. -
GET_AI_TRACK_TASK_V20: Command<readonly [trackSchedule]>
cmd 436,
GET_AI_TRACK_TASK_V20. Parameters:trackSchedule. Firmware: RLC-823A. -
GET_AUDIOTASK_V20: Command<readonly [audioTask]>
cmd 232,
GET_AUDIOTASK_V20. Parameters:AudioTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUDIO_CFG_V20: Command<readonly [audioCfg]>
cmd 264,
GET_AUDIO_CFG_V20. Parameters:audioCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUDIO_ENCODE_ABILITY_V20: Command<readonly [audioEncodeAbility]>
cmd 267,
GET_AUDIO_ENCODE_ABILITY_V20. Parameters:AudioEncodeAbility. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUDIO_FILE_INFO_LIST_V20: Command<readonly [audioFileInfoList]>
cmd 347,
GET_AUDIO_FILE_INFO_LIST_V20. Parameters:audioFileInfoList. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesaudioFileInfoList, which the dispatch table does not list. -
GET_AUDIO_INFO_V20: Command<readonly [audioFileInfo]>
cmd 260,
GET_AUDIO_INFO_V20. Parameters:audioFileInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUTO_FOCUS_V20: Command<readonly [autoFocus]>
cmd 224,
GET_AUTO_FOCUS_V20. Parameters:AutoFocus. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUTO_REBOOT_CFG_V20: Command<readonly [autoReboot]>
cmd 101,
GET_AUTO_REBOOT_CFG_V20. Parameters:AutoReboot. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
GET_AUTO_REPLY: Command<readonly [autoReply]>
cmd 427,
GET_AUTO_REPLY. Parameters:AutoReply. Firmware: Video Doorbell PoE. -
GET_BATTERY_REMAIN_V20: Command<readonly [batteryRemainList]>
cmd 259,
GET_BATTERY_REMAIN_V20. Parameters:BatteryRemainList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_BAT_INFO_V20: Command<readonly [chargeBatteryInfo, batteryInfo]>
cmd 253,
GET_BAT_INFO_V20. Parameters:ChargeBatteryInfo,BatteryInfo. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesBatteryInfo, which the dispatch table does not list. -
GET_BIND_INFO_V20: Command<readonly [bindNasInfoList]>
cmd 281,
GET_BIND_INFO_V20. Parameters:BindNasInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_BIND_IOT_INFO_V20: Command<readonly [iotBindInfoList]>
cmd 393,
GET_BIND_IOT_INFO_V20. Parameters:IOTBindInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_CLIENT_ID: Command<readonly [pushClientId]>
cmd 522,
GET_CLIENT_ID. Parameters:PushClientID. Firmware: Video Doorbell PoE. -
GET_CLIENT_STATE: Command<readonly [pushClientState]>
cmd 526,
GET_CLIENT_STATE. Parameters:PushClientState. Firmware: Video Doorbell PoE. -
GET_CLOUD_CFG_V20: Command<readonly [cloudUploadCfg]>
cmd 270,
GET_CLOUD_CFG_V20. Parameters:CloudUploadCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_CLOUD_LOGIN_V20: Command<readonly [cloudLoginKey]>
cmd 282,
GET_CLOUD_LOGIN_V20. Parameters:CloudLoginKey. Firmware: RLC-823A, Video Doorbell PoE. -
GET_CLOUD_TASK_V20: Command<readonly [cloudTask]>
cmd 236,
GET_CLOUD_TASK_V20. Parameters:CloudTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_COMPRESSIONCFG_V20: Command<readonly [compression]>
cmd 56,
GET_COMPRESSIONCFG_V20. Parameters:Compression. Firmware: RLC-823A, Video Doorbell PoE. -
GET_CROP_V20: Command<readonly [crop]>
cmd 228,
GET_CROP_V20. Parameters:Crop. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DAY_NIGHT_THRESHOLD_V20: Command<readonly [dayNightThreshold]>
cmd 296,
GET_DAY_NIGHT_THRESHOLD_V20. Parameters:DayNightThreshold. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DAY_RECORD: Command<readonly [dayRecords]>
cmd 142,
GET_DAY_RECORD. Parameters:DayRecords. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DDNSCFG_V20: Command<readonly [ddns]>
cmd 40,
GET_DDNSCFG_V20. Parameters:Ddns. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_AI_DETECT_CFG_V20: Command<readonly [aiDetectCfg]>
cmd 344,
GET_DEF_AI_DETECT_CFG_V20. Parameters:AiDetectCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_ENC_CFG_V20: Command<readonly [compression]>
cmd 112,
GET_DEF_ENC_CFG_V20. Parameters:Compression. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_INPUT_CFG_V20: Command<readonly [videoInput, shelter]>
cmd 111,
GET_DEF_INPUT_CFG_V20. Parameters:VideoInput,Shelter. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_ISP_CFG_V20: Command<readonly [inputAdvanceCfg, videoInput]>
cmd 132,
GET_DEF_ISP_CFG_V20. Parameters:InputAdvanceCfg,VideoInput. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_MD_CFG_V20: Command<readonly [md]>
cmd 113,
GET_DEF_MD_CFG_V20. Parameters:MD. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_OSD_CFG_V20: Command<readonly [osdChannelName, osdDatetime]>
cmd 110,
GET_DEF_OSD_CFG_V20. Parameters:OsdChannelName,OsdDatetime. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DINGDONG_SILENT_MODE: Command<readonly [dingdongSilentMode]>
cmd 609,
GET_DINGDONG_SILENT_MODE. Parameters:dingdongSilentMode. Firmware: Video Doorbell PoE. -
GET_DST_CFG_V20: Command<readonly [dst]>
cmd 106,
GET_DST_CFG_V20. Parameters:Dst. Firmware: RLC-823A, Video Doorbell PoE. -
GET_EMAILCFG_V20: Command<readonly [email]>
cmd 42,
GET_EMAILCFG_V20. Parameters:Email. Firmware: RLC-823A, Video Doorbell PoE. -
GET_EMAILTASK_V20: Command<readonly [emailTask]>
cmd 217,
GET_EMAILTASK_V20. Parameters:EmailTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ENC_CAPABILITY_V20: Command<readonly [streamInfoList]>
cmd 146,
GET_ENC_CAPABILITY_V20. Parameters:StreamInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_FLOODLIGHT_TASK: Command<readonly [floodlightTask]>
cmd 289,
GET_FLOODLIGHT_TASK. Parameters:FloodlightTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_FTPCFG_V20: Command<readonly [ftp]>
cmd 68,
GET_FTPCFG_V20. Parameters:Ftp. Firmware: RLC-823A, Video Doorbell PoE. -
GET_FTPTASK_V20: Command<readonly [ftpTask]>
cmd 70,
GET_FTPTASK_V20. Parameters:FtpTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_GUARD_V20: Command<readonly [ptzGuard]>
cmd 332,
GET_GUARD_V20. Parameters:PtzGuard. Firmware: RLC-823A, Video Doorbell PoE. -
GET_HDD_CFG_V20: Command<readonly [hddInfoList]>
cmd 102,
GET_HDD_CFG_V20. Parameters:HddInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_HTTPS_CERT_INFO: Command<readonly [certificateInfo]>
cmd 455,
GET_HTTPS_CERT_INFO. Parameters:certificateInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_IOT_ACTION_V20: Command<readonly [iotAction, iotActionList]>
cmd 394,
GET_IOT_ACTION_V20. Parameters:IOTAction,IOTActionList. Firmware: RLC-823A, Video Doorbell PoE. The RLC-823A firmware spells itGET_IOT_ACTIONK_V20. The reply carriesIOTActionList, which the dispatch table does not list. -
GET_LED_STATE_V20: Command<readonly [ledState]>
cmd 208,
GET_LED_STATE_V20. Parameters:LedState. Firmware: RLC-823A, Video Doorbell PoE. -
GET_LINK_TYPE: Command<readonly [linkType]>
cmd 93,
GET_LINK_TYPE. Parameters:LinkType. Firmware: RLC-823A, Video Doorbell PoE. -
GET_LOCAL_LINK_V20: Command<readonly [dhcp, autoDns, ip, dns]>
cmd 76,
GET_LOCAL_LINK_V20. Parameters:Dhcp,AutoDns,Ip,Dns. Firmware: RLC-823A, Video Doorbell PoE. -
GET_MD_CFG_V20: Command<readonly [md]>
cmd 46,
GET_MD_CFG_V20. Parameters:MD. Firmware: RLC-823A, Video Doorbell PoE. -
GET_NAS_CFG: Command<readonly [nasUploadCfg]>
cmd 304,
GET_NAS_CFG. Parameters:NasUploadCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_NETPORT_CFG_V20: Command<>readonly []serverPort,httpPort,rtspPort,onvifPort,httpsPort,rtmpPort
cmd 37,
GET_NETPORT_CFG_V20. Parameters:ServerPort,HttpPort,RtspPort,OnvifPort,HttpsPort,RtmpPort. Firmware: RLC-823A, Video Doorbell PoE. -
GET_NETWORK_DIAGNOSIS_DATA_V20: Command<readonly [networkDiagnosisData]>
cmd 357,
GET_NETWORK_DIAGNOSIS_DATA_V20. Parameters:NetworkDiagnosisData. Firmware: RLC-823A, Video Doorbell PoE. -
GET_NTPCFG_V20: Command<readonly [ntp]>
cmd 38,
GET_NTPCFG_V20. Parameters:Ntp. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ONLINE_NEW_FW_V20: Command<readonly [onlineNewFirmwareInfo]>
cmd 197,
GET_ONLINE_NEW_FW_V20. Parameters:OnlineNewFirmwareInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ONLINE_UPDATE_STATE: Command<readonly [upgradeState]>
cmd 227,
GET_ONLINE_UPDATE_STATE. Parameters:upgradeState. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
GET_OSD_CFG_V20: Command<readonly [osdChannelName, osdDatetime]>
cmd 44,
GET_OSD_CFG_V20. Parameters:OsdChannelName,OsdDatetime. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PTOP_CFG_V20: Command<readonly [ptop]>
cmd 210,
GET_PTOP_CFG_V20. Parameters:PTOP. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PTZCRUISE_V20: Command<readonly [ptzCruise]>
cmd 64,
GET_PTZCRUISE_V20. Parameters:PtzCruise. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PTZ_AUTO_TEST_V20: Command<readonly [ptzAutoTest]>
cmd 340,
GET_PTZ_AUTO_TEST_V20. Parameters:PtzAutoTest. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPtzAutoTest, which the dispatch table does not list. -
GET_PTZ_CUR_POS_V20: Command<readonly [ptzCurPos]>
cmd 433,
GET_PTZ_CUR_POS_V20. Parameters:ptzCurPos. Firmware: RLC-823A. -
GET_PTZ_PRESET_V20: Command<readonly [ptzPreset]>
cmd 190,
GET_PTZ_PRESET_V20. Parameters:PtzPreset. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PUSHTASK_V20: Command<readonly [pushTask]>
cmd 219,
GET_PUSHTASK_V20. Parameters:PushTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PUSH_CFG_V20: Command<readonly [pushCfg]>
cmd 363,
GET_PUSH_CFG_V20. Parameters:PushCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_RECORD_V20: Command<readonly [recordCfg]>
cmd 54,
GET_RECORD_V20. Parameters:RecordCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_RECSCHEDULE_V20: Command<readonly [record]>
cmd 81,
GET_RECSCHEDULE_V20. Parameters:Record. Firmware: RLC-823A, Video Doorbell PoE. -
GET_RF_CFG_V20: Command<readonly [rfAlarmCfg]>
cmd 212,
GET_RF_CFG_V20. Parameters:rfAlarmCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_SCAN_AP_V20: Command<readonly [scanAp]>
cmd 198,
GET_SCAN_AP_V20. Parameters:ScanAp. Firmware: RLC-823A, Video Doorbell PoE. -
GET_SHARED_USER_CFG: Command<readonly [accessUserList]>
cmd 511,
GET_SHARED_USER_CFG. Parameters:accessUserList. Firmware: Video Doorbell PoE. -
GET_SHELTER_CFG_V20: Command<readonly [shelter]>
cmd 52,
GET_SHELTER_CFG_V20. Parameters:Shelter. Firmware: RLC-823A, Video Doorbell PoE. -
GET_SLEEP_STATE: Command<readonly [sleepState]>
cmd 574,
GET_SLEEP_STATE. Parameters:sleepState. Firmware: Video Doorbell PoE. -
GET_SMT_PLAY_URL_V20: Command<readonly [smtPlayUrl, smtPlayUrlReply]>
cmd 346,
GET_SMT_PLAY_URL_V20. Parameters:SmtPlayUrl,SmtPlayURL. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesSmtPlayURL, which the dispatch table does not list. -
GET_SUPPORT: Command<readonly [support]>
cmd 199,
GET_SUPPORT. Parameters:Support. Firmware: RLC-823A, Video Doorbell PoE. -
GET_SYSGENERAL_CFG_V20: Command<readonly [systemGeneral, norm]>
cmd 104,
GET_SYSGENERAL_CFG_V20. Parameters:SystemGeneral,Norm. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TALK_ABILITY: Command<readonly [talkAbility]>
cmd 10,
GET_TALK_ABILITY. Parameters:TalkAbility. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_CFG_V20: Command<readonly [timelapseCfg]>
cmd 319,
GET_TIMELAPSE_CFG_V20. Parameters:timelapseCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_CLOSE_V20: Command<readonly [timelapseFileSearch]>
cmd 325,
GET_TIMELAPSE_CLOSE_V20. Parameters:timelapseFileSearch. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_DATE_V20: Command<readonly [timelapseDateTbl]>
cmd 322,
GET_TIMELAPSE_DATE_V20. Parameters:timelapseDateTbl. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_DELETE_V20: Command<readonly [timelapseTaskDel]>
cmd 329,
GET_TIMELAPSE_DELETE_V20. Parameters:timelapseTaskDel. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
GET_TIMELAPSE_DLD_STOP_V20: Command<readonly []>
cmd 328,
GET_TIMELAPSE_DLD_STOP_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_DOWNLOAD_V20: Command<readonly [timelapseDownload]>
cmd 327,
GET_TIMELAPSE_DOWNLOAD_V20. Parameters:timelapseDownload. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_FILE_COVER_V20: Command<readonly [timelapseCover]>
cmd 326,
GET_TIMELAPSE_FILE_COVER_V20. Parameters:timelapseCover. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_FILE_DEL_V20: Command<readonly [timelapseFileDel]>
cmd 330,
GET_TIMELAPSE_FILE_DEL_V20. Parameters:timelapseFileDel. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
GET_TIMELAPSE_NEXT_V20: Command<readonly [timelapseFileSearch]>
cmd 324,
GET_TIMELAPSE_NEXT_V20. Parameters:timelapseFileSearch. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_OPEN_V20: Command<readonly [timelapseFileSearch]>
cmd 323,
GET_TIMELAPSE_OPEN_V20. Parameters:timelapseFileSearch. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_TASK_V20: Command<readonly [timelapseTasks]>
cmd 321,
GET_TIMELAPSE_TASK_V20. Parameters:timelapseTasks. Firmware: RLC-823A, Video Doorbell PoE. -
GET_UID_CFG_V20: Command<readonly [uid]>
cmd 114,
GET_UID_CFG_V20. Parameters:Uid. Firmware: RLC-823A, Video Doorbell PoE. -
GET_UPNPSTATE_V20: Command<readonly [upnp]>
cmd 97,
GET_UPNPSTATE_V20. Parameters:Upnp. Firmware: RLC-823A, Video Doorbell PoE. -
GET_USERCFG_V20: Command<readonly [abilitySuppport, userList]>
cmd 58,
GET_USERCFG_V20. Parameters:AbilitySuppport,UserList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_USER_ONLINE_V20: Command<readonly [onlineUserList]>
cmd 120,
GET_USER_ONLINE_V20. Parameters:OnlineUserList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_VERSION_V20: Command<readonly [versionInfo]>
cmd 80,
GET_VERSION_V20. Parameters:VersionInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_WIFI_INFO_V20: Command<readonly [wifi]>
cmd 116,
GET_WIFI_INFO_V20. Parameters:Wifi. Firmware: RLC-823A, Video Doorbell PoE. -
GET_WIFI_SIGNAL_V20: Command<readonly [wifiSignal]>
cmd 115,
GET_WIFI_SIGNAL_V20. Parameters:WifiSignal. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ZOOM_FOCUS_INFO_V20: Command<readonly [zoomFocusInfo, ptzZoomFocus]>
cmd 294,
GET_ZOOM_FOCUS_INFO_V20. Parameters:ZoomFocusInfo,PtzZoomFocus. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPtzZoomFocus, which the dispatch table does not list. -
GET_ZOOM_FOCUS_INFO_V20_295: Command<readonly [startZoomFocus]>
cmd 295,
GET_ZOOM_FOCUS_INFO_V20. Parameters:StartZoomFocus. Firmware: RLC-823A, Video Doorbell PoE. Key suffixed with its id: the firmware table reuses the nameGET_ZOOM_FOCUS_INFO_V20(also cmd 294). -
HEART_BEAT_V20: Command<readonly [heartBeat]>
cmd 0,
HEART_BEAT_V20. Parameters:HeartBeat. Firmware: RLC-823A, Video Doorbell PoE. -
IFRAME_REQUEST: Command<readonly [requestIframe]>
cmd 189,
IFRAME_REQUEST. Parameters:RequestIframe. Firmware: RLC-823A, Video Doorbell PoE. -
IMPORT_AUDIO_V20: Command<readonly [audioFileInfo, paramDataV20]>
cmd 261,
IMPORT_AUDIO_V20. Parameters:audioFileInfo,PARAM_DATA_V20. Firmware: RLC-823A, Video Doorbell PoE. -
IMPORT_IMAGE_V20: Command<readonly [imageFileInfo, paramDataV20]>
cmd 420,
IMPORT_IMAGE_V20. Parameters:imageFileInfo,PARAM_DATA_V20. Firmware: RLC-823A. -
INFO_PERFORMANCE_V20: Command<readonly [performanceInfo]>
cmd 122,
INFO_PERFORMANCE_V20. Parameters:PerformanceInfo. Firmware: RLC-823A, Video Doorbell PoE. -
INIT_HDD_V20: Command<readonly [hddInitList]>
cmd 103,
INIT_HDD_V20. Parameters:HddInitList. Firmware: RLC-823A, Video Doorbell PoE. -
INSTANT_PLAY_AUDIO: Command<readonly [audioFileInfo, paramDataV20]>
cmd 619,
INSTANT_PLAY_AUDIO. Parameters:audioFileInfo,PARAM_DATA_V20. Firmware: Video Doorbell PoE. -
LOGIN: Command<>readonly []loginUser,loginNet,ipcVersionList,deviceInfo,streamInfoList,loginErrInfo,accessInfo
cmd 1,
LOGIN. Parameters:LoginUser,LoginNet,IpcVersionList,DeviceInfo,StreamInfoList,LoginErrInfo,accessInfo. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesDeviceInfo,StreamInfoList,LoginErrInfo,accessInfo, which the dispatch table does not list. -
LOGOUT: Command<readonly [loginUser]>
cmd 2,
LOGOUT. Parameters:LoginUser. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
MUTE_AUDIO_V20: Command<readonly [muteAudio]>
cmd 266,
MUTE_AUDIO_V20. Parameters:muteAudio. Firmware: RLC-823A, Video Doorbell PoE. -
NET_GET_FREQ_CORRECT_RESULT: Command<readonly [freqCorrectResult]>
cmd 606,
NET_GET_FREQ_CORRECT_RESULT. Parameters:freqCorrectResult. Firmware: Video Doorbell PoE. -
NEW_BIND_CLOUD_V20: Command<readonly [bindCloud]>
cmd 269,
NEW_BIND_CLOUD_V20. Parameters:BindCloud. Firmware: RLC-823A, Video Doorbell PoE. -
NEW_GET_CLOUD_BIND_INFO_V20: Command<readonly [cloudBindInfo]>
cmd 268,
NEW_GET_CLOUD_BIND_INFO_V20. Parameters:CloudBindInfo. Firmware: RLC-823A, Video Doorbell PoE. -
ONLINE_UPDATE_V20: Command<readonly [onlineUpdate]>
cmd 191,
ONLINE_UPDATE_V20. Parameters:OnlineUpdate. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
PLAY_ALARM_ALERTOR_V20: Command<readonly [audioFileInfo]>
cmd 349,
PLAY_ALARM_ALERTOR_V20. Parameters:audioFileInfo. Firmware: RLC-823A, Video Doorbell PoE. -
PLAY_AUDIO_V20: Command<readonly [audioPlayInfo]>
cmd 263,
PLAY_AUDIO_V20. Parameters:audioPlayInfo. Firmware: RLC-823A, Video Doorbell PoE. -
PTZ_3D_LOCATION_V20: Command<readonly [ptz3DLocation]>
cmd 445,
3D_LOCATION_V20. Parameters:Ptz3DLocation. Firmware: RLC-823A. Firmware name3D_LOCATION_V20; prefixed so the key is an identifier. -
PTZ_AUTO_TEST_V20: Command<readonly []>
cmd 341,
PTZ_AUTO_TEST_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
PTZ_CONTROL_V20: Command<readonly [ptzControl]>
cmd 18,
PTZ_CONTROL_V20. Parameters:PtzControl. Firmware: RLC-823A, Video Doorbell PoE. -
PTZ_CRUISE_V20: Command<readonly [ptzCruise]>
cmd 20,
PTZ_CRUISE_V20. Parameters:PtzCruise. Firmware: RLC-823A, Video Doorbell PoE. -
PTZ_PRESET_V20: Command<readonly [ptzPreset]>
cmd 19,
PTZ_PRESET_V20. Parameters:PtzPreset. Firmware: RLC-823A, Video Doorbell PoE. -
PUSH_ADD_V20: Command<readonly [pushInfo, pushRspInfo]>
cmd 124,
PUSH_ADD_V20. Parameters:PushInfo,PushRspInfo. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPushRspInfo, which the dispatch table does not list. -
PUSH_DEL_V20: Command<readonly [pushInfo]>
cmd 125,
PUSH_DEL_V20. Parameters:PushInfo. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
PUSH_TEST_V20: Command<readonly [pushTestResult]>
cmd 358,
PUSH_TEST_V20. Parameters:PushTestResult. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPushTestResult, which the dispatch table does not list. -
REBOOT_V20: Command<readonly []>
cmd 23,
REBOOT_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
REPLAY_SEEK: Command<readonly [replaySeek]>
cmd 123,
REPLAY_SEEK. Parameters:ReplaySeek. Firmware: RLC-823A, Video Doorbell PoE. -
SAVE_AUDIO_V20: Command<readonly [audioFileInfo]>
cmd 262,
SAVE_AUDIO_V20. Parameters:audioFileInfo. Firmware: RLC-823A, Video Doorbell PoE. -
SEARCH_CLOSE: Command<readonly [fileInfoList]>
cmd 16,
SEARCH_CLOSE. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
SEARCH_FILE: Command<readonly [fileInfoList]>
cmd 15,
SEARCH_FILE. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
SEARCH_OPEN: Command<readonly [fileInfoList]>
cmd 14,
SEARCH_OPEN. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
SEEK_REPLAY_BY_TM: Command<readonly [replaySeekV2]>
cmd 383,
SEEK_REPLAY_BY_TM. Parameters:ReplaySeekV2. Firmware: Video Doorbell PoE. -
SETVEDIOPARAM_V20: Command<readonly [videoInput, inputAdvanceCfg]>
cmd 25,
SETVEDIOPARAM_V20. Parameters:VideoInput,InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AF_ALGORITHM_V20: Command<readonly [afAlgorithm]>
cmd 454,
SET_AF_ALGORITHM_V20. Parameters:afAlgorithm. Firmware: RLC-823A. -
SET_AI_CFG: Command<readonly [aiCfg]>
cmd 300,
SET_AI_CFG. Parameters:AiCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AI_DETECT_CFG_V20: Command<readonly [aiDetectCfg]>
cmd 343,
SET_AI_DETECT_CFG_V20. Parameters:AiDetectCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AI_TRACK_LIMIT_V20: Command<readonly [trackLimit]>
cmd 435,
SET_AI_TRACK_LIMIT_V20. Parameters:trackLimit. Firmware: RLC-823A. -
SET_AI_TRACK_TASK_V20: Command<readonly [trackSchedule]>
cmd 437,
SET_AI_TRACK_TASK_V20. Parameters:trackSchedule. Firmware: RLC-823A. -
SET_AI_YUV_STREAM_CFG: Command<readonly [aiyuvCfg]>
cmd 720,
SET_AI_YUV_STREAM_CFG. Parameters:AIYUVCfg. Firmware: Video Doorbell PoE. -
SET_ALARM_AREA_V20: Command<readonly [alarmArea]>
cmd 345,
SET_ALARM_AREA_V20. Parameters:AlarmArea. Firmware: RLC-823A, Video Doorbell PoE. -
SET_ANSWER_EVENT: Command<readonly [answerEvent]>
cmd 620,
SET_ANSWER_EVENT. Parameters:answerEvent. Firmware: Video Doorbell PoE. -
SET_AUDIOTASK_V20: Command<readonly [audioTask]>
cmd 231,
SET_AUDIOTASK_V20. Parameters:AudioTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AUDIO_CFG_V20: Command<readonly [audioCfg]>
cmd 265,
SET_AUDIO_CFG_V20. Parameters:audioCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AUDIO_FILE_INFO_LIST_V20: Command<readonly [audioFileInfoList]>
cmd 368,
SET_AUDIO_FILE_INFO_LIST_V20. Parameters:audioFileInfoList. Firmware: Video Doorbell PoE. -
SET_AUTO_FOCUS_V20: Command<readonly [autoFocus]>
cmd 225,
SET_AUTO_FOCUS_V20. Parameters:AutoFocus. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AUTO_REBOOT_CFG_V20: Command<readonly [autoReboot]>
cmd 100,
SET_AUTO_REBOOT_CFG_V20. Parameters:AutoReboot. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
SET_AUTO_REPLY: Command<readonly [autoReply]>
cmd 428,
SET_AUTO_REPLY. Parameters:AutoReply. Firmware: Video Doorbell PoE. -
SET_CLOUD_CFG_V20: Command<readonly [cloudUploadCfg]>
cmd 271,
SET_CLOUD_CFG_V20. Parameters:CloudUploadCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_CLOUD_LOGIN_V20: Command<readonly [cloudLoginKey]>
cmd 283,
SET_CLOUD_LOGIN_V20. Parameters:CloudLoginKey. Firmware: RLC-823A, Video Doorbell PoE. -
SET_CLOUD_TASK_V20: Command<readonly [cloudTask]>
cmd 235,
SET_CLOUD_TASK_V20. Parameters:CloudTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_COMPRESSIONCFG_V20: Command<readonly [compression]>
cmd 57,
SET_COMPRESSIONCFG_V20. Parameters:Compression. Firmware: RLC-823A, Video Doorbell PoE. -
SET_CROP_V20: Command<readonly [crop]>
cmd 229,
SET_CROP_V20. Parameters:Crop. Firmware: RLC-823A, Video Doorbell PoE. -
SET_DAY_NIGHT_THRESHOLD_V20: Command<readonly [dayNightThreshold]>
cmd 297,
SET_DAY_NIGHT_THRESHOLD_V20. Parameters:DayNightThreshold. Firmware: RLC-823A, Video Doorbell PoE. -
SET_DDNSCFG_V20: Command<readonly [ddns]>
cmd 41,
SET_DDNSCFG_V20. Parameters:Ddns. Firmware: RLC-823A, Video Doorbell PoE. -
SET_DEVICE_SLEEP: Command<readonly []>
cmd 233,
SET_DEVICE_SLEEP. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
SET_DINGDONG_SILENT_MODE: Command<readonly [dingdongSilentMode]>
cmd 610,
SET_DINGDONG_SILENT_MODE. Parameters:dingdongSilentMode. Firmware: Video Doorbell PoE. -
SET_DST_CFG_V20: Command<readonly [dst]>
cmd 107,
SET_DST_CFG_V20. Parameters:Dst. Firmware: RLC-823A, Video Doorbell PoE. -
SET_EMAILCFG_V20: Command<readonly [email]>
cmd 43,
SET_EMAILCFG_V20. Parameters:Email. Firmware: RLC-823A, Video Doorbell PoE. -
SET_EMAILTASK_V20: Command<readonly [emailTask]>
cmd 216,
SET_EMAILTASK_V20. Parameters:EmailTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_FLOODLIGHT_STATUS: Command<readonly [floodlightManual]>
cmd 288,
SET_FLOODLIGHT_STATUS. Parameters:FloodlightManual. Firmware: RLC-823A, Video Doorbell PoE. -
SET_FLOODLIGHT_TASK: Command<readonly [floodlightTask]>
cmd 290,
SET_FLOODLIGHT_TASK. Parameters:FloodlightTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_FTPCFG_V20: Command<readonly [ftp]>
cmd 69,
SET_FTPCFG_V20. Parameters:Ftp. Firmware: RLC-823A, Video Doorbell PoE. -
SET_FTPTASK_V20: Command<readonly [ftpTask]>
cmd 71,
SET_FTPTASK_V20. Parameters:FtpTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_GOP_V20: Command<readonly [gopCfg]>
cmd 284,
SET_GOP_V20. Parameters:GopCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_GUARD_V20: Command<readonly [ptzGuard]>
cmd 331,
SET_GUARD_V20. Parameters:PtzGuard. Firmware: RLC-823A, Video Doorbell PoE. -
SET_HTTPS_CERT_INFO: Command<readonly [certificateInfo]>
cmd 456,
SET_HTTPS_CERT_INFO. Parameters:certificateInfo. Firmware: RLC-823A, Video Doorbell PoE. -
SET_IOT_ACTION_V20: Command<readonly [iotAction]>
cmd 395,
SET_IOT_ACTION_V20. Parameters:IOTAction. Firmware: RLC-823A, Video Doorbell PoE. -
SET_LED_STATE_V20: Command<readonly [ledState]>
cmd 209,
SET_LED_STATE_V20. Parameters:LedState. Firmware: RLC-823A, Video Doorbell PoE. -
SET_LOCAL_LINK_V20: Command<readonly [dhcp, autoDns, ip, dns]>
cmd 77,
SET_LOCAL_LINK_V20. Parameters:Dhcp,AutoDns,Ip,Dns. Firmware: RLC-823A, Video Doorbell PoE. -
SET_MD_CFG_V20: Command<readonly [md]>
cmd 47,
SET_MD_CFG_V20. Parameters:MD. Firmware: RLC-823A, Video Doorbell PoE. -
SET_NAS_CFG: Command<readonly [nasUploadCfg]>
cmd 305,
SET_NAS_CFG. Parameters:NasUploadCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_NETPORT_CFG_V20: Command<>readonly []serverPort,httpPort,rtspPort,onvifPort,httpsPort,rtmpPort
cmd 36,
SET_NETPORT_CFG_V20. Parameters:ServerPort,HttpPort,RtspPort,OnvifPort,HttpsPort,RtmpPort. Firmware: RLC-823A, Video Doorbell PoE. -
SET_NTPCFG_V20: Command<readonly [ntp]>
cmd 39,
SET_NTPCFG_V20. Parameters:Ntp. Firmware: RLC-823A, Video Doorbell PoE. -
SET_OSD_CFG_V20: Command<readonly [osdChannelName, osdDatetime]>
cmd 45,
SET_OSD_CFG_V20. Parameters:OsdChannelName,OsdDatetime. Firmware: RLC-823A, Video Doorbell PoE. -
SET_PTOP_CFG_V20: Command<readonly [ptop]>
cmd 211,
SET_PTOP_CFG_V20. Parameters:PTOP. Firmware: RLC-823A, Video Doorbell PoE. -
SET_PUSHTASK_V20: Command<readonly [pushTask]>
cmd 218,
SET_PUSHTASK_V20. Parameters:PushTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_PUSH_CFG_V20: Command<readonly [pushCfg]>
cmd 364,
SET_PUSH_CFG_V20. Parameters:PushCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_RECORD_V20: Command<readonly [recordCfg]>
cmd 55,
SET_RECORD_V20. Parameters:RecordCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_RECSCHEDULE_V20: Command<readonly [record]>
cmd 82,
SET_RECSCHEDULE_V20. Parameters:Record. Firmware: RLC-823A, Video Doorbell PoE. -
SET_RESTORE_V20: Command<readonly [restore]>
cmd 99,
SET_RESTORE_V20. Parameters:Restore. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
SET_RF_CFG_V20: Command<readonly [rfAlarmCfg]>
cmd 213,
SET_RF_CFG_V20. Parameters:rfAlarmCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_SHARED_USER_CFG: Command<readonly [accessUserList]>
cmd 512,
SET_SHARED_USER_CFG. Parameters:accessUserList. Firmware: Video Doorbell PoE. -
SET_SHELTER_CFG_V20: Command<readonly [shelter]>
cmd 53,
SET_SHELTER_CFG_V20. Parameters:Shelter. Firmware: RLC-823A, Video Doorbell PoE. -
SET_SLEEP_STATE: Command<readonly [sleepState]>
cmd 575,
SET_SLEEP_STATE. Parameters:sleepState. Firmware: Video Doorbell PoE. -
SET_SYSGENERAL_CFG_V20: Command<readonly [systemGeneral, norm]>
cmd 105,
SET_SYSGENERAL_CFG_V20. Parameters:SystemGeneral,Norm. Firmware: RLC-823A, Video Doorbell PoE. -
SET_TIMELAPSE_CFG_V20: Command<readonly [timelapseCfg]>
cmd 320,
SET_TIMELAPSE_CFG_V20. Parameters:timelapseCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_TIME_V20: Command<readonly [timeCfg]>
cmd 287,
SET_TIME_V20. Parameters:TimeCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_UPNPSTATE_V20: Command<readonly [upnp]>
cmd 98,
SET_UPNPSTATE_V20. Parameters:Upnp. Firmware: RLC-823A, Video Doorbell PoE. -
SET_USERCFG_V20: Command<readonly [userList]>
cmd 59,
SET_USERCFG_V20. Parameters:UserList. Firmware: RLC-823A, Video Doorbell PoE. -
SET_USER_ONLINE_V20: Command<readonly [onlineUserList]>
cmd 121,
SET_USER_ONLINE_V20. Parameters:OnlineUserList. Firmware: RLC-823A, Video Doorbell PoE. -
SET_WIFI_INFO_V20: Command<readonly [wifi]>
cmd 117,
SET_WIFI_INFO_V20. Parameters:Wifi. Firmware: RLC-823A, Video Doorbell PoE. -
SNAP_V20: Command<readonly [snap]>
cmd 109,
SNAP_V20. Parameters:Snap. Firmware: RLC-823A, Video Doorbell PoE. -
START_ALARM_REPORT: Command<readonly []>
cmd 31,
START_ALARM_REPORT. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
START_ALARM_REPORT_192: Command<readonly []>
cmd 192,
START_ALARM_REPORT. No parameters. Firmware: RLC-823A, Video Doorbell PoE. Key suffixed with its id: the firmware table reuses the nameSTART_ALARM_REPORT(also cmd 31). -
START_FIND_ALARM_VIDEO_V20: Command<readonly [findAlarmVideo]>
cmd 272,
START_FIND_ALARM_VIDEO_V20. Parameters:findAlarmVideo. Firmware: Video Doorbell PoE. -
START_PREVIEW: Command<readonly [preview]>
cmd 3,
START_PREVIEW. Parameters:Preview. Firmware: RLC-823A, Video Doorbell PoE. -
START_REPLAY: Command<readonly [fileInfoList]>
cmd 5,
START_REPLAY. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
START_REPLAY_BY_TM: Command<readonly [replayByTimeV2]>
cmd 381,
START_REPLAY_BY_TM. Parameters:ReplayByTimeV2. Firmware: Video Doorbell PoE. -
STOP_ALARM_ALERTOR_V20: Command<readonly []>
cmd 350,
STOP_ALARM_ALERTOR_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
STOP_FIND_ALARM_VIDEO_V20: Command<readonly [findAlarmVideo]>
cmd 274,
STOP_FIND_ALARM_VIDEO_V20. Parameters:findAlarmVideo. Firmware: Video Doorbell PoE. -
STOP_PREVIEW: Command<readonly [preview]>
cmd 4,
STOP_PREVIEW. Parameters:Preview. Firmware: RLC-823A, Video Doorbell PoE. -
STOP_REPLAY: Command<readonly [fileInfoList]>
cmd 7,
STOP_REPLAY. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
STOP_REPLAY_BY_TM: Command<readonly [replayByTimeV2]>
cmd 382,
STOP_REPLAY_BY_TM. Parameters:ReplayByTimeV2. Firmware: Video Doorbell PoE. -
SYNC_CLIENT_LIST: Command<readonly []>
cmd 525,
SYNC_CLIENT_LIST. No parameters. Firmware: Video Doorbell PoE. -
SYNC_SSID: Command<readonly [syncSsid]>
cmd 513,
SYNC_SSID. Parameters:syncSSID. Firmware: RLC-823A. -
TALK_CLOSE_V20: Command<readonly []>
cmd 11,
TALK_CLOSE_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
TALK_FDX_STREAM_V20: Command<readonly [paramDataV20]>
cmd 202,
TALK_FDX_STREAM_V20. Parameters:PARAM_DATA_V20. Firmware: RLC-823A, Video Doorbell PoE. -
TALK_OPEN_V20: Command<readonly [talkConfig]>
cmd 201,
TALK_OPEN_V20. Parameters:TalkConfig. Firmware: RLC-823A, Video Doorbell PoE. -
UNBIND_IOT_V20: Command<readonly [iotBindUnBind]>
cmd 392,
UNBIND_IOT_V20. Parameters:IOTBindUnBind. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
UNBIND_NAS: Command<readonly [bindUnbindNas]>
cmd 280,
UNBIND_NAS. Parameters:BindUnbindNas. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
UPDATE_CFG_GET_V20: Command<readonly [autoUpdate]>
cmd 195,
UPDATE_CFG_GET_V20. Parameters:AutoUpdate. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
UPDATE_CFG_SET_V20: Command<readonly [autoUpdate]>
cmd 196,
UPDATE_CFG_SET_V20. Parameters:AutoUpdate. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
UPDATE_DEVICE: Command<readonly [configFileInfo, paramDataV20]>
cmd 67,
UPDATE_DEVICE. Parameters:ConfigFileInfo,PARAM_DATA_V20. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
WIFI_TEST_V20: Command<readonly [wifi]>
cmd 200,
WIFI_TEST_V20. Parameters:Wifi. Firmware: RLC-823A, Video Doorbell PoE.
Camera credentials for Client.login.
-
password: string
The camera password.
-
username: string
The camera user name.
Union of the PTZ_COMMAND values.
Where the camera points, in the camera's own motor units.
-
pan: number
Pan position (
pPos). Wraps around on cameras that turn a full circle. -
tilt: number
Tilt position (
tPos).
A saved PTZ position.
-
id: number
The id to pass to ptzPresetXml.
-
name: string
The name it was saved under.
| { name: undefined; id: number; xml: string; }
A message the camera sent unasked, from Client.pushes.
The messages the firmware pushes unasked, keyed by a descriptive name.
-
ALARM_EVENT_REPORT: Command<readonly [alarmEventList]>
cmd 33. Parameters:
AlarmEventList. Firmware: RLC-823A, Video Doorbell PoE. -
BATTERY_CAMERA_HEARTBEAT: Command<readonly []>
cmd 234. No parameters. Firmware: Video Doorbell PoE.
-
BATTERY_STATUS_REPORT: Command<readonly [batteryList]>
cmd 252. Parameters:
BatteryList. Firmware: RLC-823A, Video Doorbell PoE. -
CHIME_SCAN_REPORT: Command<readonly [dingdongList]>
cmd 490. Parameters:
dingdongList. Firmware: Video Doorbell PoE. -
FLOODLIGHT_STATUS_REPORT: Command<readonly [floodlightStatusList]>
cmd 291. Parameters:
FloodlightStatusList. Firmware: RLC-823A, Video Doorbell PoE. -
MOBILE_NETWORK_REPORT: Command<readonly [net3g4gInfo]>
cmd 255. Parameters:
Net3g4gInfo. Firmware: RLC-823A, Video Doorbell PoE. -
SERIAL_CHANGE_REPORT: Command<readonly [serial]>
cmd 79. Parameters:
Serial. Firmware: RLC-823A, Video Doorbell PoE. -
SLEEP_STATUS_REPORT: Command<readonly [sleepStatus]>
cmd 623. Parameters:
sleepStatus. Firmware: Video Doorbell PoE. -
VIDEO_INPUT_CHANGE_REPORT: Command<readonly [videoInput]>
cmd 78. Parameters:
VideoInput. Firmware: RLC-823A, Video Doorbell PoE.
Options for Client.subscribe.
-
keepAliveMs: number
How long the connection may stay silent before the client pings the camera, in milliseconds. If a second interval passes with nothing from the camera, the event stream errors. Defaults to
30_000.
The firmware request commands, for Client.call.
PTZ commands for ptzControlXml. A move keeps going until STOP.
-
AUTO: string
Start the camera's automatic scan.
-
DOWN: string
Tilt down.
-
LEFT: string
Pan left.
-
LEFT_DOWN: string
Pan left and tilt down.
-
LEFT_UP: string
Pan left and tilt up.
-
RIGHT: string
Pan right.
-
RIGHT_DOWN: string
Pan right and tilt down.
-
RIGHT_UP: string
Pan right and tilt up.
-
STOP: string
Stop any move or zoom.
-
UP: string
Tilt up.
-
ZOOM_IN: string
Zoom in.
-
ZOOM_OUT: string
Zoom out.
The messages the firmware pushes unasked. Names are descriptive: the firmware dispatch tables only list requests.
Baichuan message header coder.
Encode and decode the nonce request header
Encode and decode the nonce request header
import { assertEquals } from "@std/assert"; import { decode, encode } from "@hertzg/binstruct"; import { BAICHUAN_MESSAGE_CLASS, baichuanHeader, } from "@hertzg/reolink-api/encoding/header"; const header = { cmdId: 1, bodyLength: 0, channelId: 250, messageId: 1, encryption: 0xdc12, messageClass: BAICHUAN_MESSAGE_CLASS.LEGACY, }; const bytes = encode(baichuanHeader(), header); assertEquals(bytes.length, 20); assertEquals(decode(baichuanHeader(), bytes), header);
Creates a coder for a BaichuanHeader.
Returns the header length in bytes for a message class.
& (
| { encryption: number; status?: never; payloadOffset?: never; }
A decoded Baichuan message header, without the magic.
The four bytes f0 de bc 0a that open every message, read as u32le.
Message classes (bytes 18-19, read as u16be). The class decides the
header length, see headerLength.
-
LEGACY: number
20-byte header with an encryption marker, used for the nonce request.
-
MODERN: number
20-byte header with an encryption marker, used for replies to it.
-
MODERN_WITH_OFFSET: number
24-byte header with a status code and payload offset.
-
MODERN_WITH_OFFSET_ALT: number
Also 24 bytes with a status code and payload offset.
The two ciphers Baichuan uses for message bodies.
Scramble and unscramble a body with the XOR cipher
Scramble and unscramble a body with the XOR cipher
import { assertEquals } from "@std/assert"; import { xorCipher } from "@hertzg/reolink-api/encoding/cipher"; const plain = new TextEncoder().encode("<?xml"); const scrambled = xorCipher(plain, 250); assertEquals(scrambled, Uint8Array.of(0xfa, 0x8e, 0xd8, 0xfe, 0xee)); assertEquals(xorCipher(scrambled, 250), plain);
Decrypts a body encrypted with AES-128-CFB, 128-bit segments, IV
"0123456789abcdef".
Encrypts a body with AES-128-CFB, 128-bit segments, IV "0123456789abcdef".
Applies the Baichuan XOR cipher. The cipher is its own inverse, so the same call encrypts and decrypts.
Baichuan messages: a header plus the bytes that follow it.
Build a subscribe request and read its header
Build a subscribe request and read its header
import { assertEquals } from "@std/assert"; import { BAICHUAN_CHANNEL, BAICHUAN_CMD, createMessage, } from "@hertzg/reolink-api/protocol/message"; const message = createMessage({ cmdId: BAICHUAN_CMD.SUBSCRIBE, channelId: BAICHUAN_CHANNEL.PUSH, messageId: 3, }); assertEquals(message.header, { cmdId: 31, bodyLength: 0, channelId: 251, messageId: 3, status: 0, messageClass: 0x1464, payloadOffset: 0, });
Builds a request message, filling in the header from the options.
Decrypts a received body into XML text.
Decrypts the binary payload of a received message, such as a snapshot chunk.
Builds the extension XML that addresses a request to one camera channel.
A Baichuan message: a header and the bytes after it, split at
header.payloadOffset.
-
body: Uint8Array
Bytes before
payloadOffset, as sent on the wire, still encrypted. -
header: BaichuanHeader
The decoded header.
bodyLengthcoversbodyandpayloadtogether. -
payload: Uint8Array
Bytes after
payloadOffset, empty for most messages.
| BAICHUAN_MESSAGE_CLASS.MODERN_WITH_OFFSET
Fields for createMessage.
-
body: Uint8Array
The already encrypted body. Defaults to empty.
-
channelId: number
Channel id, such as one of BAICHUAN_CHANNEL.
-
cmdId: number
Command id, such as one of BAICHUAN_CMD.
-
extension: Uint8Array
The already encrypted channel extension, from extensionXml. It goes before
body, andpayloadOffsetpoints past it. -
messageClass: BAICHUAN_MESSAGE_CLASS.LEGACY
| BAICHUAN_MESSAGE_CLASS.MODERN_WITH_OFFSETLEGACYonly for the nonce request. Defaults toMODERN_WITH_OFFSET. -
messageId: number
Message id the reply will echo.
Channel ids (the header's channelId) for requests that address the
device rather than one camera channel. Camera channels are 1-100, the
channel number plus one.
-
HOST: number
The device itself: login, ping.
-
PUSH: number
The push channel: subscribe and alarm pushes.
Command ids (the header's cmdId) this package sends or reads.
-
ALARM_EVENT: number
An alarm push: motion, doorbell, tamper or AI state.
-
LOGIN: number
Nonce request and login, both on the host channel.
-
PING: number
Ping, answered by the camera; keeps an idle connection open.
-
PRIVACY_MODE: number
Read the privacy mode (sleep) state.
-
PTZ_CONTROL: number
Move, zoom or stop a PTZ camera.
-
PTZ_POSITION: number
Read the current PTZ pan and tilt position.
-
PTZ_PRESET: number
Move a PTZ camera to a saved preset.
-
PTZ_PRESETS: number
List the saved PTZ presets.
-
SET_PRIVACY_MODE: number
Turn the privacy mode (sleep) on or off.
-
SIREN: number
Play or stop the siren.
-
SNAPSHOT: number
Take a JPEG snapshot, streamed back as payload.
-
SUBSCRIBE: number
Subscribe to alarm pushes.
Baichuan "modern" login: nonce, hashed credentials and the session key.
Build the login body from a nonce
Build the login body from a nonce
import { assertEquals, assertStringIncludes } from "@std/assert"; import { loginCredentials, loginXml, parseNonce, } from "@hertzg/reolink-api/protocol/login"; const nonce = parseNonce( "<body><Encryption><nonce>NONCE-0123</nonce></Encryption></body>", ); const credentials = loginCredentials({ username: "admin", password: "hunter2", nonce, }); assertEquals(nonce, "NONCE-0123"); assertStringIncludes( loginXml(credentials), "<userName>329F51D2942C5953794C5C99EB43D46</userName>", );
Derives the hashed credentials and the AES session key from a nonce.
Builds the XML body of the login request.
Hashes a string the way Baichuan's modern login does: MD5 of the UTF-8 bytes, as upper-case hex, with the last hex digit dropped (31 characters).
Reads the nonce from the camera's reply to the nonce request.
The hashed credentials sent at login, and the session key that follows.
-
aesKey: Uint8Array
The first 16 characters of
md5Modern(nonce + "-" + password), as UTF-8 bytes. -
passwordHash: string
md5Modern(password + nonce). -
userHash: string
md5Modern(username + nonce).
What the login needs: the user's credentials and the camera's nonce.
-
nonce: string
The nonce from the camera's encryption reply, see parseNonce.
-
password: string
The camera password.
-
username: string
The camera user name.
Alarm events pushed by the camera (cmd 33).
Parse a doorbell press
Parse a doorbell press
import { assertEquals } from "@std/assert"; import { parseAlarmEvents } from "@hertzg/reolink-api/protocol/event"; const events = parseAlarmEvents( "<body><AlarmEventList><AlarmEvent>" + "<channelId>0</channelId><status>visitor</status><AItype>none</AItype>" + "</AlarmEvent></AlarmEventList></body>", ); assertEquals(events, [ { channel: 0, motion: false, visitor: true, tamper: false, ai: [] }, ]);
Reads every <AlarmEvent> from a decrypted cmd 33 push.
The alarm state of one channel, as the camera pushed it.
-
ai: string[]
AI detections the camera reports, such as
people,vehicleordog_cat. Empty fornone. -
channel: number
Zero-based channel number. A standalone camera or doorbell is channel
0. -
motion: boolean
Motion detected:
MDin the status. -
tamper: boolean
Tamper alarm:
tamperin the status. -
visitor: boolean
Doorbell active:
visitorin the status.
Typed XML codecs for Baichuan parameters.
Describe a parameter and round-trip it
Describe a parameter and round-trip it
import { assertEquals, assertStringIncludes } from "@std/assert"; import { parse } from "@std/xml"; import { int, xmlParam } from "@hertzg/reolink-api/protocol/xml"; const rtspPort = xmlParam("RtspPort", { rtspPort: int(), enable: int() }); const xml = rtspPort.encode({ rtspPort: 554, enable: 1 }); assertStringIncludes(xml, "<rtspPort>554</rtspPort>"); assertEquals(rtspPort.decode(parse(xml).root), { rtspPort: 554, enable: 1 });
A floating point field.
A signed integer field, such as <channelId>0</channelId>.
A wrapper element holding repeated items, such as
<presetList><preset>…</preset><preset>…</preset></presetList>.
A nested element with fields of its own.
A text field limited to known values, such as <parity>none</parity>.
Marks a field as possibly missing: it reads as absent instead of throwing, and is not written when absent.
Elements repeated directly under the parent, such as several
<AlarmEvent> inside <AlarmEventList>. Missing elements read as [].
A text field, such as <name>Front door</name>. XML entities are escaped
on write and unescaped on read.
An unsigned 64-bit integer field, read as a bigint so no digit is lost.
An unsigned 32-bit integer field.
Describes a parameter element and its fields.
Any XmlParam, whatever its value. any for the same variance
reason as XmlFields.
The keys of F whose codecs are marked optional.
Reads and writes one XML field: an element's text, a nested element, or a run of repeated elements.
-
decode: () => Tname: string,parent: XmlElement
Reads the value from the children of
parentnamedname. -
encode: () => stringname: string,value: T
Writes
valueas elements namedname. -
optional: boolean
truewhen the field may be missing; set by optional.
A record of named field codecs, as passed to obj and xmlParam.
& [K in OptionalKeys<F>]?: XmlFieldValue<F[K]>
The decoded object for a record of field codecs; optional fields may be absent.
The decoded value of an XmlField.
A Baichuan parameter: a named top-level element of <body>.
-
decode: (element: XmlElement) => T
Reads the element's fields.
-
encode: (value: T) => string
Writes the element, with
version="1.1". -
fields: XmlFields
The field codecs, in the order they are written.
-
name: N
The element name.
The decoded value of an XmlParam.
Baichuan commands as data: an id, the firmware's name, and the parameter elements its bodies carry.
Encode and decode a command body
Encode and decode a command body
import { assertEquals } from "@std/assert"; import { command, decodeCommandBody, encodeCommandBody, } from "@hertzg/reolink-api/protocol/command"; import { int, xmlParam } from "@hertzg/reolink-api/protocol/xml"; const rtspPort = xmlParam("RtspPort", { rtspPort: int(), enable: int() }); const setPorts = command(36, "SET_NETPORT_CFG_V20", [rtspPort]); const xml = encodeCommandBody(setPorts, { RtspPort: { rtspPort: 554, enable: 1 }, }); assertEquals(decodeCommandBody(setPorts, xml), { RtspPort: { rtspPort: 554, enable: 1 }, });
Reads a command body. Elements that are not among the command's parameters are ignored.
Writes a command body as XML. Parameters missing from body are left out;
an empty body gives an empty string, which the firmware treats as "use
the current values" rather than as an empty <body/>.
A Baichuan command: its id, firmware name, and parameter elements.
-
firmware: readonly Firmware[]
The firmware builds known to register the command, empty when unknown. Registration does not promise that a given device answers it.
-
id: number
The command id sent in the message header.
-
name: string
The name the firmware's dispatch table gives the command.
-
params: P
The parameter elements the command's bodies may carry.
The body of a Command, request or reply: each of its parameters by element name, all optional.
A firmware build whose command table this package was derived from.
Codecs for every Baichuan parameter element the RLC-823A firmware
(IPC_523SD10.2898_23110119) reads or writes, one per element name.
Read a pushed <Serial> element
Read a pushed <Serial> element
import { assertEquals } from "@std/assert"; import { parse } from "@std/xml"; import { serial } from "@hertzg/reolink-api/protocol/params"; const root = parse( '<Serial version="1.1"><channelId>0</channelId><baudRate>9600</baudRate>' + "<dataBit>CS8</dataBit><stopBit>1</stopBit><parity>none</parity>" + "<flowControl>none</flowControl><controlProtocol>PELCO_D</controlProtocol>" + "<controlAddress>1</controlAddress></Serial>", ).root; assertEquals(serial.decode(root).baudRate, 9600);
The alarm module: an optional device-wide entry, then per-channel ones.
-
subModule: { channelId?: number; abilityValue: string; }[]
The entries, as repeated
<subModule>; the device-wide one comes first and has nochannelId.
A module with permissions per channel.
-
subModule: { channelId: number; abilityValue: string; }[]
One entry per channel with a permission, as repeated
<subModule>.
A module that applies to the whole device.
-
subModule: { abilityValue: string; }
The permissions.
The user's permissions in <AbilityInfo>.
-
IO: AbilityGlobalModule
Alarm I/O: manualAlarm, ioAlarmIn, ioAlarmOut.
-
PTZ: AbilityGlobalModule
PTZ: control, preset, cruise, track, decoder, ptzInfo.
-
alarm: AbilityAlarmModule
Alarms: hddFull, hddError and so on device-wide; motion, videoLost, hide, smart per channel.
-
audio: AbilityGlobalModule
Audio: talk.
-
disk: AbilityGlobalModule
Disk: format, hddCfg, hddInit.
-
image: AbilityChannelModule
Image per channel: ispBasic, ispAdvance, ledState.
-
network: AbilityGlobalModule
Network: port, dns, email, ftp, wifi, ntp, push, ptop and so on.
-
record: AbilityChannelModule
Recording per channel: download, fileFind, manualRecord, recordCfg and so on.
-
replay: AbilityChannelModule
Playback per channel: replay, seek.
-
security: AbilityGlobalModule
Security: user, userOnline, bootPwd.
-
streaming: AbilityChannelModule
Streaming per channel: preview, compress, snap, rtsp, streamTable.
-
system: AbilityGlobalModule
System: general, norm, version, uid, autoReboot, restore, reboot and so on.
-
userName: string
The user these permissions belong to.
-
video: AbilityChannelModule
Video per channel: osdName, osdTime, shelter.
One user's permission groups in <AbilitySuppport>; each flag is 0 or 1.
-
IO: number
Alarm inputs and outputs.
-
PTZ: number
Pan, tilt and zoom.
-
alarm: number
Alarms.
-
audio: number
Audio.
-
disk: number
Storage.
-
image: number
Image settings.
-
network: number
Network settings.
-
record: number
Recording.
-
replay: number
Playback.
-
security: number
Security settings.
-
streaming: number
Live streaming.
-
system: number
System settings.
-
userName: string
The user, up to 31 bytes.
-
video: number
Video settings.
The credentials in <accessInfo>.
-
accesskey: string
The access key, base64-encoded.
-
userName: string
The user name, base64-encoded.
One shared user, a <User> in <accessUserList>.
-
ability: number
The granted ability bitmask; must not be 0. Replies write 0 when abilities are off.
-
loginState: number
Reply only: the user's login state.
-
notes: string
A note about the user, up to 32 bytes; admin replies only.
-
phoneModel: string
Reply only: the phone model; admin replies only.
-
userId: string
The shared user's id, up to 32 bytes; must not be empty.
-
userLevel: number
0 or 1.
-
userSetState: "delete" | "modify"
Request only: what to do with the user.
-
validHours: number
How many hours access lasts; -1 or a positive number.
The shared users in <accessUserList>.
-
User: AccessUser[]
The shared users; missing reads as
[]. -
availableAbility: number
Reply only: the ability bitmask the device offers, built from its capabilities.
-
maxAccessUserNum: number
Reply only: the most users that can be shared, always 10.
The autofocus algorithm setting in <afAlgorithm>.
-
algorithm: number
Algorithm as a number; the firmware does not name the values.
-
channelId: number
Zero-based channel.
The autofocus learning request in <AfLearn>.
-
channelId: number
Zero-based channel, 0 to 63; the firmware skips it when missing.
The autofocus learning outcome in <AfLearnRes>.
-
afStudyRusult: number
Learning result code; the firmware spells the element
afStudyRusult. -
afStudyState: number
Learning state code.
-
backLashf: number
Focus motor backlash.
-
backLashz: number
Zoom motor backlash.
-
focusPos: number
Focus motor position.
-
rangeMax: number
Upper end of the learned range.
-
rangeMin: number
Lower end of the learned range.
-
zoomPos: number
Zoom motor position.
The aging test request in <AgingTest>.
-
channelId: number
Zero-based channel; the firmware rejects a negative value.
-
enable: number
1 to run the test, 0 to stop it.
-
fileName: string
File name, up to 127 bytes.
-
size: number
Size.
The AI settings in <AiCfg>.
-
channelId: number
Zero-based channel.
-
detectType: string
Objects to detect, comma-separated: any of
people,vehicle,face,otheranddog_cat, ornone. -
smartTrack: number
1 when smart tracking is on.
-
smartTrackMode: number
Smart tracking mode as a number.
-
smartTrackModeAbility: number
Supported tracking modes; reply only, the camera never reads it.
-
smartTrackObjectDisappearDelay: number
Delay after the object disappears; written only when supported.
-
smartTrackObjectStopDelay: number
Delay after the object stops; written only when supported.
-
smartTrackPt: number
Smart tracking point as a number.
-
smartTrackType: string
Objects to track, comma-separated: any of
people,vehicle,faceanddog_cat, ornone.
| "vehicle"
| "face"
| "dog_cat"
| "other"
| "package"
AI detection settings for one target type, in <AiDetectCfg>.
-
area: string
Detection grid as base64, one byte per cell, row by row.
-
chn: number
Zero-based channel.
-
height: number
Detection grid rows, 1..100.
-
maxTargetHeight: number
Largest target height, as a fraction of the frame.
-
maxTargetWidth: number
Largest target width, as a fraction of the frame.
-
minTargetHeight: number
Smallest target height, as a fraction of the frame.
-
minTargetWidth: number
Smallest target width, as a fraction of the frame.
-
sensitivity: number
Detection sensitivity.
-
stayTime: number
How long a target must stay before it triggers.
-
type: "people"
| "vehicle"
| "face"
| "dog_cat"
| "other"
| "package"The target type these settings apply to.
packageis Video Doorbell PoE only. -
width: number
Detection grid columns, 1..155.
The AI tracking data request and reply in <AiTrackData>.
-
day: number
Day of the month, 1 to 31; request only.
-
fileName: string
Name of the data file; cmd 362 reply only.
-
month: number
Month, 1 to 12; request only.
-
size: number
Size of the data file; cmd 362 reply only.
-
year: number
Year of the day to fetch, 0 or more; request only.
The AI YUV stream settings in <AIYUVCfg>.
-
algorithm: number
The detection algorithm selector; values not established.
-
gapms: number
The gap between frames, in milliseconds by its name.
-
needTLV: number
Whether frames come wrapped in TLV records; values not established.
-
resoHeight: number
Frame height in pixels.
-
resoWidth: number
Frame width in pixels.
The detection grids in <AlarmArea>; each one present is replaced.
-
chn: number
Zero-based channel.
-
dogCatArea: AlarmAreaGrid
Dog and cat detection grid.
-
faceArea: AlarmAreaGrid
Face detection grid.
-
mdArea: AlarmAreaGrid
Motion detection grid.
-
personArea: AlarmAreaGrid
Person detection grid.
-
vehicleArea: AlarmAreaGrid
Vehicle detection grid.
One detection grid inside <AlarmArea>.
-
area: string
The grid as base64, one byte per cell, row by row.
-
height: number
Grid rows, 1..100.
-
width: number
Grid columns, 1..155.
The per-channel alarm states in <AlarmEventList>.
-
AlarmEvent: { channelId: number; status: string; AItype: string; recording: number; timeStamp: number; }[]
One
<AlarmEvent>per channel.
One page of search results in <alarmVideoInfo>.
-
alarmVideoList: AlarmVideoInfoItem[]
The recordings in this page.
-
bFinished: number
1once the search has returned every recording. -
channelId: number
Zero-based channel of the search.
-
fileHandle: number
The search handle from cmd 272.
One recording, an <alarmVideo> in <alarmVideoList>.
-
alarmType: string
What triggered the recording:
md,people,face,vehicle,dog_cat,visitor,package,io,man_rec,time_rec,talkoranswer; empty for a kind the firmware does not name. -
endTime: AlarmVideoInfoTime
When the recording ends.
-
fileId: string
File id of the recording.
-
fileName: string
Name built as two digits followed by a 14-digit date and time.
-
startTime: AlarmVideoInfoTime
When the recording starts.
-
typeExtension: number
1or2for two internal file kinds; absent otherwise.
A point in time in <startTime> or <endTime> of <alarmVideo>.
-
day: number
Day of the month.
-
hour: number
Hour.
-
minute: number
Minute.
-
month: number
Month.
-
second: number
Second.
-
year: number
Year.
The answered call in <answerEvent>.
-
startTime: number
When the call was answered. Parsed as a 64-bit integer but stored in 32 bits, so only the low 32 bits reach the device.
The alarm sound settings in <audioCfg>.
-
audioSelect: number
Which sound to play, as a number.
-
channelId: number
Zero-based channel.
-
preAlarm: number
Pre-alarm setting, as a number.
-
timeout: number
Timeout.
-
visitorLoudspeaker: number
Visitor loudspeaker setting, by its name; values not recovered. Video Doorbell PoE only.
-
volume: number
Playback volume.
The supported audio encodings in <AudioEncodeAbility>.
-
audioEncodeList: { audioType: "adpcm" | "g711"; sampleRate: number; samplePrecision: number; lengthPerEncoder: number; soundTrack: "mono" | "stereo"; }[]
One
<audioEncode>per enabled encoding; absent when none is. -
channelId: number
Zero-based channel.
-
maxCapacity: number
Capacity, as a number.
The custom alarm sound file in <audioFileInfo>.
-
audioLen: number
Audio length; read only.
-
channelId: number
Zero-based channel.
-
customName: string
Display name, read into a 128-byte buffer; read only.
-
fileSize: number
File size in bytes, at least 1.
-
id: number
File id; read only.
-
timeout: number
Timeout; read only.
The audio file list in <audioFileInfoList>.
-
audioFileInfo: AudioFileInfoListItem[]
The files, one
<audioFileInfo>each; the firmware reads up to 32. -
item: AudioFileInfoListLegacyItem[]
The files as the RLC-823A writes them in its cmd 347 reply, one
<item>each. RLC-823A only; absent when there are none. -
maxFileNumber: number
How many files the doorbell can hold; cmd 347 reply only, always 12.
One stored audio file, an <audioFileInfo> in <audioFileInfoList>.
-
audioLen: number
Audio length; cmd 347 reply only. The unit is not established.
-
extId: string
External id of the file; up to 63 bytes are read.
-
fileName: string
File name; up to 127 bytes are read.
-
fileSize: number
File size in bytes; cmd 347 reply only.
-
id: number
Slot id of the file; read by cmd 368, written by cmd 347.
-
type: "alarm" | "reply"
What the file is used for; cmd 347 reply only.
One file in the RLC-823A's cmd 347 reply, an <item>.
-
audioLen: number
Audio length. The unit is not established.
-
customName: string
The name the user gave the file.
-
fileSize: number
File size in bytes.
-
id: number
Slot id of the file.
The play request in <audioPlayInfo>.
-
channelId: number
Zero-based channel.
-
onOff: number
Start or stop playing.
-
playDuration: number
How long to play.
-
playMode: number
Play mode, as a number.
-
playTimes: number
How many times to play.
The alarm sound schedule in <AudioTask>.
-
channelId: number
Zero-based channel.
-
enable: number
1 plays the alarm sound, 0 does not.
-
typeScheduleList: { type: string; valueTable: string; }[]
One weekly schedule per alarm type, as
<item>elements.
The authorization code request and reply in <authInfo>.
-
ability: number
Request only: the granted ability bitmask; must not be 0.
-
channelAbility: bigint
Request only: a 64-bit per-channel ability bitmask.
-
code: number
Reply only: the authorization code.
-
notes: string
Request only: a note for the shared user, read up to 32 bytes.
-
userLevel: number
Request only: the shared user's level.
-
validhours: number
Request only: how many hours the shared access lasts.
The automatic DNS switch in <AutoDns>.
-
enable: number
1 to take DNS servers from DHCP, 0 to use
<Dns>.
The autofocus switch in <AutoFocus>.
-
channelId: number
Zero-based channel.
-
disable: number
1 turns autofocus off, 0 leaves it on.
| "Sunday"
| "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"
The scheduled reboot in <AutoReboot>.
-
enable: number
1 when the scheduled reboot is on, 0 when off.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
second: number
Second, 0 to 59.
-
weekDay: "everyday"
| "Sunday"
| "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"Every day, or one day of the week.
The automatic reply settings in <AutoReply>.
-
audioId: number
Id of the reply audio file.
-
current: number
Reply only; the firmware writes it but never reads it. Its values are not established.
-
enable: number
1 when the automatic reply is on.
-
endTime: AutoReplyTime
End of the reply schedule.
-
extId: string
External id of the reply audio file; not written when empty.
-
fesAudioId: number
Id of the
fesreply audio file. -
fesEnable: number
1 when the
fesreply is on. -
fesExtId: string
External id of the
fesaudio file; not written when empty. -
fesFileName: string
Name of the
fesaudio file; not written when empty. -
fileName: string
Name of the reply audio file; not written when empty.
-
startTime: AutoReplyTime
Start of the reply schedule.
-
timeout: number
Reply timeout. The unit is not established.
A date and time in <AutoReply>.
-
day: number
Day of the month.
-
hour: number
Hour.
-
min: number
Minute.
-
month: number
Month.
-
sec: number
Second.
-
year: number
Year, such as 2026.
The automatic update setting in <AutoUpdate>.
-
enable: number
1 to update automatically, 0 not to; the reply always carries it.
The bandwidth test switch in <BandWidthTest>.
-
enable: number
1 to run the test, 0 to stop it; the firmware rejects a negative value.
The battery state in <BatteryInfo>.
-
adapterStatus: "none" | "adapter" | "solarPanel"
What the battery charges from.
-
batteryPercent: number
Charge level in percent.
-
batteryVersion: number
Battery type as a number; the firmware does not name the values.
-
channelId: number
Zero-based channel.
-
chargeStatus: "none" | "charging" | "chargeComplete"
Charging state.
-
current: number
Battery current, signed; the unit is not established.
-
lowPower: number
Low battery flag.
-
temperature: number
Battery temperature, signed; the unit is not established.
-
voltage: number
Battery voltage, unsigned; the unit is not established.
The battery state in <BatteryList>.
The battery level table in <BatteryRemainList>.
-
batteryTable: string
Up to 30 integers joined with
,. The firmware drops trailing-1entries, so an empty table is an empty string. -
channelId: number
Zero-based channel.
The bind request in <BindCloud>.
-
authToken: string
Cloud authorization token, read into a 128-byte buffer.
One bound NAS in <BindNasInfoList>.
-
bBinded: number
1 when bound; the firmware always writes 1 and never reads it.
-
devName: string
NAS device name.
-
uid: string
NAS device UID.
The bound NAS devices in <BindNasInfoList>.
-
info: BindNasInfo[]
One entry per bound NAS, as repeated
<info>elements.
The NAS bind request in <BindUnbindNas>.
-
devName: string
NAS device name.
-
password: string
NAS login password; read only, never written back.
-
token: string
NAS access token; read only, never written back.
-
uid: string
NAS device UID.
-
userName: string
NAS login name; read only, never written back.
The binocular alignment request and result in <BinoAdjust>.
-
heightDiff: number
Measured height difference; reply only.
-
heightDiffMax: number
Largest accepted height difference, 0 or more; request only.
-
lineWidthMax: number
Largest accepted line width, 0 or more; request only.
-
lineWidthMin: number
Smallest accepted line width, 0 or more; request only.
-
lineWidthRef: number
Reference line width, 0 or more; request only.
-
widthDiff: number
Measured width difference; reply only.
The backlight compensation setting in <BLC>.
-
BLCMode: "backLight" | "dynamicRange"
Compensation method.
-
enable: number
0 when compensation is off.
-
level: number
Strength of the selected method.
The HTTPS certificate in <certificateInfo>.
-
cert: string
Certificate contents, up to 20479 characters; read from requests only.
-
certName: string
Certificate file name, up to 255 characters.
-
enable: number
Nonzero when a custom certificate is in use; written in replies only.
-
key: string
Private key contents, up to 20479 characters; read from requests only.
-
keyName: string
Private key file name, up to 255 characters.
-
option: "import" | "clear"
What to do with the certificate; the parser ignores any other value. Read from requests only.
The battery state in the cmd 253 <BatteryInfo> reply.
-
adapterStatus: "none" | "adapter" | "solarPanel"
What the battery charges from.
-
batteryPercent: number
Charge level in percent.
-
batteryVersion: number
Battery type; written only.
-
channelId: number
Zero-based channel.
-
chargeStatus: "none" | "charging" | "chargeComplete"
Charging state.
-
current: number
Battery current, signed.
-
lowPower: number
Low battery flag.
-
temperature: number
Battery temperature, signed.
-
voltage: number
Battery voltage, unsigned.
The cloud binding state in <CloudBindInfo>.
-
binded: number
1 when bound, 0 when not; the firmware's spelling.
The cloud login switch in <CloudLoginKey>.
-
enable: number
1 when cloud login is on.
The cloud upload schedule in <CloudTask>.
-
channelId: number
Zero-based channel.
-
enable: number
1 uploads to the cloud, 0 does not.
-
typeScheduleList: { type: string; valueTable: string; }[]
One weekly schedule per alarm type, as
<item>elements.
The cloud test outcome in <CloudTestResult>.
-
detail: string
Human-readable result from the cloud module.
-
rspCode: number
Result code from the cloud module;
0on success.
The cloud upload settings in <CloudUploadCfg>.
-
enable: number
1 when cloud upload is on.
-
streamCfgList: string
Three comma-separated integers, one per stream.
-
streamOpList: string
Three comma-separated integers, one per stream.
-
version: number
A settings version number, written as a child element.
The video encoder settings in <Compression>.
-
channelId: number
Zero-based channel, 0 to 63.
-
isNoTranslateFrame: number
0 or 1; meaning not recovered beyond the name.
-
mainStream: CompressionStream
Main (high resolution) stream.
-
subStream: CompressionStream
Sub (low resolution) stream.
-
thirdStream: CompressionStream
Third stream; the camera never writes
gophere.
One stream's encoder settings in <Compression>.
-
audio: number
1 to include audio, 0 for video only.
-
bitRate: number
Bit rate, 0 or more.
-
encoderProfile: "default" | "baseLine" | "high" | "main"
H.264 profile.
-
encoderType: "vbr" | "cbr"
Bit rate control, constant or variable; Video Doorbell PoE only. Written by the camera, ignored on write.
-
frame: number
Frame rate, 0 to 30.
-
gop: { cur?: number; max?: number; min?: number; }
Keyframe interval; only on models that support GOP settings.
-
height: number
Height in pixels, 0 or more.
-
resolutionName: string
Resolution label; written by the camera, ignored on write.
-
width: number
Width in pixels, 0 or more.
The configuration file transfer in <ConfigFileInfo>.
-
curSize: number
Size transferred so far.
-
fileName: string
File name, up to 255 characters.
-
fileSize: number
Total file size.
-
updateParameter: number
Boolean flag: 1 to apply the parameters in the file.
-
usedForFactory: number
Factory use marker, read as an integer.
The preview request in <CoverPreview>.
-
channelId: number
Zero-based channel; the firmware rejects a negative value.
-
endTime: CoverPreviewTime
End of the recording.
-
frameList: number[]
Frame numbers to preview, as
<frameNo>items; up to 40 are read. -
startTime: CoverPreviewTime
Start of the recording.
-
streamType: "mainStream" | "subStream" | "mobileStream" | "externStream"
The stream the recording was made from.
A date and time in <CoverPreview>.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Year, such as 2026.
The crop region in <Crop>.
-
channelId: number
Zero-based channel.
-
cropHeight: number
Height of the region.
-
cropWidth: number
Width of the region.
-
mainHeight: number
Height of the main stream the region is measured in.
-
mainWidth: number
Width of the main stream the region is measured in.
-
subHeight: number
Height of the sub stream; written only.
-
subWidth: number
Width of the sub stream; written only.
-
topLeftX: number
Left edge of the region.
-
topLeftY: number
Top edge of the region.
-
version: number
A
<version>child element, not theversion="1.1"attribute; written only.
The snapshot size in <CropSnap>.
-
channelId: number
Zero-based channel.
-
heigth: number
Snapshot height, 0 to 65535; the firmware's spelling.
-
width: number
Snapshot width, 0 to 65535.
The snapshot description in <cropSnap>.
-
channelId: number
Zero-based channel.
-
pictureSize: number
Size of the picture the snap module produced; the unit is not established.
The day/night setting in <DayNightMode>.
-
mode: "auto" | "color" | "blackAndWhite"
Switch automatically, or hold colour or black and white.
The day/night switch point in <DayNightThreshold>.
-
channelId: number
Zero-based channel, 0 to 63.
-
stat: "day" | "night"
The current mode.
-
threshold: "default" | "custom"
defaultuses the built-in threshold;customusesthresholdval. -
thresholdval: DayNightThresholdValue
The custom threshold and its range.
The threshold range in <DayNightThreshold>.
-
cur: number
Current threshold, between
minandmax. -
max: number
Highest threshold.
-
min: number
Lowest threshold.
The recording calendar in <DayRecords>.
-
DayRecordList: DayRecordsChannel[]
One entry per channel, at most 4.
-
endTime: DayRecordsTime
End of the range.
-
startTime: DayRecordsTime
Start of the range.
One channel's days, in <DayRecord>.
-
channelId: number
Zero-based channel.
-
dayTypeList: DayRecordsDayType[]
The days with recordings.
-
index: number
Position in the list; written only, never parsed.
One day with recordings, in <dayType>.
-
index: number
Zero-based day offset, 0 to 30.
-
type: "none" | "normal" | "alarm" | "all"
What was recorded; the camera never writes
none.
A point in time in <startTime> or <endTime>.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Year, such as 2026.
The dynamic DNS settings in <Ddns>.
-
ddnsName: string
Host name to register, up to 255 bytes.
-
ddnsType: "swann" | "dyndns" | "peatnuts" | "3322" | "no-ip"
DDNS provider.
-
enable: number
1 when on, 0 when off.
-
password: string
Provider account password, up to 255 bytes.
-
userName: string
Provider account name, up to 255 bytes.
The recordings to delete in <DeleteRecordFile>.
-
bmerge: number
A merge flag; its effect is not established.
-
chnbits: bigint
A 64-bit channel bitmask; presumably bit n selects channel n.
-
endTime: DeleteRecordFileTime
End of the window to delete.
-
startTime: DeleteRecordFileTime
Start of the window to delete.
-
streamType: number
Stream type, 0 to 7.
A point in time in <startTime> or <endTime> of <DeleteRecordFile>.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Year; the parser rejects a negative one.
The value of <DevBodyCode>: the firmware reads and writes no fields.
| "ipc"
| "nvr"
| "wifi_ipc"
| "wifi_nvr"
| "nxp_ipc"
| "wifi_solo_ipc"
| "base"
| "alertor"
| "smart_bell"
| "smart_plug"
The device identity and capabilities in <DeviceInfo>.
-
B485: number
RS-485 support flag.
-
FrameworkVer: number
Framework version number.
-
IOInputPortNum: number
Number of alarm input ports.
-
IOOutputPortNum: number
Number of alarm output ports.
-
analogChnNum: number
Number of analog channels.
-
audioNum: number
Number of audio channels.
-
authMode: number
Authentication mode.
-
binoType: number
Binocular type; written only when the device has one.
-
bootSecret: string
The same value as
secretCode; Video Doorbell PoE only, written always there. -
channelNum: number
Number of channels.
-
diskNum: number
Number of disks.
-
feature: number
Feature bits; Video Doorbell PoE only, written as 2 when the device supports the AI YUV stream.
-
firmVersion: string
Firmware version string.
-
hardVer: number
Hardware version number.
-
hdChannel1: number
HD channel flag 1.
-
hdChannel2: number
HD channel flag 2.
-
hdChannel3: number
HD channel flag 3.
-
hdChannel4: number
HD channel flag 4.
-
ipChannel: number
Number of IP channels.
-
language: string
UI language name.
-
norm: "NTSC" | "PAL"
Video norm.
-
osdFormat: string
OSD date format name.
-
panelVer: number
Panel version number.
-
ptzMode: "none" | "af" | "ptz" | "pt" | "p"
PTZ capability;
pcomes only from the RLC-823A build. -
resolution: { resolutionName: string; width: number; height: number; }
The sensor resolution; absent for an
alertor. -
sdCard: number
SD card slot flag.
-
secretCode: string
Secret code; absent for an
alertor. -
sleep: number
Sleep state; Video Doorbell PoE only, written always there.
-
softVer: number
Software version number.
-
supportAutoUpdate: number
Online update support flag.
-
type: "dvr"
| "ipc"
| "nvr"
| "wifi_ipc"
| "wifi_nvr"
| "nxp_ipc"
| "wifi_solo_ipc"
| "base"
| "alertor"
| "smart_bell"
| "smart_plug"Device class; the firmware writes
ipcfor an unknown class. -
typeInfo: string
Free-form model type text.
-
userVer: number
User protocol version; the firmware always writes 1.
The DHCP switch in <Dhcp>.
-
enable: number
1 to take the address from DHCP, 0 to use the static
<Ip>.
The chime alarm rules in <dingdongCfg>.
-
deviceCfg: DingdongCfgDevice[]
The paired chimes.
-
pairThreshold: number
Pairing threshold; request only. Its meaning is not established.
| "people"
| "package"
| "MD"
| "vehicle"
| "dog_cat"
One alarm rule of a chime, an <alarminCfg> in <deviceCfg>.
-
musicId: number
Ringtone id.
-
type: "visitor"
| "people"
| "package"
| "MD"
| "vehicle"
| "dog_cat"The alarm that rings the chime; the reply lists only supported types.
-
valid: number
1 when the rule is on; the firmware copies only 0 or 1.
One paired chime, a <deviceCfg> in <dingdongCfg>.
-
alarminCfg: DingdongCfgAlarm[]
The chime's alarm rules.
-
id: number
Chime id, 0 or more.
-
name: string
Chime name; cmd 486 reply only.
The chime pairing control in <dingdongCtrl>.
-
opt: "enter" | "exit" | "reset"
Enter pairing, exit pairing, or reset.
| "delDevice"
| "getParam"
| "setParam"
| "ringWithMusic"
The chime operation in <dingdongDeviceOpt>.
-
id: number
Chime id, 0 or more.
-
ledState: number
LED state. Its values are not established.
-
musicId: number
Ringtone id, 0 or more; request only.
-
name: string
Chime name, up to 31 bytes.
-
opt: "addDevice"
| "delDevice"
| "getParam"
| "setParam"
| "ringWithMusic"What to do with the chime; request only.
-
volLevel: number
Volume level. Its range is not established.
The chime list in <dingdongList>.
-
maxPairNumber: number
How many chimes can be paired; absent from the cmd 490 push.
-
pairedList: DingdongListPairedDevice[]
Paired chimes; cmd 484 only.
-
scanList: DingdongListScannedDevice[]
Chimes found by the pairing scan; cmd 490 push only.
A paired chime, a <dingdongDeviceInfo> in <pairedList>.
-
id: number
Chime id.
-
name: string
Chime name.
-
netState: number
Network state, as the cmd 484 push spells it. Its values are not established.
-
netstate: number
Network state, as the cmd 484 reply spells it. Its values are not established.
A chime found by a pairing scan, a <dingdongDeviceInfo> in <scanList>.
-
id: number
Chime id.
-
name: string
Chime name.
The chime silent mode in <dingdongSilentMode>.
-
id: number
The paired chime id.
-
remainTime: number
Reply only: how much of the silent period is left.
-
time: number
The silent period. Parsed as a 64-bit integer but stored in 32 bits, so only the low 32 bits survive; replies write it sign-extended.
-
type: number
The silent mode kind; its values are not established.
The static DNS servers in <Dns>.
-
dns1: string
Primary DNS server address, up to 15 characters.
-
dns2: string
Secondary DNS server address, up to 15 characters.
The factory chime test result in <doorbellDingdingtest>.
-
curFreq: number
Current frequency; test code 8.
-
dingdongTestResult: DoorbellDingdingtestResult[]
Chime test results; test codes 11 and 12, up to 10.
-
freq: number
Frequency; test codes 0 and 8. The unit is not established.
-
sub1gTestResult: number
Sub-1 GHz radio test result; test codes 7 and 8.
-
update: DoorbellDingdingtestUpdate[]
Chime firmware updates; test code 5, up to 10.
One chime test, a <dingdongTestResult> in <doorbellDingdingtest>.
-
agingResult: number
Aging test result. Its values are not established.
-
state: number
Chime state. Its values are not established.
-
verifyResult: number
Verification result. Its values are not established.
One chime firmware update, an <update> in <doorbellDingdingtest>.
-
curVer: string
Current chime firmware version.
-
reqVer: string
Requested chime firmware version.
-
result: number
Update result. Its values are not established.
| "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"
| "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"
The daylight saving time rule in <Dst>.
-
enable: number
1 when daylight saving time is on, 0 when off.
-
endHour: number
Hour DST ends, 0 to 23.
-
endMinute: number
Minute DST ends, 0 to 59.
-
endMonth: number
Month DST ends, 1 to 12.
-
endSecond: number
Second DST ends, 0 to 59.
-
endWeekIndex: number
Which week of the month DST ends.
-
endWeekday: "Sunday"
| "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"Day of the week DST ends.
-
offset: number
How far the clock moves.
-
startHour: number
Hour DST starts, 0 to 23.
-
startMinute: number
Minute DST starts, 0 to 59.
-
startMonth: number
Month DST starts, 1 to 12.
-
startSecond: number
Second DST starts, 0 to 59.
-
startWeekIndex: number
Which week of the month DST starts.
-
startWeekday: "Sunday"
| "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"Day of the week DST starts.
-
version: number
The
<version>child element; reply only.
The SMTP settings in <Email>.
-
address1: string
First recipient, up to 255 bytes.
-
address2: string
Second recipient, up to 255 bytes.
-
address3: string
Third recipient, up to 255 bytes.
-
attachment: number
1 to attach a picture, 0 for none; not written for
video. -
attachmentType: "none" | "picture" | "video"
What to attach.
-
emailAttachType: number
Attachment type as a number; read by the parser, never written.
-
interval: number
Minimum time between alarm emails, in the camera's units.
-
password: string
SMTP account password.
-
pwdMaxLen: number
Longest password the camera accepts; always 127, reply only.
-
sendNickname: string
Sender display name.
-
senderMaxLen: number
Longest sender the camera accepts; always 127, reply only.
-
smtpPort: number
SMTP server port, 1 to 65535.
-
smtpServer: string
SMTP server host name or address, up to 255 bytes.
-
ssl: number
1 to use SSL, 0 for plain SMTP.
-
textType: "mustBeText" | "withText" | "withoutText"
Body text mode; the camera writes only
withTextorwithoutText. -
userName: string
SMTP account name.
The alarm email schedule in <EmailTask>.
-
channelId: number
Zero-based channel.
-
enable: number
1 sends emails, 0 does not.
-
typeScheduleList: { type: string; valueTable: string; }[]
One weekly schedule per alarm type, as
<item>elements.
The exposure setting in <ExposureCfg>.
-
exposureType: "auto" | "shutterFirst" | "gainFist" | "manual"
Exposure mode.
gainFistis the firmware's own spelling of gain priority.
The recorded files in <FileInfoList>.
-
FileInfo: { channelId?: number; handle?: number; name?: string; bdst?: number; Id?: string; streamType?: "mainStream" | "subStream" | "mobileStream" | "externStream"; containsAudio?: number; fileType?: "h264" | "mp4" | "flv"; recordType?: string; sizeL?: number; sizeH?: number; supportSub?: number; startTime?: FileInfoTime; endTime?: FileInfoTime; FileCount?: number; playSpeed?: number; }[]
One entry per file; a search reply lists many, other replies one.
A wall-clock time in a <FileInfo>, as the firmware writes it.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Four-digit year.
The alarm recording search in <findAlarmVideo>.
-
alarmType: string
Request only: the alarm kinds to find, as words such as
md,peopleorvisitor. The firmware searches for each word in the text, so a separator is not significant. -
channelId: number
Zero-based channel, 0 to 63.
-
endTime: FindAlarmVideoTime
Request only: end of the search window.
-
fileHandle: number
The search handle from cmd 272, used by cmds 273 and 274.
-
startTime: FindAlarmVideoTime
Request only: start of the search window.
-
streamType: number
Request only: stream type, 0 to 7.
A point in time in <startTime> or <endTime> of <findAlarmVideo>.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Year; the parser rejects a negative one.
The flipping setting in <Flip>.
-
status: number
1 when the image is flipped.
The manual floodlight switch in <FloodlightManual>.
-
channel: number
Zero-based channel; the firmware rejects a negative value.
-
status: number
Floodlight state as a number.
A daily time window in <FloodlightTask>.
-
endHour: number
End hour, 0 to 23.
-
endMin: number
End minute, 0 to 59.
-
startHour: number
Start hour, 0 to 23.
-
startMin: number
Start minute, 0 to 59.
One floodlight in <FloodlightStatusList>.
-
channel: number
Zero-based channel.
-
status: number
Floodlight state as a number.
The floodlight states in <FloodlightStatusList>.
-
FloodlightStatus: FloodlightStatus[]
One entry per floodlight, as repeated
<FloodlightStatus>elements.
The automatic floodlight settings in <FloodlightTask>.
-
alarmMode: number
1 when motion switches the light on; the same setting as
enable. -
brightness_cur: number
Current brightness.
-
brightness_max: number
Highest brightness.
-
brightness_min: number
Lowest brightness.
-
channel: number
Zero-based channel; the firmware rejects a negative value.
-
detectType: string
Objects that trigger the light, comma-separated: any of
people,vehicle,face,otheranddog_cat, ornone. -
duration: number
How long the light stays on.
-
enable: number
The same setting as
alarmMode. -
lightAlarmSchedule: FloodlightSchedule
Window in which motion switches the light on.
-
preview_auto: number
1 when the light switches on automatically for live view.
-
schedule: FloodlightSchedule
Night-light window.
The frequency correction outcome in <freqCorrectResult>.
-
result: "success" | "fail" | "unknow"
The outcome;
unknowis the firmware's spelling of "unknown".
The FTP upload settings in <Ftp>.
-
autoDir: number
1 to create directories automatically.
-
bnameEncrypt: number
Name encryption flag; request only.
-
fileLen: number
Video file length.
-
ftpVersion: number
FTP protocol variant index.
-
intervals: number
Upload interval.
-
mode: number
Transfer mode index.
-
nonymous: number
1 to log in anonymously.
-
onlyFtps: number
1 to allow only FTPS.
-
password: string
Login password.
-
picHeight: number
Picture height.
-
picIntervals: number
Interval between picture uploads.
-
picName: string
Picture file name pattern, up to 255 characters.
-
picPolicy: number
Picture upload policy.
-
picType: number
Picture type index.
-
picWidth: number
Picture width.
-
port: number
Server port, 1 to 65535.
-
pwdMaxLen: number
Longest password the camera accepts; the firmware writes 127. Reply only.
-
remoteDir: string
Upload directory on the server, up to 255 characters.
-
server: string
Server host name or address, up to 255 characters.
-
streamType: number
Which stream to record for upload.
-
supportTest: number
1 when the camera supports cmd 194, the FTP test.
-
userName: string
Login user name.
-
videoName: string
Video file name pattern, up to 255 characters.
-
videoPolicy: number
Video upload policy.
The FTP upload schedule in <FtpTask>.
-
channelId: number
Zero-based channel.
-
enable: number
1 when FTP upload is on, 0 when off.
-
typeScheduleList: { type: string; valueTable: string; }[]
One schedule per alarm type.
The FTP test outcome in <FtpTestResult>.
-
detail: string
The FTP server's reply text; written together with
rspCode. -
rspCode: number
The FTP server's reply code; written only when the test produced a result.
The factory audio test parameters in <ftyAudioTest>.
-
difCrest: number
Crest difference.
-
difFreq: number
Frequency difference.
-
difHz: number
Frequency (Hz) difference.
-
difPower: number
Power difference.
-
difSame: number
Sameness difference.
-
difZero: number
Zero-crossing difference.
-
flitFreq: number
Filter frequency; the firmware spells the element
flitFreq. -
ratedPower: number
Rated power.
The factory doorbell button test in <ftyDoorbellTest>.
-
op: number
Test operation, 0 to 2. What each value means is not established.
-
result: number
Test result. Its values are not established.
-
testDuration: number
Test duration, 1 to 300. The unit is not established.
-
testTimes: number
How many times to test, 1 or more.
-
testTotalCount: number
Total test count, 0 or more.
The image defect detection result in <ftyImageDetechRet>.
-
blot: number
Blot (stain) result.
-
deadpix: number
Dead pixel result.
The value of <ftySnapCfg>: the firmware reads and writes no fields.
The factory test pass ranges in <ftyTestRange>.
-
rangeCds0FastAe: FtyTestRangeBounds
Light sensor 0 (fast auto exposure) range.
-
rangeCds1CbwSwitch: FtyTestRangeBounds
Light sensor 1 (color/black-and-white switch) range.
-
rangeCurrent: FtyTestRangeBounds
Current range.
-
rangeQuantity: FtyTestRangeBounds
Battery quantity (charge level) range.
-
rangeRebootTimes: FtyTestRangeBounds
Reboot count range.
-
rangeTemperature: FtyTestRangeBounds
Temperature range.
-
rangeVoltage: FtyTestRangeBounds
Voltage range.
One pass range in <ftyTestRange>.
-
max: number
Upper bound.
-
min: number
Lower bound.
The gain setting in <Gain>.
-
gainLevel: number
Gain level; the
<InputAdvanceCfg>parser accepts 0 to 100.
The GOP setting in <GopCfg>.
-
channel: number
Zero-based channel.
-
gopTime: number
GOP length; the firmware rejects a negative value.
-
streamType: number
Stream as a number.
The storage devices in <HddInfoList>.
-
HddInfo: { number: number; capacity: number; capacityM: number; format: number; mount: number; remainSize: number; remainSizeM: number; }[]
One entry per storage device, in the firmware's order.
The storage devices to format in <HddInitList>.
-
HddInit: { initId?: number; }[]
One entry per device to format; the firmware reads at most 10.
The keep-alive timestamp in <HeartBeat>.
-
sec: number
Whole seconds of the timestamp; must not be negative.
-
size: number
Byte size of the timestamp; the camera writes 12.
-
usec: number
Microseconds past
sec; must not be negative.
The port settings in <HttpPort>.
-
enable: number
1 when on, 0 when off.
-
httpPort: number
The port, 1 to 65535.
The port settings in <HttpsPort>.
-
enable: number
1 when on, 0 when off.
-
httpsPort: number
The port, 1 to 65535.
The value of <ImageCheck>: the firmware reads and writes no fields.
An image file to import or export, in <imageFileInfo>.
-
channelId: number
Zero-based channel; read from requests only.
-
delete: number
Delete flag as a number; read from requests only.
-
fileSize: number
File size in bytes, 1 or more.
-
imageName: string
Image name, up to 255 characters; read from requests only.
| "1/4"
| "1/5"
| "1/6"
| "1/8"
| "1/12"
| "1/15"
| "1/25"
| "1/30"
| "1/50"
| "1/60"
| "1/100"
| "1/120"
| "1/250"
| "1/500"
| "1/1000"
| "1/2000"
| "1/4000"
| "1/10000"
The image settings in <InputAdvanceCfg>.
-
BLC: { enable?: number; mode?: "backLight" | "dynamicRange"; backlight?: IspRange; dynamicrange?: IspRange; }
Backlight compensation; off is written as
backLightwithenable0. -
DayNight: { mode?: "auto" | "color" | "blackAndWhite"; IrcutMode?: "auto" | "ir"; Threshold?: "low" | "medium" | "high"; }
Day/night switching.
-
Exposure: { mode?: "auto" | "shutterFirst" | "gainFist" | "manual"; Gainctl?: IspAreaCtrl; Shutterctl?: IspAreaCtrl; shutterLevel?: "1/3"; gainLevel?: number; }
| "1/4"
| "1/5"
| "1/6"
| "1/8"
| "1/12"
| "1/15"
| "1/25"
| "1/30"
| "1/50"
| "1/60"
| "1/100"
| "1/120"
| "1/250"
| "1/500"
| "1/1000"
| "1/2000"
| "1/4000"
| "1/10000"Exposure.
-
Iris: { enable?: number; state?: string; focusAutoiris?: number; }
Auto-iris.
-
PowerLineFrequency: { mode?: "outdoor" | "50hz" | "60hz"; enable?: number; }
Anti-flicker; off is written as
50hzwithenable0. -
Scene: { mode?: "auto" | "indoor" | "outdoor" | "manual"; modeList?: string; Redgain?: IspRange; Bluegain?: IspRange; }
White balance scene.
-
bdDayColor: IspBrightDark
Brightness limits in colour daytime.
-
bdNight: IspBrightDark
Brightness limits in black-and-white night.
-
bdNightColor: IspBrightDark
Brightness limits in colour night.
-
binning_mode: number
Sensor binning mode.
-
channelId: number
Zero-based channel, 0 to 63.
-
constantFrameRate: number
Constant frame rate setting; written only when supported.
-
constantFrameRateAbility: number
Whether constant frame rate is supported; written with it.
-
digitalChannel: number
1 when the channel has the settings below; 0 or 1.
-
encType: number
Encoder type.
-
encTypeAbility: number
Supported encoder types.
-
firstFrameStrategy: number
First-frame strategy; 0 or 1.
-
flip: number
1 when the image is flipped.
-
hdrAbility: number
Whether HDR is supported; written only with
hdrSwitch. -
hdrSwitch: number
HDR switch; not negative.
-
mirror: number
1 when the image is mirrored.
-
nr3d: { value?: "high" | "medium" | "low" | "off"; enable?: number; }
3D noise reduction.
One IoT action in <IOTAction>.
-
actionID: number
Action id.
-
alarmType: string
Alarm types that trigger the action. The parser searches the text for each of
md,pir,people,vehicle,face,dog_cat,other,visitor,BTCandCTB, ignoring case, andnoneclears them all. -
channelBits: bigint
Channel bit mask.
-
content: string
Action content.
-
name: string
Device name.
-
setState: number
Device state to set, as a number.
-
timeTable: string
Weekly schedule: seven days of 24 hours, one character per hour (168 in all).
1turns an hour on and anything else turns it off. Which day comes first is not established. The parser rejects an empty value. -
uid: string
Device uid.
The IoT linkage actions in <IOTActionList>.
-
item: IotActionListItem[]
The actions, one
<item>each, at most 64.
One IoT linkage action, an <item> in <IOTActionList>.
-
actionID: number
Action id.
-
alarmType: string
Triggering alarm types joined with commas, such as
people,vehicle, ornone. Names seen: people, vehicle, face, other, dog_cat, md, pir, visitor, BTC, CTB, and package on the doorbell. -
channelBits: bigint
Channel bitmask, one bit per channel; written as a 64-bit number.
-
content: string
Action content; the firmware copies it through as text.
-
deviceType: number
Device type as a number; the firmware does not name the values.
-
name: string
Device name.
-
timeTable: string
Weekly schedule: 168 characters of
0or1, one per hour. -
uid: string
Device uid.
The bound IoT devices in <IOTBindInfoList>.
-
info: { devName?: string; uid?: string; }[]
The devices, as the camera reads them from requests.
-
item: { deviceType: number; name: string; uid: string; mode: number; }[]
The devices, as the camera writes them in replies.
An IoT device to bind or unbind, in <IOTBindUnBind>.
-
deviceType: number
Device type as a number; read from requests only.
-
name: string
Device name.
-
password: string
Login password; read from requests only.
-
token: string
Access token; read from requests only.
-
uid: string
Device uid.
-
userName: string
Login user name; read from requests only.
The wired address in <Ip>.
-
gateway: string
Default gateway.
-
ip: string
IPv4 address.
-
mac: string
MAC address, 17 characters such as
ec:71:db:12:34:56. -
mask: string
Subnet mask.
The camera firmware versions in <IpcVersionList>.
-
IpcVersion: { platform?: string; version?: string; url?: string; }[]
One entry per camera; the firmware reads at most four.
The value of <IrCutInfo>: the firmware reads and writes no fields.
The IR-cut filter setting in <IrcutMode>.
-
mode: "auto" | "ir"
Switch automatically, or follow the infrared light.
A default and a current range, used by the exposure gain and shutter.
-
curMax: number
Current upper bound.
-
curMin: number
Current lower bound.
-
defMax: number
Default upper bound.
-
defMin: number
Default lower bound.
Brightness and darkness limits for one day/night state.
-
bright: IspRange
Brightness limit.
-
dark: IspRange
Darkness limit.
-
mode: "auto" | "manual"
Required: the parser rejects the block without it.
A bounded value as min, max and current value cur.
-
cur: number
Current value; the parser rejects it outside
mintomax. -
max: number
Highest allowed value.
-
min: number
Lowest allowed value.
The LED settings in <LedState>.
-
channelId: number
Zero-based channel, 0 to 63.
-
doorbellLightState: "close" | "open" | "keepOff" | "keepOn"
The doorbell button's light. Video Doorbell PoE only: its
nets_led_state_s2xwrites it afterlightState. -
ledVersion: number
LED feature version, 0 to 2.
-
lightState: "close" | "open"
Status light on or off.
-
state: "auto" | "close" | "open"
Infrared LED mode.
The network link in <LinkType>.
-
type: "LAN" | "PPPOE" | "CDMA"
Wired or Wi-Fi LAN, PPPoE dial-up, or a CDMA modem.
The lockout state in <LoginErrInfo>.
-
remainTimes: number
Attempts left before the account locks; written only when above zero.
-
unlockTime: number
How long the account stays locked; written only when above zero.
The client network settings in <LoginNet>.
-
type: "LAN" | "WAN"
Whether the client is on the local network or connects from outside.
-
udpPort: number
The client's UDP port, 0 to 65535.
The login credentials in <LoginUser>.
-
admin: number
Admin flag.
-
authSignature: string
Signature of a token login; up to 63 characters.
-
authToken: string
Token of a token login; up to 63 characters.
-
authUser: string
User of a token login; up to 31 characters.
-
handleSpecial: number
Special-handling flag.
-
password: string
Password, or its hash; up to 31 characters.
-
scopes: { channelId: number; privileges?: string; }[]
Per-channel privileges of a token login.
-
userName: string
User name, or its hash; up to 31 characters.
-
userVer: number
Login scheme version.
The motion detection settings in <MD>.
-
channelId: number
Zero-based channel.
-
enable: number
1 when motion detection is on, 0 when off.
-
handleException: { handleType?: string; chnHandleType?: string; relAlarmOut?: string; }
What to do on motion.
-
height: number
Detection grid rows, 1 to 100.
-
scope: { columns: number; rows: number; valueTable?: string; }
The detection grid.
-
sensInfoNew: { sensitivityDefault?: number; sensInfoList?: MdSensInfo[]; }
Sensitivity periods with priorities.
-
sensitivityInfoList: MdSensitivityInfo[]
Exactly four fixed sensitivity periods.
-
timeBlockList: MdTimeBlock[]
Weekly schedule, as runs of hours per weekday.
-
usepir: number
1 to use the PIR sensor, 0 not to.
-
width: number
Detection grid columns, 1 to 155.
One enabled sensitivity period in <sensInfoList>.
-
beginHour: number
Start hour, 0 to 23.
-
beginMinute: number
Start minute, 0 to 59.
-
endHour: number
End hour, 0 to 23.
-
endMinute: number
End minute, 0 to 59.
-
priority: number
Priority of the period.
-
sensitivity: number
Sensitivity, 1 to 50.
One fixed sensitivity period in <sensitivityInfoList>.
-
beginHour: number
Start hour, 0 to 23.
-
beginMinute: number
Start minute, 0 to 59.
-
enable: number
Read by the parser, never written by the camera.
-
endHour: number
End hour, 0 to 23.
-
endMinute: number
End minute, 0 to 59.
-
id: number
Position of the item, 0 to 3; the parser rejects any other order.
-
sensitivity: number
Sensitivity, 1 to 50.
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"
| "Sunday"
A run of hours on one weekday in <timeBlockList>.
-
beginHour: number
First hour, 0 to 23.
-
enable: number
1 when detection is on for these hours, 0 when off.
-
endHour: number
Last hour, inclusive, 0 to 23 and not before
beginHour. -
weekDay: "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"
| "Sunday"The weekday.
The mirroring setting in <Mirror>.
-
status: number
1 when the image is mirrored.
The mute request in <muteAudio>.
-
channelId: number
Zero-based channel.
-
mute: number
Mute switch, as a number.
The NAS upload settings in <NasUploadCfg>.
-
enable: number
1 when NAS upload is on.
-
streamAbility: number
Streams the camera can upload, as a number.
-
streamConfig: number
Streams chosen for upload, as a number.
The cellular state in <Net3g4gInfo>.
-
mobileOperator: number
Mobile operator, as a number.
-
netMode: number
Network mode, as a number.
-
sigIntensityLevel: number
Signal strength as a level.
-
sigIntensityValue: number
Signal strength as a raw value.
The cellular module identifiers in <Net3g4gModuleInfo>.
-
iccid: string
SIM card ICCID.
-
imei: string
Modem IMEI.
-
phoneNumber: string
SIM phone number.
A network diagnosis data file, in <NetworkDiagnosisData>.
-
channelId: number
Zero-based channel; read from requests only.
-
fileName: string
File name, up to 127 characters.
-
size: number
File size in bytes.
The video standard in <Norm>.
-
norm: "PAL" | "NTSC"
The video standard.
The time sync settings in <Ntp>.
-
enable: number
1 when sync is on, 0 when off.
-
port: number
NTP server port, 0 to 65535.
-
server: string
NTP server host name or address, up to 255 bytes.
-
synchronizeInterval: number
Sync interval, in the camera's units.
The offset calibration request and result in <OffsetAdjust>.
-
Offset: number
Measured overall offset; reply only.
-
OffsetX: number
Measured horizontal offset; reply only.
-
OffsetY: number
Measured vertical offset; reply only.
-
maxOffset: number
Largest accepted offset; request only.
The online firmware check result in <OnlineNewFirmwareInfo>.
-
hasNewFirmware: number
1 when a newer firmware is available, 0 otherwise.
The online update request in <OnlineUpdate>.
-
needUpdate: number
Whether to update, as a number.
One logged-in session in <OnlineUser>.
-
enableOutoffLine: number
1 when the caller may force this session off; in cmd 121, 1 selects the session.
-
ipAddress: string
The session's client IP address.
-
isOnline: number
Always 1 in the reply.
-
macAddress: string
Always empty in the reply.
-
password: string
Password; parsed only, never written.
-
sessionId: number
The session to act on; the only field the parser requires.
-
userId: number
The user's index.
-
userLevel: number
0 or 1.
-
userName: string
Login name, up to 31 bytes.
The logged-in sessions in <OnlineUserList>.
-
OnlineUser: OnlineUser[]
Every session, as repeated
<OnlineUser>elements; at most 20 parsed.
The port settings in <OnvifPort>.
-
enable: number
1 when on, 0 when off.
-
onvifPort: number
The port, 1 to 65535.
The channel name overlay in <OsdChannelName>.
-
channelId: number
Zero-based channel.
-
enBgcolor: number
1 to draw a background behind the text, 0 for none.
-
enWatermark: number
1 to draw the watermark, 0 to hide it.
-
enable: number
1 to draw the name, 0 to hide it.
-
name: string
Channel name, up to 31 bytes.
-
topLeftX: number
Left edge of the overlay.
-
topLeftY: number
Top edge of the overlay.
The date and time overlay in <OsdDatetime>.
-
channelId: number
Zero-based channel.
-
enable: number
1 to draw the date and time, 0 to hide it.
-
height: number
Height of the overlay, 0 or more.
-
language: "Chinese" | "English"
Overlay language.
-
topLeftX: number
Left edge of the overlay.
-
topLeftY: number
Top edge of the overlay.
-
width: number
Width of the overlay, 0 or more.
The value of <PARAM_DATA_V20>: none, the payload is raw bytes.
CPU load and bitrates in <PerformanceInfo>.
-
codeRate: number
Total encoder bitrate.
-
cpuUseRate: number
CPU usage.
-
netDataRate: number
Network data rate.
The value of <PeriPheralStat>: the firmware reads no fields.
The anti-flicker setting in <PowerLineFrequency>.
-
enable: number
0 when anti-flicker is off.
-
mode: "outdoor" | "50hz" | "60hz"
Mains frequency to match, or
outdoorfor none.
| "subStream"
| "mobileStream"
| "externStream"
| "aiYuvData"
The live stream selection in <Preview>.
-
algorithm: number
For
aiYuvData: algorithm selector; values not recovered. Video Doorbell PoE only. -
channelId: number
Zero-based channel.
-
fps: number
Frame rate.
-
gapms: number
For
aiYuvData: gap between frames, in milliseconds. Video Doorbell PoE only. -
handle: number
Client-chosen stream handle.
-
needTLV: number
For
aiYuvData: 1 to wrap frames in TLV records. Video Doorbell PoE only. -
preRec: number
Pre-record setting.
-
resoHeight: number
For
aiYuvData: frame height. Video Doorbell PoE only. -
resoWidth: number
For
aiYuvData: frame width. Video Doorbell PoE only. -
resolution: number
Resolution selector.
-
streamType: "mainStream"
| "subStream"
| "mobileStream"
| "externStream"
| "aiYuvData"Which encoder stream to send.
aiYuvData(raw frames for AI) is Video Doorbell PoE only.
The rectangle to move onto, in <Ptz3DLocation>.
-
channelId: number
Zero-based channel.
-
height: number
Rectangle height; units are not established.
-
speed: number
Movement speed.
-
streamType: "mainStream" | "subStream" | "mobileStream" | "externStream"
The stream whose picture the rectangle refers to.
-
topLeftX: number
Left edge of the rectangle; units are not established.
-
topLeftY: number
Top edge of the rectangle; units are not established.
-
width: number
Rectangle width; units are not established.
The PTZ self-test state in <PtzAutoTest>.
-
testStat: number
Self-test state as a number; the firmware does not name the values.
| "left"
| "right"
| "up"
| "down"
| "leftUp"
| "leftDown"
| "rightUp"
| "rightDown"
| "irisDec"
| "irisInc"
| "zoomDec"
| "zoomInc"
| "focusDec"
| "focusInc"
| "setPos"
| "delPos"
| "toPos"
| "auto"
| "highSpeed"
| "startPatrol"
| "stopPatrol"
| "clearPatrol"
| "enablePattern"
| "startPattern"
| "stopPattern"
| "startSavePattern"
| "stopSavePattern"
| "cleanPattern"
| "zoomPos"
| "focusPos"
| "zoomStepInc"
| "zoomStepDec"
| "focusStepInc"
| "focusStepDec"
| "setGrd"
| "toGrd"
The PTZ command in <PtzControl>.
-
channelId: number
Zero-based channel, 0 to 63.
-
command: "stop"
| "left"
| "right"
| "up"
| "down"
| "leftUp"
| "leftDown"
| "rightUp"
| "rightDown"
| "irisDec"
| "irisInc"
| "zoomDec"
| "zoomInc"
| "focusDec"
| "focusInc"
| "setPos"
| "delPos"
| "toPos"
| "auto"
| "highSpeed"
| "startPatrol"
| "stopPatrol"
| "clearPatrol"
| "enablePattern"
| "startPattern"
| "stopPattern"
| "startSavePattern"
| "stopSavePattern"
| "cleanPattern"
| "zoomPos"
| "focusPos"
| "zoomStepInc"
| "zoomStepDec"
| "focusStepInc"
| "focusStepDec"
| "setGrd"
| "toGrd"What to do; a move keeps going until
stop. -
dwellTime: number
Dwell time at a key position; at least 1.
-
keyPos: number
Key position within a patrol, 0 to 15.
-
patrolId: number
Patrol (cruise) id, 0 to 5.
-
patternId: number
Pattern id, 0 to 5.
-
presetId: number
Preset id, 0 to 63.
-
speed: number
Move speed, 0 to 100.
The PTZ patrols in <PtzCruise>.
-
channelId: number
Zero-based channel, 0 to 63.
-
cruiseList: { patrolId: number; enable?: number; starting?: number; name?: string; keyPosList?: { keyPosId: number; presetId: number; speed?: number; dwellTime?: number; }[]; }[]
The patrols; the camera keeps up to six.
The current PTZ position in <ptzCurPos>; units are not established.
-
pPos: number
Pan position.
-
tPos: number
Tilt position.
The PTZ guard position settings in <PtzGuard>.
-
benable: number
Nonzero when returning to the guard position is on.
-
bvalid: number
Nonzero when a guard position is stored; written in replies only.
-
channelId: number
Zero-based channel; the parser rejects 64 and above.
-
command: string
PTZ command name, such as
setGrdortoGrd; the parser rejects a name outside the firmware's 37 PTZ commands. Read from requests only. -
imageName: string
Name of the guard position preview image, up to 31 characters.
-
needSetPos: number
Nonzero to store the current position as the guard position; read from requests only.
-
timeout: number
Seconds idle before the camera returns to the guard position.
| "left"
| "right"
| "up"
| "down"
| "leftUp"
| "leftDown"
| "rightUp"
| "rightDown"
| "irisDec"
| "irisInc"
| "zoomDec"
| "zoomInc"
| "focusDec"
| "focusInc"
| "setPos"
| "delPos"
| "toPos"
| "auto"
| "highSpeed"
| "startPatrol"
| "stopPatrol"
| "clearPatrol"
| "enablePattern"
| "startPattern"
| "stopPattern"
| "startSavePattern"
| "stopSavePattern"
| "cleanPattern"
| "zoomPos"
| "focusPos"
| "zoomStepInc"
| "zoomStepDec"
| "focusStepInc"
| "focusStepDec"
| "setGrd"
| "toGrd"
The saved PTZ positions in <PtzPreset>.
-
channelId: number
Zero-based channel, 0 to 63.
-
maxPresetNum: number
How many presets the camera can save; written as 64.
-
maxPresetPicNum: number
How many preset pictures the camera can save; written as 64.
-
presetList: { id: number; name?: string; imageName?: string; command?: "stop"; }[]
| "left"
| "right"
| "up"
| "down"
| "leftUp"
| "leftDown"
| "rightUp"
| "rightDown"
| "irisDec"
| "irisInc"
| "zoomDec"
| "zoomInc"
| "focusDec"
| "focusInc"
| "setPos"
| "delPos"
| "toPos"
| "auto"
| "highSpeed"
| "startPatrol"
| "stopPatrol"
| "clearPatrol"
| "enablePattern"
| "startPattern"
| "stopPattern"
| "startSavePattern"
| "stopSavePattern"
| "cleanPattern"
| "zoomPos"
| "focusPos"
| "zoomStepInc"
| "zoomStepDec"
| "focusStepInc"
| "focusStepDec"
| "setGrd"
| "toGrd"The presets: saved ones in a reply, the one to act on in a request.
The zoom and focus state in <PtzZoomFocus>.
-
channelId: number
Zero-based channel.
-
focus: PtzZoomFocusRange
The focus motor.
-
zoom: PtzZoomFocusRange
The zoom motor.
One motor's range and position; units are not established.
-
curPos: number
Current position.
-
maxPos: number
Highest position.
-
minPos: number
Lowest position.
The push notification settings in <PushCfg>.
-
consentAgreement: number
Push consent switch, by its name. Video Doorbell PoE only.
-
interval: number
Push interval, zero or more; the firmware does not name the unit.
-
richNotificationEnable: number
Rich (picture) notifications switch, by its name. Video Doorbell PoE only.
The push registration in <PushClientID>.
-
clientID: string
Reply only: the client id the device assigned.
-
clientType: string
Request only: the phone platform as text, read up to 128 bytes.
-
pushToken: string
Request only: the platform push token, read up to 256 bytes.
The push client state in <PushClientState>.
-
channelIdList: string[]
Channels the client listens to, each as
<channelId>text up to 32 bytes. The parser keeps the first 64. -
clientID: string
The client id from cmd 522, read up to 128 bytes.
The listener request in <PushCreateListener>.
-
channelId: string
The channel, read as text up to 32 bytes rather than as a number.
-
clientID: string
The client id from cmd 522, read up to 128 bytes.
The push registration in <PushInfo>.
-
clientID: string
An identifier for the client app instance.
-
phoneType: string
The phone platform; free text to the firmware.
-
token: string
The phone's push token.
The push registration result in <PushRspInfo>.
-
registerHandle: number
The registration handle; -1 when none was assigned.
-
uid: string
The device UID.
-
uidKey: string
The device UID key.
The push notification schedule in <PushTask>.
-
channelId: number
Zero-based channel.
-
enable: number
1 sends push notifications, 0 does not.
-
typeScheduleList: { type: string; valueTable: string; }[]
One weekly schedule per alarm type, as
<item>elements.
The push test outcome in <PushTestResult>.
-
detail: string
Human-readable result from the push module.
-
rspCode: number
Result code from the push module;
0on success.
The recording settings in <RecordCfg>.
-
channelId: number
Zero-based channel.
-
cycle: number
Loop recording; by its name, non-zero overwrites the oldest files.
-
cyclelist: number[]
Up to ten
<item>values; their meaning is not recovered. -
packageTime: number
Recording file length, by its name; units not recovered.
-
preRecordTime: number
Pre-record time, by its name; units not recovered.
-
recordAbility: number
Recording capability flags, as a number. Video Doorbell PoE only.
-
recordDelayTime: number
Post-record time, by its name; units not recovered.
-
smartRecord: number
Smart (event) recording switch, by its name. Video Doorbell PoE only.
-
talkRecord: number
Talk audio recording switch, by its name. Video Doorbell PoE only.
-
timeList: number[]
Up to ten
<time>values; their meaning is not recovered.
The recording schedule in <Record>.
-
channelId: number
Zero-based channel.
-
enable: number
1 when scheduled recording is on, 0 when off.
-
typeScheduleList: { type: string; valueTable: string; }[]
One schedule per alarm type.
The playback request in <ReplayByTimeV2>.
-
durationList: ReplayByTimeV2DurationList
The recorded periods to play.
-
endTime: ReplayByTimeV2Time
End of the range.
-
playSpeed: number
Playback speed, 0 to 32.
-
seq: number
Sequence number of the request.
-
startTime: ReplayByTimeV2Time
Start of the range.
-
streamType: "mainStream" | "subStream" | "mobileStream" | "externStream"
The stream to play; an unknown name reads as
mainStream.
The recorded periods of one channel, a <duration> in <durationList>.
-
channelId: number
Zero-based channel; must not be negative.
-
times: ReplayByTimeV2Period[]
The periods, as
<i>items; up to 100 are read.
The recorded periods of one day, in <durationList>.
-
day: number
Day of the month, 1 to 31.
-
duration: ReplayByTimeV2Duration[]
One
<duration>per channel; up to 4 are read. -
month: number
Month, 1 to 12.
-
year: number
Year, 0 or more.
One recorded period, an <i> in <times>.
A date and time in <ReplayByTimeV2>.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Year, such as 2026.
The playback seek request in <ReplaySeek>.
-
channelId: number
Zero-based channel.
-
seekTime: ReplaySeekTime
Where to seek to.
-
seq: number
Sequence number of the request.
The point in time to seek to, in <seekTime>.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Year, such as 2026.
The playback seek request in <ReplaySeekV2>.
-
durationList: ReplaySeekV2DurationList
The recorded periods being played.
-
seekTime: ReplaySeekV2Time
Where to seek to.
-
seq: number
Sequence number of the request.
The recorded periods of one channel, a <duration> in <durationList>.
-
channelId: number
Zero-based channel; must not be negative.
-
times: ReplaySeekV2Period[]
The periods, as
<i>items; up to 100 are read.
The recorded periods of one day, in <durationList>.
-
day: number
Day of the month, 1 to 31.
-
duration: ReplaySeekV2Duration[]
One
<duration>per channel; up to 4 are read. -
month: number
Month, 1 to 12.
-
year: number
Year, 0 or more.
One recorded period, an <i> in <times>.
The point in time to seek to, in <seekTime>.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Year, such as 2026.
The key frame request in <RequestIframe>.
-
channelId: number
Zero-based channel.
-
streamType: "mainStream" | "subStream" | "mobileStream" | "externStream"
The stream that should emit the key frame.
The settings groups to reset in <Restore>; 1 resets, 0 keeps.
-
IPC: number
IP camera channel settings.
-
alarm: number
Alarm settings.
-
all: number
Every group.
-
device: number
Device settings.
-
display: number
Display settings.
-
network: number
Network settings.
-
recording: number
Recording settings.
-
system: number
System settings.
-
wifi: number
Wi-Fi settings.
The PIR alarm settings in <rfAlarmCfg>.
-
enable: number
1 for on, 0 for off.
-
reduceFalseAlarm: number
False alarm reduction as a number.
-
sensiValue: number
Sensitivity, 0 to 100.
The port settings in <RtmpPort>.
-
enable: number
1 when on, 0 when off.
-
rtmpPort: number
The port, 1 to 65535.
The port settings in <RtspPort>.
-
enable: number
1 when on, 0 when off.
-
rtspPort: number
The port, 1 to 65535.
The scanned access points in <ScanAp>.
-
udidList: ScanApUdid[]
The access points; omitted when none were found.
One access point in <udidList>, as a <udid> element.
-
encrypt: number
Encryption as a number.
-
name: string
The access point's SSID.
-
signal: number
Signal strength.
-
type: number
Network type as a number; RLC-823A only.
The scene setting in <Scene>.
-
sceneMode: "indoor" | "outdoor"
Scene the white balance is tuned for.
The PTZ serial port settings in <Serial>.
-
baudRate: number
1200, 2400, 4800 or 9600; the firmware writes 9600 for an unknown index.
-
channelId: number
Zero-based channel.
-
controlAddress: number
PELCO device address.
-
controlProtocol: "PELCO_D" | "PELCO_P"
PTZ control protocol.
-
dataBit: string
Data bits as a name, such as
CS8. -
flowControl: "none" | "hard" | "xon:xoff"
Flow control.
-
parity: "none" | "odd" | "even"
Parity.
-
stopBit: number
1 or 2.
The port settings in <ServerPort>.
-
enable: number
1 when on, 0 when off.
-
serverPort: number
The port, 1 to 65535.
The privacy masks in <Shelter>.
-
channelId: number
Zero-based channel.
-
enable: number
1 when masks are drawn, 0 when off.
-
shelterList: ShelterArea[]
The masks.
One privacy mask in <shelterList>.
-
color: number
Mask colour.
-
enable: number
1 to keep the mask, 0 to clear it.
-
height: number
Height, 0 or more.
-
id: number
Mask number, 0 to 7.
-
layer: number
Mask layer.
-
topLeftX: number
Left edge.
-
topLeftY: number
Top edge.
-
width: number
Width, 0 or more.
| "1/4"
| "1/5"
| "1/6"
| "1/8"
| "1/12"
| "1/15"
| "1/25"
| "1/30"
| "1/50"
| "1/60"
| "1/100"
| "1/120"
| "1/250"
| "1/500"
| "1/1000"
| "1/2000"
| "1/4000"
| "1/10000"
The shutter speed in <Shutter>.
-
channelId: number
Zero-based channel; read by the parser, never written by the camera.
-
shutterLevel: "1/3"
| "1/4"
| "1/5"
| "1/6"
| "1/8"
| "1/12"
| "1/15"
| "1/25"
| "1/30"
| "1/50"
| "1/60"
| "1/100"
| "1/120"
| "1/250"
| "1/500"
| "1/1000"
| "1/2000"
| "1/4000"
| "1/10000"Shutter speed as a fraction of a second; always written in replies.
The privacy state in <sleepState>.
-
imageName: string
Request only: an image name up to 32 bytes; parsed but unused on the doorbell.
-
mode: number
Request only: parsed but unused on the doorbell.
-
operate: number
Request only: the operation; cmd 575 succeeds only with 2.
-
panPos: number
Request only: pan position; parsed but unused on the doorbell.
-
sleep: number
The stored sleep word. 1 makes the doorbell refuse live view (cmd 3) and snapshots (cmd 109); 0 is the ordinary state.
-
tiltPos: number
Request only: tilt position; parsed but unused on the doorbell.
The pushed privacy state in <sleepStatus>.
-
sleep: number
The stored sleep word. 1 makes the doorbell refuse live view (cmd 3) and snapshots (cmd 109); 0 is the ordinary state.
The play URL request in <SmtPlayUrl>.
-
channelId: number
Zero-based channel.
-
stream_type: number
Stream type as a number; the firmware does not name the values.
The snapshot request or reply in <Snap>.
-
channelId: number
Zero-based channel.
-
fileName: string
Snapshot file name, up to 127 characters.
-
pictureSize: number
JPEG size in bytes.
-
snapPolicy: number
Snapshot policy; request only.
-
time: number
Snapshot time value; its unit is not visible in the firmware.
The image clarity check settings in <startFtyImageClarityDetect>.
-
aeExpTime: number
Auto exposure time.
-
aeIsoGain: number
Auto exposure ISO gain.
-
awbBgain: number
White balance blue gain.
-
awbGgain: number
White balance green gain.
-
awbRgain: number
White balance red gain.
-
desc: string
Description, up to 31 bytes.
-
threshold: string
Up to 5 comma-separated integers, such as
60,55,50,45,40; the firmware rejects a value it cannot split.
| "left"
| "right"
| "up"
| "down"
| "leftUp"
| "leftDown"
| "rightUp"
| "rightDown"
| "irisDec"
| "irisInc"
| "zoomDec"
| "zoomInc"
| "focusDec"
| "focusInc"
| "setPos"
| "delPos"
| "toPos"
| "auto"
| "highSpeed"
| "startPatrol"
| "stopPatrol"
| "clearPatrol"
| "enablePattern"
| "startPattern"
| "stopPattern"
| "startSavePattern"
| "stopSavePattern"
| "cleanPattern"
| "zoomPos"
| "focusPos"
| "zoomStepInc"
| "zoomStepDec"
| "focusStepInc"
| "focusStepDec"
| "setGrd"
| "toGrd"
A zoom or focus move in <StartZoomFocus>.
-
channelId: number
Zero-based channel, 0 to 63.
-
command: "stop"
| "left"
| "right"
| "up"
| "down"
| "leftUp"
| "leftDown"
| "rightUp"
| "rightDown"
| "irisDec"
| "irisInc"
| "zoomDec"
| "zoomInc"
| "focusDec"
| "focusInc"
| "setPos"
| "delPos"
| "toPos"
| "auto"
| "highSpeed"
| "startPatrol"
| "stopPatrol"
| "clearPatrol"
| "enablePattern"
| "startPattern"
| "stopPattern"
| "startSavePattern"
| "stopSavePattern"
| "cleanPattern"
| "zoomPos"
| "focusPos"
| "zoomStepInc"
| "zoomStepDec"
| "focusStepInc"
| "focusStepDec"
| "setGrd"
| "toGrd"The PTZ command, one of the 37 names
_get_ptz_cmdaccepts. OnlyzoomPosandfocusPosmove tomovePos; the camera decides which others it acts on. -
movePos: number
Target position; the firmware rejects a negative value.
One group of channels and its streams, in <StreamInfo>.
-
channelBits: number
Bit mask of the channels this entry applies to.
-
encodeTable: StreamInfoEncodeTable[]
One table per stream, as repeated
<encodeTable>elements.
One stream's encoder choices, in <encodeTable>.
-
bitrateTable: string
Allowed bitrates as comma-separated integers; at most 16, trailing zeros dropped.
-
defaultBitrate: number
Default bitrate.
-
defaultFramerate: number
Default frame rate.
-
defaultGop: number
Default GOP length; only on models that support GOP setting.
-
framerateTable: string
Allowed frame rates as comma-separated integers, such as
25,20,15; at most 25, trailing zeros dropped. -
resolution: { width: number; height: number; }
The stream's resolution.
-
type: "mainStream" | "subStream" | "mobileStream" | "externStream"
Which stream this table describes.
The encoder capabilities in <StreamInfoList>.
-
StreamInfo: StreamInfo[]
One entry per channel group, as repeated
<StreamInfo>elements.
The radio test result in <sub1gTest>.
-
correctResult: number
Reply only: the correction result; its values are not established.
The device features in <Support>.
-
B485: number
RS-485 support.
-
ExportImport: number
Configuration export and import support.
-
IOInputPortNum: number
Number of alarm inputs.
-
IOOutputPortNum: number
Number of alarm outputs.
-
IOTLink: number
IoT link support.
-
IOTLinkActionMax: number
Maximum IoT link actions.
-
apMode: number
Access point mode support.
-
audioAlarm: number
Audio alarm support.
-
audioCfg: number
Audio settings support.
-
audioNum: number
Number of audio channels.
-
audioTalk: number
Two-way audio support.
-
autoTest: number
Automatic test support; RLC-823A only.
-
autoUpdate: number
Automatic update support.
-
channelNum: number
Number of channels.
-
cloudVersion: number
Cloud feature version, a bit set.
-
ddnsVersion: number
DDNS feature version.
-
diskNum: number
Number of disks.
-
email: number
Email support.
-
emailVersion: number
Email feature version.
-
ftp: number
FTP support.
-
ftpTest: number
FTP test support.
-
heightDiffAdjust: number
Height difference adjustment support; Video Doorbell PoE only.
-
item: SupportChannel[]
One entry per channel, as repeated
<item>elements. -
languageVer: number
Language feature version.
-
loginLocked: number
Login lockout support; RLC-823A only.
-
mobComVersion: number
Mobile communication feature version.
-
nasVersion: number
NAS feature version.
-
needReboot: number
1 when settings changes need a reboot.
-
netPort: number
Network port setting support.
-
netSecurity: number
Network security feature support.
-
networkDiagnosis: number
Network diagnosis support.
-
noExternStream: number
1 when there is no extern stream.
-
onvif: number
ONVIF support.
-
previewVersion: number
Preview feature version.
-
ptzCfg: number
PTZ configuration support.
-
ptzMode: "none" | "af" | "ptz" | "pt" | "p"
PTZ capability; the firmware writes
nonefor an unknown mode. -
pushAlarm: number
Push alarm support.
-
pushType: number
Push type.
-
pushVersion: number
Push feature version.
-
reboot: number
Remote reboot support.
-
record: number
Recording support.
-
recordCfg: number
Recording settings support; written only on battery models.
-
replayVersion: number
Playback feature version.
-
rfVersion: number
PIR feature version.
-
rtmp: number
RTMP support.
-
rtsp: number
RTSP support.
-
smartHome: SupportSmartHome
The smart home assistants.
-
syncTime: number
Time sync support.
-
timeFormat: number
Time format setting.
-
user: number
Meaning not recovered beyond the name; Video Doorbell PoE only.
-
videoStandard: number
Video standard setting.
-
wifi: number
Wi-Fi support.
-
wifiTest: number
Wi-Fi test support.
-
wifiVersion: number
Wi-Fi feature version.
One channel's feature flags, in a top-level <item>.
-
IOTLinkAbility: number
IoT link ability.
-
aiAnimalType: number
AI animal detection types offered; RLC-823A only.
-
aiUpdateAbility: number
AI model update support; Video Doorbell PoE only.
-
aitype: number
AI detection types offered.
-
audioVersion: number
Audio feature version.
-
autoFocus: number
Autofocus support.
-
autoPt: number
Auto pan support.
-
batAnalysis: number
Battery analysis support.
-
battery: number
Battery support.
-
chnID: number
Zero-based channel.
-
doorbellVersion: number
Doorbell feature version; Video Doorbell PoE only.
-
dynamicReso: number
Dynamic resolution support.
-
encCtrl: number
Encoder control support.
-
eventTypeVersion: number
Event type feature version; Video Doorbell PoE only.
-
h264Profile: number
H.264 profile capability.
-
ipcAudioTalk: number
The device-wide
audioTalk; only on a multi-channel device with it set. -
ispCfg: number
Image (ISP) settings version.
-
ledCtrl: number
LED control support.
-
motion: number
Motion detection version.
-
newIspCfg: number
Newer image settings version.
-
noAudio: number
1 when the channel has no audio.
-
osdCfg: number
OSD settings version.
-
ptzControl: number
PTZ control support.
-
ptzPatrol: number
PTZ patrol support.
-
ptzPreset: number
PTZ preset support.
-
ptzTattern: number
PTZ pattern support; the firmware spells it
ptzTattern. -
ptzType: number
PTZ type of the channel.
-
remoteAbility: number
Meaning not recovered beyond the name; Video Doorbell PoE only.
-
rfCfg: number
PIR configuration support.
-
shelter: number
Always 0; present only when the model has no privacy mask support.
-
snap: number
Snapshot support.
-
thumbnail: number
Thumbnail support; RLC-823A only.
-
timelapse: number
Time-lapse support.
-
videoClip: number
Video clip support.
-
zfBacklash: number
Zoom/focus backlash setting support.
The smart home assistants, in <smartHome>.
-
item: SupportSmartHomeItem[]
One entry per supported assistant, as repeated
<item>. -
version: number
1 when present; written only when bit 3 of
cloudVersionis set.
One smart home assistant, in <smartHome><item>.
-
name: string
The assistant; this firmware writes
googleHomeoramazonAlexa. -
ver: number
The assistant integration version.
The Wi-Fi network names in <syncSSID>.
-
ssid2Dot4G: string
2.4 GHz network name, up to 127 characters.
-
ssid5G: string
5 GHz network name, up to 127 characters.
The general system settings in <SystemGeneral>.
-
allowedTimes: number
Failed logins allowed before the lock.
-
day: number
Day of the month, 1 to 31.
-
deviceId: number
Device id.
-
deviceName: string
Device name, up to 31 characters.
-
hour: number
Hour, 0 to 23.
-
isDst: number
Whether daylight saving time is in effect; reply only.
-
language: string
UI language name, such as
English. -
lockTime: number
How long a locked account stays locked.
-
loginLock: number
1 when repeated failed logins lock the account.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
osdFormat: "MDY" | "YMD" | "DMY" | "MDY_CN" | "YMD_CN" | "DMY_CN"
Date order shown in the OSD.
-
second: number
Second, 0 to 59.
-
timeFormat: number
Clock format index.
-
timeZone: number
Time zone offset.
-
year: number
Year.
The value of <T1MicTest>: the firmware reads and writes no fields.
The two-way audio abilities in <TalkAbility>.
-
audioConfigList: { priority: number; audioType: "adpcm" | "g711"; sampleRate: number; samplePrecision: number; lengthPerEncoder: number; soundTrack: "mono" | "stereo"; }[]
Supported audio encodings; absent when none is set.
-
audioStreamModeList: ("followVideoStream" | "onlyAudioStream" | "mixAudioStream")[]
Supported audio stream modes; up to eight.
mixAudioStreamis Video Doorbell PoE only. -
duplexList: ("FDX" | "HDX")[]
Supported duplex modes: full (
FDX) or half (HDX); up to eight.
The audio format of the talk session, in <audioConfig>.
-
audioType: "adpcm" | "g711"
Audio codec.
-
lengthPerEncoder: number
Bytes per encoder frame.
-
priority: number
Priority, 0 to 31.
-
samplePrecision: number
Bits per sample.
-
sampleRate: number
Sample rate in Hz.
-
soundTrack: "mono" | "stereo"
Channel layout.
The two-way audio session in <TalkConfig>.
-
audioConfig: TalkAudioConfig
The audio format.
-
audioStreamMode: "followVideoStream" | "onlyAudioStream" | "mixAudioStream"
Whether talk audio rides the video stream, its own stream, or a mix.
mixAudioStreamis Video Doorbell PoE only. -
duplex: "FDX" | "HDX"
Full or half duplex.
The clock setting in <TimeCfg>.
-
realTime: number
The time to set, as Unix seconds.
The time-lapse settings in <timelapseCfg>.
-
channelId: number
Zero-based channel.
-
item: TimelapseCfgItem
The task; written only when one exists.
-
maxFileNum: number
Most files kept; reply only, the camera never reads it.
-
overwrite: number
1 when old files are overwritten.
A daily capture window in a <timelapseCfg> item.
-
endTime: TimelapseCfgTime
Window end.
-
startTime: TimelapseCfgTime
Window start.
-
valid: number
1 when the window is in use.
The time-lapse task in <timelapseCfg>.
-
buseThumbnail: number
1 when thumbnails are kept.
-
duration: TimelapseCfgDuration[]
Daily capture windows; the firmware writes and reads up to four.
-
enable: number
1 when the task runs.
-
endTime: TimelapseCfgTime
Last day of the task.
-
frameRate: number
Frame rate of the resulting video.
-
id: string
Task id.
-
interval: number
Capture interval.
-
neverEnd: number
1 when the task has no end date.
-
properties: string
Free-form task properties.
-
startTime: TimelapseCfgTime
First day of the task.
-
streamType: "mainStream" | "subStream" | "mobileStream" | "externStream"
The stream to capture from.
-
taskType: "mp4" | "jpeg"
Output format.
A date and time in <timelapseCfg>. The item's range is written with
year to minute, a duration window with hour to second.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Year, such as 2026.
The file reference in <timelapseCover>.
-
id: string
File id, as listed by cmd 323 and 324.
The days with time-lapse files in <timelapseDateTbl>.
-
channelId: number
Zero-based channel.
-
id: string
Task id.
-
item: TimelapseDateTblItem[]
One entry per year, as repeated
<item>elements. -
uid: string
Storage UID.
One year in <timelapseDateTbl>.
-
dateTable: string
The days of that year with files, as text.
-
year: number
Year, such as 2026.
One timelapse file to download, in <timelapseDownload>.
-
id: string
Timelapse task id, up to 255 characters.
-
position: bigint
Byte offset into the file to start from.
-
taskType: "mp4" | "jpeg"
Media type: a video or a JPEG sequence.
One stored file in a <timelapseFileSearch> item.
-
duration: number
Video length; written for mp4 only.
-
endTime: TimelapseFileTime
Video end; written for mp4 only.
-
fileName: string
File name.
-
id: string
File id.
-
resoHight: number
Height in pixels; the firmware spells it
resoHight. -
resowidth: number
Width in pixels; the firmware spells it
resowidth. -
size: bigint
Size in bytes.
-
startTime: TimelapseFileTime
Video start; written for mp4 only.
Timelapse files to delete, in <timelapseFileDel>.
-
item: { id?: string; }[]
The files, one
<item>each. -
taskType: "mp4" | "jpeg"
Media type of the files; read from requests, never written in replies.
One result in <timelapseFileSearch>.
-
original: TimelapseFile
The full file.
-
thumbnail: TimelapseFile
The thumbnail; written for jpeg tasks only.
The search state and results in <timelapseFileSearch>.
-
channelId: number
Zero-based channel.
-
endTime: TimelapseFileTime
End of the search window; read only, never written back.
-
finished: number
1 when no more pages follow.
-
fromWhere: number
Where to search, as a number; read only, never written back.
-
handle: number
Search handle from cmd 323, passed to cmd 324 and 325.
-
id: string
Task id.
-
item: TimelapseFileItem[]
One entry per file, as repeated
<item>elements. -
startTime: TimelapseFileTime
Start of the search window; read only, never written back.
-
taskType: "mp4" | "jpeg"
Output format of the task.
-
totalNum: number
Number of files found.
-
uid: string
Storage UID.
A date and time in <timelapseFileSearch>.
-
day: number
Day of the month, 1 to 31.
-
hour: number
Hour, 0 to 23.
-
minute: number
Minute, 0 to 59.
-
month: number
Month, 1 to 12.
-
second: number
Second, 0 to 59.
-
year: number
Year, such as 2026.
One task in <timelapseTasks>.
-
id: string
Task id.
-
properties: string
Free-form task properties.
-
taskState: "IDLE" | "RUNNING" | "DELETING"
What the task is doing; reply only, the camera never reads it.
-
taskType: "mp4" | "jpeg"
Output format.
A timelapse task to delete, in <timelapseTaskDel>.
-
id: string
Timelapse task id, up to 31 characters.
-
uid: string
Device uid, up to 31 characters.
The stored time-lapse tasks in <timelapseTasks>.
-
channelId: number
Zero-based channel.
-
item: TimelapseTask[]
One entry per task, as repeated
<item>elements. -
uid: string
Storage UID.
The AI tracking pan limits in <trackLimit>.
-
channelId: number
Zero-based channel.
-
leftImageName: string
Name of the preview image at the left limit, up to 31 characters.
-
leftLimit: number
Left limit position; units are not established.
-
rightImageName: string
Name of the preview image at the right limit, up to 31 characters.
-
rightLimit: number
Right limit position; units are not established.
The AI tracking schedule in <trackSchedule>.
-
channelId: number
Zero-based channel.
-
timeTable: string
Schedule as text of up to 168 characters, stored as-is. The same field in
<IOTAction>holds one0or1per hour of the week.
| "stopped"
| "downloading"
| "updating"
| "timeout"
| "finish"
| "imgerror"
The online update progress in <upgradeState>.
-
downloadSize: number
Bytes downloaded so far.
-
packetSize: number
Size of the firmware package in bytes.
-
state: "none"
| "stopped"
| "downloading"
| "updating"
| "timeout"
| "finish"
| "imgerror"Update state;
noneis written only,updatingis read only.
The user accounts in <UserList>.
-
User: UserListUser[]
One
<User>per account.
One account in <UserList>.
-
loginState: number
1 for the account this session logged in as, else 0.
-
password: string
Account password, up to 31 bytes; read by the parser, never written.
-
userId: number
Account number, 0 or more.
-
userLevel: number
0 or 1; the camera rejects anything above 1.
-
userName: string
Account name, up to 31 bytes.
-
userSetState: "none" | "add" | "delete" | "modify"
What a request does with the account; replies always say
none.
The device and firmware identity in <VersionInfo>.
-
IEClient: string
Web client identifier.
-
aiVersion: string
AI model version. Video Doorbell PoE only.
-
anotherPakSuffix: string
A second accepted upgrade package suffix; written only when set.
-
buildDay: string
Firmware build date.
-
cfgVersion: string
Configuration version.
-
detail: string
Detailed build string.
-
firmwareVersion: string
Firmware version.
-
hardwareVersion: string
Hardware version.
-
helpVersion: string
Help document version; written only when the device has one.
-
itemNo: string
Product item number. Video Doorbell PoE only.
-
name: string
Device name.
-
pakSuffix: string
Upgrade package file suffix.
-
serialNumber: string
Serial number.
-
type: string
Device type.
The image adjustments in <VideoInput>.
-
bright: number
Brightness, 0 to 255.
-
channelId: number
Zero-based channel.
-
contrast: number
Contrast, 0 to 255.
-
hue: number
Hue, 0 to 255.
-
saturation: number
Saturation, 0 to 255.
-
sharpen: number
Sharpness, 0 to 255; missing from the cmd 78 push.
The value of <whiteLightInfo>: the firmware reads and writes no fields.
The Wi-Fi client settings in <Wifi>.
-
authMode: "open" | "shared" | "wpapsk" | "wpa2psk" | "detect"
Authentication mode; parsed only, never written.
-
channel: number
Wi-Fi channel.
-
countryCode: string
Regulatory country code.
-
encryptType: "none" | "wep" | "tkip" | "aes" | "detect"
Encryption type; parsed only, never written.
-
freqPolicy: number
Frequency band policy as a number.
-
key: string
Network key, up to 256 bytes.
-
mode: "station" | "ap"
Client or access point mode; the firmware omits it for another value.
-
protocol: number
Wireless protocol as a number; RLC-823A only, never parsed.
-
scanAp: number
Meaning not recovered beyond the name; Video Doorbell PoE only; read from requests, never written.
-
ssid: string
Network name, up to 256 bytes.
-
staticKey: string
Fallback network key; written only on a Wi-Fi kit model.
-
staticSsid: string
Fallback network name; written only on a Wi-Fi kit model.
-
type: number
Network type as a number; RLC-823A only, never parsed.
-
udidList: WifiUdid[]
Access points found by a scan, at most 128; omitted when none.
The Wi-Fi signal strength in <WifiSignal>.
-
signal: number
Signal strength as the firmware reports it.
One access point in <udidList>, as a <udid> element.
-
encrypt: number
Encryption as a number; written only, never parsed.
-
name: string
The access point's SSID; the parser reads it when present.
-
protocol: number
Wireless protocol as a number; RLC-823A only, never parsed.
-
signal: number
Signal strength; the parser drops an entry below 1.
-
type: number
Network type as a number; written only, never parsed.
The zoom and focus motor backlash in <ZfBacklash>.
-
fBacklash: number
Focus motor backlash.
-
zBacklash: number
Zoom motor backlash.
The zoom and focus positions in <ZoomFocusInfo>.
-
channelId: number
Zero-based channel, 0 to 63.
-
focus: ZoomFocusPos
Focus motor.
-
zoom: ZoomFocusPos
Zoom motor.
One motor's range and position in <ZoomFocusInfo>.
-
curPos: number
Current position.
-
maxPos: number
Highest position.
-
minPos: number
Lowest position.
Codec for <AbilityInfo>.
Codec for <AbilitySuppport>.
Codec for <accessInfo>.
Codec for <accessUserList>.
Codec for <afAlgorithm>.
Codec for <AfLearn>.
Codec for <AfLearnRes>.
Codec for <AgingTest>.
Codec for <AiCfg>.
Codec for <AiDetectCfg>.
Codec for <AiTrackData>.
Codec for <AIYUVCfg>.
Codec for <AlarmArea>.
Codec for <AlarmEventList>.
Codec for <alarmVideoInfo>.
Codec for <answerEvent>.
Codec for <audioCfg>.
Codec for <AudioEncodeAbility>.
Codec for <audioFileInfo>.
Codec for <audioFileInfoList>.
Codec for <audioPlayInfo>.
Codec for <AudioTask>.
Codec for <authInfo>.
Codec for <AutoDns>.
Codec for <AutoFocus>.
Codec for <AutoReboot>.
Codec for <AutoReply>.
Codec for <AutoUpdate>.
Codec for <BandWidthTest>.
Codec for <BatteryInfo>.
Codec for <BatteryList>.
Codec for <BatteryRemainList>.
Codec for <BindCloud>.
Codec for <BindNasInfoList>.
Codec for <BindUnbindNas>.
Codec for <BinoAdjust>.
Codec for <BLC>.
Codec for <certificateInfo>.
Codec for <ChargeBatteryInfo>.
Codec for <CloudBindInfo>.
Codec for <CloudLoginKey>.
Codec for <CloudTask>.
Codec for <CloudTestResult>.
Codec for <CloudUploadCfg>.
Codec for <Compression>.
Codec for <ConfigFileInfo>.
Codec for <CoverPreview>.
Codec for <Crop>.
Codec for <CropSnap>.
Codec for <cropSnap>.
Codec for <DayNightMode>.
Codec for <DayNightThreshold>.
Codec for <DayRecords>.
Codec for <Ddns>.
Codec for <DeleteRecordFile>.
Codec for <DevBodyCode>. It reads any element as {}.
Codec for <DeviceInfo>.
Codec for <Dhcp>.
Codec for <dingdongCfg>.
Codec for <dingdongCtrl>.
Codec for <dingdongDeviceOpt>.
Codec for <dingdongList>.
Codec for <dingdongSilentMode>.
Codec for <Dns>.
Codec for <doorbellDingdingtest>.
Codec for <Dst>.
Codec for <Email>.
Codec for <EmailTask>.
Codec for <ExposureCfg>.
Codec for <FileInfoList>.
Codec for <findAlarmVideo>.
Codec for <Flip>.
Codec for <FloodlightManual>.
Codec for <FloodlightStatusList>.
Codec for <FloodlightTask>.
Codec for <freqCorrectResult>.
Codec for <Ftp>.
Codec for <FtpTask>.
Codec for <FtpTestResult>.
Codec for <ftyAudioTest>.
Codec for <ftyDoorbellTest>.
Codec for <ftyImageDetechRet>.
Codec for <ftySnapCfg>. It reads any element as {}.
Codec for <ftyTestRange>.
Codec for <Gain>.
Codec for <GopCfg>.
Codec for <HddInfoList>.
Codec for <HddInitList>.
Codec for <HeartBeat>.
Codec for <HttpPort>.
Codec for <HttpsPort>.
Codec for <ImageCheck>. It reads any element as {}.
Codec for <imageFileInfo>.
Codec for <InputAdvanceCfg>.
Codec for <IOTAction>.
Codec for <IOTActionList>.
Codec for <IOTBindInfoList>.
Codec for <IOTBindUnBind>.
Codec for <Ip>.
Codec for <IpcVersionList>.
Codec for <IrCutInfo>. It reads any element as {}.
Codec for <IrcutMode>.
Codec for <LedState>.
Codec for <LinkType>.
Codec for <LoginErrInfo>.
Codec for <LoginNet>.
Codec for <LoginUser>.
Codec for <MD>.
Codec for <Mirror>.
Codec for <muteAudio>.
Codec for <NasUploadCfg>.
Codec for <Net3g4gInfo>.
Codec for <Net3g4gModuleInfo>.
Codec for <NetworkDiagnosisData>.
Codec for <Norm>.
Codec for <Ntp>.
Codec for <OffsetAdjust>.
Codec for <OnlineNewFirmwareInfo>.
Codec for <OnlineUpdate>.
Codec for <OnlineUserList>.
Codec for <OnvifPort>.
Codec for <OsdChannelName>.
Codec for <OsdDatetime>.
Codec for <PARAM_DATA_V20>. It has no fields: the payload it names is
binary and is not part of the XML body.
Codec for <PerformanceInfo>.
Codec for <PeriPheralStat>.
Codec for <PowerLineFrequency>.
Codec for <Preview>.
Codec for <PTOP>.
Codec for <Ptz3DLocation>.
Codec for <PtzAutoTest>.
Codec for <PtzControl>.
Codec for <PtzCruise>.
Codec for <ptzCurPos>.
Codec for <PtzGuard>.
Codec for <PtzPreset>.
Codec for <PtzZoomFocus>.
Codec for <PushCfg>.
Codec for <PushClientID>.
Codec for <PushClientState>.
Codec for <PushCreateListener>.
Codec for <PushInfo>.
Codec for <PushRspInfo>.
Codec for <PushTask>.
Codec for <PushTestResult>.
Codec for <Record>.
Codec for <RecordCfg>.
Codec for <ReplayByTimeV2>.
Codec for <ReplaySeek>.
Codec for <ReplaySeekV2>.
Codec for <RequestIframe>.
Codec for <Restore>.
Codec for <rfAlarmCfg>.
Codec for <RtmpPort>.
Codec for <RtspPort>.
Codec for <ScanAp>.
Codec for <Scene>.
Codec for <Serial>.
Codec for <ServerPort>.
Codec for <Shelter>.
Codec for <Shutter>.
Codec for <sleepState>.
Codec for <sleepStatus>.
Codec for <SmtPlayUrl>.
Codec for <SmtPlayURL>.
Codec for <Snap>.
Codec for <startFtyImageClarityDetect>.
Codec for <StartZoomFocus>.
Codec for <StreamInfoList>.
Codec for <sub1gTest>.
Codec for <Support>.
Codec for <syncSSID>.
Codec for <SystemGeneral>.
Codec for <T1MicTest>.
Codec for <TalkAbility>.
Codec for <TalkConfig>.
Codec for <TimeCfg>.
Codec for <timelapseCfg>.
Codec for <timelapseCover>.
Codec for <timelapseDateTbl>.
Codec for <timelapseDownload>.
Codec for <timelapseFileDel>.
Codec for <timelapseFileSearch>.
Codec for <timelapseTaskDel>.
Codec for <timelapseTasks>.
Codec for <trackLimit>.
Codec for <trackSchedule>.
Codec for <Uid>.
Codec for <upgradeState>.
Codec for <Upnp>.
Codec for <UserList>.
Codec for <VersionInfo>.
Codec for <VideoInput>.
Codec for <whiteLightInfo>. It reads any element as {}.
Codec for <Wifi>.
Codec for <WifiSignal>.
Codec for <ZfBacklash>.
Codec for <ZoomFocusInfo>.
Every Baichuan command registered by the firmware builds this package was
derived from, and the messages they push unasked, as data for
Client.call and Client.pushes.
Read the network ports
Read the network ports
import { createClient } from "@hertzg/reolink-api"; import { COMMANDS } from "@hertzg/reolink-api/protocol/commands"; const conn = await Deno.connect({ hostname: "192.168.1.10", port: 9000 }); const client = createClient({ readable: conn.readable, writable: conn.writable }); await client.login({ username: "admin", password: "secret" }); const { body } = await client.call(COMMANDS.GET_NETPORT_CFG_V20); console.log(body.RtspPort?.rtspPort);
Look up a command
Look up a command
import { assertEquals } from "@std/assert"; import { COMMANDS } from "@hertzg/reolink-api/protocol/commands"; assertEquals(COMMANDS.GET_NETPORT_CFG_V20.id, 37); assertEquals( COMMANDS.GET_NETPORT_CFG_V20.params.map((param) => param.name), ["ServerPort", "HttpPort", "RtspPort", "OnvifPort", "HttpsPort", "RtmpPort"], );
The firmware request commands, keyed by name.
-
AUTH_MODE_CODE_GET: Command<readonly [authInfo]>
cmd 509,
AUTH_MODE_CODE_GET. Parameters:authInfo. Firmware: Video Doorbell PoE. -
BIND_IOT_V20: Command<readonly [iotBindUnBind]>
cmd 391,
BIND_IOT_V20. Parameters:IOTBindUnBind. Firmware: RLC-823A, Video Doorbell PoE. -
BIND_NAS: Command<readonly [bindUnbindNas]>
cmd 279,
BIND_NAS. Parameters:BindUnbindNas. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_GET_BLC: Command<readonly [inputAdvanceCfg, blc]>
cmd 168,
CGI_GET_BLC. Parameters:InputAdvanceCfg,BLC. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesBLC, which the dispatch table does not list. -
CGI_GET_DAY_NIGHT_MODE: Command<readonly [inputAdvanceCfg, dayNightMode]>
cmd 164,
CGI_GET_DAY_NIGHT_MODE. Parameters:InputAdvanceCfg,DayNightMode. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesDayNightMode, which the dispatch table does not list. -
CGI_GET_EXPOSURE: Command<readonly [inputAdvanceCfg, exposureCfg]>
cmd 156,
CGI_GET_EXPOSURE. Parameters:InputAdvanceCfg,ExposureCfg. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesExposureCfg, which the dispatch table does not list. -
CGI_GET_FLIP: Command<readonly [inputAdvanceCfg, flip]>
cmd 172,
CGI_GET_FLIP. Parameters:InputAdvanceCfg,Flip. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesFlip, which the dispatch table does not list. -
CGI_GET_GAIN: Command<readonly [inputAdvanceCfg, gain]>
cmd 160,
CGI_GET_GAIN. Parameters:InputAdvanceCfg,Gain. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesGain, which the dispatch table does not list. -
CGI_GET_IRCUT_MODE: Command<readonly [inputAdvanceCfg, ircutMode]>
cmd 166,
CGI_GET_IRCUT_MODE. Parameters:InputAdvanceCfg,IrcutMode. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesIrcutMode, which the dispatch table does not list. -
CGI_GET_MIRROR: Command<readonly [inputAdvanceCfg, mirror]>
cmd 170,
CGI_GET_MIRROR. Parameters:InputAdvanceCfg,Mirror. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesMirror, which the dispatch table does not list. -
CGI_GET_POWER_LINE_FREQUENCY: Command<readonly [inputAdvanceCfg, powerLineFrequency]>
cmd 154,
CGI_GET_POWER_LINE_FREQUENCY. Parameters:InputAdvanceCfg,PowerLineFrequency. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPowerLineFrequency, which the dispatch table does not list. -
CGI_GET_SCENE: Command<readonly [inputAdvanceCfg, scene]>
cmd 162,
CGI_GET_SCENE. Parameters:InputAdvanceCfg,Scene. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesScene, which the dispatch table does not list. -
CGI_GET_SHUTTER: Command<readonly [inputAdvanceCfg, shutter]>
cmd 158,
CGI_GET_SHUTTER. Parameters:InputAdvanceCfg,Shutter. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesShutter, which the dispatch table does not list. -
CGI_SET_BLC: Command<readonly [inputAdvanceCfg]>
cmd 169,
CGI_SET_BLC. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_DAY_NIGHT_MODE: Command<readonly [inputAdvanceCfg]>
cmd 165,
CGI_SET_DAY_NIGHT_MODE. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_EXPOSURE: Command<readonly [inputAdvanceCfg]>
cmd 157,
CGI_SET_EXPOSURE. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_FLIP: Command<readonly [inputAdvanceCfg]>
cmd 173,
CGI_SET_FLIP. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_GAIN: Command<readonly [inputAdvanceCfg]>
cmd 161,
CGI_SET_GAIN. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_IRCUT_MODE: Command<readonly [inputAdvanceCfg]>
cmd 167,
CGI_SET_IRCUT_MODE. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_MIRROR: Command<readonly [inputAdvanceCfg]>
cmd 171,
CGI_SET_MIRROR. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_POWER_LINE_FREQUENCY: Command<readonly [inputAdvanceCfg]>
cmd 155,
CGI_SET_POWER_LINE_FREQUENCY. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_SCENE: Command<readonly [inputAdvanceCfg]>
cmd 163,
CGI_SET_SCENE. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CGI_SET_SHUTTER: Command<readonly [inputAdvanceCfg]>
cmd 159,
CGI_SET_SHUTTER. Parameters:InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
CLOUD_TEST_V20: Command<readonly [cloudTestResult]>
cmd 367,
CLOUD_TEST_V20. Parameters:CloudTestResult. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesCloudTestResult, which the dispatch table does not list. -
COVER_PREVIEW: Command<readonly [coverPreview]>
cmd 298,
COVER_PREVIEW. Parameters:CoverPreview. Firmware: RLC-823A, Video Doorbell PoE. -
CREATE_PUSH_LISTENER: Command<readonly [pushCreateListener]>
cmd 524,
CREATE_PUSH_LISTENER. Parameters:PushCreateListener. Firmware: Video Doorbell PoE. -
CROP_SNAP_V20: Command<readonly [cropSnap, cropSnapReply]>
cmd 230,
CROP_SNAP_V20. Parameters:CropSnap,cropSnap. Firmware: RLC-823A, Video Doorbell PoE. The reply carriescropSnap, which the dispatch table does not list. -
DELETE_AUDIO_FILE_V20: Command<readonly [audioFileInfo]>
cmd 348,
DELETE_AUDIO_FILE_V20. Parameters:audioFileInfo. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
DELETE_RECORD_FILE: Command<readonly [deleteRecordFile]>
cmd 650,
DELETE_RECORD_FILE. Parameters:DeleteRecordFile. Firmware: Video Doorbell PoE. Changes or erases device state; do not send it casually. -
DINGDONG_CFG_GET: Command<readonly [dingdongCfg]>
cmd 486,
DINGDONG_CFG_GET. Parameters:dingdongCfg. Firmware: Video Doorbell PoE. -
DINGDONG_CFG_SET: Command<readonly [dingdongCfg]>
cmd 487,
DINGDONG_CFG_SET. Parameters:dingdongCfg. Firmware: Video Doorbell PoE. -
DINGDONG_CTRL: Command<readonly [dingdongCtrl]>
cmd 483,
DINGDONG_CTRL. Parameters:dingdongCtrl. Firmware: Video Doorbell PoE. -
DINGDONG_DEV_OPT: Command<readonly [dingdongDeviceOpt]>
cmd 485,
DINGDONG_DEV_OPT. Parameters:dingdongDeviceOpt. Firmware: Video Doorbell PoE. -
DINGDONG_LIST_GET: Command<readonly [dingdongList]>
cmd 484,
DINGDONG_LIST_GET. Parameters:dingdongList. Firmware: Video Doorbell PoE. -
DOWNLOAD_CUT_STOP_V20: Command<readonly []>
cmd 144,
DOWNLOAD_CUT_STOP_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
DOWNLOAD_CUT_V20: Command<readonly [fileInfoList]>
cmd 143,
DOWNLOAD_CUT_V20. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
DOWNLOAD_STOP_V20: Command<readonly [fileInfoList]>
cmd 9,
DOWNLOAD_STOP_V20. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
DOWNLOAD_V20: Command<readonly [fileInfoList]>
cmd 8,
DOWNLOAD_V20. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
DO_FIND_ALARM_VIDEO_V20: Command<readonly [findAlarmVideo, alarmVideoInfo]>
cmd 273,
DO_FIND_ALARM_VIDEO_V20. Parameters:findAlarmVideo,alarmVideoInfo. Firmware: Video Doorbell PoE. The reply carriesalarmVideoInfo, which the dispatch table does not list. -
EMAIL_TEST_V20: Command<readonly [email]>
cmd 141,
EMAIL_TEST_V20. Parameters:Email. Firmware: RLC-823A, Video Doorbell PoE. -
EXPORT_AUDIO_V20: Command<readonly [audioFileInfo]>
cmd 410,
EXPORT_AUDIO_V20. Parameters:audioFileInfo. Firmware: Video Doorbell PoE. -
EXPORT_CFG_V20: Command<readonly [configFileInfo]>
cmd 65,
EXPORT_CFG_V20. Parameters:ConfigFileInfo. Firmware: RLC-823A, Video Doorbell PoE. Registered but unimplemented. -
EXPORT_IMAGE_V20: Command<readonly [imageFileInfo]>
cmd 421,
EXPORT_IMAGE_V20. Parameters:imageFileInfo. Firmware: RLC-823A. -
FILE_INFO: Command<readonly [fileInfoList]>
cmd 13,
FILE_INFO. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
FTP_TEST_V20: Command<readonly [ftp, ftpTestResult]>
cmd 194,
FTP_TEST_V20. Parameters:Ftp,FtpTestResult. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesFtpTestResult, which the dispatch table does not list. -
GETVEDIOPARAM_V20: Command<readonly [videoInput, inputAdvanceCfg]>
cmd 26,
GETVEDIOPARAM_V20. Parameters:VideoInput,InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_4GMODULE_INFO: Command<readonly [net3g4gModuleInfo]>
cmd 257,
GET_4GMODULE_INFO. Parameters:Net3g4gModuleInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_4GNET_INFO: Command<readonly [net3g4gInfo]>
cmd 256,
GET_4GNET_INFO. Parameters:Net3g4gInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ABILITY: Command<readonly [abilityInfo]>
cmd 151,
GET_ABILITY. Parameters:AbilityInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AF_ALGORITHM_V20: Command<readonly [afAlgorithm]>
cmd 453,
GET_AF_ALGORITHM_V20. Parameters:afAlgorithm. Firmware: RLC-823A. -
GET_AI_CFG: Command<readonly [aiCfg]>
cmd 299,
GET_AI_CFG. Parameters:AiCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AI_DETECT_CFG_V20: Command<readonly [aiDetectCfg]>
cmd 342,
GET_AI_DETECT_CFG_V20. Parameters:AiDetectCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AI_TRACK_DATA_V20: Command<readonly [aiTrackData]>
cmd 362,
GET_AI_TRACK_DATA_V20. Parameters:AiTrackData. Firmware: Video Doorbell PoE. -
GET_AI_TRACK_LIMIT_V20: Command<readonly [trackLimit]>
cmd 434,
GET_AI_TRACK_LIMIT_V20. Parameters:trackLimit. Firmware: RLC-823A. -
GET_AI_TRACK_TASK_V20: Command<readonly [trackSchedule]>
cmd 436,
GET_AI_TRACK_TASK_V20. Parameters:trackSchedule. Firmware: RLC-823A. -
GET_AUDIOTASK_V20: Command<readonly [audioTask]>
cmd 232,
GET_AUDIOTASK_V20. Parameters:AudioTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUDIO_CFG_V20: Command<readonly [audioCfg]>
cmd 264,
GET_AUDIO_CFG_V20. Parameters:audioCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUDIO_ENCODE_ABILITY_V20: Command<readonly [audioEncodeAbility]>
cmd 267,
GET_AUDIO_ENCODE_ABILITY_V20. Parameters:AudioEncodeAbility. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUDIO_FILE_INFO_LIST_V20: Command<readonly [audioFileInfoList]>
cmd 347,
GET_AUDIO_FILE_INFO_LIST_V20. Parameters:audioFileInfoList. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesaudioFileInfoList, which the dispatch table does not list. -
GET_AUDIO_INFO_V20: Command<readonly [audioFileInfo]>
cmd 260,
GET_AUDIO_INFO_V20. Parameters:audioFileInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUTO_FOCUS_V20: Command<readonly [autoFocus]>
cmd 224,
GET_AUTO_FOCUS_V20. Parameters:AutoFocus. Firmware: RLC-823A, Video Doorbell PoE. -
GET_AUTO_REBOOT_CFG_V20: Command<readonly [autoReboot]>
cmd 101,
GET_AUTO_REBOOT_CFG_V20. Parameters:AutoReboot. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
GET_AUTO_REPLY: Command<readonly [autoReply]>
cmd 427,
GET_AUTO_REPLY. Parameters:AutoReply. Firmware: Video Doorbell PoE. -
GET_BATTERY_REMAIN_V20: Command<readonly [batteryRemainList]>
cmd 259,
GET_BATTERY_REMAIN_V20. Parameters:BatteryRemainList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_BAT_INFO_V20: Command<readonly [chargeBatteryInfo, batteryInfo]>
cmd 253,
GET_BAT_INFO_V20. Parameters:ChargeBatteryInfo,BatteryInfo. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesBatteryInfo, which the dispatch table does not list. -
GET_BIND_INFO_V20: Command<readonly [bindNasInfoList]>
cmd 281,
GET_BIND_INFO_V20. Parameters:BindNasInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_BIND_IOT_INFO_V20: Command<readonly [iotBindInfoList]>
cmd 393,
GET_BIND_IOT_INFO_V20. Parameters:IOTBindInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_CLIENT_ID: Command<readonly [pushClientId]>
cmd 522,
GET_CLIENT_ID. Parameters:PushClientID. Firmware: Video Doorbell PoE. -
GET_CLIENT_STATE: Command<readonly [pushClientState]>
cmd 526,
GET_CLIENT_STATE. Parameters:PushClientState. Firmware: Video Doorbell PoE. -
GET_CLOUD_CFG_V20: Command<readonly [cloudUploadCfg]>
cmd 270,
GET_CLOUD_CFG_V20. Parameters:CloudUploadCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_CLOUD_LOGIN_V20: Command<readonly [cloudLoginKey]>
cmd 282,
GET_CLOUD_LOGIN_V20. Parameters:CloudLoginKey. Firmware: RLC-823A, Video Doorbell PoE. -
GET_CLOUD_TASK_V20: Command<readonly [cloudTask]>
cmd 236,
GET_CLOUD_TASK_V20. Parameters:CloudTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_COMPRESSIONCFG_V20: Command<readonly [compression]>
cmd 56,
GET_COMPRESSIONCFG_V20. Parameters:Compression. Firmware: RLC-823A, Video Doorbell PoE. -
GET_CROP_V20: Command<readonly [crop]>
cmd 228,
GET_CROP_V20. Parameters:Crop. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DAY_NIGHT_THRESHOLD_V20: Command<readonly [dayNightThreshold]>
cmd 296,
GET_DAY_NIGHT_THRESHOLD_V20. Parameters:DayNightThreshold. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DAY_RECORD: Command<readonly [dayRecords]>
cmd 142,
GET_DAY_RECORD. Parameters:DayRecords. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DDNSCFG_V20: Command<readonly [ddns]>
cmd 40,
GET_DDNSCFG_V20. Parameters:Ddns. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_AI_DETECT_CFG_V20: Command<readonly [aiDetectCfg]>
cmd 344,
GET_DEF_AI_DETECT_CFG_V20. Parameters:AiDetectCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_ENC_CFG_V20: Command<readonly [compression]>
cmd 112,
GET_DEF_ENC_CFG_V20. Parameters:Compression. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_INPUT_CFG_V20: Command<readonly [videoInput, shelter]>
cmd 111,
GET_DEF_INPUT_CFG_V20. Parameters:VideoInput,Shelter. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_ISP_CFG_V20: Command<readonly [inputAdvanceCfg, videoInput]>
cmd 132,
GET_DEF_ISP_CFG_V20. Parameters:InputAdvanceCfg,VideoInput. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_MD_CFG_V20: Command<readonly [md]>
cmd 113,
GET_DEF_MD_CFG_V20. Parameters:MD. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DEF_OSD_CFG_V20: Command<readonly [osdChannelName, osdDatetime]>
cmd 110,
GET_DEF_OSD_CFG_V20. Parameters:OsdChannelName,OsdDatetime. Firmware: RLC-823A, Video Doorbell PoE. -
GET_DINGDONG_SILENT_MODE: Command<readonly [dingdongSilentMode]>
cmd 609,
GET_DINGDONG_SILENT_MODE. Parameters:dingdongSilentMode. Firmware: Video Doorbell PoE. -
GET_DST_CFG_V20: Command<readonly [dst]>
cmd 106,
GET_DST_CFG_V20. Parameters:Dst. Firmware: RLC-823A, Video Doorbell PoE. -
GET_EMAILCFG_V20: Command<readonly [email]>
cmd 42,
GET_EMAILCFG_V20. Parameters:Email. Firmware: RLC-823A, Video Doorbell PoE. -
GET_EMAILTASK_V20: Command<readonly [emailTask]>
cmd 217,
GET_EMAILTASK_V20. Parameters:EmailTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ENC_CAPABILITY_V20: Command<readonly [streamInfoList]>
cmd 146,
GET_ENC_CAPABILITY_V20. Parameters:StreamInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_FLOODLIGHT_TASK: Command<readonly [floodlightTask]>
cmd 289,
GET_FLOODLIGHT_TASK. Parameters:FloodlightTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_FTPCFG_V20: Command<readonly [ftp]>
cmd 68,
GET_FTPCFG_V20. Parameters:Ftp. Firmware: RLC-823A, Video Doorbell PoE. -
GET_FTPTASK_V20: Command<readonly [ftpTask]>
cmd 70,
GET_FTPTASK_V20. Parameters:FtpTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_GUARD_V20: Command<readonly [ptzGuard]>
cmd 332,
GET_GUARD_V20. Parameters:PtzGuard. Firmware: RLC-823A, Video Doorbell PoE. -
GET_HDD_CFG_V20: Command<readonly [hddInfoList]>
cmd 102,
GET_HDD_CFG_V20. Parameters:HddInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_HTTPS_CERT_INFO: Command<readonly [certificateInfo]>
cmd 455,
GET_HTTPS_CERT_INFO. Parameters:certificateInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_IOT_ACTION_V20: Command<readonly [iotAction, iotActionList]>
cmd 394,
GET_IOT_ACTION_V20. Parameters:IOTAction,IOTActionList. Firmware: RLC-823A, Video Doorbell PoE. The RLC-823A firmware spells itGET_IOT_ACTIONK_V20. The reply carriesIOTActionList, which the dispatch table does not list. -
GET_LED_STATE_V20: Command<readonly [ledState]>
cmd 208,
GET_LED_STATE_V20. Parameters:LedState. Firmware: RLC-823A, Video Doorbell PoE. -
GET_LINK_TYPE: Command<readonly [linkType]>
cmd 93,
GET_LINK_TYPE. Parameters:LinkType. Firmware: RLC-823A, Video Doorbell PoE. -
GET_LOCAL_LINK_V20: Command<readonly [dhcp, autoDns, ip, dns]>
cmd 76,
GET_LOCAL_LINK_V20. Parameters:Dhcp,AutoDns,Ip,Dns. Firmware: RLC-823A, Video Doorbell PoE. -
GET_MD_CFG_V20: Command<readonly [md]>
cmd 46,
GET_MD_CFG_V20. Parameters:MD. Firmware: RLC-823A, Video Doorbell PoE. -
GET_NAS_CFG: Command<readonly [nasUploadCfg]>
cmd 304,
GET_NAS_CFG. Parameters:NasUploadCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_NETPORT_CFG_V20: Command<>readonly []serverPort,httpPort,rtspPort,onvifPort,httpsPort,rtmpPort
cmd 37,
GET_NETPORT_CFG_V20. Parameters:ServerPort,HttpPort,RtspPort,OnvifPort,HttpsPort,RtmpPort. Firmware: RLC-823A, Video Doorbell PoE. -
GET_NETWORK_DIAGNOSIS_DATA_V20: Command<readonly [networkDiagnosisData]>
cmd 357,
GET_NETWORK_DIAGNOSIS_DATA_V20. Parameters:NetworkDiagnosisData. Firmware: RLC-823A, Video Doorbell PoE. -
GET_NTPCFG_V20: Command<readonly [ntp]>
cmd 38,
GET_NTPCFG_V20. Parameters:Ntp. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ONLINE_NEW_FW_V20: Command<readonly [onlineNewFirmwareInfo]>
cmd 197,
GET_ONLINE_NEW_FW_V20. Parameters:OnlineNewFirmwareInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ONLINE_UPDATE_STATE: Command<readonly [upgradeState]>
cmd 227,
GET_ONLINE_UPDATE_STATE. Parameters:upgradeState. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
GET_OSD_CFG_V20: Command<readonly [osdChannelName, osdDatetime]>
cmd 44,
GET_OSD_CFG_V20. Parameters:OsdChannelName,OsdDatetime. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PTOP_CFG_V20: Command<readonly [ptop]>
cmd 210,
GET_PTOP_CFG_V20. Parameters:PTOP. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PTZCRUISE_V20: Command<readonly [ptzCruise]>
cmd 64,
GET_PTZCRUISE_V20. Parameters:PtzCruise. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PTZ_AUTO_TEST_V20: Command<readonly [ptzAutoTest]>
cmd 340,
GET_PTZ_AUTO_TEST_V20. Parameters:PtzAutoTest. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPtzAutoTest, which the dispatch table does not list. -
GET_PTZ_CUR_POS_V20: Command<readonly [ptzCurPos]>
cmd 433,
GET_PTZ_CUR_POS_V20. Parameters:ptzCurPos. Firmware: RLC-823A. -
GET_PTZ_PRESET_V20: Command<readonly [ptzPreset]>
cmd 190,
GET_PTZ_PRESET_V20. Parameters:PtzPreset. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PUSHTASK_V20: Command<readonly [pushTask]>
cmd 219,
GET_PUSHTASK_V20. Parameters:PushTask. Firmware: RLC-823A, Video Doorbell PoE. -
GET_PUSH_CFG_V20: Command<readonly [pushCfg]>
cmd 363,
GET_PUSH_CFG_V20. Parameters:PushCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_RECORD_V20: Command<readonly [recordCfg]>
cmd 54,
GET_RECORD_V20. Parameters:RecordCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_RECSCHEDULE_V20: Command<readonly [record]>
cmd 81,
GET_RECSCHEDULE_V20. Parameters:Record. Firmware: RLC-823A, Video Doorbell PoE. -
GET_RF_CFG_V20: Command<readonly [rfAlarmCfg]>
cmd 212,
GET_RF_CFG_V20. Parameters:rfAlarmCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_SCAN_AP_V20: Command<readonly [scanAp]>
cmd 198,
GET_SCAN_AP_V20. Parameters:ScanAp. Firmware: RLC-823A, Video Doorbell PoE. -
GET_SHARED_USER_CFG: Command<readonly [accessUserList]>
cmd 511,
GET_SHARED_USER_CFG. Parameters:accessUserList. Firmware: Video Doorbell PoE. -
GET_SHELTER_CFG_V20: Command<readonly [shelter]>
cmd 52,
GET_SHELTER_CFG_V20. Parameters:Shelter. Firmware: RLC-823A, Video Doorbell PoE. -
GET_SLEEP_STATE: Command<readonly [sleepState]>
cmd 574,
GET_SLEEP_STATE. Parameters:sleepState. Firmware: Video Doorbell PoE. -
GET_SMT_PLAY_URL_V20: Command<readonly [smtPlayUrl, smtPlayUrlReply]>
cmd 346,
GET_SMT_PLAY_URL_V20. Parameters:SmtPlayUrl,SmtPlayURL. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesSmtPlayURL, which the dispatch table does not list. -
GET_SUPPORT: Command<readonly [support]>
cmd 199,
GET_SUPPORT. Parameters:Support. Firmware: RLC-823A, Video Doorbell PoE. -
GET_SYSGENERAL_CFG_V20: Command<readonly [systemGeneral, norm]>
cmd 104,
GET_SYSGENERAL_CFG_V20. Parameters:SystemGeneral,Norm. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TALK_ABILITY: Command<readonly [talkAbility]>
cmd 10,
GET_TALK_ABILITY. Parameters:TalkAbility. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_CFG_V20: Command<readonly [timelapseCfg]>
cmd 319,
GET_TIMELAPSE_CFG_V20. Parameters:timelapseCfg. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_CLOSE_V20: Command<readonly [timelapseFileSearch]>
cmd 325,
GET_TIMELAPSE_CLOSE_V20. Parameters:timelapseFileSearch. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_DATE_V20: Command<readonly [timelapseDateTbl]>
cmd 322,
GET_TIMELAPSE_DATE_V20. Parameters:timelapseDateTbl. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_DELETE_V20: Command<readonly [timelapseTaskDel]>
cmd 329,
GET_TIMELAPSE_DELETE_V20. Parameters:timelapseTaskDel. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
GET_TIMELAPSE_DLD_STOP_V20: Command<readonly []>
cmd 328,
GET_TIMELAPSE_DLD_STOP_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_DOWNLOAD_V20: Command<readonly [timelapseDownload]>
cmd 327,
GET_TIMELAPSE_DOWNLOAD_V20. Parameters:timelapseDownload. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_FILE_COVER_V20: Command<readonly [timelapseCover]>
cmd 326,
GET_TIMELAPSE_FILE_COVER_V20. Parameters:timelapseCover. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_FILE_DEL_V20: Command<readonly [timelapseFileDel]>
cmd 330,
GET_TIMELAPSE_FILE_DEL_V20. Parameters:timelapseFileDel. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
GET_TIMELAPSE_NEXT_V20: Command<readonly [timelapseFileSearch]>
cmd 324,
GET_TIMELAPSE_NEXT_V20. Parameters:timelapseFileSearch. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_OPEN_V20: Command<readonly [timelapseFileSearch]>
cmd 323,
GET_TIMELAPSE_OPEN_V20. Parameters:timelapseFileSearch. Firmware: RLC-823A, Video Doorbell PoE. -
GET_TIMELAPSE_TASK_V20: Command<readonly [timelapseTasks]>
cmd 321,
GET_TIMELAPSE_TASK_V20. Parameters:timelapseTasks. Firmware: RLC-823A, Video Doorbell PoE. -
GET_UID_CFG_V20: Command<readonly [uid]>
cmd 114,
GET_UID_CFG_V20. Parameters:Uid. Firmware: RLC-823A, Video Doorbell PoE. -
GET_UPNPSTATE_V20: Command<readonly [upnp]>
cmd 97,
GET_UPNPSTATE_V20. Parameters:Upnp. Firmware: RLC-823A, Video Doorbell PoE. -
GET_USERCFG_V20: Command<readonly [abilitySuppport, userList]>
cmd 58,
GET_USERCFG_V20. Parameters:AbilitySuppport,UserList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_USER_ONLINE_V20: Command<readonly [onlineUserList]>
cmd 120,
GET_USER_ONLINE_V20. Parameters:OnlineUserList. Firmware: RLC-823A, Video Doorbell PoE. -
GET_VERSION_V20: Command<readonly [versionInfo]>
cmd 80,
GET_VERSION_V20. Parameters:VersionInfo. Firmware: RLC-823A, Video Doorbell PoE. -
GET_WIFI_INFO_V20: Command<readonly [wifi]>
cmd 116,
GET_WIFI_INFO_V20. Parameters:Wifi. Firmware: RLC-823A, Video Doorbell PoE. -
GET_WIFI_SIGNAL_V20: Command<readonly [wifiSignal]>
cmd 115,
GET_WIFI_SIGNAL_V20. Parameters:WifiSignal. Firmware: RLC-823A, Video Doorbell PoE. -
GET_ZOOM_FOCUS_INFO_V20: Command<readonly [zoomFocusInfo, ptzZoomFocus]>
cmd 294,
GET_ZOOM_FOCUS_INFO_V20. Parameters:ZoomFocusInfo,PtzZoomFocus. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPtzZoomFocus, which the dispatch table does not list. -
GET_ZOOM_FOCUS_INFO_V20_295: Command<readonly [startZoomFocus]>
cmd 295,
GET_ZOOM_FOCUS_INFO_V20. Parameters:StartZoomFocus. Firmware: RLC-823A, Video Doorbell PoE. Key suffixed with its id: the firmware table reuses the nameGET_ZOOM_FOCUS_INFO_V20(also cmd 294). -
HEART_BEAT_V20: Command<readonly [heartBeat]>
cmd 0,
HEART_BEAT_V20. Parameters:HeartBeat. Firmware: RLC-823A, Video Doorbell PoE. -
IFRAME_REQUEST: Command<readonly [requestIframe]>
cmd 189,
IFRAME_REQUEST. Parameters:RequestIframe. Firmware: RLC-823A, Video Doorbell PoE. -
IMPORT_AUDIO_V20: Command<readonly [audioFileInfo, paramDataV20]>
cmd 261,
IMPORT_AUDIO_V20. Parameters:audioFileInfo,PARAM_DATA_V20. Firmware: RLC-823A, Video Doorbell PoE. -
IMPORT_IMAGE_V20: Command<readonly [imageFileInfo, paramDataV20]>
cmd 420,
IMPORT_IMAGE_V20. Parameters:imageFileInfo,PARAM_DATA_V20. Firmware: RLC-823A. -
INFO_PERFORMANCE_V20: Command<readonly [performanceInfo]>
cmd 122,
INFO_PERFORMANCE_V20. Parameters:PerformanceInfo. Firmware: RLC-823A, Video Doorbell PoE. -
INIT_HDD_V20: Command<readonly [hddInitList]>
cmd 103,
INIT_HDD_V20. Parameters:HddInitList. Firmware: RLC-823A, Video Doorbell PoE. -
INSTANT_PLAY_AUDIO: Command<readonly [audioFileInfo, paramDataV20]>
cmd 619,
INSTANT_PLAY_AUDIO. Parameters:audioFileInfo,PARAM_DATA_V20. Firmware: Video Doorbell PoE. -
LOGIN: Command<>readonly []loginUser,loginNet,ipcVersionList,deviceInfo,streamInfoList,loginErrInfo,accessInfo
cmd 1,
LOGIN. Parameters:LoginUser,LoginNet,IpcVersionList,DeviceInfo,StreamInfoList,LoginErrInfo,accessInfo. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesDeviceInfo,StreamInfoList,LoginErrInfo,accessInfo, which the dispatch table does not list. -
LOGOUT: Command<readonly [loginUser]>
cmd 2,
LOGOUT. Parameters:LoginUser. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
MUTE_AUDIO_V20: Command<readonly [muteAudio]>
cmd 266,
MUTE_AUDIO_V20. Parameters:muteAudio. Firmware: RLC-823A, Video Doorbell PoE. -
NET_GET_FREQ_CORRECT_RESULT: Command<readonly [freqCorrectResult]>
cmd 606,
NET_GET_FREQ_CORRECT_RESULT. Parameters:freqCorrectResult. Firmware: Video Doorbell PoE. -
NEW_BIND_CLOUD_V20: Command<readonly [bindCloud]>
cmd 269,
NEW_BIND_CLOUD_V20. Parameters:BindCloud. Firmware: RLC-823A, Video Doorbell PoE. -
NEW_GET_CLOUD_BIND_INFO_V20: Command<readonly [cloudBindInfo]>
cmd 268,
NEW_GET_CLOUD_BIND_INFO_V20. Parameters:CloudBindInfo. Firmware: RLC-823A, Video Doorbell PoE. -
ONLINE_UPDATE_V20: Command<readonly [onlineUpdate]>
cmd 191,
ONLINE_UPDATE_V20. Parameters:OnlineUpdate. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
PLAY_ALARM_ALERTOR_V20: Command<readonly [audioFileInfo]>
cmd 349,
PLAY_ALARM_ALERTOR_V20. Parameters:audioFileInfo. Firmware: RLC-823A, Video Doorbell PoE. -
PLAY_AUDIO_V20: Command<readonly [audioPlayInfo]>
cmd 263,
PLAY_AUDIO_V20. Parameters:audioPlayInfo. Firmware: RLC-823A, Video Doorbell PoE. -
PTZ_3D_LOCATION_V20: Command<readonly [ptz3DLocation]>
cmd 445,
3D_LOCATION_V20. Parameters:Ptz3DLocation. Firmware: RLC-823A. Firmware name3D_LOCATION_V20; prefixed so the key is an identifier. -
PTZ_AUTO_TEST_V20: Command<readonly []>
cmd 341,
PTZ_AUTO_TEST_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
PTZ_CONTROL_V20: Command<readonly [ptzControl]>
cmd 18,
PTZ_CONTROL_V20. Parameters:PtzControl. Firmware: RLC-823A, Video Doorbell PoE. -
PTZ_CRUISE_V20: Command<readonly [ptzCruise]>
cmd 20,
PTZ_CRUISE_V20. Parameters:PtzCruise. Firmware: RLC-823A, Video Doorbell PoE. -
PTZ_PRESET_V20: Command<readonly [ptzPreset]>
cmd 19,
PTZ_PRESET_V20. Parameters:PtzPreset. Firmware: RLC-823A, Video Doorbell PoE. -
PUSH_ADD_V20: Command<readonly [pushInfo, pushRspInfo]>
cmd 124,
PUSH_ADD_V20. Parameters:PushInfo,PushRspInfo. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPushRspInfo, which the dispatch table does not list. -
PUSH_DEL_V20: Command<readonly [pushInfo]>
cmd 125,
PUSH_DEL_V20. Parameters:PushInfo. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
PUSH_TEST_V20: Command<readonly [pushTestResult]>
cmd 358,
PUSH_TEST_V20. Parameters:PushTestResult. Firmware: RLC-823A, Video Doorbell PoE. The reply carriesPushTestResult, which the dispatch table does not list. -
REBOOT_V20: Command<readonly []>
cmd 23,
REBOOT_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
REPLAY_SEEK: Command<readonly [replaySeek]>
cmd 123,
REPLAY_SEEK. Parameters:ReplaySeek. Firmware: RLC-823A, Video Doorbell PoE. -
SAVE_AUDIO_V20: Command<readonly [audioFileInfo]>
cmd 262,
SAVE_AUDIO_V20. Parameters:audioFileInfo. Firmware: RLC-823A, Video Doorbell PoE. -
SEARCH_CLOSE: Command<readonly [fileInfoList]>
cmd 16,
SEARCH_CLOSE. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
SEARCH_FILE: Command<readonly [fileInfoList]>
cmd 15,
SEARCH_FILE. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
SEARCH_OPEN: Command<readonly [fileInfoList]>
cmd 14,
SEARCH_OPEN. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
SEEK_REPLAY_BY_TM: Command<readonly [replaySeekV2]>
cmd 383,
SEEK_REPLAY_BY_TM. Parameters:ReplaySeekV2. Firmware: Video Doorbell PoE. -
SETVEDIOPARAM_V20: Command<readonly [videoInput, inputAdvanceCfg]>
cmd 25,
SETVEDIOPARAM_V20. Parameters:VideoInput,InputAdvanceCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AF_ALGORITHM_V20: Command<readonly [afAlgorithm]>
cmd 454,
SET_AF_ALGORITHM_V20. Parameters:afAlgorithm. Firmware: RLC-823A. -
SET_AI_CFG: Command<readonly [aiCfg]>
cmd 300,
SET_AI_CFG. Parameters:AiCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AI_DETECT_CFG_V20: Command<readonly [aiDetectCfg]>
cmd 343,
SET_AI_DETECT_CFG_V20. Parameters:AiDetectCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AI_TRACK_LIMIT_V20: Command<readonly [trackLimit]>
cmd 435,
SET_AI_TRACK_LIMIT_V20. Parameters:trackLimit. Firmware: RLC-823A. -
SET_AI_TRACK_TASK_V20: Command<readonly [trackSchedule]>
cmd 437,
SET_AI_TRACK_TASK_V20. Parameters:trackSchedule. Firmware: RLC-823A. -
SET_AI_YUV_STREAM_CFG: Command<readonly [aiyuvCfg]>
cmd 720,
SET_AI_YUV_STREAM_CFG. Parameters:AIYUVCfg. Firmware: Video Doorbell PoE. -
SET_ALARM_AREA_V20: Command<readonly [alarmArea]>
cmd 345,
SET_ALARM_AREA_V20. Parameters:AlarmArea. Firmware: RLC-823A, Video Doorbell PoE. -
SET_ANSWER_EVENT: Command<readonly [answerEvent]>
cmd 620,
SET_ANSWER_EVENT. Parameters:answerEvent. Firmware: Video Doorbell PoE. -
SET_AUDIOTASK_V20: Command<readonly [audioTask]>
cmd 231,
SET_AUDIOTASK_V20. Parameters:AudioTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AUDIO_CFG_V20: Command<readonly [audioCfg]>
cmd 265,
SET_AUDIO_CFG_V20. Parameters:audioCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AUDIO_FILE_INFO_LIST_V20: Command<readonly [audioFileInfoList]>
cmd 368,
SET_AUDIO_FILE_INFO_LIST_V20. Parameters:audioFileInfoList. Firmware: Video Doorbell PoE. -
SET_AUTO_FOCUS_V20: Command<readonly [autoFocus]>
cmd 225,
SET_AUTO_FOCUS_V20. Parameters:AutoFocus. Firmware: RLC-823A, Video Doorbell PoE. -
SET_AUTO_REBOOT_CFG_V20: Command<readonly [autoReboot]>
cmd 100,
SET_AUTO_REBOOT_CFG_V20. Parameters:AutoReboot. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
SET_AUTO_REPLY: Command<readonly [autoReply]>
cmd 428,
SET_AUTO_REPLY. Parameters:AutoReply. Firmware: Video Doorbell PoE. -
SET_CLOUD_CFG_V20: Command<readonly [cloudUploadCfg]>
cmd 271,
SET_CLOUD_CFG_V20. Parameters:CloudUploadCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_CLOUD_LOGIN_V20: Command<readonly [cloudLoginKey]>
cmd 283,
SET_CLOUD_LOGIN_V20. Parameters:CloudLoginKey. Firmware: RLC-823A, Video Doorbell PoE. -
SET_CLOUD_TASK_V20: Command<readonly [cloudTask]>
cmd 235,
SET_CLOUD_TASK_V20. Parameters:CloudTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_COMPRESSIONCFG_V20: Command<readonly [compression]>
cmd 57,
SET_COMPRESSIONCFG_V20. Parameters:Compression. Firmware: RLC-823A, Video Doorbell PoE. -
SET_CROP_V20: Command<readonly [crop]>
cmd 229,
SET_CROP_V20. Parameters:Crop. Firmware: RLC-823A, Video Doorbell PoE. -
SET_DAY_NIGHT_THRESHOLD_V20: Command<readonly [dayNightThreshold]>
cmd 297,
SET_DAY_NIGHT_THRESHOLD_V20. Parameters:DayNightThreshold. Firmware: RLC-823A, Video Doorbell PoE. -
SET_DDNSCFG_V20: Command<readonly [ddns]>
cmd 41,
SET_DDNSCFG_V20. Parameters:Ddns. Firmware: RLC-823A, Video Doorbell PoE. -
SET_DEVICE_SLEEP: Command<readonly []>
cmd 233,
SET_DEVICE_SLEEP. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
SET_DINGDONG_SILENT_MODE: Command<readonly [dingdongSilentMode]>
cmd 610,
SET_DINGDONG_SILENT_MODE. Parameters:dingdongSilentMode. Firmware: Video Doorbell PoE. -
SET_DST_CFG_V20: Command<readonly [dst]>
cmd 107,
SET_DST_CFG_V20. Parameters:Dst. Firmware: RLC-823A, Video Doorbell PoE. -
SET_EMAILCFG_V20: Command<readonly [email]>
cmd 43,
SET_EMAILCFG_V20. Parameters:Email. Firmware: RLC-823A, Video Doorbell PoE. -
SET_EMAILTASK_V20: Command<readonly [emailTask]>
cmd 216,
SET_EMAILTASK_V20. Parameters:EmailTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_FLOODLIGHT_STATUS: Command<readonly [floodlightManual]>
cmd 288,
SET_FLOODLIGHT_STATUS. Parameters:FloodlightManual. Firmware: RLC-823A, Video Doorbell PoE. -
SET_FLOODLIGHT_TASK: Command<readonly [floodlightTask]>
cmd 290,
SET_FLOODLIGHT_TASK. Parameters:FloodlightTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_FTPCFG_V20: Command<readonly [ftp]>
cmd 69,
SET_FTPCFG_V20. Parameters:Ftp. Firmware: RLC-823A, Video Doorbell PoE. -
SET_FTPTASK_V20: Command<readonly [ftpTask]>
cmd 71,
SET_FTPTASK_V20. Parameters:FtpTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_GOP_V20: Command<readonly [gopCfg]>
cmd 284,
SET_GOP_V20. Parameters:GopCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_GUARD_V20: Command<readonly [ptzGuard]>
cmd 331,
SET_GUARD_V20. Parameters:PtzGuard. Firmware: RLC-823A, Video Doorbell PoE. -
SET_HTTPS_CERT_INFO: Command<readonly [certificateInfo]>
cmd 456,
SET_HTTPS_CERT_INFO. Parameters:certificateInfo. Firmware: RLC-823A, Video Doorbell PoE. -
SET_IOT_ACTION_V20: Command<readonly [iotAction]>
cmd 395,
SET_IOT_ACTION_V20. Parameters:IOTAction. Firmware: RLC-823A, Video Doorbell PoE. -
SET_LED_STATE_V20: Command<readonly [ledState]>
cmd 209,
SET_LED_STATE_V20. Parameters:LedState. Firmware: RLC-823A, Video Doorbell PoE. -
SET_LOCAL_LINK_V20: Command<readonly [dhcp, autoDns, ip, dns]>
cmd 77,
SET_LOCAL_LINK_V20. Parameters:Dhcp,AutoDns,Ip,Dns. Firmware: RLC-823A, Video Doorbell PoE. -
SET_MD_CFG_V20: Command<readonly [md]>
cmd 47,
SET_MD_CFG_V20. Parameters:MD. Firmware: RLC-823A, Video Doorbell PoE. -
SET_NAS_CFG: Command<readonly [nasUploadCfg]>
cmd 305,
SET_NAS_CFG. Parameters:NasUploadCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_NETPORT_CFG_V20: Command<>readonly []serverPort,httpPort,rtspPort,onvifPort,httpsPort,rtmpPort
cmd 36,
SET_NETPORT_CFG_V20. Parameters:ServerPort,HttpPort,RtspPort,OnvifPort,HttpsPort,RtmpPort. Firmware: RLC-823A, Video Doorbell PoE. -
SET_NTPCFG_V20: Command<readonly [ntp]>
cmd 39,
SET_NTPCFG_V20. Parameters:Ntp. Firmware: RLC-823A, Video Doorbell PoE. -
SET_OSD_CFG_V20: Command<readonly [osdChannelName, osdDatetime]>
cmd 45,
SET_OSD_CFG_V20. Parameters:OsdChannelName,OsdDatetime. Firmware: RLC-823A, Video Doorbell PoE. -
SET_PTOP_CFG_V20: Command<readonly [ptop]>
cmd 211,
SET_PTOP_CFG_V20. Parameters:PTOP. Firmware: RLC-823A, Video Doorbell PoE. -
SET_PUSHTASK_V20: Command<readonly [pushTask]>
cmd 218,
SET_PUSHTASK_V20. Parameters:PushTask. Firmware: RLC-823A, Video Doorbell PoE. -
SET_PUSH_CFG_V20: Command<readonly [pushCfg]>
cmd 364,
SET_PUSH_CFG_V20. Parameters:PushCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_RECORD_V20: Command<readonly [recordCfg]>
cmd 55,
SET_RECORD_V20. Parameters:RecordCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_RECSCHEDULE_V20: Command<readonly [record]>
cmd 82,
SET_RECSCHEDULE_V20. Parameters:Record. Firmware: RLC-823A, Video Doorbell PoE. -
SET_RESTORE_V20: Command<readonly [restore]>
cmd 99,
SET_RESTORE_V20. Parameters:Restore. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
SET_RF_CFG_V20: Command<readonly [rfAlarmCfg]>
cmd 213,
SET_RF_CFG_V20. Parameters:rfAlarmCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_SHARED_USER_CFG: Command<readonly [accessUserList]>
cmd 512,
SET_SHARED_USER_CFG. Parameters:accessUserList. Firmware: Video Doorbell PoE. -
SET_SHELTER_CFG_V20: Command<readonly [shelter]>
cmd 53,
SET_SHELTER_CFG_V20. Parameters:Shelter. Firmware: RLC-823A, Video Doorbell PoE. -
SET_SLEEP_STATE: Command<readonly [sleepState]>
cmd 575,
SET_SLEEP_STATE. Parameters:sleepState. Firmware: Video Doorbell PoE. -
SET_SYSGENERAL_CFG_V20: Command<readonly [systemGeneral, norm]>
cmd 105,
SET_SYSGENERAL_CFG_V20. Parameters:SystemGeneral,Norm. Firmware: RLC-823A, Video Doorbell PoE. -
SET_TIMELAPSE_CFG_V20: Command<readonly [timelapseCfg]>
cmd 320,
SET_TIMELAPSE_CFG_V20. Parameters:timelapseCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_TIME_V20: Command<readonly [timeCfg]>
cmd 287,
SET_TIME_V20. Parameters:TimeCfg. Firmware: RLC-823A, Video Doorbell PoE. -
SET_UPNPSTATE_V20: Command<readonly [upnp]>
cmd 98,
SET_UPNPSTATE_V20. Parameters:Upnp. Firmware: RLC-823A, Video Doorbell PoE. -
SET_USERCFG_V20: Command<readonly [userList]>
cmd 59,
SET_USERCFG_V20. Parameters:UserList. Firmware: RLC-823A, Video Doorbell PoE. -
SET_USER_ONLINE_V20: Command<readonly [onlineUserList]>
cmd 121,
SET_USER_ONLINE_V20. Parameters:OnlineUserList. Firmware: RLC-823A, Video Doorbell PoE. -
SET_WIFI_INFO_V20: Command<readonly [wifi]>
cmd 117,
SET_WIFI_INFO_V20. Parameters:Wifi. Firmware: RLC-823A, Video Doorbell PoE. -
SNAP_V20: Command<readonly [snap]>
cmd 109,
SNAP_V20. Parameters:Snap. Firmware: RLC-823A, Video Doorbell PoE. -
START_ALARM_REPORT: Command<readonly []>
cmd 31,
START_ALARM_REPORT. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
START_ALARM_REPORT_192: Command<readonly []>
cmd 192,
START_ALARM_REPORT. No parameters. Firmware: RLC-823A, Video Doorbell PoE. Key suffixed with its id: the firmware table reuses the nameSTART_ALARM_REPORT(also cmd 31). -
START_FIND_ALARM_VIDEO_V20: Command<readonly [findAlarmVideo]>
cmd 272,
START_FIND_ALARM_VIDEO_V20. Parameters:findAlarmVideo. Firmware: Video Doorbell PoE. -
START_PREVIEW: Command<readonly [preview]>
cmd 3,
START_PREVIEW. Parameters:Preview. Firmware: RLC-823A, Video Doorbell PoE. -
START_REPLAY: Command<readonly [fileInfoList]>
cmd 5,
START_REPLAY. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
START_REPLAY_BY_TM: Command<readonly [replayByTimeV2]>
cmd 381,
START_REPLAY_BY_TM. Parameters:ReplayByTimeV2. Firmware: Video Doorbell PoE. -
STOP_ALARM_ALERTOR_V20: Command<readonly []>
cmd 350,
STOP_ALARM_ALERTOR_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
STOP_FIND_ALARM_VIDEO_V20: Command<readonly [findAlarmVideo]>
cmd 274,
STOP_FIND_ALARM_VIDEO_V20. Parameters:findAlarmVideo. Firmware: Video Doorbell PoE. -
STOP_PREVIEW: Command<readonly [preview]>
cmd 4,
STOP_PREVIEW. Parameters:Preview. Firmware: RLC-823A, Video Doorbell PoE. -
STOP_REPLAY: Command<readonly [fileInfoList]>
cmd 7,
STOP_REPLAY. Parameters:FileInfoList. Firmware: RLC-823A, Video Doorbell PoE. -
STOP_REPLAY_BY_TM: Command<readonly [replayByTimeV2]>
cmd 382,
STOP_REPLAY_BY_TM. Parameters:ReplayByTimeV2. Firmware: Video Doorbell PoE. -
SYNC_CLIENT_LIST: Command<readonly []>
cmd 525,
SYNC_CLIENT_LIST. No parameters. Firmware: Video Doorbell PoE. -
SYNC_SSID: Command<readonly [syncSsid]>
cmd 513,
SYNC_SSID. Parameters:syncSSID. Firmware: RLC-823A. -
TALK_CLOSE_V20: Command<readonly []>
cmd 11,
TALK_CLOSE_V20. No parameters. Firmware: RLC-823A, Video Doorbell PoE. -
TALK_FDX_STREAM_V20: Command<readonly [paramDataV20]>
cmd 202,
TALK_FDX_STREAM_V20. Parameters:PARAM_DATA_V20. Firmware: RLC-823A, Video Doorbell PoE. -
TALK_OPEN_V20: Command<readonly [talkConfig]>
cmd 201,
TALK_OPEN_V20. Parameters:TalkConfig. Firmware: RLC-823A, Video Doorbell PoE. -
UNBIND_IOT_V20: Command<readonly [iotBindUnBind]>
cmd 392,
UNBIND_IOT_V20. Parameters:IOTBindUnBind. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
UNBIND_NAS: Command<readonly [bindUnbindNas]>
cmd 280,
UNBIND_NAS. Parameters:BindUnbindNas. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
UPDATE_CFG_GET_V20: Command<readonly [autoUpdate]>
cmd 195,
UPDATE_CFG_GET_V20. Parameters:AutoUpdate. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
UPDATE_CFG_SET_V20: Command<readonly [autoUpdate]>
cmd 196,
UPDATE_CFG_SET_V20. Parameters:AutoUpdate. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
UPDATE_DEVICE: Command<readonly [configFileInfo, paramDataV20]>
cmd 67,
UPDATE_DEVICE. Parameters:ConfigFileInfo,PARAM_DATA_V20. Firmware: RLC-823A, Video Doorbell PoE. Changes or erases device state; do not send it casually. -
WIFI_TEST_V20: Command<readonly [wifi]>
cmd 200,
WIFI_TEST_V20. Parameters:Wifi. Firmware: RLC-823A, Video Doorbell PoE.
The messages the firmware pushes unasked, keyed by a descriptive name.
-
ALARM_EVENT_REPORT: Command<readonly [alarmEventList]>
cmd 33. Parameters:
AlarmEventList. Firmware: RLC-823A, Video Doorbell PoE. -
BATTERY_CAMERA_HEARTBEAT: Command<readonly []>
cmd 234. No parameters. Firmware: Video Doorbell PoE.
-
BATTERY_STATUS_REPORT: Command<readonly [batteryList]>
cmd 252. Parameters:
BatteryList. Firmware: RLC-823A, Video Doorbell PoE. -
CHIME_SCAN_REPORT: Command<readonly [dingdongList]>
cmd 490. Parameters:
dingdongList. Firmware: Video Doorbell PoE. -
FLOODLIGHT_STATUS_REPORT: Command<readonly [floodlightStatusList]>
cmd 291. Parameters:
FloodlightStatusList. Firmware: RLC-823A, Video Doorbell PoE. -
MOBILE_NETWORK_REPORT: Command<readonly [net3g4gInfo]>
cmd 255. Parameters:
Net3g4gInfo. Firmware: RLC-823A, Video Doorbell PoE. -
SERIAL_CHANGE_REPORT: Command<readonly [serial]>
cmd 79. Parameters:
Serial. Firmware: RLC-823A, Video Doorbell PoE. -
SLEEP_STATUS_REPORT: Command<readonly [sleepStatus]>
cmd 623. Parameters:
sleepStatus. Firmware: Video Doorbell PoE. -
VIDEO_INPUT_CHANGE_REPORT: Command<readonly [videoInput]>
cmd 78. Parameters:
VideoInput. Firmware: RLC-823A, Video Doorbell PoE.
The firmware request commands, for Client.call.
The messages the firmware pushes unasked. Names are descriptive: the firmware dispatch tables only list requests.
Siren requests (cmd 263).
Build a request that plays the siren twice
Build a request that plays the siren twice
import { assertStringIncludes } from "@std/assert"; import { sirenXml } from "@hertzg/reolink-api/protocol/siren"; const xml = sirenXml({ channel: 0, times: 2 }); assertStringIncludes(xml, "<playMode>0</playMode>"); assertStringIncludes(xml, "<playTimes>2</playTimes>");
Builds the body of a siren request.
& (
| { on: boolean; times?: never; }
What sirenXml asks the siren to do: play a number of times, or
turn manual play on or off.
Privacy mode, which Reolink also calls sleep: the camera stops recording and streaming until it is turned off again.
Turn privacy mode on, then read it back
Turn privacy mode on, then read it back
import { assertEquals, assertStringIncludes } from "@std/assert"; import { parsePrivacyMode, privacyModeXml, } from "@hertzg/reolink-api/protocol/privacy"; assertStringIncludes(privacyModeXml(true), "<sleep>1</sleep>"); assertEquals( parsePrivacyMode("<body><sleepState><sleep>1</sleep></sleepState></body>"), true, );
Reads the privacy mode state from the reply to a cmd 574 request.
Builds the body of a request that turns privacy mode on or off.
Snapshot requests (cmd 109): a JPEG of the current frame.
Build a request and read the announced size
Build a request and read the announced size
import { assertEquals, assertStringIncludes } from "@std/assert"; import { parseSnapshotSize, snapshotXml, } from "@hertzg/reolink-api/protocol/snapshot"; assertStringIncludes( snapshotXml({ channel: 0, stream: "main" }), "<streamType>main</streamType>", ); assertEquals( parseSnapshotSize("<body><Snap><pictureSize>48213</pictureSize></Snap></body>"), 48213, );
Reads the announced image size from the reply to a snapshot request.
Builds the body of a snapshot request.
What snapshotXml asks for.
-
channel: number
The zero-based channel number.
-
stream: "main" | "sub"
mainfor full resolution,subfor the smaller stream.
PTZ (pan, tilt, zoom) requests.
Pan left, then stop
Pan left, then stop
import { assertStringIncludes } from "@std/assert"; import { PTZ_COMMAND, ptzControlXml } from "@hertzg/reolink-api/protocol/ptz"; assertStringIncludes( ptzControlXml({ channel: 0, command: PTZ_COMMAND.LEFT, speed: 32 }), "<command>Left</command>", ); assertStringIncludes( ptzControlXml({ channel: 0, command: PTZ_COMMAND.STOP }), "<command>Stop</command>", );
Reads the current position from the reply to a cmd 433 request.
Reads the saved presets from the reply to a cmd 190 request.
Builds the body of a PTZ move (cmd 18).
Builds the body of a request that moves to a saved preset (cmd 19).
Union of the PTZ_COMMAND values.
What ptzControlXml asks the camera to do.
-
channel: number
The zero-based channel number.
-
command: PtzCommand
The move to make.
-
speed: number
Move speed. Leave it out for the camera's default.
Where the camera points, in the camera's own motor units.
-
pan: number
Pan position (
pPos). Wraps around on cameras that turn a full circle. -
tilt: number
Tilt position (
tPos).
A saved PTZ position.
-
id: number
The id to pass to ptzPresetXml.
-
name: string
The name it was saved under.
PTZ commands for ptzControlXml. A move keeps going until STOP.
-
AUTO: string
Start the camera's automatic scan.
-
DOWN: string
Tilt down.
-
LEFT: string
Pan left.
-
LEFT_DOWN: string
Pan left and tilt down.
-
LEFT_UP: string
Pan left and tilt up.
-
RIGHT: string
Pan right.
-
RIGHT_DOWN: string
Pan right and tilt down.
-
RIGHT_UP: string
Pan right and tilt up.
-
STOP: string
Stop any move or zoom.
-
UP: string
Tilt up.
-
ZOOM_IN: string
Zoom in.
-
ZOOM_OUT: string
Zoom out.
Encode stream: Baichuan messages to bytes.
Encode the nonce request
Encode the nonce request
import { assertEquals } from "@std/assert"; import { decodeHex } from "@std/encoding/hex"; import { createMessage } from "@hertzg/reolink-api/protocol/message"; import { createBaichuanEncodeStream } from "@hertzg/reolink-api/streams/encode"; const chunks = await Array.fromAsync( ReadableStream.from([ createMessage({ cmdId: 1, channelId: 250, messageId: 1, messageClass: 0x1465, }), ]).pipeThrough(createBaichuanEncodeStream()), ); assertEquals(chunks, [decodeHex("f0debc0a0100000000000000fa01000012dc1465")]);
Creates a TransformStream that writes each message as header, body and payload, in one chunk per message.
Decode stream: bytes to Baichuan messages.
Decode a subscribe reply that arrives in two chunks
Decode a subscribe reply that arrives in two chunks
import { assertEquals } from "@std/assert"; import { decodeHex } from "@std/encoding/hex"; import { createBaichuanDecodeStream } from "@hertzg/reolink-api/streams/decode"; const bytes = decodeHex("f0debc0a1f00000000000000fb030000c800146400000000"); const messages = await Array.fromAsync( ReadableStream.from([bytes.subarray(0, 10), bytes.subarray(10)]) .pipeThrough(createBaichuanDecodeStream()), ); assertEquals(messages.length, 1); assertEquals(messages[0].header.cmdId, 31); assertEquals(messages[0].header.status, 200);
Creates a TransformStream that frames a Baichuan byte stream into messages.
Reolink Baichuan client: login, then a stream of alarm events.
Stream doorbell and motion events
Stream doorbell and motion events
import { createClient } from "@hertzg/reolink-api/client"; const conn = await Deno.connect({ hostname: "192.168.1.10", port: 9000 }); const client = createClient({ readable: conn.readable, writable: conn.writable }); await client.login({ username: "admin", password: "secret" }); const events = await client.subscribe(); for await (const event of events) { console.log(event.channel, event.visitor, event.motion, event.ai); }
Creates a Baichuan client over the given connection streams.
Options for Client.call.
-
body: CommandBody<C>
The parameters to send, by element name.
-
channel: number
The zero-based channel to address. Leave it out to address the device.
The reply to Client.call.
-
body: CommandBody<C>
The reply's parameters, by element name.
-
payload: Uint8Array
Binary data after the XML, decrypted; empty for most commands.
Which camera a request is about.
-
channel: number
The zero-based channel number. A standalone camera is
0, the default.
A Baichuan client bound to one connection.
-
call: <C extends Command>() => Promise<CallReply<C>>command: C,options?: CallOptions<C>
Sends any Command and reads its reply. Needs a login.
-
close: () => Promise<void>
Stops the keepalive, ends the event stream and closes the writable. The caller still closes the socket.
-
login: (options: LoginOptions) => Promise<void>
Logs in with the modern (nonce + MD5) login and keeps the AES session key.
-
playSiren: (options?: ChannelOptions & { times?: number; }) => Promise<void>
Plays the siren a number of times, about 5 seconds each. Needs a login.
-
privacyMode: (options?: ChannelOptions) => Promise<boolean>
Reads whether privacy mode (sleep) is on. Needs a login.
-
ptz: (options: ChannelOptions & { command: PtzCommand; speed?: number; }) => Promise<void>
Starts a PTZ move or zoom, which keeps going until
PTZ_COMMAND.STOP. Needs a login. -
ptzGoToPreset: (options: ChannelOptions & { id: number; }) => Promise<void>
Moves to a saved PTZ preset by its id. Needs a login.
-
ptzPosition: (options?: ChannelOptions) => Promise<PtzPosition>
Reads where the camera points now. Poll it to tell when a move has finished on cameras that push no PTZ state. Needs a login.
-
ptzPresets: (options?: ChannelOptions) => Promise<PtzPreset[]>
Lists the saved PTZ presets. Needs a login.
-
pushes: () => ReadableStream<Push>
Returns every message the camera sends unasked, alarm events included, decoded by the PUSHES table when its id is known and as raw XML otherwise. The camera pushes only after Client.subscribe.
-
setPrivacyMode: (options: ChannelOptions & { enabled: boolean; }) => Promise<void>
Turns privacy mode (sleep) on or off. Needs a login.
-
snapshot: (options?: ChannelOptions & { stream?: "main" | "sub"; }) => Promise<Uint8Array>
Takes a JPEG snapshot of the
main(default) orsubstream. Needs a login. -
startSiren: (options?: ChannelOptions) => Promise<void>
Starts the siren until Client.stopSiren. Needs a login.
-
stopSiren: (options?: ChannelOptions) => Promise<void>
Stops the siren, whether started or played a number of times. Needs a login.
-
subscribe: (options?: SubscribeOptions) => Promise<ReadableStream<AlarmEvent>>
Subscribes to alarm pushes (cmd 31) and returns them as a stream.
The two halves of a connection to the camera's Baichuan port.
-
readable: ReadableStream<Uint8Array>
Bytes from the camera.
-
writable: WritableStream<Uint8Array>
Bytes to the camera.
Camera credentials for Client.login.
-
password: string
The camera password.
-
username: string
The camera user name.
| { name: undefined; id: number; xml: string; }
A message the camera sent unasked, from Client.pushes.
Options for Client.subscribe.
-
keepAliveMs: number
How long the connection may stay silent before the client pings the camera, in milliseconds. If a second interval passes with nothing from the camera, the event stream errors. Defaults to
30_000.