Codecs for every Baichuan parameter element the RLC-823A firmware
(IPC_523SD10.2898_23110119) reads or writes, one per element name.
Each codec is an XmlParam from @hertzg/reolink-api/protocol/xml:
encode builds the element for a request, decode reads it from a reply
or push. Commands that carry them are in
@hertzg/reolink-api/protocol/commands.
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>.
Usage
import * as mod from "protocol/params/mod.ts";