中文简体    English


Command documentation

Overview

Definition

N means the current field is a number
S indicates that the current field is a string
FI Indicates support for Foscam IPC
FN Indicates support for Foscam NVR
FB Express support for Foscam BPI
IN Indicates support for using embedded SDK NVR
II Indicates support for using embedded SDK IPC
A means Ambarella platform
H means HiSilicon platform

illustrate

For the (channel) channel number parameter, it can be ignored if it is an IPC device. If it is an NVR or BPI (if channel is not filled in, it means that the request object is a base station or NVR. If channel is brought, it means that the request object is a base station or someone on the NVR channel. Equipment), fill in as needed. *All transparent transmission command input and output use JSON format data. The leftmost column of the input/output is the key value, the middle column is the description, the penultimate column is the value type description, and the last column is the device support status. *If not used FI FN FB specifically indicates support for a certain type of device, indicating that all devices support it.

Notice

*For FoscamNVR, the channel parameters have no practical meaning. You can fill in any value, or this field is not included because the device-related information on the channel cannot be obtained temporarily. *

*For IVYNVR, channel has practical significance, because some commands of the device-side SDK may have implemented related functions. *

The command returns the ret definition in Json data

success 0
exec fail -1
args error -2
channel overstep -3
unsupport this cmd -9
unsupport this format -15
exec fail because smart ai enable 1

1. Basic information of the device

1.1 Obtain device capability collection

IVY_CTRL_MSG_GET_DEVABILITY = 22029

  • supporting device
FI II
  • input
standardization 1: Indicates that the SDK converts the unified output FoscamIPC and IVY device capability set to other values (or this field does not exist): does not convert N

1.1.1 (standardization=0 output) Get device capability set

  • output (when standardization is not 1)
ret return value N
cnt val number, a 32-bit integer N
val0 See val0 capability set, bitwise representation of capability set N
val1 val(1-cnt) bit definition, see IPC Function Configuration Guide.doc 3 configuration file entry description types reserve1 - reserve4 reserveFlag1 - reserveFlag4 (these 8 ints will not be changed because they are for compatibility with previous capability sets ) N

1. The val0 capability set of the IVY device is exactly the same as this definition. The SDK will convert some capabilities of the Foscam device and map them to the val0 capability set of the IVY device
2. val1-val8 are mainly the capability set of Foscam and may also be applicable to IVY
3. val9-val12 is mainly the capability set of foscam device, and may also be applicable to IVY
4. New capability sets added to IVY devices should be added at val0, or starting from val13; therefore, the IVY capability sets val1-val12 may be empty and cannot be used, just because the SDK has made compatibility caused
5. If the Foscam capability set already has the capability set required by IVY, and the meaning is the same, try to use the existing capability set position
6. Under the premise that Foscam does not have this capability set, the safest operation is for IVY to add a new capability set starting from val13.

  • Set Foscam 0 to indicate support and 1 to indicate that the conversion flag is not supported. After conversion, 0 indicates no support and 1 indicates support:
val3 Bit[5] Night vision infrared light
  • val0 ability set
bit0 sd
bit1 outdoor
bit2 pt
bit3 zoom
bit4 rs485
bit5 ioAlarm
bit6 onvif
bit7 p2p
bit8 wps
bit9 audio
bit10 talk
bit11 duplexVoice
bit12 network adpater (whether to support network adaptation)
bit13 streamMode 1: only supports switching stream, 0: switching resolution
bit14 motionArea 1: supports area selection: 0: does not support area selection
bit15 one key to call
bit16 night vision schedule
bit17 reserved
bit18 LED light (status light on the tail of Foscam IPC)
bit19 Enhance night vision effect
bit20 Privacy area blocking
bit21 Support image download function
bit22 Download firmware by HTTP/HTTPS 0-https 1-http
  • val4 ability set
bit8 WDR
bit9 Voice prompt switch
  • val6 ability set
bit2 Support SD card formatting
bit4 Image search download supports direction and weight fields
  • val9 ability set (OSD displays related ability set bits)

*Don’t be surprised to see the red part. This is for compatibility with previous devices. The values of devices 9-12 in the past were all 0. The red part was supported before, so 0 is used to indicate support *

bit0 Display device name, 0: display, 1: not display
bit1 Display the timestamp name, 0: display, 1: not display
bit2 Whether the device supports H264 and H265 switching
bit5 Whether to support intercom volume adjustment, 1: supported 0: not supported
  • val10 capability set (image related capability set)
bit0 Image mirroring, 0: supported, 1: not supported
bit1 Image flip, 0: supported, 1: not supported
bit1 Omron face detection algorithm, 1: supported, 0: not supported
bit1 Shenma full-duplex algorithm, 1: supported, 0: not supported
  • val11 capability set (alarm function related capability set bits)
bit0 Privacy mask. 1: Support, 0: Not support
bit1 Lens occlusion. 1: Support, 0: Not support
  • val12 capability set (peripheral control related capability set bits)
bit0 Bell flag bit. 1: Support, 0: Not support
bit1 Recording duration flag. 1: Support, 0: Not support
bit2 1: Support 1V1 PIR sensitivity adjustment, 0: Not support
bit3 1: Support 1V3 PIR sensitivity adjustment, 0: Not support
bit4 1: Support white light brightness adjustment, 0: Not support
  • Remark

Currently, devices using the embedded SDK will return 9 values at a time. Please select the corresponding value according to the actual support. IPC that does not use the embedded SDK will also return 9 values at a time. This is for compatibility with old devices. Whether it is the capability set of the device or the capability set of the device on the device channel, it is defined according to this

If it is an NVR device, you can only obtain the capabilities of the NVR, but not the device capability set on the channel.

  • Example

  • input

none
  • output
{
    "ret":0,
    "cnt":13,
    "val0":351951,
    "val1":1532,
    "val2":1090,
    "val3":40,
    "val4":852,
    "val5":0,
    "val6":29,
    "val7":0,
    "val8":0,
    "val9":0,
    "val10":0,
    "val11":0,
    "val12":0
}

1.1.2 (standardization=1 output) Get device capability set (recommended)

If it contains (Foscam), it means that only the Foscam device has this capability set, and the IVY device does not.

Without special instructions, 1 means supported and 0 means not supported.

Pre-value point/cruise/pre-value point cruise are three abilities, please note

  • Output (when standardization equals 1)
ret return value N
ability Json array 32-bit unsigned integer N
  • ability[0] ability set
bit0 sd
bit1 outdoor
bit2 pt
bit3 zoom
bit4 rs485
bit5 ioAlarm
bit6 onvif
bit7 p2p
bit8 wps
bit9 audio
bit10 talk
bit11 duplexVoice
bit12 network adpater (whether to support network adaptation)
bit13 streamMode 1: only supports switching streams (the device only has main stream and sub-stream, APP displays two levels), 0: switching resolution (APP displays 3 levels, high-definition is smooth and balanced)
bit14 motionArea 1: supports area selection: 0: does not support area selection (obsolete)
bit15 one key to call
bit16 Whether to only support AUTO IR (if only AUTO IR is supported, manual settings and plan settings are not supported; if not, manual settings/plan settings/automatic are supported) When only AUTO IR is supported, if v3 bit14 supports night vision If planned manually, then automatic/manual settings are supported
bit17 reserved
bit18 LED switch
bit19 Enhance night vision effect
bit20 Privacy area blocking
bit21 Support image download function
bit22 none
bit23 WDR
bit24 Voice prompt switch
bit25 OSD display device name
bit26 OSD display timestamp name
bit27 Whether to adjust the volume
bit28 image mirror
bit29 Image flip
bit30 Omron face detection algorithm
bit31 Shenma full-duplex algorithm
  • ability[1] ability set
bit0 None
bit1 Whether to support blocked lens alarm
bit2 Bell flag bit
bit3 1: Support 1V1 PIR sensitivity adjustment, 0: Not support
bit4 1: Support 1V3 PIR sensitivity adjustment, 0: Not support
bit5 1: Support white light brightness adjustment, 0: Not support
bit6 cloud storage
bit7 Baidu Cloud Push
bit8 Foscam cloud push
bit9 Foscam cloud storage
bit10 Foscam rich media push
bit11 alexa
bit12 7x24 hours cloud video recording
bit13 None
bit14 Preset point cruise
bit15 Out-of-frame detection
bit16 Sound detection
bit17 Temperature detection
bit18 Humidity detection
bit19 PIR detection (if it is an IVY device and supports this capability, you can use the 5.26/5.27 command)
bit20 IV detection
bit21 Aihuaying Pedestrian Detection (Foscam)
bit22 nursery rhymes play
bit23 Is there an encryption chip
bit24 softap function
bit25 EZLink function
bit26 PPPOE function
bit27 Night vision infrared function (Foscam device SDK code is fixed to support, IVY will assign values according to the capability set, but the application side does not use this capability set, so this capability set can be temporarily ignored)
bit28 White light function
bit29 None
bit30 SD recording function
bit31 Scheduled restart
  • ability[2] ability set
bit0 Arm and disarm
bit1 None
bit2 night light
bit3 None
bit4 HDR
bit5 Whether to support autofocus function
bit6 Whether to support SD card formatting
bit7 Whether to support refocus
bit8 Whether to support H264/H265 switching
bit9 Whether to support hibernation function
bit10 Whether to support small language function
bit11 Whether to support intercom volume adjustment
bit12 Alarm gear. 0 means supporting 5 gears or default, 1 means supporting 3 gears
bit13 Number of detection areas. 0 means supporting the default detection number of other models, 1 means supporting the number of 2 detection areas
bit14 None
bit15 SD card recording timeline
bit16 guard bit
bit17 Smart Home CGI
bit18 Shankou Humanoid Detection
bit19 Omron Humanoid Algorithm
bit20 Smart Home
bit21 Lens distortion
bit22 Whether to support voice messages
bit23 Whether to support device alarm recording duration setting, and do not distinguish alarm types (mobile/PIR/humanoid, etc., currently Foscam does not distinguish, but IVY device does, IVY device R5V2 supports this alarm recording duration setting)
bit24 Whether to support custom alarm sounds
bit25 Whether to support searching and downloading images using extended information (weight, direction)
bit26 None
bit27 Whether to support SIREN linkage
bit28 Whether to support humanoid tracking, if supported, you can use 5.38/5.39
bit29 Whether to support preset points (it can also be used to judge cruise (Foscam device can judge this way), note: there is another capability set (ability_1 bit14) for preset point cruise)
bit30 Whether to support dual light source function (Foscam)
bit31 Whether to support cruise
  • ability[3] ability set
bit0 SD card scheduled recording is not supported (1: not supported, 0: supported, currently only supported by IVY devices)
bit1 The device supports the sleep function and can set the acquisition plan time/mode/status (currently only Foscam devices support it). If supported, you can use command 4.56/4.57
bit2 Whether to record audio for cloud platform and SD card alarm recording (1: record audio, 0: do not record, currently only supported by IVY devices)
bit3 Support white light plan setting (1: supported 0: not supported, currently only supported by FOSCAM devices)
bit4 Support motion detection (1: supported 0: not supported)
bit5 Support SD card video download (1: supported 0: not supported)
bit6 Alarm sound volume adjustment (1: supported 0: not supported. Currently only IVY devices are supported. The alarm is separate and different from the intercom sound) If supported, you can use command 5.24/5.25
bit7 None
bit8 Supports automatic/full color/black and white night vision mode (note the difference with bit29), if supported, you can use command 4.62/4.63
bit9 Support daylight saving time
bit10 Support time NTP server
bit11 Whether to support PTZ recovery to the original position
bit12 Whether sound detection supports white light linkage (currently only Foscam supports it)
bit13 Support power frequency (Foscam supports power frequency)
bit14 Supports manual turning on and off of night vision (not useful for Foscam devices, this bit will work for IVY devices when v0 bit16 is 1)
bit15 None
bit16 Planned time setting is not supported in PIR detection (1: not supported, 0: supported) (Foscam equipment must currently support it)
bit17 Regional setting is not supported in PIR detection (1: not supported, 0: supported) (Foscam device must currently support it)
bit18 Time interval setting is not supported in PIR detection (1: not supported 0: supported) (Foscam device must currently support it)
bit19 Support push interval setting (IVY device currently does not support it) If supported, you can use command 7.21 / 7.22
bit20 Support device setting PTZ speed
bit21 Support when the ALEAX function is enabled, the device automatically switches to H264, and when it is disabled, it switches to H265 (FOSCAM devices are not currently supported). If supported, you can use command 7.9.8 / 7.9.9
bit22 Support querying the date of SD card recording in a certain month. If supported, IVY device can use command 6.15. Foscam device does not need the command and uses CGI. It is not in the document
bit23 Whether to support motor vehicle detection. If supported, you can use 5.32 / 5.33. Only when this bit is 1, IVY_CTRL_MSG_GET_MOTION_DETECT_CONFIG returns carAlarmEnable in json is meaningful
bit24 Whether to support non-motorized detection FOSCAM is temporarily not supported. If supported, IVY equipment can use 5.34/5.35
bit25 Whether to support face detection FOSCAM is temporarily not supported. If supported, IVY devices can use 5.36/5.37
bit26 Whether to support KVS cloud storage service
bit27 PIR detection supports setting the recording alarm duration (low-power IVY devices only support this type of alarm recording duration). If it is an IVY device, when this bit is 1, it only displays in PIR detection that the alarm recording duration can be set. Settings
bit28 Supports continuous alarm recording to a file. Currently only IVY devices support it. If it supports recordSeconds in 6.8, it can be set to 0
bit29 Support automatic/full color/black and white/turn off all night vision modes (note the difference with bit8) APP UI needs to hide the function of whether to turn on the white light when the alarm is triggered If supported Use command 4.62/4.63. Currently, only Foscam devices support it (Foscam product requirements, the hardware needs to support white light, but the APP does not allow users to manually operate the white light, because the Foscam device’s own capability set cannot be turned off, and the capabilities will be lost after it is turned off. Disappear)
bit30 Whether to not support the night vision plan (1: means not supported, 0: means supported). If it is not supported, do not display the night vision plan (currently only Foscam is useful, do not use IVY)
bit31 Whether the PTZ pan/tilt supports 8 directions control (1: supported, 0: not supported). If it is not supported, it means that the PTZ pan/tilt only supports 4-directional control (currently only Foscam is useful, do not use IVY)
  • ability[4] ability set
bit0 Whether to support human detection (currently only supports Foscam devices) IVY_CTRL_MSG_GET_MOTION_DETECT_CONFIG returns humanAlarmEnable in json only when this bit is 1 is meaningful
bit1 Whether it supports turning on and off the light, please check V1 BIT28 before use, so that it makes sense
bit2 Whether white light linkage is supported in motion detection (this just means that the app does not display the button that can turn on and off the white light linkage, but the device may still support it), please retain the previous judgment of the APP, At present, this ability judgment mainly relies on the original judgment of the APP. This capability set can be used together with the APP’s original judgment. If it satisfies the APP’s original judgment and this capability set expresses support, it can be judged that white light linkage is supported;
bit3 Whether the SD card status supports whether the SD card is available, the APP is used to display whether the SD card is available, currently only supported by IVY devices
bit4 Is it possible to obtain the IPC capability set on the NVR? Currently only IVY devices support it
bit5 Remove the “Autofocus switch” and “Zoom speed” options. Currently, it is only for Foscam devices. Only VMS uses this capability set. 1: Removed, 0: Remain unchanged (This capability set is displayed for compatibility with old devices. The device may have this capability, but the UI cannot display it, so there is this capability set)
bit6 Remove “Disable startup” in the startup options. Currently, it is only for Foscam devices. Only VMS uses this capability set. 1: Removed, 0: Remain unchanged (This capability set is displayed for compatibility with old devices. The device may have this capability. , but the UI cannot be displayed, so there is this capability set)
bit7 Remove the “cruise lap” setting, currently only for Foscam devices, only VMS uses this capability set 1: removed, 0: unchanged (this capability set is for compatibility with old devices, the device may have this capability, but The UI cannot be displayed, hence this ability set)
bit8 Whether to support mobile tracking. Currently only IVY devices support it (for IVY devices, from a functional logic point of view, if V2 BIT28 (humanoid tracking is turned on, it will only track humanoids and not others)). If supported, you can use 5.40/5.41
bit9 Whether to support video source switching. Currently only IVY devices support it. If supported, you can use 2.17/2.18
bit10 The first frame of open playback has the S_FRAME flag. Currently only IVY devices support it. Playback with this flag prevents the previous video data from being played
bit11 Whether to support device intelligent detection. Currently only IVY devices support it. (IVY device’s own intelligent detection is similar to cloud intelligent detection) If supported, you can use 5.42/5.43/5.44/5.45
bit12 Whether to support simultaneous setting of mirroring and flipping. Currently only IVY devices support it.
bit13 Whether to support pet detection. Currently only Foscam devices support it. IVY_CTRL_MSG_GET_MOTION_DETECT_CONFIG returns petAlarmEnable in json only if this bit is 1.
bit14 It just shows how the APP displays the UI of automatic/full color/switch/manual/… in the upper right corner of the live broadcast. The implementation method is based on the original full-color mode. If it is 1, the UI only displays automatic/manual on/manual off. Also hide the corresponding settings interface. Currently only IVY devices support
bit15 Whether to support the new version of NVR hard disk recording settings, currently supports IVY NVR, if supported, you can use 10.5/10.6
bit16 Whether to support automatic addition of IPC in the NVR package, if IVY NVR is supported, 11.3/11.4 can be used
bit17 Whether it supports SD card recording, you can switch the main stream and sub-stream. If supported, you can use 6.17/6.18. Currently only IVY supports it
  • Example

  • input

{
    "standardization":1
}
  • output
{
"ability" : [ 3072153219, 3668000616, 48400 ],
"ret" : 0
}

1.1.3 Obtain Foscam device capability set on NVR

IVY_CTRL_MSG_GET_FOSCAM_DEVICE_ABILITY_ON_THE_NVR = 26187

V4 BIT4 supports it, and the device is IVY NVR, and the device on the channel is FoscamIPC. It can be used; the device type on the channel can be judged by the devType of the event IVY_CTRL_MSG_IPCLIST_CHG

  • supporting device
IN
  • input
standardization 1: Indicates that the SDK converts the unified output FoscamIPC device capability set to other values (or this field does not exist): does not convert N
channel channel number N
  • output

If standardization = 1, the returned json is consistent with 1.1.2, and there are multiple model fields, indicating the model number of the Foscam device (recommended)

If there is no standardization, return json as

nna N
sdFlag N
outdoorFlag N
ptFlag N
zoomFlag N
rs485Flag N
ioAlarmFlag N
onvifFlag N
p2pFlag N
wpsFlag N
audioFlag N
talkFlag N
ambaflag N
reserve1 N
reserve2 N
reserve3 N
reserve4 N
reserveFlag1 N
reserveFlag2 N
reserveFlag3 N
reserveFlag4 N
capability1 N
capability2 N
capability3 N
capability4 N

1.2 Get device information

IVY_CTRL_MSG_GET_DEVINFO = 22025

  • input

none

  • output
ret return value N
devType device type N
platType platform type N
sensorType sensor type N
wifiType wifi type N
language language N
productName product name S
devName Device name, encoded using BASE64 S
firmwareVersion Application firmware version number S
hardwareVersion System firmware version number S
serialNo serial number S
uid Device UID S
mac NAC address S
oemCode OEM code N
channels Number of device channels N
gsm4gVersion 4G module version number (will be returned only if there is a 4G module) N

-Device type definition

IPC 0
BATTERY_CAMERA 1
NVR 2
BASE_STATION 3
OTHER 100
Foscam IPC 1000
Foscam NVR 1001
Foscam BPI 1002
  • wifi type
WIFI_NONE 0
WIFI_RT3070 1
WIFI_MT7601 2
WIFI_BROADCOM 3
WIFI_AP6256 4
WIFI_RTL8188FU 5
WIFI_BUTT 6
  • language
LANGUAGE_CN 0
LANGUAGE_CNEN 1
LANGUAGE_FOREIGN 2
LANGUAGE_BUTT 3
  • Quote

// C/C++
typedef enum {
    IVYIO_DEV_IPC = 0,
    IVYIO_DEV_BATTERY_CAMERA = 1,
    IVYIO_DEV_NVR = 2,
    IVYIO_DEV_BASE_STATION = 3,
    IVYIO_DEV_OTHER = 100,

    // for compatible with old fos dev
    IVYIO_DEV_FOS_IPC = 1000,
    IVYIO_DEV_FOS_NVR,
    IVYIO_DEV_FOS_BPI
}IVYIO_DEV_TYPE;

typedef enum
{
    PLATFORM_HISI = 0,
    PLATFORM_AMBA = 1,
    PLATFORM_MSTAR = 2,
    PLATFORM_INGENIC = 3,
    PLATFORM_JZ = 4,
    PLATFORM_OTHER = 100
}IVYIO_PLATFORM_TYPE;


// Java
package com.ivyio.sdk;

public class DevType {
    public static final int IVY_IPC = 0;
    public static final int IVY_BATTERY_CAMERA = 1;
    public static final int IVY_NVR = 2;
    public static final int IVY_BASE_STATION = 3;
    public static final int IVY_OTHER = 100;

    // for compatible with old fos dev
    public static final int FOS_IPC = 1000;
    public static final int FOS_NVR = 1001;
    public static final int FOS_BPI = 1002;
}


public class PlatformType {
    public static final int HISI = 0;
    public static final int AMBA = 1;
    public static final int MSTAR = 2;
    public static final int INGENIC = 3;
    public static final int JZ = 4;
    public static final int OTHER = 100;
}

  • Remark

If it is an NVR device, you can only obtain the device information of the NVR, but not the device information on the channel.

  • Example

  • input

none
  • output
{
"devName" : "Rm9zY2FtX2NhbWVyYQ==",
"devType" : 1000,
"firmwareVersion" : "2.121.2.39",
"hardwareVersion" : "1.16.1.3",
"language" : 2,
"mac" : "A0E73066C9FD",
"model" : 7206,
"oemCode" : 3000,
"platType" : 2,
"productName" : "MDS2060",
"ret" : 0,
"sensorType" : 24,
"serialNo" : "0000000000000001",
"uid" : "J8SOJU8QSY8ST79LZZZZFY8Z",
"wifiType" : 6
}

1.3 Set device information

  • supporting device
FI II FN

IVY_CTRL_MSG_SET_DEVINFO = 22027

  • input
devName Device name, encoded using BASE64 S
  • output
ret return value N
  • Example

  • input

{
"devName" : "Rm9zY2FtX2NhbWVyYQ=="
}
  • output
{
"ret" : 0
}

2. Live broadcast settings

2.1 Set mirror flip

IVY_CTRL_MSG_SET_VIDEO_MIRROR_FLIP = 24035

  • input
channel channel number N
mirror 0: normal 1: mirror N
flip 0: normal 1: flip N
  • output
ret return value N
  • Remark

For FoscamNVR, if you want to set mirror, there is no flip in Json. If you want to set flip, there is no mirror in Json.

  • Example

  • input

// Foscam NVR
// Set mirror
{
"channel":0,
"mirror" : 1
}
// Set flip
{
    "channel":0,
"flip" : 1
}

// Foscam IPC / IVY IPC
{
    "mirror":0,
    "flip" : 1
}

// IVY NVR
{
    "channel":0,
    "mirror":0,
    "flip" : 1
}
  • output
{
"ret" : 0,
}

2.2 Get mirror flip

IVY_CTRL_MSG_GET_VIDEO_MIRROR_FLIP = 24037

  • input
channel channel number N
  • output
ret return value N
mirror 0: normal 1: mirror N
flip 0: normal 1: flip N
  • Example

  • input

// Foscam NVR / IVY NVR
{
"channel":0,
}

// Foscam IPC / IVY IPC

None
  • output

// Foscam IPC / IVY IPC

{
"flip" : 0,
"mirror" : 0,
"ret" : 0
}

// Foscam NVR / IVY NVR
{
"channel":0,
"flip" : 0,
"mirror" : 0,
"ret" : 0
}

2.3 Set day and night mode

IVY_CTRL_MSG_SET_DAY_NIGHT_MODE = 24053

  • supporting device
FI FN II IN
  • input
channel channel number N
mode 0: Automatic 1: Manual 2: Schedule N
onoff 0: off 1: on N
  • output
ret return value N
  • Example

  • input


// Foscam NVR / IVY NVR
{
    "channel":0,
    "mode":1,
    "onoff":0
}

  • output

{
    "ret":0
}

2.4 Get day and night mode

IVY_CTRL_MSG_GET_DAY_NIGHT_MODE = 24055

  • input
channel channel number N
  • output
ret return value N
mode 0: Automatic 1: Manual 2: Schedule N
onoff 0: off 1: on N
  • Example

  • input


// Foscam NVR / IVY NVR
{
    "channel":0,
}

// Foscam IPC / IVY IPC

None
  • output

// Foscam IPC / IVY IPC
{
    "ret":0,
    "mode":0,
    "onoff":0
}

// Foscam NVR / IVY NVR
{
    "ret":0,
    "channel":0,
    "mode":0,
    "onoff":0
}

2.5 Set video mode (HD, standard, smooth)

IVY_CTRL_MSG_SET_VIDEOSTREAM_MODE = 24023

  • supporting device
FI
  • input
channel channel number N
streamMode 0: HD 1: Standard 2: Smooth N
  • output
ret return value N
  • Example

  • input

{
    "streamMode":1
}
  • output

{
    "ret":0
}

2.6 Get video mode (HD, standard, smooth)

IVY_CTRL_MSG_GET_VIDEOSTREAM_MODE = 24025

  • supporting device
FI
  • input
channel channel number N
resolution resolution N
bitRate bit rate N
  • output
ret return value N
streamMode 0: HD 1: Standard 2: Smooth N
  • Remark

The two fields resolution / bitRate are only used when using FOSCAM BPI devices and are not used by other devices.
This value comes to the event:

IVY_CTRL_MSG_STREAM_PARAM_CHG
IVY_CTRL_MSG_STREAM_TYPE_CHG
IVY_CTRL_MSG_SUB_STREAM_PARAM_CHG
IVY_CTRL_MSG_SUB_STREAM_TYPE_CHG
  • Example

  • input

None
  • output
{
    "ret":0,
    "streamMode":0
}

2.7 Set OSD

IVY_CTRL_MSG_SET_OSD_PARAM = 24043

  • supporting device
II FB IN FI
  • input
channel channel number N II / IN / FB / FN
osdType Type N II/IN/FI
dispPos position N II/IN/FI
name Name (BASE64 encoding) S FB / FN / IN
enableName 0: Do not display 1: Display N FN / IN
enableTime 0: Do not display 1: Display N FN/IN
  • output
ret return value N

-osdType

bit0 time
bit1 devName
bit2 Temp and humid
bit3 Osd mark

-dispPos

0 topleft
1 bottomleft
2 topright
3 bottomright
  • Remark

For IVY NVR, the osdType value can be ignored, but this field must be present.

  • Example

  • input

{
    "channel":0,
    "osdType":1,
    "dispPos":1,
}
  • output
{
    "ret":0
}

2.7.1 Set OSD (recommended)

IVY_CTRL_MSG_SET_OSD_PARAM = 24043

  • supporting device
FB IN FI
  • input
Field name Meaning Field type FI FN FB IN
standardization 0: No conversion 1: SDK conversion unified output N × × ×
channel Channel number N ×
osdType Type N × ×
dispPos Position N × ×
name Name (BASE64 encoding) S ×
enableName 0: Not displayed 1: Displayed N × × ×
enableTime 0: Not displayed 1: Displayed N × × ×
  • output
ret return value N

-osdType

bit0 time
bit1 devName
bit2 Temp and humid
bit3 Osd mark
  • dispPos definition

Starting from the lowest bit, every 2 bits represent an OSD type position.

bit corresponding OSD type
bit0-1 time
bit2-3 devName
bit3-4 Temp and humid
bit5-6 Osd mark
  • location type
0 topleft
1 bottomleft
2 topright
3 bottomright
  • Example

  • input

{
    "osdType":1,
    "dispPos":1,
}
  • output
{
    "ret":0
}

2.8 Get OSD

IVY_CTRL_MSG_GET_OSD_PARAM = 24045

  • input
channel channel number N II / IN / FB / FN
  • output
ret return value N
osdType Same type as setting N II / IN
dispPos Position same as setting N II / IN
name Name (BASE64 encoding) N FB / FN / IN
enableName 0: Do not display 1: Display N FN / IN
enableTime 0: Do not display 1: Display N FN/IN
  • Example

  • input

{
    "channel":0
}
  • output
{
    "ret":0,
    "osdType":1,
    "dispPos":1
}

2.8.1 Get OSD (recommended)

IVY_CTRL_MSG_GET_OSD_PARAM = 24045

  • input
Field name Meaning Field type FI FN FB IN
channel Channel number N ×
standardization 0: No conversion 1: SDK conversion unified output N × × ×
  • output
Field name Meaning Field type FI FN FB IN
osdType Type N × ×
dispPos Position N × ×
name Name (BASE64 encoding) S ×
enableName 0: Not displayed 1: Displayed N × × ×
enableTime 0: Not displayed 1: Displayed N × × ×
  • Example

  • input

None
  • output
{
    "ret":0,
    "osdType":1,
    "dispPos":1
}

2.9 Image color adjustment

IVY_CTRL_MSG_SET_IMAGE_COLOR = 26077

  • supporting device
FI
  • input
colorBit The color item to be adjusted, expressed in bits. Only one bit can be set to 1 at a time. If each bit is 0, it means returning to the default state N FI
value 0-100 N FI
  • output
ret return value N FI

-colorBit

bit0 hue
bit1 brightness
bit2 contrast
bit3 saturation
bit4 sharpness
  • Example

  • input

{
    "colorBit":1,
    "value":90
}
  • output
{
    "ret":0
}

2.10 Set WDR mode

IVY_CTRL_MSG_SET_WDR = 26079

  • supporting device
FI
  • input
mode 0: off 1: on N FI
  • output
ret return value N FI
  • Example

  • input

{
    "mode":1
}
  • output
{
    "ret":0
}

2.11 Privacy Masking

2.11.1 Get whether privacy masking is turned on

IVY_CTRL_MSG_GET_PRIVACY_ZONE_ENABLE = 24087

  • supporting device
FI
  • output
ret return value N FI
isEnable 0: off 1: on N FI
  • Example

  • input


None
  • output
{
    "isEnable":0,
    "ret":0
}

2.11.2 Obtain privacy mask area

IVY_CTRL_MSG_GET_PRIVACY_ZONE = 24089

  • supporting device
FI
  • output
ret return value N FI
area Json array S FI
  • area json structure
x1 Starting coordinate x
y1 starting coordinate y
x2 end coordinate x
y2 end coordinate y
  • Example

  • input


None
  • output
{
    "area": {
        "x1": 10,
        "y1": 20,
        "x2": 10,
        "y2": 20
    },
    "ret": 0
}

2.11.3 Set privacy masking area on or off

IVY_CTRL_MSG_SET_PRIVACY_ZONE_ENABLE = 24091

  • supporting device
FI
  • input
isEnable 0: off 1: on N FI
  • output
ret return value N FI
  • Example

  • input


{
    "isEnable": 0
}
  • output
{
    "ret": 0
}

2.11.4 Set privacy mask area

IVY_CTRL_MSG_SET_PRIVACY_ZONE = 24093

  • supporting device
FI
  • input
isEnable 0: off 1: on N FI
area Json array S FI
  • area json structure
x1 Starting coordinate x
y1 starting coordinate y
x2 end coordinate x
y2 end coordinate y
  • output
ret return value N FI
  • Example

  • input


{
    "isEnable": 0,
    "area": {
        "x1": 10,
        "y1": 20,
        "x2": 60,
        "y2": 40
    }
}
  • output
{
    "ret": 0
}

2.12 Get WDR mode

IVY_CTRL_MSG_GET_WDR = 26133

  • supporting device
FI
  • output
ret return value N
mode 0: off 1: on N
  • Example

  • input


None
  • output
{
    "ret": 0,
    "mode": 0
}

2.13 Get image color

IVY_CTRL_MSG_GET_IMAGE_COLOR = 26135

  • supporting device
FI
  • output
ret return value N
hue 0-100 N
brightness 0-100 N
contrast 0-100 N
saturation 0-100 N
sharpness 0-100 N
  • Example

  • input


None
  • output
{
    "ret": 0,
    "hue": 10,
    "brightness": 30,
    "contrast": 40,
    "saturation": 90,
    "sharpness": 99
}

2.14 Get enabled video blocking

IVY_CTRL_MSG_GET_EANBLE_VIDEO_MASK = 36065

  • supporting device
FN
  • input
channel channel N
  • output
ret return value N
enable 0: off 1: on N
pos Location information, JSON array N
  • pos Json structure
x1 x coordinate N
y1 y coordinate N
x2 x coordinate N
y2 x coordinate N
  • Example

  • input


{
    "channel": 1
}
  • output
{
    "ret": 0,
    "enable": 10,
    "pos":
    [{
        "x1":10,
        "y1":10,
        "x2":20,
        "y2":20
    },
    {
        "x1":30,
        "y1":30,
        "x2":60,
        "y2":60
    }]
}

2.15 Set enable video blocking

IVY_CTRL_MSG_SET_EANBLE_VIDEO_MASK = 36063

  • supporting device
FN
  • input
enable 0: off 1: on N
pos Location information, JSON array, 4 groups can be set N
channel channel N
  • output
ret return value N
  • pos Json structure
x1 x coordinate N
y1 y coordinate N
x2 x coordinate N
y2 x coordinate N
  • Example

  • input


{
    "channel": 1,
    "enable": 10,
    "pos":
    [{
        "x1":10,
        "y1":10,
        "x2":20,
        "y2":20
    },
    {
        "x1":30,
        "y1":30,
        "x2":60,
        "y2":60
    }]
}
  • output
{
    "ret": 0
}

2.16 Set the device sleep timer status (reset/no reset), mainly used for IVY low-power devices

IVY_CTRL_MSG_SET_SLEEP_TIMER = 34073

  • supporting device
II
  • input
state 0: No reset 1: Reset, reset means the device sleep timer is re-timed and will not sleep N
channel Channel, if it is IPC, this parameter can be omitted N
  • output
ret return value N
  • Remark

It can be judged to be a low-power device through the UID, and the device is an IVY device. If these two conditions are met, it can be judged to support this command.

  • Example

  • input


{
    "state": 1
}
  • output
{
    "ret": 0
}

2.17 Set video source index (V4 BIT9)

IVY_CTRL_MSG_SET_VIDEO_STREAM_SOURCE = 24116

  • supporting device
II
  • input
src Numeric video source index N
channel Channel, if it is IPC, this parameter can be omitted N
  • output
ret return value N
  • Remark

If the setting is successful, event IVY_CTRL_MSG_VIDEO_STREAM_SOURCE_CHG 42061 will be received

  • Example

  • input


{
    "src": 0
}
  • output
{
    "ret": 0
}

2.18 Get the current video source index (V4 BIT9)

IVY_CTRL_MSG_GET_VIDEO_STREAM_SOURCE = 24118

  • supporting device
II
  • input
channel Channel, if it is IPC, this parameter can be omitted N
  • output
ret return value N
src Numeric video source index N
  • Example

  • input


{
    "channel": 0
}
  • output
{
    "ret": 0,
    "src": 1
}

2.19 Set screen display duration of camera with screen

IVY_CTRL_MSG_SET_SCREEN_DISPLAY_TIME = 26195

  • supporting device
II
  • input
channel Channel, if it is IPC, this parameter can be omitted N
time 0: Never stop screen, 1: 30 seconds, 2: 1 minute, 3: 5 minutes N
  • output
ret return value N
  • Example

  • input


{
    "channel": 0,
    "time": 0
}
  • output
{
    "ret": 0,
}

2.20 Get screen display duration of camera with screen

IVY_CTRL_MSG_GET_SCREEN_DISPLAY_TIME = 26197

  • supporting device
II
  • input
channel Channel, if it is IPC, this parameter can be omitted N
  • output
ret return value N
time 0: Never stop screen, 1: 30 seconds, 2: 1 minute, 3: 5 minutes N
  • Example

  • input


{
    "channel": 0
}
  • output
{
    "ret": 0,
    "time": 0
}

3. Network

3.1 Get WIFI list

IVY_CTRL_MSG_GET_WIFI_AP_LIST = 30029

Foscam device can directly call this interface, because when startNo is 0, the SDK will automatically call a refresh command internally.

  • input
startNo Start index N
cnt Quantity, up to 5 pieces at a time N
  • output
ret return value N
totalCnt Total number of WIFI N
curCnt Current returned quantity N
apInfo WIFI information Json array S
  • apInfo Json structure
ssid SSID (BASE64 encoding) S
mac mac address S
encryption Whether to encrypt N
quality signal quality (0-100) N
encryType encryption type N
  • encryType type
0 INVALID
1 NONE
2 WEP
3 WPA TKIP
4 WPA AES
5 WPA2 TKIP
6 WPA2 AES
7 WPA PSK TKIP
8 WPA PSK AES
9 WPA2 PSK TKIP
10 WPA2 PSK AES
  • Example

  • input


None
  • output

{
    "totalCnt":46,
    "curCnt":5,
    "APInfo":[{
        "ssid":"eGlhb21peXk=",
        "mac":"50:64:2B:E2:E7:95",
        "mode":1,
        "encryption":1,
        "quality":117,
        "encryptType":4
        },{
        "ssid":"UGV0TG9vXzE=",
        "mac":"A0:04:60:DC:04:1A",
        "mode":1,
        "encryption":1,
        "quality":107,
        "encryptType":3
        },{
        "ssid":"TUVSQ1VSWV9ERTNGQltdJiBUZXN0",
        "mac":"20:DC:E6:DE:3F:B8",
        "mode":1,
        "encryption":1,
        "quality":97,
        "encryptType":4
        },{
        "ssid":"TkVUR0VBUjUxLTVH",
        "mac":"A0:04:60:DC:04:19",
        "mode":1,
        "encryption":1
        ,"quality":95,
        "encryptType":3
        },{
        "ssid":"VFAtTElOS184ODg=",
        "mac":"BC:46:99:A2:43:CA",
        "mode":1,
        "encryption":1,
        "quality":93,
        "encryptType":4}],
        "ret":0}

3.2 Set WIFI parameters

IVY_CTRL_MSG_SET_WIFI_PARAM = 30023

  • supporting device
FI II
  • input
channel channel number N
ssid SSID (BASE64 encoding) S
password Password (BASE64 encoded) S
mode Mode 0: INFRA 1: ADHOC N
encType encryption type N
authMode Authentication mode 0: Open 1: Shared 2: Wep auto N
  • output
ret return value N
  • encType encryption type
0 INVALID
1 NONE
2 WEP
3 WPA TKIP
4 WPA AES
5 WPA2 TKIP
6 WPA2 AES
7 WPA PSK TKIP
8 WPA PSK AES
9 WPA2 PSK TKIP
10 WPA2 PSK AES
  • Remark

Mode has no effect on FI devices and can be ignored.

  • Example

  • input


{
    "ssid":"VFAtTElOS184ODg=",
    "password":"YWJjMTIzNDU2YWJj",
    "mode":1,
    "encType":4
}
  • output

{
    "ret":0
}

3.3 Test WIFI

IVY_CTRL_MSG_TEST_WIFI = 30031

  • supporting device
II FI
  • input
ssid ssid (BASE64 encoded) S FI/II
password Password (BASE64 encoded) S FI/II
mode mode N II
encType encryption type N II/FI
authMode authentication mode N II
  • output
ret return value N
errno Error code N
  • errno error code
0 Success
1 Wrong password
2 Failed
  • Example

  • input


{
    "channel":0,
    "ssid":"bXlzc2lk",
    "password":"YWJjMTIzNDU2YWJj",
    "mode":1,
    "encType":0,
    "authMode":1
}
  • output

{
    "ret":0,
}

3.4. Set up network adaptation

IVY_CTRL_MSG_SET_NETWORK_ADAPTATION = 30041

FI II
  • input
channel channel number N
enable 0: off 1: on N
  • output
ret return value N
  • Example

  • input


{
    "enable":0
}
  • output

{
    "ret":0
}

3.5 Get network adaptation

IVY_CTRL_MSG_GET_NETWORK_ADAPTATION = 30043

  • input
channel channel number N
  • output
ret return value N
enable 0: off 1: on N
  • Example

  • input


none
  • output

{
    "ret":0,
    "enable":1
}

3.6 Get network parameters

IVY_CTRL_MSG_GET_NET_PARAM = 30021

  • supporting device
II/FN/FI
  • input

Ignore this parameter and do not need to pass it. Currently, there is no function to obtain the device on the channel.

channel channel number N
  • output
ret return value N II / FN / FI
dhcp 0: Do not automatically obtain IP 1: Automatically obtain IP N II / FN / FI
ip S II / FN / FI
mask S II / FN / FI
gate S II / FN / FI
dns1 S II/FN/FI
dns2 S II/FN/FI
netType 0: wired 1: wireless N II
httpPort HTTP port N FN
httpsPort HTTPS port N FN
upnp Whether to use UPNP N FN
  • Example

  • input


none
  • output

{
    "dhcp": 1,
    "dns1": "192.168.1.1",
    "dns2": "8.8.8.8",
    "gate": "192.168.1.1",
    "ip": "192.168.1.41",
    "mask": "255.255.255.0",
    "netType": 0,
    "ret": 0
}

3.7 Set network parameters

IVY_CTRL_MSG_SET_NET_PARAM = 30019

  • supporting device
II/FN/FI
  • input
dhcp 0: Do not automatically obtain IP 1: Automatically obtain IP N II / FI / FN
ip S II / FI / FN
mask S II / FI / FN
gate S II / FI / FN
dns1 S II/FI/FN
dns2 S II/FI/FN
httpPort HTTP port N FN
httpsPort HTTPS port N FN
upnp Whether to use UPNP N FN
  • output
ret return value N
  • Example

  • input


{
    "dhcp": 1,
    "dns1": "192.168.1.1",
    "dns2": "8.8.8.8",
    "gate": "192.168.1.1",
    "ip": "192.168.1.41",
    "mask": "255.255.255.0",
    "netType": 0,
    "ret": 0
}
  • output

{
    "ret": 0
}

3.8 Get DDNS

IVY_CTRL_MSG_GET_DDNS_CONFIG = 30035

  • supporting device
FI/FN
  • output
ret return value N FI / FN
isEnable 0: off 1: on N FI/FN
ddnsServer N FI/FN
port N FI
hostName S FI/FN
user S FI/FN
password S FI/FN
factoryDDNS S FI/FN
  • Example

  • input


None
  • output

{
    "ret": 0,
    "isEnable": 1,
    "ddnsServer": "192.168.1.1",
    "port": "8.8.8.8",
    "hostName": "192.168.1.1",
    "password": "192.168.1.41",
    "factoryDDNS": "255.255.255.0"
}

3.9 Set up DDNS

IVY_CTRL_MSG_SET_DDNS_CONFIG = 30033

  • supporting device
FI
  • input
isEnable 0: off 1: on N FI
ddnsServer N FI
port N FI
hostName (base64 encoded) S FI
user (base64 encoding) S FI
password (base64 encoding) S FI
factoryDDNS (base64 encoding) S FI
  • output
ret return value N FI
  • Example

  • input


{
    "isEnable": 1,
    "ddnsServer": "192.168.1.1",
    "port": "8.8.8.8",
    "hostName": "192.168.1.1",
    "password": "192.168.1.41",
    "factoryDDNS": "255.255.255.0"
}
  • output

{
    "ret": 0
}

3.10 Get WIFI parameters

IVY_CTRL_MSG_GET_WIFI_PARAM = 30025

  • supporting device
FI II
  • output
ret return value N
ssid SSID (BASE64 encoding) S
mode Mode 0: INFRA 1: ADHOC N
encType encryption type N
authMode Authentication mode 0: Open 1: Shared 2: Wep auto N
password Password (BASE64 encoded) S
  • encType encryption type
0 INVALID
1 NONE
2 WEP
3 WPA TKIP
4 WPA AES
5 WPA2 TKIP
6 WPA2 AES
7 WPA PSK TKIP
8 WPA PSK AES
9 WPA2 PSK TKIP
10 WPA2 PSK AES
  • Remark

For FI devices, mode has no meaning and can be ignored.

  • Example

  • input


None
  • output

{
    "ret": 0,
    "ssid": "TVlTU0lE",
    "mode": 0,
    "encType": 2,
    "authMode": 0,
    "password": "U1NJRFBBU1NXT1JE"
}

3.11 Get network connection mode

IVY_CTRL_MSG_GET_NET_MODE = 30060

  • supporting device
FI
  • output
ret return value N
netMode 0:wired 1:wireless N
  • Example

  • input


None
  • output

{
    "ret": 0,
    "netMode": "0"
}

3.12 Set up hotspot

IVY_CTRL_MSG_SET_WIFI_AP_INFO = 30068

  • supporting device
II
  • input
channel channel number N
ssid hotspot name S
psk hotspot password S
authMode Authentication mode 0:OPEN 1:WPAPSK 2:WPA2PSK N
  • output
ret return value N
  • Example

  • input


{
    "channel": 0,
    "ssid": "MY_SSID",
    "psk": "MY_PASSWORD",
    "authMode": 2
}
  • output

{
    "ret": 0
}

3.13 Get hotspot information

IVY_CTRL_MSG_GET_WIFI_AP_INFO = 30070

  • supporting device
II
  • input
channel channel number N
  • output
ret return value N
ssid hotspot name S
psk hotspot password S
authMode Authentication mode 0:OPEN 1:WPAPSK 2:WPA2PSK N
  • Example

  • input


{
    "channel": 0
}
  • output

{
    "ret": 0"ssid": "MY_SSID",
    "psk": "MY_PASSWORD",
    "authMode": 2
}

4 System

4.1 Upgrade/Patch/Import Configuration

4.1.1 Online upgrade

IVY_CTRL_MSG_SET_ONLINE_UPGRADE = 26035

  • supporting device
FI/FN/II/IN
  • input
bitCh channel number N IN FN
url Upgrade URL S FI FN II IN
type Upgrade type 1: upgrade immediately N II IN
  • output
ret return value N
  • type definition
1 Upgrade now
3 Third-party upgrades
  • Remark

Foscam IPC upgrade, bitCh can be ignored
IVY IPC upgrade, bitCh can be ignored
IVY NVR, bitwise indicates the channel to be upgraded, bit0-bit31, if you want to upgrade the NVR, fill in 0 for channel.

  • Example

  • input


// Foscam IPC / Foscam IPC
{
    "url":"aHR0cDovL3Rlc3QuZG93bi5jb20vdXBncmFkZS5iaW4="
}

// device On Foscam NVR
{
    "channel":1,
    "url":"aHR0cDovL3Rlc3QuZG93bi5jb20vdXBncmFkZS5iaW4="
}

// IVY IPC
{
    "url":"aHR0cDovL3Rlc3QuZG93bi5jb20vdXBncmFkZS5iaW4=",
    "type":1
}

// IVY NVR
{
    "channel":0,
    "url":"aHR0cDovL3Rlc3QuZG93bi5jb20vdXBncmFkZS5iaW4=",
    "type":1
}

// device On IVY NVR
{
    "channel":1,
    "url":"aHR0cDovL3Rlc3QuZG93bi5jb20vdXBncmFkZS5iaW4=",
    "type":1
}

  • output

{
    "ret":0
}

4.1.2 Import configuration file

IVY_CTRL_MSG_IMPORT_CONFIG_FILE = 26103

  • supporting device
FI/FN
  • input
url file path (BASE64 encoding) S FI FN
  • output
ret return value N FI FN
  • Remark

The ret result only indicates that the device has received the configuration file, but whether the file has actually been imported can be checked through the event IVY_CTRL_MSG_IMPORT_CFG_RESULT_CHG

  • Example

  • input


{
    "url":"YzpcXGNvbmZpZy5iaW4="
}

  • output

{
    "ret":0
}

4.1.3 Get configuration file name

IVY_CTRL_MSG_GET_CONFIG_FILE_NAME = 26105

  • supporting device
FI
  • output
ret return value N FI
fileName File name (base64 encoded) S FI
  • Example

  • input


None
  • output

{
    "fileName":"Y29uZmlnLmJpbg==",
    "ret":0
}

4.1.4 Upgrade/patch through local files

IVY_CTRL_MSG_UPGRADE_BY_FILE = 26107

  • supporting device
FI FN
  • input
fileName File name (base64 encoded) S FI FN
type Upgrade type 0 or leave it blank: Upgrade 1: patch I FN
  • output
ret return value N FI FN
  • Remark

type is only for FosNvr

  • Example

  • input


{
    "fileName":"YzpcXHBhdGNoLmJpbg=="
}
  • output

{
    "ret":0
}

4.1.5 Remove patch

IVY_CTRL_MSG_REMOVE_PATCH = 26109

  • supporting device
FI FN
  • output
ret return value N FI/FN
  • Example

  • input


None
  • output

{
    "ret":0
}

4.1.6 Upgrade IPC on NVR channel through file

IVY_CTRL_MSG_UPGRADE_IPC_BY_FILE = 26129

  • supporting device
FN
  • input
fileName Full path to file (requires BASE64 encoding) S
channels Channel number expressed in bits N
  • output
ret return value N
  • Example

  • input


{
    "fileName":"YzpcXG15ZmlsZS5iaW4=",
    "channels":1
}
  • output

{
    "ret":0
}

4.1.7 Upgrade IPC on NVR channel via URL

IVY_CTRL_MSG_UPGRADE_IPC_ONLINE = 26131

  • supporting device
FN
  • input
url Upgrade URL (requires BASE64 encoding) S
channels Channel number expressed in bits N
  • output
ret return value N
  • Example

  • input


{
    "fileName":"aHR0cDovL3d3dy5teS5jb20vdXBncmFkZS5iaW4=",
    "channels":1
}
  • output

{
    "ret":0
}

4.2 Get the power frequency

IVY_CTRL_MSG_GET_ENVIRONMENT = 24041

  • supporting device
FI FN
  • input
channel channel number N FN
  • output
ret return value N
mode Mode 0: 50Hz 1: 60Hz 2: Outdoor 3: Night N
  • Example

  • input


// Foscam IPC
None


// Foscam NVR
{
    "channel":0
}
  • output

{
    "ret":0,
    "mode":2
}

4.3 Set power frequency

IVY_CTRL_MSG_SET_ENVIRONMENT = 24039

  • supporting device
FI FN
  • input
channel channel number N
mode Mode 0: 50Hz 1: 60Hz 2: Outdoor 3: Night N
  • output
ret return value N
  • Example

  • input


// Foscam IPC
None


// Foscam NVR
{
    "channel":0,
    "mode":2
}

// Foscam IPC
{
    "mode":2
}
  • output

{
    "ret":0
}

4.4 Restore factory settings

IVY_CTRL_MSG_FACTORY_RESET = 26027

  • supporting device
FI FN II IN
  • output
ret return value N
  • Example

  • input


None

  • output

{
    "ret":0
}

4.5 Modify user information

IVY_CTRL_MSG_CHANGE_USER_INFO = 22023

  • supporting device
FI FN II IN
  • input
usr username S
pwd password S
newUsr New username S
newPwd new password S
  • output
ret return value N
  • Example

  • input


{
    "usr":"admin",
    "pwd":"",
    "newUsr":"1",
    "newPwd":"foscam1"
}

  • output

{
    "ret":0
}

4.6 Set voice prompts

IVY_CTRL_MSG_SET_VOICE_STATE = 26065

  • supporting device
FI FB II
  • input
channel channel number N FI / FB / II
isEnable 0: off 1: on N FI / FB / II
  • output
ret return value N
  • Example

  • input


{
    "channel": 0,
    "isEnable":1
}

  • output

{
    "ret":0
}

4.7 Get voice prompts

IVY_CTRL_MSG_GET_VOICE_STATE = 26067

  • supporting device
FI FB II
  • input
channel channel number N FI / FB / II
  • output
ret return value N
isEnable 0: off 1: on N
  • Example

  • input


{
    "channel": 0
}

  • output

{
    "ret":0,
    "isEnable":1
}

4.8 Set LED light status

IVY_CTRL_MSG_SET_LED_STATE = 26061

  • supporting device
FI FN FB
  • input
channel channel number N FB
isEnable 0: off 1: on N FB
  • output
ret return value N
  • Example

  • input


{
    "channel": 0"isEnable": 0
}

  • output

{
    "ret":0
}

4.9 Get LED light status

IVY_CTRL_MSG_GET_LED_STATE = 26063

  • supporting device
FI FN FB
  • input
channel channel number N FB
  • output
ret return value N
isEnable 0: off 1: on N
  • Example

  • input


{
    "channel": 0
}

  • output

{
    "ret":0,
    "isEnable": 0
}

4.10 Set maintenance mode

IVY_CTRL_MSG_SET_MAINTAIN_CONFIG = 26049

  • supporting device
FN FB
  • input
date date N FB / FN
hour 0 - 24 N FB / FN
minute 0 - 60 N FB / FN
second 0 - 60 N FB / FN
  • output
ret return value N
  • date
0 Never
1 every day
2 Sunday
3 Monday
4 Tuesday
5 Wednesday
6 Thursday
7 Friday
8 Saturday
  • Example

  • input


{
    "date": 1,
    "hour": 23,
    "minute": 23,
    "second": 10
}

  • output

{
    "ret":0
}

4.11 Get maintenance mode

IVY_CTRL_MSG_GET_MAINTAIN_CONFIG = 26051

  • supporting device
FN FB
  • output
ret return value N
date Same setting N
hour 0 - 24 N
minute 0 - 60 N
second 0 - 60 N
  • Example

  • input


None
  • output

{
    "ret":0,
    "date": 1,
    "hour": 23,
    "minute": 23,
    "second": 10
}

4.12 Set up silent upgrade

IVY_CTRL_MSG_SET_SILENT_UPGRADE_CONFIG = 26053

  • supporting device
FB
  • input
date Same as maintenance mode N FB
hour 0 - 24 N FB
minute 0 - 60 N FB
second 0 - 60 N FB
enable 0: off 1: on N FB
userId S FB
portal S FB
  • output
ret return value N
  • Example

  • input


{
    "date": 1,
    "hour": 23,
    "minute": 23,
    "second": 10,
    "enable": 1,
    "userId": "1LKFLDKS",
    "portal": "www.test.com"
}
  • output

{
    "ret":0
}

4.13 Get silent upgrade

IVY_CTRL_MSG_GET_SILENT_UPGRADE_CONFIG = 26055

  • output
ret return value N
date Same as maintenance mode N FB
hour 0 - 24 N FB
minute 0 - 60 N FB
second 0 - 60 N FB
enable 0: off 1: on N FB
userId S FB
portal S FB
  • Example

  • input


None
  • output

{
    "ret":0,
    "date": 1,
    "hour": 23,
    "minute": 23,
    "second": 10,
    "enable": 1,
    "userId": "1LKFLDKS",
    "portal": "www.test.com"
}

4.14 Time setting

4.14.1 Set system time (obsolete)

IVY_CTRL_MSG_SET_SYSTEM_TIME = 26019

  • input

  • IVY NVR input parameters

aheadOfTime Daylight saving time advance time (0/30/60/90/120 min) N II IN
isDst Daylight Saving Time 0: Not supported 1: Supported N II IN
ntpServer NTP address S II IN
year year N II IN
month month N II IN
day day N II IN
hour hour N II IN
min minutes N II IN
sec seconds N II IN
timeZone time zone N II IN
timeSource 0: NTP 1: Manual synchronization N II IN
dateFormat 0: YYYY-MM-DD 1: DD/MM/YYYY N II IN
timeFormat 0: 24 hours 1: 12 hours N II IN
syncIPCTime 0: Not synchronizing time to IPC 1: Synchronizing time to IPC N IN
  • output
ret return value N
  • Remark

If the Foscam IPC time needs to be converted to UTC time according to the current time zone, for example: +08:00, if you want to set the IPC time to 2019/1/18 9:00:00, the correct UTC time is 2019/1/18 1: 00:00;
aheadOfTime only works if isDst is 1 and is Foscam IPC

  • Foscam IPC / NVR input parameters
syncIPCTime Synchronized IPC time 0: synchronized 1: not synchronized N FN
isDst Daylight Saving Time 0: Not supported 1: Supported N FI FN
ntpServer NTP address S FI FN
year year N FI FN
month month N FI FN
day day N FI FN
hour hour N FI FN
min minutes N FI FN
sec seconds N FI FN
timeZone time zone N FI FN
timeSource 0: NTP 1: Manual synchronization N FI FN
dateFormat 0: YYYY-MM-DD 1: DD/MM/YYYY N FI FN
timeFormat 0: 24 hours 1: 12 hours N FI FN
aheadOfTime Daylight saving time advance time (0/30/60/90/120 min) N
dst_month month ahead J FN
dst_week week in advance J FN
dst_day Days in advance J FN
dst_hour hours ahead J FN
  • dst_month/dst_week/dst_day/dst_hour Json format
s start N
e end N
  • Example

  • input


{
"isDst": 0,
"aheadOfTime": 0,
"year": 2021,
"month": 5,
"day": 18,
"hour": 1,
"min": 27,
"sec": 1,
"timeZone": 0,
"timeSource": 0,
"dateFormat": 0,
"timeFormat": 1,
"ntpServer": ""
}
  • output

{
    "ret":0
}

4.14.2 Get system time (obsolete)

IVY_CTRL_MSG_GET_SYSTEM_TIME = 26021

  • input
channel channel number N
  • output
ret return value N
isDst Daylight Saving Time 0: Not supported 1: Supported N
aheadOfTime Daylight saving time advance time (0/30/60/90/120 min) N
ntpServer NTP address S
year year N
month month N
day day N
hour hour N
min minutes N
sec seconds N
timeZone time zone N
timeSource 0: NTP 1: Manual synchronization N
dateFormat 0:YYYY-MM-DD 1:DD/MM/YYYY N
timeFormat 0: 24 hours 1: 12 hours N
  • Foscam IPC / NVR output parameters
syncIPCTime Synchronize IPC time 1: synchronized 0: not synchronized N FN
isDst Daylight Saving Time 0: Not supported 1: Supported N FI FN
ntpServer NTP address S FI FN
year year N FI FN
month month N FI FN
day day N FI FN
hour hour N FI FN
min minutes N FI FN
sec seconds N FI FN
timeZone time zone N FI FN
timeSource 0: NTP 1: Manual synchronization N FI FN
date 0: YYYY-MM-DD 1: DD/MM/YYYY 2: MM/DD/YYYY N FI FN
timeFormat 0: 24 hours 1: 12 hours N FI FN
aheadOfTime Daylight saving time advance time (0/30/60/90/120 min) N FI FN
dst_month month ahead J FN
dst_week week in advance J FN
dst_day Days in advance J FN
dst_hour hours ahead J FN
  • dst_month/dst_week/dst_day/dst_hour Json format
s start N
e end N
  • Example

  • input


None
  • output

{
    "ret":0,
"isDst": 0,
"aheadOfTime": 0,
"year": 2021,
"month": 5,
"day": 18,
"hour": 1,
"min": 27,
"sec": 1,
"timeZone": 0,
"timeSource": 0,
"dateFormat": 0,
"timeFormat": 1,
"ntpServer": ""    
}

4.14.3 Set Daylight Saving Time(obsolete)

IVY_CTRL_MSG_SET_DST = 26125

  • supporting device
FI
  • input
month starting and ending month (1-12) Json FI
week Start and end week (1-5) Json FI
day Start and end day (1-7) Json FI
hour start and end (0-23) Json FI
  • output
ret return value N FI
  • Json structure
s start N
e end N
  • Remark
    {
      "month":{"s":1, "e":2}, // from January to February
      "week":{"s":1, "e":2}, // from the first week to the second week
      "day":{"s":1, "e":2}, // from Monday to Tuesday
      "hour":{"s":1, "e":23}, // from 1 o'clock to 23 o'clock
    }
  • Example

  • input


{
    "day": {
        "e": 7,
        "s": 7
    },
    "hasAheadOfTime": 0,
    "hour": {
        "e": 2,
        "s": 2
    },
    "month": {
        "e": 10,
        "s": 4
    },
    "ret": 0,
    "week": {
        "e": 5,
        "s": 1
    }
}
  • output

{
    "ret":0
}

4.14.4 Get Daylight Saving Time (obsolete)

IVY_CTRL_MSG_GET_DST = 26127

  • supporting device
FI
  • output
ret return value N FI
month starting and ending month (1-12) Json FI
week Start and end week (1-5) Json FI
day Start and end day (1-7) Json FI
hour start and end (0-23) Json FI
hasAheadOfTime 0: Not in advance 1: In advance N FI
  • Remark

The meaning of each value is the same as the setting. The advance time refers to the IVY_CTRL_MSG_SET_SYSTEM_TIME command.
aheadOfTime

  • Example

  • input


None
  • output

{
    "ret":0,
    "day": {
        "e": 7,
        "s": 7
    },
    "hasAheadOfTime": 0,
    "hour": {
        "e": 2,
        "s": 2
    },
    "month": {
        "e": 10,
        "s": 4
    },
    "ret": 0,
    "week": {
        "e": 5,
        "s": 1
    }
}

4.14.5 Set system time (recommended)

IVY_CTRL_MSG_SET_SYSTEM_TIME = 26019

Setting the system time can also set daylight saving time
  • input
Field name Meaning Field type FI FN FB IN
standardization 1: Indicates the use of parameter values defined by the SDK, which is converted internally for different types of devices. 0: No conversion (if there is no standardization field Or the value of this field is 0, and the input parameters should be filled in according to 4.14.1) N
aheadOfTime Daylight saving time advance time (0/30/60/90/120 min) N ×
isDst Daylight Saving Time 0: Not supported 1: Supported N ×
ntpServer NTP address S
year year N
month month N
day day N
hour hour N
min minutes N
sec seconds N
timeZone time zone N
timeSource 0: NTP 1: Manual synchronization N
dateFormat 0: YYYY-MM-DD 1: DD/MM/YYYY N
timeFormat 0: 24 hours 1: 12 hours N
syncIPCTime 0: Not synchronizing time to IPC 1: Synchronizing time to IPC N × ×
dst_month month ahead J ×
dst_week week in advance J ×
dst_day Days in advance J ×
dst_hour hours ahead J ×
  • dst_month/dst_week/dst_day/dst_hour Json format
s start N
e end N
  • output
ret return value N
  • Remark

If the Foscam IPC time needs to be converted to UTC time according to the current time zone, for example: +08:00, if you want to set the IPC time to 2019/1/18 9:00:00, the correct UTC time is 2019/1/18 1: 00:00;
aheadOfTime only works if isDst is 1 and is Foscam IPC

  • Example

  • input


{
"isDst": 0,
"aheadOfTime": 0,
"year": 2021,
"month": 5,
"day": 18,
"hour": 1,
"min": 27,
"sec": 1,
"timeZone": 0,
"timeSource": 0,
"dateFormat": 0,
"timeFormat": 1,
"ntpServer": ""
}
  • output

{
    "ret":0
}

4.14.6 Get system time (recommended)

IVY_CTRL_MSG_GET_SYSTEM_TIME = 26021

  • input
Field name Meaning Field type FI FN FB IN
standardization 1: Indicates the use of parameter values defined by the SDK, which is converted internally for different types of devices. 0: No conversion (if there is no standardization field Or the value of this field is 0, and the output parameters refer to 4.14.2) N
  • output
Field name Meaning Field type FI FN FB IN
ret return value N
aheadOfTime Daylight saving time advance time (0/30/60/90/120 min) N ×
isDst Daylight Saving Time 0: Not supported 1: Supported N ×
ntpServer NTP address S
year year N
month month N
day day N
hour hour N
min minutes N
sec seconds N
timeZone time zone N
timeSource 0: NTP 1: Manual synchronization N
dateFormat 0: YYYY-MM-DD 1: DD/MM/YYYY N
timeFormat 0: 24 hours 1: 12 hours N
syncIPCTime 0: Not synchronizing time to IPC 1: Synchronizing time to IPC N × ×
dst_month month ahead J ×
dst_week week in advance J ×
dst_day Days in advance J ×
dst_hour hours ahead J ×
dstCanWork Whether daylight saving time is in effect 0: Not in effect 1: In effect (if daylight saving time is not turned on, it will not take effect. If daylight saving time is turned on, the daylight saving time parameters are legal and effective, but if the daylight saving time parameters are illegal, they will not take effect) N × × ×
  • Example

  • input


None
  • output

{
    "ret":0,
"isDst": 0,
"aheadOfTime": 0,
"year": 2021,
"month": 5,
"day": 18,
"hour": 1,
"min": 27,
"sec": 1,
"timeZone": 0,
"timeSource": 0,
"dateFormat": 0,
"timeFormat": 1,
"ntpServer": ""    
    "dstCanWork":0
}

4.16 Restart the system

  • supporting device
FI FN FB II IN

IVY_CTRL_MSG_REBOOT_SYSTEM = 26023

  • input
channel channel number N
  • output
ret return value N
  • Example

  • input

{
    "channel":0
}
  • output

{
    "ret":0
}

4.17 Set device volume

IVY_CTRL_MSG_SET_AUDIO_VOLUME = 24047

  • supporting device
FB
  • input
channel channel number N
volume 0 - 100 N
  • output
ret return value N
  • Example

  • input

{
    "channel":0,
    "volume":98
}

  • output

{
    "ret":0
}

4.18 Get device volume

IVY_CTRL_MSG_GET_AUDIO_VOLUME = 24049

  • supporting device
FB
  • input
channel channel number N
  • output
ret return value N
volume 0 - 100 N
  • Example

  • input

{
    "channel":0
}

  • output

{
    "ret":0,
    "volume":99
}

4.19 Switch buzzer

IVY_CTRL_MSG_SWITCH_BUZZER = 26057

  • supporting device
FB
  • input
switch 0: off 1: on N FB
  • output
ret return value N
  • Example

  • input

{
    "switch":0
}

  • output

{
    "ret":0
}

4.20 Get battery power

IVY_CTRL_MSG_SWITCH_BUZZER = 26059

  • supporting device
FB
  • input
channel channel number N
  • output
ret return value N
level 0: Low battery 1: Need to charge 2: Half battery 3: Normal 4: Full battery N FB
status 0: Power off 1: Charging 2: Fully charged 3: Only connected to the power supply, no battery N FB
temperature 0: Low temperature warning 1: Low temperature 2: Normal temperature 3: High temperature 4: High temperature warning N FB
wifiLevel 0 - 4 N FB
  • Example

  • input

{
    "channel":0
}

  • output

{
    "ret":0,
    "level":4,
    "status":2,
    "temperature":2,
    "wifiLevel":4
}

4.21 Get Night Light

  • supporting device
FI II

IVY_CTRL_MSG_GET_NIGHT_LIGHT = 24071

  • output
ret return value N
onoff 0: off 1: on N
  • Example

  • input


None
  • output

{
    "ret":0,
    "onoff":1
}

4.22 Set up night light

IVY_CTRL_MSG_SET_NIGHT_LIGHT = 24069

  • supporting device
FI II
onoff 0: off 1: on N
  • output
ret return value N
  • Example

  • input


{
    "onoff":1
}
  • output

{
    "ret":0
}

4.23 Set audio status

IVY_CTRL_MSG_SET_AUDIO_ENABLE_STATE = 26073

  • supporting device
FB
  • input
channel channel number N FB
isEnable 0: off 1: on N FB
  • output
ret return value N
  • Example

  • input


{
    "channel":1,
    "isEnable":1
}
  • output

{
    "ret":0
}

4.24 Get audio status

IVY_CTRL_MSG_GET_AUDIO_ENABLE_STATE = 26075

  • supporting device
FB
  • input
channel channel number N FB
  • output
ret return value N
isEnable 0: off 1: on N FB
  • Example

  • input


{
    "channel":1
}
  • output

{
    "ret":0,
    "isEnable":1
}

4.25 Get session list

IVY_CTRL_MSG_GET_SESSION_LIST = 26081

  • supporting device
FI
  • output
ret return value N FI
ip The IP used to log in to the IPC, represented by a Json string S FI
  • Example

  • input


None
  • output

{
    "ret":0,
    "ip":["192.168.1.10", "192.168.1.20"]
}

4.26 Get log information

IVY_CTRL_MSG_GET_LOG = 26083

  • supporting device
FI/FN
start Request starting index N FI
count Number of requests N FI
page Which page to request, every 10 records is one page N FN
logType Log type 0:Alarm Log;1-System Log;2-Operate Log;-1:All Log N FN
channel channel, bitwise representation bit0-n N FN
startTime start time, UTC time N FN
endTime end time, UTC time N FN
  • output
ret return value N FI / FN
totalCount total quantity N FI / FN
log log information, represented by Json string array (log requires URL decoding) S FI / FN
  • Remark

If it is FoscamIPC, just use start / count
If it is FoscamNVR, the parameters page/logType/channel/startTime/endTime are required, and the log format is chn+starttime+endtime+user+ip+type+ida+ido

FoscamNVR type value definition:

1 IO alarm
2 Motion Detection
4 Video lost
8 Hard disk error
16 Hard drive lost
32 Hard drive saturated
64 Format operation
128 User login
256 Parameter Settings
512 Process restart
1024 System restart
2048 Backup
4096 Video operation
  • Example

  • input


// 1622131200 , 2021-05-28 00:00:00 beijing
// 1622217599 , 2021-05-28 23:59:59 beijing
{
    "page":0,
    "logType":0,
    "channel":1,
    "startTime":1622131200,
    "endTime":1622217599
}
  • output

{
    "ret":0,
    "totalCount":100,
    "log":["log1_context", "log2_context", "log3_context"]
}

4.27 Get user list

IVY_CTRL_MSG_GET_USER_LIST = 26085

  • supporting device
FI
  • output
ret return value N FI
user Account information, represented by Json string array (requires BASE64 decoding) S FI
  • Remark

The user data format is a string separated by “+”. The front is the user name, followed by the permissions, 0-2.
0: Visitor 1: Operator 2: Administrator

  • Example

  • input


None
  • output

{
    "ret":0,
    "user":["user1", "user12", "user13"]
}

4.27 Port information

4.27.1 Get port information

IVY_CTRL_MSG_GET_PORT_INFO = 26087

  • supporting device
FI FN
  • output
ret return value N FI FN
webPort web port N FI FN
httpsPort https port N FI FN
mediaPort media port N FI
onvifPort onvif port N FI
rtspPort rtsp port N FI
  • Example

  • input


None
  • output

{
    "ret":0,
    "webPort":88,
    "httpsPort":443,
    "mediaPort":88,
    "onvifPort":90,
    "rtspPort": 100
}

4.27.2 Set port information

IVY_CTRL_MSG_SET_PORT_INFO = 26089

  • supporting device
FI
  • input
webPort web port N FI
httpsPort https port N FI
mediaPort media port N FI
onvifPort onvif port N FI
rtspPort rtsp port N FI
  • output
ret return value N FI
  • Example

  • input


{
    "webPort":88,
    "httpsPort":443,
    "mediaPort":88,
    "onvifPort":90,
    "rtspPort": 100
}
  • output

{
    "ret":0
}

4.27.3 Set P2P port

IVY_CTRL_MSG_SET_P2P_PORT = 26091

  • supporting device
FI
  • input
port port N FI
  • output
ret return value N FI
  • Example

  • input


{
    "port": 100
}
  • output

{
    "ret":0
}

4.27.4 Get P2P port

IVY_CTRL_MSG_GET_P2P_PORT = 26093

  • supporting device
FI
  • output
ret return value N FI
port port N FI
  • Example

  • input


None
  • output

{
    "ret":0,
    "port":100
}

4.28 onvif

4.28.1 Get onvif status

  • supporting device
FI

IVY_CTRL_MSG_GET_ONVIF_AGENT_STATE = 26095

  • output
ret return value N FI
isEnable 0: on 1: off N FI

-Support model

(3000 - 4000)
(6000 - 7000)
  • Example

  • input


None
  • output

{
    "ret":0,
    "isEnable":1
}

4.28.2 Get whether onvif requires authentication

IVY_CTRL_MSG_GET_ONVIF_AUTH_REQUIRED = 26097

  • supporting device
FI
  • output
ret return value N FI
require 0: Do not authenticate 1: Must authenticate N FI

-Support model

(0 - 3000)
(5000 - 6000)
(7000 - 8000)
(8000 - 9000)
  • Example

  • input


None
  • output

{
    "ret":0,
    "require":1
}

4.28.3 Set ONVIF to turn on or off

IVY_CTRL_MSG_SET_ONVIF_ENABLE = 26099

  • supporting device
FI
  • input
isEnable 0: off 1: on N FI
  • output
ret return value N FI

-Support model

(3000 - 4000)
(6000 - 7000)
  • Example

  • input


{
    "isEnable":0
}
  • output

{
    "ret":0
}

4.28.4 Set ONVIF authentication on or off

IVY_CTRL_MSG_SET_ONVIF_AUTH_ENABLE = 26101

  • supporting device
FI
  • input
isEnable 0: off 1: on N FI
  • output
ret return value N FI

-Support model

(0 - 3000)
(5000 - 6000)
(7000 - 8000)
(8000 - 9000)
  • Example

  • input


{
    "isEnable":0
}
  • output

{
    "ret":0
}

4.29 Video parameters related

4.29.1 Get the video parameters supported by the device

For the Foscam device, the previous input and output have not changed, so standardization does not matter for the Foscam device

IVY_CTRL_MSG_GET_VIDEO_STREAM_PARAM = 24075

  • supporting device
FI/FN/IN
  • input
Field name Meaning Field type FI FN IN
channel channel N ×
stream 0: Main stream 1: Sub-stream N × ×
standardization 1 must be 1 N × ×
  • output
Field name Meaning Field type FI FN IN
ret return value N
param json array J × ×
curParam json array J ×
resolutions json array J ×
  • param json structure
resolution resolution
bitRate bit rate
frameRate frame rate
gop
isVBR
lbrRatio
  • curParam json structure
Field name Meaning Field type FN IN
w resolution width N
h high resolution N
frameRate frame rate N
bitRate bit rate N
gop N
isVBR N
streamType N × ×
resolution N × ×
  • resolutions json structure
w resolution width
h high resolution
  • Example

  • input


{
    "stream":1
}
  • output

{
    "param": [{
            "bitRate": 524288,
            "frameRate": 11,
            "gop": 30,
            "isVBR": 0,
            "lbrRatio": 0,
            "resolution": 0
        },
        {
            "bitRate": 262144,
            "frameRate": 15,
            "gop": 30,
            "isVBR": 0,
            "lbrRatio": 0,
            "resolution": 1
        },
        {
            "bitRate": 262144,
            "frameRate": 15,
            "gop": 30,
            "isVBR": 0,
            "lbrRatio": 0,
            "resolution": 2
        },
        {
            "bitRate": 524288,
            "frameRate": 15,
            "gop": 30,
            "isVBR": 0,
            "lbrRatio": 0,
            "resolution": 0
        }
    ],
    "ret": 0
}

4.29.2 Get the video parameter index currently used by the device

IVY_CTRL_MSG_GET_VIDEO_STREAM_TYPE = 24077

  • supporting device
FI
  • input
stream 0: Main stream 1: Sub stream N FI
  • output
ret return value N FI
type Type, that is, the corresponding index in the IVY_CTRL_MSG_GET_VIDEO_STREAM_PARAM command result param N FI
  • Example

  • input


{
    "stream":1
}
  • output

{
    "ret": 0,
    "streamType": 0
}

4.29.3 Get whether frame extraction is enabled

IVY_CTRL_MSG_GET_DEFRAME_ENABLE = 24079

  • supporting device
FI
  • output
ret return value N FI
isEnable 0: off 1: on N FI
  • Example

  • input


None
  • output

{
    "ret": 0,
    "isEnable": 1
}

4.29.4 Get the code stream compression format

IVY_CTRL_MSG_GET_STREAM_FORMAT = 24081

  • supporting device
FI/II/IN
  • input
Field name Meaning Field type FI II IN
channel return value N × ×
  • output
Field name Meaning Field type FI II IN
ret return value N
mainFormat 0: h264 1: h265 N
subFormat 0: h264 1: h265 N
  • Foscam device supports model model
(7000 - 8000)
  • Example

  • input


None
  • output

{
    "ret": 0,
    "mainFormat": 1,
    "subFormat": 1
}

4.29.5 Set the current device video parameters

IVY_CTRL_MSG_SET_VIDEO_STREAM_PARAM = 24083

For the Foscam device, the previous input and output have not changed, so standardization does not matter for the Foscam device

  • supporting device
FI/FN/IN
  • input
Field name Meaning Field type FI FN IN
standardization 1 must be 1 N × ×
channel channel N ×
stream 0: Main stream 1: Sub stream N
type Video parameter index 0-3 N × ×
resolution resolution N × ×
bitRate Bit rate N
frameRate frame rate N
gop N
isVBR N
lbrRatio N × ×
w resolution width N ×
h High resolution N ×
  • input
ret return value N
  • codecType encoding type
IVY_CODEC_VIDEO_MPEG4 0
IVY_CODEC_VIDEO_H263 1
IVY_CODEC_VIDEO_H264 2
IVY_CODEC_VIDEO_MJPEG 3
IVY_CODEC_VIDEO_H265 4
IVY_CODEC_AUDIO_ADPCM 5
IVY_CODEC_AUDIO_PCM 6
IVY_CODEC_AUDIO_AAC_RAW 7
IVY_CODEC_AUDIO_AAC_ADTS 8
IVY_CODEC_AUDIO_AAC_LATM 9
IVY_CODEC_AUDIO_G711U 10
IVY_CODEC_AUDIO_G711A 11
IVY_CODEC_AUDIO_G726 12
IVY_CODEC_AUDIO_SPEEX 13
IVY_CODEC_AUDIO_MP3 14
IVY_CODEC_PICTURE_JPEG 200
  • resolution resolution
VIDEO_RESOLUTION_1080P (1920*1080) 0
VIDEO_RESOLUTION_720P (1280*720) 1
VIDEO_RESOLUTION_VGA (640*480) 2
VIDEO_RESOLUTION_QVGA (320*240) 3
VIDEO_RESOLUTION_VGA_640_360 (640*360) 4
VIDEO_RESOLUTION_QVGA_320_180 (320*180) 5
VIDEO_RESOLUTION_QCIF (176*144) 6
VIDEO_RESOLUTION_960P (1280*960) 7
VIDEO_RESOLUTION_3M (2304*1296) 8
VIDEO_RESOLUTION_QHD (2560*1440) 9
  • streamType stream type
IVY_STREAM_VIDEO_MAIN 0
IVY_STREAM_VIDEO_SUB 1
IVY_STREAM_VIDEO_3RD 2
IVY_STREAM_VIDEO_4TH 3
IVY_STREAM_AUDIO 5
IVY_STREAM_AUDIO_2RD 6
IVY_STREAM_AUDIO_3RD 7
IVY_STREAM_AUDIO_4TH 8
  • Example

  • input


{
    "stream": 0,
    "type": 0,
    "resolution": 1,
    "bitRate": 524288,
    "frameRate": 20,
    "gop": 10,
    "isVBR": 1,
    "lbrRatio": 1,
    "ret": 0
}
  • output

{
    "ret": 0
}

4.29.6 Set whether video frame extraction is enabled

IVY_CTRL_MSG_SET_DEFRAME_ENABLE = 24085

  • supporting device
FI
  • input
isEnable 0: off 1: on N FI
  • output
ret return value N FI
  • Example

  • input


{
    "isEnable": 0
}
  • output

{
    "ret": 0
}

4.29.7 Set stream compression format

IVY_CTRL_MSG_SET_STREAM_FORMAT = 24114

  • supporting device
FI/II/IN
  • input
Field name Meaning Field type FI II IN
channel return value N × ×
mainFormat 0: h264 1: h265 N
subFormat 0: h264 1: h265 N
  • output
Field name Meaning Field type FI II IN
ret return value N
  • Foscam device supports model model
(7000 - 8000)
  • Example

  • input


{
    "mainFormat": 1,
    "subFormat": 1
}
  • output

{
    "ret": 0
}

4.30 Obtain scheduled restart configuration

IVY_CTRL_MSG_GET_TIMING_REBOOT = 26111

  • supporting device
FI
  • output
ret return value N FI
intervalDay Number of days every other day N FI
isEnable 0: off 1: on N FI
  • supporting device

This is supported only if bit2 of capability set val4 is 1.

  • Example

  • input


None
  • output

{
    "ret": 0,
    "intervalDay": 3,
    "isEnable": 1
}

4.31 Set scheduled restart

IVY_CTRL_MSG_SET_TIMING_REBOOT = 26113

  • supporting device
FI
  • input
intervalDay Number of days every other day N FI
isEnable 0: off 1: on N FI
  • output
ret return value N FI
  • supporting device

This is supported only if bit2 of capability set val4 is 1.

  • Example

  • input


{
    "intervalDay": 3,
    "isEnable": 1
}
  • output

{
    "ret": 0
}

4.32 Get device status

IVY_CTRL_MSG_GET_DEVICE_STATUS = 26115

  • supporting device
FI
  • output
ret return value N FI
ioAlaram 0: off 1: on N FI
motionDetectAlarm 0: Off 1: On 2: Device alarm detected N FI
soundAlaram 0: off 1: on N FI
record 0: Not recording 1: Recording N FI
sdState 0: No SD card N FI
sdFreeSpace The remaining space of the sd card, in kb N FI
sdTotalSpace sd card total space, unit kb N FI
ntpState 1: Update successful N FI
ddnsState 0: off 1: on N FI
url ddns address (BASE64 encoded) S FI
upnpState 0: off 1: on N FI
isWifiConnected 0: Not connected 1: Connected N FI
infraLedState 0: Off 1: On N FI
wifiConnectedAP AP name (BASE64 encoded) S FI
humanDetectAlarmState 0: Off 1: On N FI
  • Example

  • input


None
  • output

{
    "ret": 0,
    "ioAlaram": 1,
    "motionDetectAlarm": 1,
    "soundAlaram": 1,
    "record": 0,
    "sdState": 0,
    "sdFreeSpace": 512,
    "sdTotalSpace": 1024,
    "ntpState": 0,
    "ddnsState": 0,
    "url": "aHR0cDovL3d3dy5kZG5zLmNvbQ==",
    "upnpState": 0,
    "isWifiConnected": 0,
    "infraLedState": 0,
    "wifiConnectedAP": "bXlBUE5hbWU=",
    "humanDetectAlarmState": 0,
    "ret": 0
}

4.33 Email settings

4.33.1 Set SMTP

IVY_CTRL_MSG_SET_SMTP_CONFIG = 30045

  • supporting device
FI/FN
  • input
isEnable 0: off 1: on N FI / FN
server SMTP server address S FI/FN
port SMTP port N FI/FN
isNeedAuth 0: No authentication required 1: Authentication required N FI/FN
tls Transport Layer Security Protocol 0: None 1: TLS 2: STARTTLS N FI/FN
user SMTP username (BASE64 encoded) S FI/FN
password SMTP password (BASE64 encoded) S F FI/FNI
sender Sender (base64 encoded) S FI/FN
reciever Recipient (base64 encoding), Json array, up to 4 S FI/FN
  • output
ret return value N FI
  • Example

  • input


{
    "isEnable": 1,
    "server": "smtp.my.com",
    "port": 200,
    "isNeedAuth": 0,
    "tls": 0,
    "user": "dXNlcg==",
    "password": "cGFzc3dvcmQ=",
    "sender": "dXNlckAxMjMuY29t",
    "reciever": ["dXNlcjFAMTIzLmNvbQ==", "dXNlcjJAMTIzLmNvbQ=="]
}
  • output

{
    "ret": 0
}

4.33.2 Obtain SMTP configuration

IVY_CTRL_MSG_GET_SMTP_CONFIG = 30047

  • supporting device
FI/FN
  • output
ret return value N FI / FN
isEnable 0: off 1: on N FI / FN
server SMTP server address S FI/FN
port SMTP port N FI/FN
isNeedAuth 0: No authentication required 1: Authentication required N FI/FN
tls Transport Layer Security Protocol 0: None 1: TLS 2: STARTTLS N FI/FN
user SMTP username (BASE64 encoded) S FI/FN
password SMTP password (BASE64 encoded) S F FI/FNI
sender Sender (base64 encoded) S FI/FN
reciever Recipient (base64 encoding), Json array, up to 4 S FI/FN
  • Example

  • input


None
  • output

{
    "ret": 0,
    "isEnable": 1,
    "server": "smtp.my.com",
    "port": 200,
    "isNeedAuth": 0,
    "tls": 0,
    "user": "dXNlcg==",
    "password": "cGFzc3dvcmQ=",
    "sender": "dXNlckAxMjMuY29t",
    "reciever": ["dXNlcjFAMTIzLmNvbQ==", "dXNlcjJAMTIzLmNvbQ=="]
}

4.33.3 Test SMTP

IVY_CTRL_MSG_SMTP_TEST = 30049

  • supporting device
FI/FN
  • input
smtpServer Return value N FI
port SMTP port N FI
isNeedAuth 0: No authentication required 1: Authentication required N FI
tls Transport Layer Security Protocol 0: None 1: TLS 2: STARTTLS N FI
user SMTP username (BASE64 encoded) S FI
password SMTP password (BASE64 encoded) S FI
sender Sender (base64 encoded) S FI
  • output
ret return value N FI
testRet test result N FI/FN
errMsg Error message (BASE64 encoded) S FI
  • [FI] testRet definition
0 Success
2 smtp server address not set
3 smtp username not set
4 smtp password not set
5 Sender not set
6 Failed to generate email
7 Email sending timeout
8 Cannot find smtp log file
9 Unable to parse smtp log information
64 Incorrect command syntax
65 The data entered is incorrect in some way
66 The input file (non-system file) does not exist or is unreadable
67 The specified user ID was not recognized
68 The specified hostname is not recognized
69 The required service or resource is unavailable
70 An internal software error occurred (containing bad parameters)
71 A temporary operating system error has occurred. An example of this error is failure to create a new process
72 A system file error occurred. For example, a system file (such as /etc/passwd) does not exist, cannot be opened, or there is another type of error that prevents its use
73 Cannot create user-specified file
74 An error occurred during I/O
75 Unable to create connection to remote system
76 During protocol exchange, the remote system returned something incorrect
77 The user does not have permission to perform the requested operation
78 An error was found in the format of the configuration file
  • [FN] testRet definition
0 Success
1 Email sending failed
2 SMTP server, recipient/sender cannot be empty!
3 Network error
  • Example

  • input


{
    "smtpServer": "smtp.my.com",
    "port": 100,
    "isNeedAuth": 0,
    "tls": 0,
    "user": "dXNlcg==",
    "password": "cGFzc3dvcmQ=",
    "sender": "dXNlckAxMjMuY29t"
}
  • output

{
    "ret": 0
}

4.34 FTP settings

4.34.1 Set up FTP

IVY_CTRL_MSG_SET_FTP_CONFIG = 30051

  • supporting device
FI/FN
  • input
ftpAddr ftp address S FI/FN
ftpPort ftp port N FI/FN
mode Mode 0: Passive 1: Active S FI/FN
userName Username (BASE64 encoded) S FI/FN
password Password (BASE64 encoded) S FI/FN
  • output
ret return value N FI / FN
  • Example

  • input


{
    "ftpAddr": "http://192.168.1.39",
    "ftpPort": 100,
    "mode": 0,
    "userName": "dXNlcg==",
    "password": "cGFzc3dvcmQ="
}
  • output

{
    "ret": 0
}

4.34.2 Obtain FTP configuration

IVY_CTRL_MSG_GET_FTP_CONFIG = 30053

  • supporting device
FI/FN
  • output
ret return value N FI / FN
ftpAddr ftp address S FI/FN
ftpPort ftp port N FI/FN
mode Mode 0: Passive 1: Active S FI/FN
userName Username (BASE64 encoded) S FI/FN
password Password (BASE64 encoded) S FI/FN
  • Example

  • input


{
    "ftpAddr": "http://192.168.1.39",
    "ftpPort": 100,
    "mode": 0,
    "userName": "dXNlcg==",
    "password": "cGFzc3dvcmQ="
}
  • output

{
    "ret": 0,
    "ftpAddr": "http://192.168.1.39",
    "ftpPort": 100,
    "mode": 0,
    "userName": "dXNlcg==",
    "password": "cGFzc3dvcmQ="    
}

4.34.3 FTP test

IVY_CTRL_MSG_FTP_TEST = 30055

  • supporting device
FI/FN
  • input
ftpAddr ftp address S FI
ftpPort ftp port N FI
mode Mode 0: Passive 1: Active S FI
fptUserName Username (BASE64 encoded) S FI
ftpPassword Password (BASE64 encoded) S FI
  • output
ret return value N FI
testRet test result N FI
  • testRet definition
0 Success
-1 Wrong FTP server address
-2 FTP server connection failed
-3 FTP server login failed
-4 FTP server directory does not exist
  • Example

  • input


{
    "ftpAddr": "http://192.168.1.39",
    "ftpPort": 100,
    "mode": 0,
    "fptUserName": "dXNlcg==",
    "ftpPassword": "cGFzc3dvcmQ="
}
  • output

{
    "ret": 0
}

4.34.4 Open FTP server

IVY_CTRL_MSG_FTP_START_SERVER = 30057

  • supporting device
FI
  • output
ret return value N
  • Example

  • input


None
  • output

{
    "ret": 0
}

4.35 Setting up P2P

IVY_CTRL_MSG_SET_P2P_INFO = 30037

  • supporting device
FI
  • input
isEnable 0: off 1: on N FI
port port number N FI
  • output
ret return value N FI
  • Example

  • input


{
    "isEnable": 1,
    "port": 100
}
  • output

{
    "ret": 0
}

4.36 Get P2P

IVY_CTRL_MSG_GET_P2P_INFO = 30039

  • supporting device
FI FN II
  • output
ret return value N FI FN
isEnable 0: off 1: on N FI FN
uid uid S FI/II/IN/FN
port port number N FI FN
isP2PServer N FI
type N FN
  • Example

  • input


None
  • output

{
    "ret": 0,
    "isEnable": 1,
    "uid": "ABCDABCDABCDABCDABCDZZZZ",
    "port": 90,
    "isP2PServer": 0
}

4.36.1 Set the area of the device P2P connection distribution server

IVY_CTRL_MSG_SET_DEVICE_BIND_INFO = 26179

  • supporting device
FI II
  • input

Recommended if standardization=1 exists

standardization fixed to 1 N FI II
area Area 0: Domestic 1: Foreign (optional) N FI II
token string (optional) S FI II

If standardization does not exist, or standardization=0

channel channel number N II
language “EN” or “CN” S II
token string S II
  • output
ret return value N II
  • Example

  • input


{
    "standardization": 1,
    "area":0,
    "token":"AF12321313"
}

  • output

{
    "ret": 0
}

4.37 NVR hard disk error behavior setting

4.37.1 Set NVR hard disk loss behavior

IVY_CTRL_MSG_SET_ENABLE_BUZZER_HDD_LOST = 36043

  • supporting device
FN IN
  • input
Field name Meaning Field type FN IN
linkage linkage function N ×
standardization 1 must be 1 N
  • linkage definition
bit0 Ring
bit1 Send mail
bit2 Snap picture
bit3 Record
bit4 IO out
bit5 Snap to cloud
bit6 Record to cloud
bit7 Push message to the phone
bit8 Screen prompt
  • output
ret return value N
  • Example

  • input


{
    "enable": 0
}
  • output

{
    "ret": 0
}

4.37.2 Obtain NVR hard disk loss behavior settings

IVY_CTRL_MSG_GET_ENABLE_BUZZER_HDD_LOST = 36045

For the Foscam device, the previous input and output have not changed, so standardization does not matter for the Foscam device

  • supporting device
FN IN
  • input
Field name Meaning Field type FN IN
standardization 1 must be 1 N
  • output
Field name Meaning Field type FN IN
linkage linkage function N ×
  • linkage definition
bit0 Ring
bit1 Send mail
bit2 Snap picture
bit3 Record
bit4 IO out
bit5 Snap to cloud
bit6 Record to cloud
bit7 Push message to the phone
bit8 Screen prompt
  • Example

  • input


None
  • output

{
    "ret": 0,
    "enable": 0
}

4.37.3 Set NVR disk capacity full behavior

IVY_CTRL_MSG_SET_ENABLE_BUZZER_HDD_FULL = 36047

For the Foscam device, the previous input and output have not changed, so standardization does not matter for the Foscam device

  • supporting device
FN IN
  • input
Field name Meaning Field type FN IN
linkage linkage function N ×
capacity Capacity unit MB N ×
standardization 1 must be 1 N
  • linkage definition
bit0 Ring
bit1 Send mail
bit2 Snap picture
bit3 Record
bit4 IO out
bit5 Snap to cloud
bit6 Record to cloud
bit7 Push message to the phone
bit8 Screen prompt
  • output
Field name Meaning Field type FN IN
ret return value N
  • Example

  • input


{
    "linkage": 1
}
  • output

{
    "ret":0
}

4.37.4 Obtain NVR disk capacity full behavior

IVY_CTRL_MSG_GET_ENABLE_BUZZER_HDD_FULL = 36049

For the Foscam device, the previous input and output have not changed, so standardization does not matter for the Foscam device

  • supporting device
FN IN
  • input
Field name Meaning Field type FN IN
standardization 1 must be 1 N
  • output
Field name Meaning Field type FN IN
ret return value N
linkage linkage function N ×
capacity Capacity unit MB N ×
standardization 1 must be 1 N
  • linkage definition
bit0 Ring
bit1 Send mail
bit2 Snap picture
bit3 Record
bit4 IO out
bit5 Snap to cloud
bit6 Record to cloud
bit7 Push message to the phone
bit8 Screen prompt
  • Example

  • input


None
  • output

{
    "ret": 0,
    "enable": 0
}

4.37.5 Set NVR hard disk error behavior

IVY_CTRL_MSG_SET_ENABLE_BUZZER_HDD_ERROR = 36051

  • supporting device
FN IN
  • input
Field name Meaning Field type FN IN
linkage linkage function N ×
standardization 1 must be 1 N
  • linkage definition
bit0 Ring
bit1 Send mail
bit2 Snap picture
bit3 Record
bit4 IO out
bit5 Snap to cloud
bit6 Record to cloud
bit7 Push message to the phone
bit8 Screen prompt
  • output
Field name Meaning Field type FN IN
ret return value N
  • Example

  • input


{
    "linkage": 1
}
  • output

{
    "ret":0
}

4.37.6 Obtain NVR hard disk error behavior settings

IVY_CTRL_MSG_GET_ENABLE_BUZZER_HDD_ERROR = 36053

For the Foscam device, the previous input and output have not changed, so standardization does not matter for the Foscam device

  • supporting device
FN IN
  • input
Field name Meaning Field type FN IN
standardization 1 must be 1 N

none

  • linkage definition
bit0 Ring
bit1 Send mail
bit2 Snap picture
bit3 Record
bit4 IO out
bit5 Snap to cloud
bit6 Record to cloud
bit7 Push message to the phone
bit8 Screen prompt
  • output
Field name Meaning Field type FN IN
ret return value N
enable 0: Disable the buzzer 1: Enable the buzzer N ×
linkage linkage function N ×
standardization 1 must be 1 N
  • Example

  • input


None
  • output

{
    "ret":0,
    "linkage":1
}

4.38 Get WIFI channel

IVY_CTRL_MSG_GET_WIFI_CHANNEL = 36029

  • supporting device
FN
  • output
ret return value N
channel channel number N
enable N
  • Example

  • input


None
  • output

{
    "ret": 0,
    "channel": 0,
    "enable": 0
}

4.39 Set WIFI channel

IVY_CTRL_MSG_SET_WIFI_CHANNEL = 36031

  • supporting device
FN
  • input
enable N
channel N
  • output
ret return value N
  • Example

  • input


{
    "channel": 0,
    "enable": 0
}
  • output

{
    "ret": 0
}

4.40 Get whether smart recording is enabled

IVY_CTRL_MSG_GET_INTELLIGET_RECORD = 36033

  • supporting device
FN
  • output
ret return value N
enable 0:no 1:yes N
  • Example

  • input


None
  • output

{
    "ret": 0,
    "enable": 0
}

4.41 Set up smart recording

IVY_CTRL_MSG_SET_INTELLIGET_RECORD = 36035

  • supporting device
FN
  • input
enable 0:no 1:yes N
  • output
ret return value N
  • Example

  • input


{
    "enable": 0
}
  • output

{
    "ret": 0
}

4.42 Get the video capability set of IPC on the channel

IVY_CTRL_MSG_GET_STREAM_CAPABILITY = 36075

  • supporting device
FN
  • input
channel channel number N
type Stream type 0: Main stream 1: Sub-stream N
  • output
ability Json array S
ret return value N
  • ability json structure
resolution Supported resolutions S
frameRate Maximum frame rate N
bitRate maximum bit rate S
  • Example

  • input


{
    "channel": 0,
    "type": 0
}
  • output

{
    "ret": 0,
    "ability": [
    {
        "resolution": "1920x1080",
        "frameRate": 20,
        "bitRate": "512k"
    },
    {
        "resolution": "1080x720",
        "frameRate": 10,
        "bitRate": "512k"
    },
    {
        "resolution": "640x480",
        "frameRate": 30,
        "bitRate": "512k"
    },
        {
        "resolution": "640x360",
        "frameRate": 10,
        "bitRate": "512k"
    },
    {
        "resolution": "320x240",
        "frameRate": 20,
        "bitRate": "512k"
    }
    ]
}

4.43 Add device account

IVY_CTRL_MSG_ADD_ACCOUNT = 22019

  • supporting device
FI
  • input
name Username (base64 encoded) S
password Password (base64 encoded) S
privilege Privilege 0: Visitors 1: Operator 2: Administrator N
  • output
ret return value N
  • Example

  • input


{
    "name": "bmFtZQ==",
    "password": "cGFzc3dvcmQ=",
    "privilege": 0
}
  • output

{
    "ret": 0
}

4.44 Delete device account

IVY_CTRL_MSG_DEL_ACCOUNT = 22021

  • supporting device
FI
  • input
name Username (base64 encoded) S
  • output
ret return value N
  • Example

  • input


{
    "name": "bmFtZQ=="
}
  • output

{
    "ret": 0
}

4.45 Verify Aihua Yingtong algorithm license

IVY_CTRL_MSG_CHECK_AIWINN_LICENSE = 32065

  • supporting device
FI
  • output
ret Return value 0: success, -10: Failed, Need to rewrite the license N
  • Example

  • input


None
  • output

{
    "ret": 0
}

4.46 Query P2P TUTK to switch to Foscam status

IVY_CTRL_MSG_GET_P2P_TUTK_TO_FOSCAM_FLAG = 26141

  • supporting device
FI
  • output
ret return value N
flag 0: Switching is not supported 1: Switching is supported 2: Switched to FoscamP2P N
  • Example

  • input


None
  • output

{
    "ret": 0,
    "flag": 1
}

4.47 Switch TUTK P2P to Foscam

IVY_CTRL_MSG_SWITCH_P2P_TUTK_TO_FOSCAM = 26143

  • supporting device
FI
  • output
ret return value N
  • Example

  • input


None
  • output

{
    "ret": 0
}

4.48 Get 4G information

IVY_CTRL_MSG_GET_4G_INFO = 30062

  • supporting device
IVY 4G Equipment/Foscam 4G Equipment
  • output
ret return value N II FI
rssi rssi N
simType sim card type 1: Telecom 2: China Mobile 3: China Unicom N
signalLevel signal strength 0 - 5 N
IMEINumber IMEI S
ICCIDNumber ICCID S
IMSINumber IMSIN S
simNumber phone number S ×
state 0: no sim 1: sim inserted N ×
generation 0:UNKNOW 1:1G 2:2G 3:3G 4:4G N ×
  • Example

  • input


None
  • output

{
    "ret": 0,
    "rssi": 0,
    "simType": 2,
    "signalLevel": 5,
    "IMEINumber": "IMEIKSKFKKMWVN3141414KF",
    "ICCIDNumber": "ICCID124MFKSO2KFLDSF",
    "IMSINumber": "IMSIKFK91UHNSU10JS"
}

4.49 Get battery power

IVY_CTRL_MSG_GET_BPI_BATTERY_STATUS = 26059

  • supporting device
IVY
  • input
channel channel number N
  • output
ret return value N
quantity power value (0-100, if 30 means 30%, and so on) N
ischarge 0: Not charging 1: Charging N
  • Example

  • input


{
    "channel": 1
}
  • output

{
    "ret": 0,
    "quantity": 80,
    "ischarge": 1
}

4.50 Set the intercom volume (whether the device supports the reference capability set val2 bit11)

IVY_CTRL_MSG_SET_SPEAK_VOLUME = 24106

  • supporting device
FI
  • input
volume 0-100 N
  • output
ret return value N
  • Example

  • input


{
    "volume": 10
}
  • output

{
    "ret": 0
}

4.51 Get the intercom volume (whether the device supports the reference capability set val2 bit11)

IVY_CTRL_MSG_GET_SPEAK_VOLUME = 24108

  • supporting device
FI
  • output
ret return value N
volume 0-100 N
  • Example

  • input


None
  • output

{
    "ret": 0,
    "volume": 100
}

4.52 Set message, should only support Foscam doorbell

IVY_CTRL_MSG_SET_LEAVE_MESSAGE = 24110

  • supporting device
FI
  • output
enable 0: disable 1: enable N
msgType 0: Leave a message immediately 1: No one answers the message after 15s N
ringType 0: Default sound 1: Custom N
  • Example

  • input


{
    "enable": 1,
    "msgType": 0,
    "ringType": 1
}
  • output

{
    "ret": 0
}

4.53 Get message settings, should only support Foscam doorbell

IVY_CTRL_MSG_GET_LEAVE_MESSAGE = 24112

  • supporting device
FI
  • output
ret 0: Success 1: Failure N
enable 0: disable 1: enable N
msgType 0: Leave a message immediately 1: No one answers the message after 15s N
ringType 0: Default sound 1: Custom N
existDIYRing 0: Custom sound does not exist 1: Exists N
  • Example

  • input


None
  • output

{
    "ret": 0,
    "enable": 1,
    "msgType": 0,
    "ringType": 1
}

4.54 Set NVR video loss behavior

IVY_CTRL_MSG_SET_ENABLE_BUZZER_VIDEO_LOST = 36055

  • supporting device
FI IN
  • input
Field name Meaning Field type FN IN
channel channel N ×
linkage linkage function N ×
schedule time N ×
standardization 1 must be 1 N
  • linkage definition
bit0 Ring
bit1 Send mail
bit2 Snap picture
bit3 Record
bit4 IO out
bit5 Snap to cloud
bit6 Record to cloud
bit7 Push message to the phone
bit8 Screen prompt
  • Example

  • input


{
    "linkage": 1,
    "schedule": [12,123,123,123,123,123,123]
}
  • output

{
    "ret": 0
}

4.55 Get NVR video loss behavior

IVY_CTRL_MSG_GET_ENABLE_BUZZER_VIDEO_LOST = 36057

  • supporting device
FI IN
  • input
Field name Meaning Field type FN IN
channel channel N ×
standardization 1 must be 1 N
  • output
Field name Meaning Field type FN IN
ret return value N
linkage linkage function N ×
schedule time N ×
standardization 1 must be 1 N
  • linkage definition
bit0 Ring
bit1 Send mail
bit2 Snap picture
bit3 Record
bit4 IO out
bit5 Snap to cloud
bit6 Record to cloud
bit7 Push message to the phone
bit8 Screen prompt
  • Example

  • input


None
  • output

{
    "ret":0,
    "linkage": 1,
    "schedule": [12,123,123,123,123,123,123]
}

4.56 Set sleep status/switch/schedule time

IVY_CTRL_MSG_SET_SLEEP_CONFIG = 26151

  • Related capability sets
ability[3] bit1
  • supporting device
FI
  • input
Field name Meaning Field type FI
mode Mode 1: Manual sleep 2: Manual wake-up 3: schedule N
state state 0:sleep 1:wakeup N
schedule Planning time, long long type array, 7 elements, the format is the same as schedule of IVY_CTRL_MSG_SET_AUDIO_ALARM_CONFIG N
  • output
Field name Meaning Field type FI
ret return value N
  • Remark

If the mode is set to manual sleep (1) / manual wake (2), it does not matter if the state is set to any value. Only when mode is schedule, setting state to 1 will wake up the device in recording sleep mode, and the device will automatically sleep during the next sleep period.

  • Example

  • input


    {
        "model":1,
        "state":1,
        "schedule": [12,123,123,123,123,123,123]
    }

  • output

{
    "ret":0
}

4.57 Get sleep status/switch/scheduled time

IVY_CTRL_MSG_GET_SLEEP_CONFIG = 26153

  • Related capability sets
ability[3] bit1
  • supporting device
FI
  • input

None

  • output
Field name Meaning Field type FI
ret result N
mode Mode 1: Manual sleep 2: Manual wake-up 3: schedule N
state state 0:sleep 1:wakeup N
schedule Planning time, long long type array, 7 elements, the format is the same as schedule of IVY_CTRL_MSG_SET_AUDIO_ALARM_CONFIG N
  • Example

  • input


None

  • output

{
    "ret":0,
    "model":1,
    "state":0,
    "schedule": [12,123,123,123,123,123,123]
}

4.58 Set white light schedule time

IVY_CTRL_MSG_SET_WHITE_LIGTH_SCHEDULE = 26155

  • supporting device
FI
  • input
Field name Meaning Field type FI
enable 0: off 1: on N
schedule The planned time Json array contains 3 elements, each element contains the start and end time J

-Json format of schedule internal elements

Field name Meaning Field type FI
sHour Start hour N
eHour End hour N
sMin Start minute N
eMin End minute N
  • output
Field name Meaning Field type FI
ret return value N
  • Example

  • input


    {
        "enable":1,
        "schedule": [{
                "sHour":1,
                "eHour":2,
                "sMin":10,
                "eMin":11
            },
            {
                "sHour":1,
                "eHour":2,
                "sMin":10,
                "eMin":11,
            },
            {
                "sHour":1,
                "eHour":2,
                "sMin":10,
                "eMin":11,
            }]
    }

  • output

{
    "ret":0
}

4.59 Get the white light plan time

IVY_CTRL_MSG_GET_WHITE_LIGTH_SCHEDULE = 26157

  • supporting device
FI
  • input

None

  • output
Field name Meaning Field type FI
ret return value N
enable 0: off 1: on N
schedule The planned time Json array contains 3 elements, each element contains the start and end time J

-Json format of schedule internal elements

Field name Meaning Field type FI
sHour Start hour N
eHour End hour N
sMin Start minute N
eMin End minute N
  • Example

  • input


None
  • output

{
    "ret":0,
    "enable":1,
    "schedule": [{
        "sHour":1,
        "eHour":2,
        "sMin":10,
        "eMin":11
        },
        {
        "sHour":1,
        "eHour":2,
        "sMin":10,
        "eMin":11,
        },
        {
        "sHour":1,
        "eHour":2,
        "sMin":10,
        "eMin":11,
    }]
}

4.60 Set fill light (can be set according to the capability V1 bit28)

IVY_CTRL_MSG_SET_FILL_LIGHT_CONFIG = 26159

  • supporting device
II
  • input
Field name Meaning Field type
isEnable Master switch 1: on 0: off N
lightType Fill light type, expressed in bits (1 means on, 0 means off) N
  • lightType definition
Field name Meaning Field type
bit0 White light fill light N
  • Example

  • input


{
    "lightType":1,
    "isEnable":1
}
  • output

{
    "ret":0
}

4.61 Get fill light settings (can be based on capability set V1 bit28)

IVY_CTRL_MSG_GET_FILL_LIGHT_CONFIG = 26161

  • supporting device
II
  • input

None

  • output
Field name Meaning Field type
ret N
isEnable Master switch 1: on 0: off N
lightType Fill light type, expressed in bits (1 means on, 0 means off) N
  • lightType definition
Field name Meaning Field type
bit0 White light fill light N
  • Example

  • input


None
  • output

{
    "ret":0,
    "lightType":1,
    "isEnable":1
}

4.62 Set automatic full-color black and white mode (can be set to V3 bit8 or bit29 according to capabilities)

IVY_CTRL_MSG_SET_LIGHT_VISION_SWITCH_MODE_CONFIG = 26175

  • supporting device
IIFI
  • input
Field name Meaning Field type
channel channel number N
lightVisionMode Mode, expressed in bits, only one bit can be set at a time; if v3 bit29 is supported, all bits are supported to be 0, which means turning off all N
  • lightVisionMode definition
bit meaning
bit0 automatic mode
bit1 Full color night vision
bit2 infrared night vision
  • Example

  • input


{
    "channel":0,
    "lightVisionMode":1
}
  • output

{
    "ret":0
}

4.63 Obtain automatic full-color black and white mode (according to the capability set V3 bit8 or bit29)

IVY_CTRL_MSG_GET_LIGHT_VISION_SWITCH_MODE_CONFIG = 26177

  • supporting device
IIFI
  • input
Field name Meaning Field type
channel channel number N
  • output
Field name Meaning Field type
ret N
lightVisionMode Mode, expressed in bits, only one bit can be set at a time N
  • Example

  • input


{
    "channel":0,
}
  • output

{
    "ret":0,
    "lightVisionMode":1
}

4.64 Set up automatic answering of calls

IVY_CTRL_MSG_SET_AUTOMATICALLY_ANSWER = 26191

  • supporting device
II
  • input
Field name Meaning Field type
channel channel number N
enable 1: on 0: off N
  • output
Field name Meaning Field type
ret N
  • Remark

Depending on the model, if it is a two-way video camera, this command is supported.

  • Example

  • input


{
    "channel":0,
    "enable":1
}
  • output

{
    "ret":0
}

4.65 Get automatic call answering settings

IVY_CTRL_MSG_GET_AUTOMATICALLY_ANSWER = 26193

  • supporting device
II
  • input
Field name Meaning Field type
channel channel number N
  • output
Field name Meaning Field type
ret N
enable 1: on 0: off N
  • Remark

Depending on the model, if it is a two-way video camera, this command is supported.

  • Example

  • input


{
    "channel":0
}
  • output

{
    "ret":0"enable":1
}

4.66 Set the MAC and interval of the target object

IVY_CTRL_MSG_SET_AMBIENT_WEATHER_STATION_INFO = 30080

Use this command to set a MAC and time interval for the device, and the device will operate on the target MAC according to the specified time interval.

  • supporting device
II
  • input
Field name Meaning Field type
channel channel number N
macAddr mac address S
captureInterval Interval unit seconds N
  • output
Field name Meaning Field type
ret N
  • Example

  • input


{
    "channel":0,
    "macAddr":"ABCD123",
    "captureInterval":900
}
  • output

{
    "ret":0
}

4.67 Get and set the MAC and interval of the target object

IVY_CTRL_MSG_GET_AMBIENT_WEATHER_STATION_INFO = 30082

  • supporting device
II
  • input
Field name Meaning Field type
channel channel number N
  • output
Field name Meaning Field type
ret N
macAddr mac address S
captureInterval Interval unit seconds N
  • Example

  • input


{
    "channel":0
}
  • output

{
    "ret":0"macAddr":"ABCD123",
    "captureInterval":900
}

5 Alarm detection

5.1 Set sound alarm

IVY_CTRL_MSG_SET_AUDIO_ALARM_CONFIG = 32019

  • supporting device
FI
  • input
enable 0: off 1: on N
linkage linkage, bitwise representation N
sensitivity sensitivity 0: low 1: middle 2: high N
snapInterval snapshot interval N
triggerInterval trigger interval N
schedule Scheduled event, Json array, internal is 7 long long type data N
  • output
ret return value N
  • linkage
bit0 Ring
bit1 Send email
bit2 screenshot
bit3 video
  • Example

  • input


{
    "enable":1,
    "linkage":1,
    "sensitivity":2,
    "snapInterval":5,
    "triggerInterval":5,
    "schedule":[123456,123456,123456,123456,123456,0,0]
}

  • output

{
    "ret":0,
}

5.2 Get sound alarm

IVY_CTRL_MSG_GET_AUDIO_ALARM_CONFIG = 32021

  • supporting device
FI
  • output
ret return value N
enable 0: off 1: on N
linkage Same settings N
sensitivity Same setting N
snapInterval snapshot interval N
triggerInterval trigger interval N
schedule Same settings N
  • Example

  • input


None

  • output

{
    "ret":0,
    "enable":1,
    "linkage":1,
    "sensitivity":2,
    "snapInterval":5,
    "triggerInterval":5,
    "schedule":[123456,123456,123456,123456,123456,0,0]
}

5.3 Set humidity detection

IVY_CTRL_MSG_SET_HUMIDITY_ALARM_CONFIG = 32027

  • supporting device
FI
  • input
linkage linkage N
enable Whether to enable 0: off 1: on N
topLimit Maximum temperature N
lowerLimit minimum temperature N
snapInterval Snapshot interval N
triggerInterval trigger interval N
schedule scheduled events with sound alarm N
  • output
ret return value N
  • linkage
bit0 Ring
bit1 Send email
bit2 screenshot
bit3 video
bit7 Mobile push
  • Example

  • input


{
    "enable":1,
    "linkage":1,
    "topLimit":50,
    "lowerLimit":20,
    "snapInterval":5,
    "triggerInterval":5,
    "schedule":[123456,123456,123456,123456,123456,0,0]
}

  • output

{
    "ret":0
}

5.4 Get humidity detection

IVY_CTRL_MSG_GET_HUMIDITY_ALARM_CONFIG = 32029

  • supporting device
FI
  • output
ret return value N
linkage linkage and settings N
enable Whether to enable 0: off 1: on N
topLimit Maximum temperature N
lowerLimit minimum temperature N
snapInterval Snapshot interval N
triggerInterval trigger interval N
schedule scheduled events with sound alarm N
  • Example

  • input


None

  • output

{
    "ret":0,
    "enable":1,
    "linkage":1,
    "topLimit":50,
    "lowerLimit":20,
    "snapInterval":5,
    "triggerInterval":5,
    "schedule":[123456,123456,123456,123456,123456,0,0]
}

5.5 Set temperature detection

IVY_CTRL_MSG_SET_TEMPERATURE_ALARM_CONFIG = 32031

  • supporting device
FI
  • input
channel channel number N
linkage Linkage with humidity detection N
enable Whether to enable 0: off 1: on N
topLimit Maximum temperature N
lowerLimit minimum temperature N
snapInterval Snapshot interval N
triggerInterval trigger interval N
schedule scheduled events with sound alarm N
  • output
ret return value N
  • Example

  • input


{
    "enable":1,
    "linkage":1,
    "topLimit":50,
    "lowerLimit":20,
    "snapInterval":5,
    "triggerInterval":5,
    "schedule":[123456,123456,123456,123456,123456,0,0]
}

  • output

{
    "ret":0,
}

5.6 Get temperature detection

IVY_CTRL_MSG_GET_TEMPERATURE_ALARM_CONFIG = 32033

  • supporting device
FI
  • output
ret return value N
linkage Linkage with humidity detection N
enable Whether to enable 0: off 1: on N
topLimit Maximum temperature N
lowerLimit minimum temperature N
snapInterval Snapshot interval N
triggerInterval trigger interval N
schedule scheduled events with sound alarm N
  • Example

  • input


None
  • output

{
    "ret":0,
    "enable":1,
    "linkage":1,
    "topLimit":50,
    "lowerLimit":20,
    "snapInterval":5,
    "triggerInterval":5,
    "schedule":[123456,123456,123456,123456,123456,0,0]
}

5.7 Clear IO alarm output

IVY_CTRL_MSG_CLEAN_IO_ALARM_OUTPUT = 32035

  • supporting device
FI
  • output
ret return value N
  • Example

  • input


None
  • output

{
    "ret":0
}

5.8 Set IO alarm

IVY_CTRL_MSG_SET_IO_ALARM_CONFIG = 32023

  • supporting device
FI
  • input
enable Whether to enable 0: Disable 1: Enable N
linkage linkage, bitwise representation N
alarmLevel Alarm sensitivity 0: low 1: high N
snapInterval Snapshot interval N
triggerInterval trigger interval N
schedule Scheduled time and sound alarm N
  • output
ret return value N
  • linkage
bit0 ring
bit1 Send email
bit2 screenshot
bit3 video
  • Example

  • input


{
    "enable":1,
    "linkage":1,
    "alarmLevel":0,
    "snapInterval":10,
    "triggerInterval":10,
    "schedule":[281474976710655,281474976710655,281474976710655,281474976710655,281474976710655,281474976710655,281474976710655]
}
  • output

{
    "ret":0
}

5.9 Get IO alarm

IVY_CTRL_MSG_SET_IO_ALARM_CONFIG = 32023

  • supporting device
FI
  • output
ret return value N
enable Whether to enable 0: Disable 1: Enable N
linkage Linkage, bitwise representation is the same as setting N
alarmLevel Alarm sensitivity 0: low 1: high N
snapInterval Snapshot interval N
triggerInterval trigger interval N
schedule Scheduled time and sound alarm N
  • Example

  • input

None
  • output

{
    "ret":0,
    "enable":1,
    "linkage":1,
    "alarmLevel":0,
    "snapInterval":10,
    "triggerInterval":10,
    "schedule":[281474976710655,281474976710655,281474976710655,281474976710655,281474976710655,281474976710655,281474976710655]
}

5.10 Set one-click alarm

IVY_CTRL_MSG_SET_ONE_KEY_ALARM_CONFIG = 32037

  • supporting device
FI
  • input
enable Whether to enable 0: Disable 1: Enable N
alarmLinkage linkage, bitwise representation N
  • output
ret return value N
  • alarmLinkage
bit0 Motion detection
bit1 Sound detection
bit2 Io detection
bit3 Temperature detection
bit4 Humidity detection
  • Example

  • input

{
    "enable":1,
    "alarmLinkage":3
}
  • output

{
    "ret":0
}

5.11 Get one-click alarm

IVY_CTRL_MSG_GET_ONE_KEY_ALARM_CONFIG = 32039

  • supporting device
FI
  • output
ret return value N
enable Whether to enable 0: Disable 1: Enable N
alarmLinkage Linkage, expressed in bits, the same as setting N
  • Example

  • input

None
  • output

{
    "ret":0,
    "enable":1,
    "alarmLinkage":3
}

5.12 Set up motion detection

IVY_CTRL_MSG_SET_MOTION_DETECT_CONFIG = 24031

  • supporting device
FI FN II IN
  • input
channel channel number N A/H
enable Whether to enable 0: off 1: on N A/H
linkage linkage, expressed in bits N A/H
snapInterval trigger interval N A/H
alarmType Alarm type 0: motion detection 5: human body detection N FB
recordTime recording time N FB
ipcAlarmSound Whether to enable IPC sound alarm N FB
triggerInterval trigger interval N A/H
moveAlarmEnable Motion detection alarm switch 0: off 1: on N A/H
pirAlarmEnable pir detection switch 0: off 1: on N A/H
carAlarmEnable Vehicle detection switch 0: off 1: on N A/H
petAlarmEnable Pet detection switch 0: off 1: on N A/H
humanAlarmEnable Human detection switch 0: off 1: on N A/H
sensitivity sensitivity 0: low 1: normal 2: high 3: lower 4: lowest N H
schedule Scheduled time and sound alarm N A
area Regional settings, Json string S A/H
  • output
ret return value N
  • linkage
bit0 Ring A/H
bit1 Send email A/H
bit2 Screenshot A/H
bit3 video A
bit4 Io output A
bit5 Screenshots on the cloud A
bit6 Video recording on the cloud A
bit7 Mobile push A
bit8 White light linkage IVY equipment (reference capability set V4 BIT2)
  • area Ambar area Json
x N A
y N A
width N A
height N A
sensitivity N A
enable N A
  • area HiSilicon area Json
Json array, the content is a 32-bit integer value. The meaning of each integer value can be found in the “Foscam IPCamera CGI User Guide-Allplatforms” motion detection command explanation N H
  • Remark

Foscam NVR parameters

The model must be set. The SDK uses the model to determine the CGI used. anba and hisi use different CGI.
model can only be obtained from the event IVY_CTRL_MSG_ABILITY_CHG

channel channel number N A/H
model Equipment model on NVR channel N A/H
enable Whether to enable 0: off 1: on N A/H
linkage linkage, expressed in bits N A/H
snapInterval trigger interval N A
recordTime recording time N A/H
ipcAlarmSound Whether to enable IPC sound alarm N A/H
triggerInterval trigger interval N A/H
sensitivity sensitivity 0: low 1: normal 2: high 3: lower 4: lowest N A/H
schedule Scheduled time and sound alarm N A/H
area Regional settings, Json string S A/H
  • Example

  • input


//Foscam IPC
//Anba
{
"enable": 1,
"linkage": 9,
"snapInterval": 2,
"triggerInterval": 0,
"moveAlarmEnable": 1,
"pirAlarmEnable": 0,
"schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
],
"area": [
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 0
},
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 1
},
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 1
}
]
}


//Foscam IPC
//Hisi

{
    "enable": 1,
    "linkage": 9,
    "snapInterval": 2,
    "triggerInterval": 0,
    "moveAlarmEnable": 1,
    "pirAlarmEnable": 0,
    "sensitivity": 1,
    "schedule": [281474976710655, 281474976710655, 281474976710655, 281474976710655, 281474976710655, 281474976710655, 281474976710655 ],
    "area": [1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023]
}


// Foscam NVR
//Anba
{
    "channel": 0,
    "model":1023,
"enable": 1,
"linkage": 9,
"snapInterval": 2,
    "recordTime": 10,
    "ipcAlarmSound": 1,
"triggerInterval": 0,
"schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
],
"area": [
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 0
},
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 1
},
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 1
}
]
}


// Foscam NVR
// Hisi
{
    "channel": 0,
    "model":1023,
"enable": 1,
"linkage": 9,
    "recordTime": 10,
    "ipcAlarmSound": 1,
"triggerInterval": 0,
    "sensitivity": 1
"schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
],
"area": [1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023]
}

  • output

{
    "ret":0,
}

5.13 Get motion detection

IVY_CTRL_MSG_GET_MOTION_DETECT_CONFIG = 24033

  • supporting device
FI FN II IN
  • input
channel channel number N A/H
  • output
ret return value N
enable Whether to enable 0: off 1: on N
linkage Linkage, bit by bit means the same setting N
snapInterval trigger interval N
alarmType Alarm type 0: motion detection 5: human body detection N
recordTime recording time N
ipcAlarmSound Whether to enable IPC sound alarm N
triggerInterval trigger interval N
moveAlarmEnable Motion detection alarm switch 0: off 1: on N
pirAlarmEnable pir detection switch 0: off 1: on N
carAlarmEnable Vehicle detection switch 0: off 1: on N
petAlarmEnable Pet detection switch 0: off 1: on N
humanAlarmEnable Human detection switch 0: off 1: on N
sensitivity sensitivity 0: low 1: normal 2: high 3: lower 4: lowest N
schedule Scheduled time and sound alarm N
area Regional settings, Json strings are the same as settings S
  • Remark

Foscam NVR input

channel channel number N A/H
model model of IPC on channel N A/H

Foscam NVR output

channel channel number N A/H
enable Whether to enable 0: off 1: on N A/H
linkage linkage, expressed in bits N A/H
snapInterval trigger interval N A
recordTime recording time N A/H
ipcAlarmSound Whether to enable IPC sound alarm N A/H
triggerInterval trigger interval N A/H
sensitivity sensitivity 0: low 1: normal 2: high 3: lower 4: lowest N A/H
schedule Scheduled time and sound alarm N A/H
area Regional settings, Json string S A/H
  • linkage definition
bit0 None A/H
bit1 mail A/H
bit2 ftp A/H
bit3 record A/H
bit4 buzzer A/H
  • Example
  • input

// Foscam IPC / IVY IPC
None

// Foscam NVR / IVY NVR
{
    "channel": 1
}
  • output

//Foscam IPC
//Anba
{
"enable": 1,
"linkage": 9,
"snapInterval": 2,
"triggerInterval": 0,
"moveAlarmEnable": 1,
"pirAlarmEnable": 0,
"schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
],
"area": [
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 0
},
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 1
},
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 1
}
]
}


//Foscam IPC
//Hisi

{
    "enable": 1,
    "linkage": 9,
    "snapInterval": 2,
    "triggerInterval": 0,
    "moveAlarmEnable": 1,
    "pirAlarmEnable": 0,
    "sensitivity": 1,
    "schedule": [281474976710655, 281474976710655, 281474976710655, 281474976710655, 281474976710655, 281474976710655, 281474976710655 ],
    "area": [1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023]
}


// Foscam NVR
//Anba
{
    "model":1023,
"enable": 1,
"linkage": 9,
"snapInterval": 2,
    "recordTime": 10,
    "ipcAlarmSound": 1,
"triggerInterval": 0,
"schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
],
"area": [
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 0
},
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 1
},
{
"x": 100,
"y": 100,
"width": 100,
"height": 100,
"sensitivity": 1,
"enable": 1
}
]
}


// Foscam NVR
// Hisi
{
    "model":1023,
"enable": 1,
"linkage": 9,
    "recordTime": 10,
    "ipcAlarmSound": 1,
"triggerInterval": 0,
    "sensitivity": 1
"schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
],
"area": [1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023]
}

5.14 Set up humanoid detection

IVY_CTRL_MSG_SET_PEDESTRIAN_DECTECT_CONFIG = 32041

  • supporting device
FI/II
  • input
Field Meaning Type FI II
isEnable Whether to enable 0: off 1: on N
isTrackEnable 0: off 1: on N
sensitivity sensitivity 0: low 1: middle 2: high N
linkage linkage, expressed in bits N
snapInterval Snapshot interval N
triggerInterval trigger interval N
isDrawBox Whether to draw a frame 0:NO 1:YES N ×
schedule The planned date is the same as motion detection N ×
  • output
ret return value N
  • linkage
bit0 Ring
bit1 Send email
bit2 Screenshot
bit3 video
bit4 Io output
bit5 Screenshots uploaded to the cloud
bit6 Video recording on the cloud
bit7 Mobile push
  • Remark

For Foscam devices, IVY_CTRL_MSG_SET_PEDESTRIAN_DECTECT_CONFIG and IVY_CTRL_MSG_SET_MOTION_DETECT_CONFIG settings affect each other. The same parameter part of the two commands can also be obtained after one command is set by the other command. The regional setting of IVY_CTRL_MSG_SET_MOTION_DETECT_CONFIG is also for IVY_CTRL_MSG_SET_PEDESTRIAN_DECTECT_CONFIG, because IVY_CTRL_MSG_SET_PEDESTRIAN_DECTECT_CONFIG does not set the regional parameters

  • Example
  • input
{
    "isEnable":1,
"isTrackEnable": 1,
"sensitivity": 0,
    "linkage": 1,
    "snapInterval": 10,
"triggerInterval": 0
}
  • output

{
    "ret":0
}

5.15 Get humanoid detection

IVY_CTRL_MSG_GET_PEDESTRIAN_DECTECT_CONFIG = 32043

  • supporting device
FI/II
  • output

| ret | return value | N |

Field Meaning Type FI II
ret return value N
isEnable Whether to enable 0: off 1: on N
isTrackEnable 0: off 1: on N
sensitivity sensitivity 0: low 1: middle 2: high N
linkage linkage, expressed in bits N
snapInterval Snapshot interval N
triggerInterval trigger interval N
isDrawBox Whether to draw a frame 0:NO 1:YES N ×
schedule The planned date is the same as motion detection N ×
  • linkage
bit0 Ring
bit1 Send email
bit2 Screenshot
bit3 video
bit4 Io output
bit5 Screenshots uploaded to the cloud
bit6 Video recording on the cloud
bit7 Mobile push
  • Example

  • input

None
  • output

{
    "ret":0
    "isEnable":1,
"isTrackEnable": 1,
"sensitivity": 0,
    "linkage": 1,
    "snapInterval": 10,
"triggerInterval": 0
}

5.16 Set up human detection

IVY_CTRL_MSG_SET_HUMAN_ALARM_CONFIG = 32045

  • supporting device
FI
  • input
enable Whether to enable 0: Disable 1: Enable N
linkage linkage, bitwise representation N
snapInterval Snapshot interval N
sensitivity sensitivity N
settingType N
humanCountEnable N
humanNumber N
cameraAngle N
schedule Schedule time, with sound detection N
triggerInterval trigger interval N
isHumanBoxingEnable Whether to enable the human prompt box 0: off 1: on N
  • output
ret return value N
  • Example

  • input


{
    "enable":1,
"linkage": 1,
"snapInterval": 10,
    "sensitivity": 1,
    "settingType": 1,
"humanCountEnable": 1,
    "humanNumber": 1,
    "cameraAngle": 10,
    "schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
],
    "triggerInterval": 10,
    "isHumanBoxingEnable": 0
}
  • output

{
    "ret":0
}

5.17 Get human body detection

IVY_CTRL_MSG_GET_HUMAN_ALARM_CONFIG = 32047

  • supporting device
FI
  • output
ret return value N
enable Whether to enable 0: Disable 1: Enable N
linkage linkage, bitwise representation N
snapInterval Snapshot interval N
sensitivity sensitivity N
settingType N
humanCountEnable N
humanNumber N
cameraAngle N
schedule Schedule time, with sound detection N
triggerInterval trigger interval N
isHumanBoxingEnable Whether to enable the human prompt box 0: off 1: on N
  • Example

  • input


None
  • output

{
    "ret":0
    "enable":1,
"linkage": 1,
"snapInterval": 10,
    "sensitivity": 1,
    "settingType": 1,
"humanCountEnable": 1,
    "humanNumber": 1,
    "cameraAngle": 10,
    "schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
],
    "triggerInterval": 10,
    "isHumanBoxingEnable": 0
}

5.18 Get screenshot settings

IVY_CTRL_MSG_GET_SNAPSHOT_CONFIG = 24095

  • supporting device
FI
  • output
ret return value N FI
isEnable 0: Disable 1: Enable N FI
snapInterval Snapshot interval in seconds N FI
schedule Planning time, Json array N FI
snapQuality Screenshot quality low: 0 medium: 1 high: 2 N FI
saveLocation Save location 0: Do not save 1: SD 2: FTP 3: SD and Cloud N FI
isEnableFileName Whether the picture name can be specified 0: Enable 1: Disable N FI
fileName Picture name (BASE64 encoding) S FI
  • Example

  • input


None
  • output

{
    "ret":0,
    "isEnable":1,
"snapInterval": 10,
    "snapQuality": 1,
    "saveLocation": 1,
    "isEnableFileName": 1,
    "fileName": "ZmlsZW5hbWU=",
    "schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
]
}

5.19 Setting up screenshots

IVY_CTRL_MSG_SET_SNAPSHOT_CONFIG = 24097

  • supporting device
FI
  • input
isEnable 0: Disable 1: Enable N FI
snapInterval Snapshot interval in seconds N FI
schedule Planning time, Json array N FI
snapQuality Screenshot quality low: 0 medium: 1 high: 2 N FI
saveLocation Save location 0: Do not save 1: SD 2: FTP 3: SD and Cloud N FI
isEnableFileName Whether the picture name can be specified 0: Enable 1: Disable N FI
fileName Picture name (BASE64 encoding) S FI
  • output
ret return value N FI
  • Example

  • input


{
    "isEnable":1,
"snapInterval": 10,
    "snapQuality": 1,
    "saveLocation": 1,
    "isEnableFileName": 1,
    "fileName": "ZmlsZW5hbWU=",
    "schedule": [
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
]
}
  • output

{
    "ret":0
}

5.20 Set PC alarm

IVY_CTRL_MSG_SET_PC_AUDIO_ALARM_CONFIG = 32057

  • supporting device
FI
  • input
flag expressed in bits, bit0 motion detection bit1 sound detection N FI
  • output
ret return value N FI
  • Example

  • input


{
    "flag":1
}
  • output

{
    "ret":0
}

5.21 Get PC alarm configuration

IVY_CTRL_MSG_GET_PC_AUDIO_ALARM_CONFIG = 32059

  • supporting device
FI
  • output
ret return value N FI
flag expressed in bits, bit0 motion detection bit1 sound detection N FI
  • Example

  • input


None
  • output

{
    "ret":0,
    "flag":1
}

5.22 Set the HTTP URL. When the device triggers an alarm, the device can send some content to the location specified by the URL.

IVY_CTRL_MSG_SET_ALARM_HTTP_SERVER = 32061

  • supporting device
FI
  • input
alarmUrl URL (requires BASE64 encoding) S
mdLinkUrl URL (requires BASE64 encoding) S
sdLinkUrl URL (requires BASE64 encoding) S
humanLinkUrl URL (requires BASE64 encoding) S
bkLinkUrl URL (requires BASE64 encoding) S
faceLinkUrl URL (requires BASE64 encoding) S
  • output
ret return value N
  • Example

  • input


{
    "alarmUrl":"d3d3Lm15dXJsLmNvbQ=="
}
  • output

{
    "ret":0
}
  • Remark

Each field value can be empty, or if there is no field in Json, the SDK will default this field to be empty.
Different versions of Foscam devices behave inconsistently, with two behaviors:

  1. No matter what field is set, only alarmUrl will take effect.
  2. Different URLs take effect respectively. If a URL is empty, the device will execute the alarmUrl field by default.

Two ways of judging behavior:
It can be judged based on the response to the corresponding command. If there is only alarmUrl, the device will behave in the first way, otherwise it will behave in the second way.

5.23 Get HTTP URL

IVY_CTRL_MSG_GET_ALARM_HTTP_SERVER = 32063

  • supporting device
FI
  • input

None

  • output
ret return value N
alarmUrl URL (requires BASE64 decoding) S
mdLinkUrl URL (requires BASE64 decoding) S
sdLinkUrl URL (requires BASE64 decoding) S
humanLinkUrl URL (requires BASE64 decoding) S
bkLinkUrl URL (requires BASE64 decoding) S
faceLinkUrl URL (requires BASE64 decoding) S
  • Example

  • input


None
  • output

{
    "ret":0,
    "alarmUrl":"d3d3Lm15dXJsLmNvbQ=="
}
  • Remark

Not every field must exist.

The SDK base64-encodes the data once after getting it from the bottom layer. However, since the correct data obtained directly from the bottom layer is also base64-encoded, to get the real URL, the application needs to base64-decode it twice after getting the data. There are some problems with this operation, but since the SDK is already in use, it will not be modified for the time being.

5.24 Set alarm sound size (V3 bit6)

IVY_CTRL_MSG_SET_BEE_VOLUME = 32075

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
volume Volume size 0-100 N
  • output
ret return value N
  • Example

  • input


{
    "volume": 98
}
  • output

{
    "ret":0
}
  • Remark

This alarm volume is separate and different from the intercom volume.

5.25 Get the alarm sound size (V3 bit6)

IVY_CTRL_MSG_GET_BEE_VOLUME = 32077

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
  • output
ret return value N
volume Volume size 0-100 N
  • Example

  • input


None
  • output

{
    "ret":0,
    "volume": 98
}
  • Remark

This alarm volume is separate and different from the intercom volume.

5.26 Set PIR detection (V1 bit19)

IVY_CTRL_MSG_SET_PIR_ALARM_CONFIG = 32071

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
isPirEnable PIR detection switch 0: off 1: on N
sensitivity Sensitivity 0:low,1:medium,2:High N
isHumanFilter Humanoid filter switch 0: off 1: on N
isLingerDetetctEnable Linger detection switch 0: off 1: on N
lingerTime linger time unit second N
  • output
ret return value N
  • Example

  • input


{
    "isPirEnable": 1,
    "sensitivity": 1,
    "isHumanFilter": 1,
    "isLingerDetetctEnable": 1,
    "lingerTime": 10
}
  • output

{
    "ret":0
}

5.27 Get PIR detection (V1 bit19)

IVY_CTRL_MSG_GET_PIR_ALARM_CONFIG = 32073

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
  • output
ret return value N
isPirEnable PIR detection switch 0: off 1: on N
sensitivity Sensitivity 0:low,1:medium,2:High N
isHumanFilter Humanoid filter switch 0: off 1: on N
isLingerDetetctEnable Linger detection switch 0: off 1: on N
lingerTime linger time unit second N
  • Example

  • input


None
  • output

{
    "ret":0,
    "isPirEnable": 1,
    "sensitivity": 1,
    "isHumanFilter": 1,
    "isLingerDetetctEnable": 1,
    "lingerTime": 10
}

5.28 Set SIREN alarm settings

IVY_CTRL_MSG_SET_SIREN_KEY_CALL_CONFIG = 32079

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
isEnable 1: on 0: off N
  • output
ret return value N
  • Example

  • input


{
    "isEnable":0
}
  • output

{
    "ret":0
}

5.29 Get SIREN alarm settings

IVY_CTRL_MSG_GET_SIREN_KEY_CALL_CONFIG = 32081

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
  • output
ret return value N
isEnable 1: on 0: off N
  • Example

  • input


{
    "channel":0
}
  • output

{
    "ret":0     ,
    "isEnable":0    
}

5.30 Set SIREN alarm linkage

IVY_CTRL_MSG_SET_SIREN_LINKAGE_CONFIG = 32083

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
isEnable 1: on 0: off N
  • output
ret return value N
  • Example

  • input


{
    "channel":0,
    "isEnable":0
}
  • output

{
    "ret":0    
}

5.31 Obtain SIREN linkage configuration

IVY_CTRL_MSG_GET_SIREN_LINKAGE_CONFIG = 32085

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
  • output
ret return value N
isEnable 1: on 0: off N
  • Example

  • input


{
    "channel":0
}
  • output

{
    "ret":0     ,
    "isEnable":0    
}

5.32 Set motor vehicle detection alarm configuration

IVY_CTRL_MSG_SET_MOTOR_VEHICLE_ALARM_CONFIG = 32091

  • supporting device
II FI
  • input
Parameters Meaning Type II FI
channel Channel number, if it is IPC, you can leave it blank N
isEnable Whether to enable N
linkage linkage N ×
trackEnable Tracking enabled N ×
snapInterval Snapshot interval unit sec N ×
sensitivity sensitivity N ×
triggerInterval Trigger interval unit sec N ×
  • output
ret return value N
  • linkage
bit0 ring
bit1 send mail
bit2 snap picture
bit3 record

-sensitivity

0 low
1 normal
2 high
3 lower
4 lowest
  • Example

  • input


{
    "channel":0"isEnable":1
}
  • output

{
    "ret":0    
}

5.33 Obtain motor vehicle detection and alarm configuration

IVY_CTRL_MSG_GET_MOTOR_VEHICLE_ALARM_CONFIG = 32093

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
  • output
Parameters Meaning Type II FI
ret 0 success other failure N
channel Channel number, if it is IPC, you can leave it blank N
isEnable Whether to enable N
linkage linkage N ×
trackEnable Tracking enabled N ×
snapInterval Snapshot interval unit sec N ×
sensitivity sensitivity N ×
triggerInterval trigger interval unit sec N ×
  • Example

  • input


{
    "channel":0
}
  • output

{
    "ret":0     ,
    "isEnable":1
}

5.34 Set non-motor vehicle detection alarm configuration

IVY_CTRL_MSG_SET_NON_MOTOR_VEHICLE_ALARM_CONFIG = 32095

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
isEnable Whether to enable N
  • output
ret return value N
  • Example

  • input


{
    "channel":0"isEnable":1
}
  • output

{
    "ret":0    
}

5.35 Obtain non-motor vehicle detection alarm configuration

IVY_CTRL_MSG_GET_NON_MOTOR_VEHICLE_ALARM_CONFIG = 32097

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
  • output
ret return value N
isEnable Whether to enable N
  • Example

  • input


{
    "channel":0
}
  • output

{
    "ret":0     ,
    "isEnable":1
}

5.36 Set face detection alarm configuration

IVY_CTRL_MSG_SET_FACE_DETECT_ALARM_CONFIG = 32099

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
isEnable Whether to enable N
  • output
ret return value N
  • Example

  • input


{
    "channel":0"isEnable":1
}
  • output

{
    "ret":0    
}

5.37 Get face detection alarm configuration

IVY_CTRL_MSG_GET_FACE_DETECT_ALARM_CONFIG = 32101

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank N
  • output
ret return value N
isEnable Whether to enable N
  • Example

  • input


{
    "channel":0
}
  • output

{
    "ret":0     ,
    "isEnable":1
}

5.38 Set up human tracking (V2 BIT28)

IVY_CTRL_MSG_SET_HUMAN_TRACKING_CONFIG = 32107

  • supporting device
FI II
  • input
enable 1: on 0: off N
  • output
ret return value N
  • Example

  • input


{
    "enable":1
}
  • output

{
    "ret":0    
}

5.39 Get humanoid tracking (V2 BIT28)

IVY_CTRL_MSG_GET_HUMAN_TRACKING_CONFIG = 32109

  • supporting device
FI II
  • input

NONE

  • output
ret return value N
enable 1: on 0: off N
  • Example

  • input


none
  • output

{
    "ret":0,
    "enable":1
}

5.40 Set up mobile tracking (V4 BIT8)

IVY_CTRL_MSG_SET_DYNAMIC_TRACK_CONFIG = 32067

  • supporting device
II
  • input
isEnable 1: on 0: off N
  • output
ret return value N
  • Example

  • input


{
    "isEnable":1
}
  • output

{
    "ret":0
}

5.41 Get mobile tracking (V4 BIT8)

IVY_CTRL_MSG_GET_DYNAMIC_TRACK_CONFIG = 32069

  • supporting device
II
  • input

None

  • output
ret return value N
isEnable 1: on 0: off N
  • Example

  • input


none
  • output

{
    "ret":0,
    "isEnable":1
}

5.42 Set up device intelligent detection (V4 BIT11)

IVY_CTRL_MSG_SET_INTELLIGENT_DETECT_CONFIG = 32111

  • supporting device
II
  • input
channel channel number N
enableType bit0: humanoid detection; bit1: vehicle detection; bit2: illegal parking detection; bit3: area detection; bit4: cross-border detection; bit5: occlusion detection N
  • output
ret return value N
  • Example

  • input


{
    "channel":0,
    "enableType":1
}
  • output

{
    "ret":0
}

5.43 Get device intelligent detection (V4 BIT11)

IVY_CTRL_MSG_GET_INTELLIGENT_DETECT_CONFIG = 32113

  • supporting device
II
  • input

none

  • output
ret return value N
enableType bit0: humanoid detection; bit1: vehicle detection; bit2: illegal parking detection; bit3: area detection; bit4: cross-border detection; bit5: occlusion detection N
  • Example

  • input


none
  • output

{
    "ret":0,
    "channel":0,
    "enableType":1
}

5.44 Set cross-line detection (V4 BIT11)

IVY_CTRL_MSG_SET_CROSSLINE_DETECT_CONFIG = 32115

  • supporting device
II
  • input
channel channel number N
x0 x-axis coordinate of endpoint A N
y0 y-axis coordinate of endpoint A N
x1 x-axis coordinate of endpoint B N
y1 y-axis coordinate of end point B N
direction Direction: 0-forward and reverse, 1-reverse, 2-bidirectional N
  • output
ret return value N
  • Example

  • input


{
    "channel":0,
    "x0":1,
    "y0":100,
    "x1":121,
    "y1":63,
    "direction":2
}
  • output

{
    "ret":0
}

5.45 Get cross-line detection (V4 BIT11)

IVY_CTRL_MSG_GET_CROSSLINE_DETECT_CONFIG = 32117

  • supporting device
II
  • input
channel channel number N
  • output
ret return value N
  • Example

  • input


{
    "channel":0
}
  • output

{
    "ret":0"x0":1,
    "y0":100,
    "x1":121,
    "y1":63,
    "direction":2
}

6 Cloud recording/SD card recording

6.1 Set whether device recording (SD card recording) contains audio (not supported yet)

IVY_CTRL_MSG_SET_RECORD_HAS_AUDIO = 28029

  • supporting device
FI
  • input
enable 0: No audio 1: With audio N
  • output
ret return value N
  • Example

  • input


{
    "enable":0
}

  • output

{
    "ret":0
}

6.1 Get whether the device recording (SD card recording) contains audio (not supported yet)

IVY_CTRL_MSG_GET_RECORD_HAS_AUDIO = 28031

  • supporting device
FI
  • output
ret return value N
enable 0: No audio 1: With audio N
  • Example

  • input


None

  • output

{
    "ret":0,
    "enable":0
}

6.2 Set recording (SD card recording/cloud recording) mode

IVY_CTRL_MSG_SET_RECORD_MODE = 28033

  • supporting device
FI
  • input
mode mode 0 / 1 N
duration unit second, video length, for mode is 1 N
maxDuration unit second, video length, for mode 2 N
  • output
ret return value N

-mode

0 As long as there is an alarm, the recording will be continued until there is no recording position; but the maximum length is limited by maxDuration
1 Fixed duration, the length is specified by duration
  • Example

  • input


{
    "mode":0,
    "duration":30,
    "maxDuration":30
}

  • output

{
    "ret":0
}

6.3 Obtain video (SD card recording/cloud recording) mode

IVY_CTRL_MSG_GET_RECORD_MODE = 28035

  • supporting device
FI
  • output
ret return value N
mode Mode is the same as setting N
duration unit second, video length, for mode is 1 N
maxDuration unit second, video length, for mode 2 N
  • Example

  • input


None
  • output

{
    "ret":0,
    "mode":0,
    "duration":30,
    "maxDuration":30
}

6.4 Set the video storage location

IVY_CTRL_MSG_SET_RECORD_STORE_LOCATION = 28037

  • supporting device
FI
  • input
location Storage location 0: none 1: SD 2: FTP 3: SD and Cloud N
addr If the address is FTP, you need to fill in the FTP address. If not, ignore this parameter (not supported yet) S
  • output
ret return value N
  • Example

  • input


{
    "location":3,
    "addr":""
}
  • output

{
    "ret":0,
}

6.5 Get the video storage location

IVY_CTRL_MSG_GET_RECORD_STORE_LOCATION = 28039

  • supporting device
FI
  • output
ret return value N
location Storage location 0: none 1: SD 2: FTP 3: SD and Cloud N
addr If the address is FTP, you need to fill in the FTP address. If not, ignore this parameter (not supported yet) S
  • Example

  • input


None
  • output

{
    "ret":0,
    "location":3,
    "addr":""
}

6.6 Get SD card information

IVY_CTRL_MSG_GET_SD_CARD_INFO = 26037

  • supporting device
FI II
  • output
ret return value N FI II
isExist Whether the SD card exists, 0: does not exist 1: exists N FI II
freeSpace 64-bit unsigned data, remaining space, unit byte N FI II
totalSpace 64-bit unsigned data, total space, unit byte N FI II
sdFormatError 0: Normal other values: error N FI
status 0: Normal 1: There is an error. For APP, whether to display this item depends on the capability set V4 BIT3 N II
  • Example

  • input


None
  • output

{
    "ret":0,
    "isExist":1,
    "freeSpace":193029,
    "totalSpace":2049202
}

6.7 Get the alarm recording duration setting

IVY_CTRL_MSG_GET_ALARM_TIME_CONFIG = 32049

  • supporting device
FI II
  • output
Field Meaning Type FI II
ret return value N
isEnablePreRecord Whether to enable pre-recording N
preRecordSecs Pre-recording time, unit seconds N
recordSecs Recording time N
  • Example

  • input


None
  • output

{
    "ret":0,
    "isEnablePreRecord":1,
    "preRecordSecs":30,
    "recordSecs":30
}

6.8 Set alarm recording duration

IVY_CTRL_MSG_SET_ALARM_TIME_CONFIG = 32051

  • supporting device
FI II
  • input
Field Meaning Type FI II
isEnablePreRecord Whether to enable pre-recording N
preRecordSecs Pre-recording time, unit seconds N
recordSecs Recording time, if it is an IVY device, 0 means dynamic duration (it takes effect only when the capability set VAL3 bit28 is supported) N
  • output
ret return value N FI
  • Example

  • input


{
    "isEnablePreRecord":1,
    "preRecordSecs":30,
    "recordSecs":30
}
  • output

{
    "ret":0
}

6.9 Get the alarm local recording duration

IVY_CTRL_MSG_GET_LOCAL_ALARM_TIME_CONFIG = 32053

  • supporting device
FI
  • output
ret return value N FI
isEnable Whether to enable local recording N FI
recordSecs recording time N FI
  • Example

  • input


None
  • output

{
    "isEnable":0,
    "recordSecs":20,
    "ret":0
}

6.10 Set alarm local recording duration

IVY_CTRL_MSG_SET_LOCAL_ALRAM_TIME_CONFIG = 32055

  • supporting device
FI
  • input
isEnable Whether to enable local recording N FI
recordSecs recording time N FI
  • output
ret return value N FI
  • Example

  • input


{
    "isEnable":0,
    "recordSecs":20
}
  • output

{
    "ret":0
}

6.11 Get the planned recording configuration (FI: only supports SD/FTP recording)

IVY_CTRL_MSG_GET_SCHEDULE_RECORD_CONFIG = 28049

  • supporting device
FI FN IF
  • input
channel channel number N FN IF
  • output
ret return value N FI FN IF
isEnable Whether to enable scheduled recording 0: off 1: on N FI FN IF
recordLevel Recording level? N FI
spaceFullMode Video processing mode after space is full 0: Overwrite 1: Stop N FI
isEnableAudio 0: Does not contain audio 1: Contains audio N FI
schedule Planned time Json array N FI FN IF
streamType Video stream type 0: Main stream 1: Sub stream N FI
  • Example

  • input


None
  • output

{
    "isEnable":1,
    "recordLevel":1,
    "spaceFullMode":0,
    "isEnableAudio":0,
    "schedule": [
            281474976710655,
            281474976710655,
            281474976710655,
            281474976710655,
            281474976710655,
            281474976710655,
            281474976710655
        ]
    "streamType":0,
    "ret":0
}

6.12 Set scheduled recording (only supports SD/FTP recording)

IVY_CTRL_MSG_SET_SCHEDULE_RECORD_CONFIG = 28051

  • supporting device
FI/FN/IF
  • input
isEnable Whether to enable scheduled recording 0: off 1: on N FI FN IF
recordLevel Recording level N FI
spaceFullMode Video processing mode after space is full 0: Overwrite 1: Stop N FI
isEnableAudio 0: Does not contain audio 1: Contains audio N FI
schedule Planned time Json array N FI FN IF
streamType Video stream type 0: Main stream 1: Sub stream N FI
channel channel number N FN IF
  • output
ret return value N FI FN IF
  • Remark

If it is Foscam IPC, the model range is between 3000-4000, open interval, recordLevel is 2, otherwise recordLevel is 0

  • Example

  • input


{
    "isEnable":1,
    "recordLevel":1,
    "spaceFullMode":0,
    "isEnableAudio":0,
    "schedule": [
            281474976710655,
            281474976710655,
            281474976710655,
            281474976710655,
            281474976710655,
            281474976710655,
            281474976710655
        ]
    "streamType":0
}
  • output

{
    "ret":0
}

6.13 Set whether cloud recording/SD card alarm recording contains audio

IVY_CTRL_MSG_SET_CLOUD_AND_SD_ALARM_RECORD_HAS_AUDIO = 26163

  • supporting device
FI
  • input
enable 0: No audio 1: With audio N
  • output
ret return value N
  • Example

  • input


{
    "enable":0
}

  • output

{
    "ret":0
}

6.14 Get whether the cloud video/SD card alarm video contains audio

IVY_CTRL_MSG_GET_CLOUD_AND_SD_ALARM_RECORD_HAS_AUDIO = 26165

  • supporting device
FI
  • output
ret return value N
enable 0: No audio 1: With audio N
  • Example

  • input


None

  • output

{
    "ret":0,
    "enable":0
}

6.15 Get the date of SD card recording in a certain month

IVY_CTRL_MSG_GET_RECORD_DAYS_FOR_MONTH = 28057

  • supporting device
II
  • input
channel channel number N
year current year N
month month N
  • output
ret return value N
days bit0 - bit30 means day 1-31. If there is a video, the corresponding bit is 1 N
  • Example

  • input


{
    "channel":0,
    "year":2022,
    "month":1
}

  • output

{
    "ret":0,
    "days":2
}

6.16 Format SD card

IVY_CTRL_MSG_SD_CARD_FORMAT = 26039

  • supporting device
II
  • input
channel channel number N
  • output
ret The return value, if it is -21, means formatting is in progress and the last formatted result needs to be obtained from the event (IVY_CTRL_MSG_SDCARD_FORMAT_RESULT_CHG=42063) N
  • Example

  • input


{
    "channel":0
}

  • output

{
    "ret":-21
}

6.17 Set SD card video stream

IVY_CTRL_MSG_SET_RECODE_STREAM_TYPE = 28063

  • supporting device
II
  • input
channel channel number N
streamType 0: Main stream 1: Sub stream N
  • output
ret return value N
  • Example

  • input


{
    "channel":0"streamType":0
}

  • output

{
    "ret":0
}

6.18 Get SD card video stream

IVY_CTRL_MSG_GET_RECODE_STREAM_TYPE = 28065

  • supporting device
II
  • input
channel channel number N
  • output
ret return value N
streamType 0: Main stream 1: Sub stream N
  • Example

  • input


{
    "channel":0
}

  • output

{
    "ret":0.
    "streamType":0
}

7 Cloud platform related

7.1 Activate third-party company algorithms in the device

IVY_CTRL_MSG_SET_ENABLE_ALGORITHM = 28041

  • supporting device
FI
  • input
license Authorization code, which needs to be obtained from the cloud platform S
  • output
ret return value N
  • Example

  • input


{
    "license":"12FDADA32FDASFD121FDA"
}
  • output

{
    "ret":0
}

7.2 Obtain the algorithm license of the third-party company in the device

IVY_CTRL_MSG_GET_ENABLE_ALGORITHM = 28043

  • supporting device
FI
  • output
ret return value N
license authorization code S
  • Example

  • input


None
  • output

{
    "ret":0,
    "license":"12FDADA32FDASFD121FDA"
}

7.3 Set RTMP

IVY_CTRL_MSG_SET_RTMP_CONFIG = 34027

  • supporting device
FI FB
  • input
isEnable 0: off 1: on N
iProperty Default is 1 N
isEnableAudio 0: off 1: on N
isMainStream 0: Sub-stream 1: Main stream N
szStreamId S
szPublishToken S
szGuid S
szDevId S
szAccessToken S
szPortal S
szSecurityPortal S
channelSvrNum N FB
channelSvrEnableBits N FB
  • output
ret return value N
  • Example

  • input


{
    "isEnable":1,
    "iProperty":1,
    "isEnableAudio":1,
    "isMainStream":1,
    "szStreamId":"AFDVE34312222222222222222222",
    "szPublishToken":"1039IKGSSO3K",
    "szGuid":"93005LFKOEMFO35SVGS",
    "szDevId":"123FSF5FDSLFK3GDV112VGS",
    "szAccessToken":"MDMIO3L2GKLLS",
    "szPortal":"HTTP://WWW.TEST.COM",
    "szSecurityPortal":"https://www.test.com"
}
  • output

{
    "ret":0
}

7.4 Get RTMP

IVY_CTRL_MSG_GET_RTMP_CONFIG = 34029

  • supporting device
FI FB
  • output
ret return value N
isEnable 0: off 1: on N
iProperty Default is 1 N
isEnableAudio 0: off 1: on N
isMainStream 0: Sub-stream 1: Main stream N
szStreamId S
szPublishToken S
szGuid S
szDevId S
szAccessToken S
szPortal S
szSecurityPortal S
channelSvrNum N
channelSvrEnableBits N
  • Example

  • input


None
  • output

{
    "ret":0,
    "isEnable":1,
    "iProperty":1,
    "isEnableAudio":1,
    "isMainStream":1,
    "szStreamId":"AFDVE34312222222222222222222",
    "szPublishToken":"1039IKGSSO3K",
    "szGuid":"93005LFKOEMFO35SVGS",
    "szDevId":"123FSF5FDSLFK3GDV112VGS",
    "szAccessToken":"MDMIO3L2GKLLS",
    "szPortal":"HTTP://WWW.TEST.COM",
    "szSecurityPortal":"https://www.test.com"
}

7.5 Set up push

IVY_CTRL_MSG_SET_PUSH_CONFIG = 34019

  • supporting device
FI FB II
  • input
channel channel number N II/FI/FB
isEnable 0: off 1: on N II/FI/FB
pushServer 1:baidu 255:foscam N II/FI/FB
port Less than 0: close fos config Greater than or equal to 0: enable fos config N II/FI/FB
richMediaEnable 0: off 1: on N II/FI/FB
richMediaType Default value 1 N II/FI/FB
fosTag S II/FI/FB
server S II/FI/FB
securityServer S FI/FB
securityPort S FI/FB
supportRichMedia Whether to support rich media 0: Not supported 1: Supported N FI
  • output
ret return value N
  • Equipment fields should be filled in
bool isUseSecurity = request cloud platform();
bool supportRichMedia = request cloud platform();

//II
Json = {
    "channel":...,
    "isEnable":...,
    "pushServer":...,
    "port":...,
    "richMediaEnable":...,
    "richMediaType":...,
    "fosTag":...,
    "server":...,
    "securityServer":...,
    "securityPort":...

}

// FI
if (supportRichMedia == 1)
{
    if(isUseSecurity)
    {
        Json = {
        "isEnable":...,
        "pushServer":...,
        "port":...,
        "richMediaEnable":...,
        "richMediaType":...,
        "fosTag":...,
        "server":...,
        "securityServer":...,
        "securityPort":...
        "supportRichMedia":1
        }
    }
    else
    {
        Json = {
            "isEnable":...,
            "pushServer":...,
            "port":...,
            "richMediaEnable":...,
            "richMediaType":...,
            "fosTag":...,
            "server":...,
            "supportRichMedia":1
        }
    }
}
else
{
    if(isUseSecurity)
    {
        Json = {
        "isEnable":...,
        "pushServer":...,
        "port":...,
        "fosTag":...,
        "server":...,
        "securityServer":...,
        "securityPort":...
        "supportRichMedia":0
        }
    }
    else
    {
        Json = {
            "isEnable":...,
            "pushServer":...,
            "port":...,
            "fosTag":...,
            "server":...,
            "supportRichMedia":0
        }
    }    
}

7.6 Get push

IVY_CTRL_MSG_GET_PUSH_CONFIG = 34021

  • supporting device
FI FB II
  • input
channel channel number N
  • output
ret return value N
isEnable 0: off 1: on N
pushServer 1:baidu 255:foscam N
port < 0: Disable fos config > = 0: Enable fos config N
richMediaEnable 0: off 1: on N
richMediaType Default value 1 N
fosTag S
server S
securityServer S
securityPort S

7.7 Set up cloud configuration

IVY_CTRL_MSG_SET_CLOUD_CONFIG = 34023

  • supporting device
FI
  • input
token S
isEnable This value can be obtained from IVY_CTRL_MSG_DROPBOX_GET_CLOUD_CONFIG. The SDK does not implement the corresponding IVY_CTRL_MSG_GET_CLOUD_CONFIG. This is not a necessary field. If there is no isEnable, it means setting up and two-way authentication. If there is isEnable, it means setting up two-way authentication and setting the dropbox switch N
  • output
ret return value N
  • Example

  • input


{
    "token":"AWL14MSMFL23AFKDKFK",
    "isEnable":1
}
  • output

{
    "ret":0
}

7.8 Get cloud configuration

IVY_CTRL_MSG_GET_CLOUD_CONFIG = 34025

  • supporting device
FI
  • output
ret return value N
szSubToken S
  • Example

  • input


None
  • output

{
    "ret":0,
    "szSubToken":"AWL14MSMFL23AFKDKFK"
}

7.9 alexa

7.9.1 Set alexa enabled status

IVY_CTRL_MSG_SET_ALEXA_ENABLE = 34031

  • supporting device
FI II
  • input
enable 0: off 1: on N
  • output
ret return value N
  • Example

  • input


{
    "enable":0
}
  • output

{
    "ret":0
}

7.9.2 Get alexa enabled status

IVY_CTRL_MSG_GET_ALEXA_ENABLE = 34033

  • supporting device
FI II
  • output
ret return value N
enable 0: off 1: on N
  • Example

  • input


None
  • output

{
    "ret":0,
    "enable":0
}

7.9.3 alexa sleep

IVY_CTRL_MSG_SET_ALEXA_SLEEP = 34035

  • supporting device
FI II
  • output
ret return value N
  • Example

  • input


None
  • output

{
    "ret":0,
}

7.9.4 Set alexa server address

IVY_CTRL_MSG_SET_ALEXA_SERVER = 34037

  • supporting device
FI II
  • input
server address S
port N
securityServer Two-way authentication address S
securityPort Two-way authentication port N
alexaTag S
  • output
ret return value N
  • Example

  • input

{
    "server":"http://www.test.com",
    "port":88,
    "securityServer":"https://www.test1.com",
    "securityPort":443,
    "alexaTag":"LSKFKLTEWV211231"
}

  • output

{
    "ret":0
}

7.9.5 Get alexa server address

IVY_CTRL_MSG_GET_ALEXA_SERVER = 34039

  • supporting device
FI II
  • output
ret return value N
server address S
port N
securityServer Two-way authentication address S
securityPort Two-way authentication port N
alexaTag S
  • Example

  • input


None
  • output

{
    "ret":0,
    "server":"http://www.test.com",
    "port":88,
    "securityServer":"https://www.test1.com",
    "securityPort":443,
    "alexaTag":"LSKFKLTEWV211231"
}

7.9.6 Wake up alexa

IVY_CTRL_MSG_SET_ALEXA_WAKEUP = 34041

  • supporting device
FI II
  • output
ret return value N
  • Example

  • input


None
  • output

{
    "ret":0
}

7.9.7 Get alexa status

IVY_CTRL_MSG_SET_ALEXA_WAKEUP = 34039

  • supporting device
FI II
  • output
ret return value N
state state N
  • state definition
Unknown -1 N
Disable hibernation 0 N
Sleep state 1 N
wakeup state 2 N
End of hibernation? 3 N
  • Example

  • input


None
  • output

{
    "ret":0"state":2
}

7.9.8 Set the device to automatically switch to H264 when ALEXA is enabled

IVY_CTRL_MSG_SET_SWITCH_H264_H265_RESOLUATION_FOR_ALEAX = 34065

  • supporting device
II
  • input
enable 0: off 1: on N
  • output
ret result N
  • Example

  • input


{
    "enable":1
}
  • output

{
    "ret":0
}

7.9.9 Get the device to automatically switch to H264 when ALEXA is enabled

IVY_CTRL_MSG_GET_SWITCH_H264_H265_RESOLUATION_FOR_ALEAX = 34067

  • supporting device
II
  • input

NONE

  • output
enable 0: off 1: on N
ret result N
  • Example

  • input


None
  • output

{
    "ret":0,
    "enable":1
}

7.15 Set the base station to enable cloud storage

IVY_CTRL_MSG_SET_CHANNEL_SVR_EANBLE_BITS = 34045

  • supporting device
FB
  • input
channelBits Channel number, expressed in bits N FN
  • output
ret return value N FN
  • Example

  • input


{
    "channelBits":1
}
  • output

{
    "ret":0
}

7.16 Get base station to enable cloud storage

IVY_CTRL_MSG_GET_CHANNEL_SVR_EANBLE_BITS = 34047

FB
  • output
ret return value N FN
channelBits Channel number, expressed in bits N FN
  • Example

  • input


None
  • output

{
    "ret":0,
    "channelBits":1
}

7.18 DropBox

7.18.1 Foscam OEM IPC command, I don’t know what it means, it is related to DROPBOX

IVY_CTRL_MSG_DROPBOX_GET_CLOUD_TOKEN = 34049

  • supporting device
FI
  • input
isEnable N
cloudServer N
code S
  • output
ret return value N
  • Example

  • input


{
    "isEnable":1,
    "cloudServer":"http://www.cloudserver.com",
    "code":"AFDAFDASFDASFDAS"
}
  • output

{
    "ret":0
}

7.18.2 Foscam OEM IPC command, I don’t know what it means, it is related to DROPBOX

IVY_CTRL_MSG_DROPBOX_GET_CLOUD_QUOTA = 34051

  • supporting device
FI
  • output
ret return value N
isEnable N
cloudServer N
code S
  • Example

  • input


None
  • output

{
    "ret":0,
    "isEnable":1,
    "cloudServer":"http://www.cloudserver.com",
    "code":"AFDAFDASFDASFDAS"
}

7.18.3 Foscam OEM IPC command, I don’t know what it means, it is related to DROPBOX

IVY_CTRL_MSG_DROPBOX_TEST_CLOUD_SERVER = 34053

  • supporting device
FI
  • input
isEnable N
cloudServer N
code S
  • output
ret return value N
  • Example

  • input


{
    "isEnable":1,
    "cloudServer":"http://www.cloudserver.com",
    "code":"AFDAFDASFDASFDAS"
}
  • output

{
    "ret":0
}

7.18.4 Foscam OEM IPC command, I don’t know what it means, it is related to DROPBOX

IVY_CTRL_MSG_DROPBOX_GET_CLOUD_CONFIG = 34055

  • supporting device
FI
  • output
ret return value N
isEnable ? N
statusMsg ? S
authAddr ? S
quota ? S
used ? S

7.18.5 Foscam OEM IPC command, I don’t know what it means, it is related to DROPBOX

IVY_CTRL_MSG_DROPBOX_SET_RECORD_PATH = 28053

  • supporting device
FI
  • input
path N
  • output
ret return value N
  • Example

  • input


{
    "path":1,
}
  • output

{
    "ret":0
}

7.18.6 Foscam OEM IPC command, I don’t know what it means, it is related to DROPBOX

IVY_CTRL_MSG_DROPBOX_GET_SNAP_CONFIG = 24102

  • supporting device
FI
  • output
ret return value N
snapPicQuality Return value N
  • Example

  • input


None
  • output

{
    "ret":0,
    "snapPicQuality":1
}

7.18.7 Foscam OEM IPC command, I don’t know what it means, it is related to DROPBOX

IVY_CTRL_MSG_DROPBOX_SET_SNAP_CONFIG = 24104

  • supporting device
FI
  • input
snapQuality N
saveLocation N
  • output
ret return value N
  • Example

  • input


{
    "snapQuality":1,
    "saveLocation":1
}
  • output

{
    "ret":0
}

7.18.8 Foscam OEM IPC command, I don’t know what it means, it is related to DROPBOX

IVY_CTRL_MSG_DROPBOX_SET_CLOUD_CONFIG = 34057

  • supporting device
FI
  • input
isEnable N
cloudServer N
code S
  • output
ret return value N
  • Example

  • input


{
    "isEnable":1,
    "code":"AFDAFDASFASFASDF",
    "cloudServer":1
}
  • output

{
    "ret":0
}

7.19 Get cloud error code

IVY_CTRL_MSG_GET_CLOUD_ERROR_CODE = 30072

  • supporting device
FI
  • output
ret return value N
errCode Error code N
reserve reserve N
  • errCode definition
1 Initialization N
0 Success N
-1 Network Error N
-2 Param Error N
-3 System Error N
-4 Network Access N
-5 Network Portal N
-6 API Access N
-7 API Portal N
-8 SERVICE EXPIRED N
-9 HTTP HEAD N
-10 SERVICE UNAUTHORIZED N
-11 SERVICE DEACTIVATED N
-12 DEVICE NOT EXIST N
-13 CHECK SIGN INVALID N
-14 ACCESS DATABASE N
-15 ACCESS RESTRICTION N
-16 STREAM SERVER N
-17 DISTRIBUTE STREAM SERVER N
-18 UNKNOWN N
  • Example

  • input


None
  • output

{
    "ret":0,
    "errCode":0,
    "reserve":""
}

7.20 Set OpenID

IVY_CTRL_MSG_SET_IOT_OPENID = 22033

  • IVY equipment

  • input

openId open id S
  • supporting device
II
  • output
ret return value N
  • Foscam device
FI
  • input
openid open id S
Ivid IV id S
AccessToken Token S
mqttServer serer address S
mqttPort port N
  • output
ret return value N
  • Remark

For Foscam devices, all input fields are not required. If the field exists, it will be added. If it does not exist, it does not need to be added.

  • Example

  • input


{
    "openid":"BCE1D224EF9BDE124",
    "Ivid":"KFK2VNK2KFKS112421",
    "AccessToken":"AFDASKFLDK12321",
    "mqttServer":"192.168.1.3",
    "mqttPort":800
}
  • output

{
    "ret":0
}

7.21 Set device push interval (V3 BIT19)

IVY_CTRL_MSG_SET_PUSH_INTERVAL = 34061

  • supporting device
FI
  • input
interval Time interval unit: minutes Legal values: (1,3,7,15,30) N
  • output
ret return value N
  • Example

  • input


{
    "interval":7
}
  • output

{
    "ret":0
}

7.22 Get device push interval (V3 BIT19)

IVY_CTRL_MSG_GET_PUSH_INTERVAL = 34063

  • supporting device
FI
  • input

None

  • output
ret return value N
interval Time interval unit: minutes Legal values: (1,3,7,15,30) N
  • Example

  • input

None

  • output

{
    "ret":0,
    "interval":7
}

7.23 KVS

7.23.1 Setting up KVS

IVY_CTRL_MSG_SET_KVS_CONFIG = 34071

  • supporting device
II
  • input
channel channel number N
szPortal portal S
  • output
ret return value N
  • Example

  • input



{
    "channel":0,
    "szPortal":"www.abc.com",
}
  • output

{
    "ret":0
}

7.23.2 Obtain KVS configuration

IVY_CTRL_MSG_GET_KVS_CONFIG = 34069

  • supporting device
II
  • input
channel channel number N
  • output
ret return value N
szPortal protal S
  • Example

  • input


{
    "channel":0,
}
  • output

{    
    "szPortal":"www.abc.com",
    "ret":0
}

8 PTZ control

8.1 PTZ control command

IVY_CTRL_MSG_PTZ_CONTROL_CMD = 26029

-Supported devices (if there is no special instructions, it supports FI)

FI FN
  • input
cmd command control ID N
Command data The data is different depending on the command id S
  • output
ret return value N
Other values The control commands are different, and other values return different N
  • The data command corresponding to the control command ID and other values in the return value
8.11 Stop any PTZ activities

IVY_PTZ_STOP = 0

  • Example

{
    "cmd":0
}

8.12 Restore PTZ to default location

IVY_PTZ_RESET = 1

  • Example

{
    "cmd":1
}

8.13 Set PTZ speed

IVY_PTZ_SET_SPEED = 10

  • Command data
speed 0 - 4 N
  • Example

{
    "cmd":10,
    "speed":1
}

8.13 Zoom in

IVY_PTZ_ZOOM_IN = 11

  • Command data
channel channel number N FN
  • Example

{
    "cmd":11
}

8.14 Zoom out

IVY_PTZ_ZOOM_OUT = 12

  • Command Data
channel channel number N FN
  • Example

{
    "cmd":12
}

8.15 Zoom stop (FI is not supported)

IVY_PTZ_ZOOM_STOP = 13

  • Command Data
channel channel number N FN
  • Example

{
    "cmd":13
}
8.16 FOCUS NEAR

IVY_PTZ_FOCUS_NEAR = 16

  • Example

{
    "cmd":16
}
8.17 FOCUS FAR

IVY_PTZ_FOCUS_FAR = 17

  • Example
{
    "cmd":17
}
8.18 Focus stop

IVY_PTZ_FOCUS_STOP = 18

  • Example
{
    "cmd":18
}
8.19 Ptz up

IVY_PTZ_MOVE_UP = 2

  • Command Data
channel channel number N FN
  • Example
{
    "cmd":2
}
8.20 Ptz down

IVY_PTZ_MOVE_DOWN = 3

  • Command data
channel channel number N FN
  • Example
{
    "cmd":3
}
8.21 Ptz left

IVY_PTZ_MOVE_LEFT = 4

  • Command Data
channel channel number N FN
  • Example
{
    "cmd":4
}
8.22 Ptz right

IVY_PTZ_MOVE_RIGHT = 5

  • Command data
channel channel number N FN
  • Example
{
    "cmd":5
}
8.23 Ptz leftup

IVY_PTZ_MOVE_LEFTUP = 6

  • Command data
channel channel number N FN
  • Example
{
    "cmd":6
}
8.24 Ptz left down

IVY_PTZ_MOVE_LEFTDOWN = 7

  • Command Data
channel channel number N FN
  • Example
{
    "cmd":7
}
8.25 Ptz right up

IVY_PTZ_MOVE_RIGHTUP = 8

  • Command data
channel channel number N FN
  • Example
{
    "cmd":8
}
8.26 Ptz right down

IVY_PTZ_MOVE_RIGHTDOWN = 9

  • Command data
channel channel number N FN
  • Example
{
    "cmd":9
}
8.27 Start cruise

IVY_PTZ_START_CRUISE = 27

  • Command data
name cruise name S FI FN
channel channel N FN
  • Example
{
    "cmd":27,
    "name":"abc123"
}
8.28 Stop cruising

IVY_PTZ_STOP_CRUISE = 28

  • Command data
name cruise name S FN
channel channel N FN
  • Example
{
    "cmd":28,
    "name":"abc123"
}
8.29 Add preset points

IVY_PTZ_SET_PRESET_POINT = 21

  • Command data
name Preset point name S FI FN
channel channel N FN
  • other values
point Names of all current preset points, represented by Json string array S FI
ret return value N FI FN
  • Example

  • input

{
    "cmd":21,
    "name":"abc123"
}
  • output
{
    "ret":0,
    "point":["abc", "123", "leftTop", "rightTop"]
}
8.30 Arrive at preset point

IVY_PTZ_GOTO_PRESET_POINT = 22

  • Command data
name Preset point name S FI FN
channel channel N FN
  • Example
{
    "cmd":22,
    "name":"abc123"
}
8.31 Delete preset point

IVY_PTZ_CLEAR_PRESET_POINT = 23

  • Command data
name Preset point name S FI FN
channel channel N FN
  • Example
{
    "cmd":23,
    "name":"abc123"
}
  • Remark

For IVY devices, do not use the IVY_PTZ_DEL_PRESET_POINT=50 command to delete prevalue points, because some devices do not implement this command.
For FOSCAM devices, both commands are available because the SDK is compatible

8.32 Get preset point

IVY_PTZ_GET_PRESET_POINT_LIST = 24

  • other values
point Names of all current preset points, represented by Json string array S
  • Example

  • output

{
    "ret":0,
    "point":["abc", "123", "leftTop", "rightTop"]
}
8.33 Set guard bit

IVY_PTZ_SET_GUARD_POSITION = 25

  • Command data
name Preset point name S
  • Example
{
    "cmd":25,
    "name":"abc123"
}
8.34 Obtain guard position

IVY_PTZ_GET_GUARD_POSITION = 26

  • other values
name See guard name S
  • Example

  • input

{
    "cmd":21
}
  • output
{
    "ret":0,
    "name":"abc"
}
8.35 Add cruise path

IVY_PTZ_SET_CURISE_MAP = 29

  • Command Data
name cruise name S
point All preset point names, represented by Json string array S
  • Example
{
    "cmd":29,
    "name":"abc123",
    "point":["a123", "abds", "preset1"]
}
8.36 Delete cruise path

IVY_PTZ_DEL_CRUISE_MAP_INFO = 49

  • Command data
name cruise name S
  • Example
{
    "cmd":49,
    "name":"abc123"
}
8.37 Get cruise path

IVY_PTZ_GET_CRUISE_MAP_INFO = 31

  • Command data
name cruise name S
  • other values
preset All preset point names, represented by Json strings S
  • Example

  • input

{
    "cmd":31,
    "name":"abc123"
}
  • output
{
    "ret":0,
    "point":["abc123", "123", "leftTop", "rightTop"]
}
8.38 Set cruise path time

IVY_PTZ_SET_CURISE_CTRL_TIME = 32

  • Command Data
name cruise name S
time time N
  • Example
{
    "cmd":32,
    "name":"abc123",
    "time":10
}
8.39 Get cruise list

IVY_PTZ_GET_CRUISE_MAP_LIST = 33

  • other values
list All current cruise names, represented by Json string array S
  • Example

  • input

{
    "cmd":33
}
  • output
{
    "ret":0,
    "list":["abc123", "123", "cruise1", "cruise12"]
}
8.40 Set ZOOM speed

IVY_PTZ_SET_ZOOM_SPEED = 14

  • Command Data
speed Speed value 0: slow 1: normal 2: fast N
  • Example
{
    "cmd":14,
    "speed":2
}
8.41 Get ZOOM speed

IVY_PTZ_GET_ZOOM_SPEED = 15

  • other values
speed Speed value 0: slow 1: normal 2: fast N
  • Example

  • input

{
    "cmd":15
}
  • output
{
    "ret":0,
    "speed":2
}
8.42 Set cruise mode

IVY_PTZ_SET_CRUISE_CTRL_MODE = 34

  • Command Data
mode Mode 0: Time 1: Number of laps N
  • Example
{
    "cmd":34,
    "mode":0
}
8.43 Get cruise mode

IVY_PTZ_GET_CRUISE_CTRL_MODE = 35

  • other values
mode Mode 0: Time 1: Number of laps N
  • Example

  • input

{
    "cmd":35
}
  • output
{
    "ret":0,
    "mode":2
}
8.44 Set cruise custom time

IVY_PTZ_SET_CRUISE_TIME_CUSTOMED = 36

  • Command Data
isEnable 0: off 1: on N
time unit minute N
  • Example
{
    "cmd":36,
    "isEnable":1,
    "time":5
}
8.45 Get cruise custom time

IVY_PTZ_GET_CRUISE_TIME_CUSTOMED = 37

  • other values
isEnable 0: off 1: on N
time unit minute N
  • Example

  • input

{
    "cmd":37
}
  • output
{
    "ret":0,
    "isEnable":1,
    "time":1
}
8.46 Set cruise time

IVY_PTZ_SET_CRUISE_TIME = 38

  • Command data
time N
  • Example
{
    "cmd":38,
    "time":10
}
8.47 Get cruise time

IVY_PTZ_GET_CRUISE_TIME = 39

  • other values
time N
  • Example

  • input

{
    "cmd":39
}
  • output
{
    "ret":0,
    "time":1
}
8.48 Set the PTZ self-test mode

IVY_PTZ_SET_SELF_TEST_MODE = 40

  • Command Data
mode 0: No self-test 1: Normal startup 2: Go to preset point after startup N
  • Example
{
    "cmd":40,
    "mode":1
}
8.49 Get the PTZ self-test mode

IVY_PTZ_GET_SELF_TEST_MODE = 41

  • other values
mode 0: No self-test 1: Normal startup 2: Go to preset point after startup N
  • Example

  • input

{
    "cmd":41
}
  • output
{
    "ret":0,
    "mode":1
}
8.50 Set the preset point reached by PTZ self-test

IVY_PTZ_SET_PRE_POINT_FOR_SELF_TEST = 42

  • Command Data
name Preset point name S
  • Example
{
    "cmd":42
    "name":"preste1"
}
8.51 Get the preset point reached by the PTZ self-test

IVY_PTZ_GET_PRE_POINT_FOR_SELF_TEST = 43

  • other values
name Preset point name S
  • Example

  • input

{
    "cmd":43
}
  • output
{
    "ret":0,
    "name":"abc123"
}
8.52 Set the time to stay at the preset point during cruise

IVY_PTZ_SET_CRUISE_PRESET_POINT_LINGER_TIME = 45

  • Command data
name cruise name S
time Time, unit second, Json array, up to 8 items N
  • Example
{
    "cmd":45,
    "name":"cruise1",
    "time":[1,2,2,2,2,2,2,6]
}
8.53 Get the time spent at the preset point during cruise

IVY_PTZ_SET_CRUISE_PRESET_POINT_LINGER_TIME = 46

  • Command data
name cruise name S
  • other values
time Time, unit second, Json array, up to 8 items N
  • Example

  • input

{
    "cmd":46
}
  • output
{
    "ret":0,
    "time":[2,2,2,2,2,2,2,8]
}
8.54 Set the number of cruise cycles

IVY_PTZ_SET_CRUISE_LOOP_COUNT = 47

  • Command data
count times N
  • Example
{
    "cmd":47,
    "count":5
}
8.55 Get the number of cruise cycles

IVY_PTZ_GET_CRUISE_LOOP_COUNT = 48

  • other values
count times N
  • Example

  • input

{
    "cmd":48
}
  • output
{
    "ret":0,
    "count":10
}
8.56 Set auto focus

IVY_PTZ_SET_AUTO_FOCUS = 51

  • Command Data
isEnable 0: off 1: on N
  • Example
{
    "cmd":51,
    "isEnable":1
}
8.57 Get auto focus

IVY_PTZ_GET_AUTO_FOCUS = 52

  • other values
isEnable 0: off 1: on N
  • Example

  • input

{
    "cmd":52
}
  • output
{
    "ret":0,
    "isEnable":1
}
8.58 Set the time to return to guard position after startup

IVY_PTZ_SET_GUARD_POSITION_BACKTIME = 53

  • other values
ret result N
  • Example

  • input

{
    "cmd":53
}
  • output
{
    "ret":0,
}
8.59 Get the time to return to guard position after startup

IVY_PTZ_GET_GUARD_POSITION_BACKTIME = 54

  • other values
minutes time unit minutes N
ret result N
  • Example

  • input

{
    "cmd":54
}
  • output
{
    "ret":0,
    "minutes":5
}
8.60 Get current cruise status

IVY_PTZ_GET_CURRENT_CRUISE_STATE = 55

  • Command data
channel channel number N II
  • other values
name cruise name N II
state Cruise status, 0: not cruising 1: cruising N II
ret result N II
  • Example

  • input

{
    "cmd":55,
    "channel":0
}
  • output
{
    "ret":0,
    "name":"afdafdas",
    "state":1
}

8.2 Obtain the PTZ capability set of the device

IVY_CTRL_MSG_GET_PTZ_ABILITY = 36041

  • supporting device
FN
  • input
channel channel number N
  • output
ret return value N
pt 0: Not supported 1: Supported N
zoom 0: Not supported 1: Supported N
focus 0: Not supported 1: Supported N

Can be used to determine whether the IPC on the channel supports zoom/focus.

  • Example

  • input

{
    "channel":1
}
  • output
{
    "ret":0,
    "pt":1"zoom":1"focus":1
}

9 Foscam nursery rhyme operation

9.1 Get nursery rhyme playing status

IVY_CTRL_MSG_GET_MUSIC_PLAY_STATE = 24063

  • supporting device
FI
  • output
ret return value N FI
musicTotal Total quantity N FI
mode N FI
index N FI
isPlaying N FI
listName BASE64 encoding N FI
  • Example

  • input

None
  • output
{
    "ret":0,
    "musicTotal":5,
    "mode":1,
    "index":5,
    "isPlaying":1,
    "listName":"BASGEGDAD==FD2KWF12=="
}

9.2 Set nursery rhyme playback

IVY_CTRL_MSG_SET_MUSIC_PLAY_START = 24065

  • supporting device
FI
  • input
mode 1:list play 2:single repeat 3:all repeat N FI
index 0-n N FI
listName BASE64 encoding N FI
  • output
ret return value N FI
  • Example

  • input

{
    "mode":1,
    "index":5,
    "listName":"BASGEGDAD==FD2KWF12=="
}
  • output
{
    "ret":0
}

9.3 Stop playing

IVY_CTRL_MSG_SET_MUSIC_PLAY_STOP = 24067

  • supporting device
FI
  • output
ret return value N FI
  • Example

  • input

None
  • output
{
    "ret":0
}

9.4 Play the previous one

IVY_CTRL_MSG_SET_MUSIC_PLAY_PREV = 24069

  • supporting device
FI
  • output
ret return value N FI
  • Example

  • input

None
  • output
{
    "ret":0
}

9.5 Play next

IVY_CTRL_MSG_SET_MUSIC_PLAY_NEXT = 24071

  • supporting device
FI
  • output
ret return value N FI
  • Example

  • input

None
  • output
{
    "ret":0
}

9.6 Get playlist

IVY_CTRL_MSG_GET_MUSIC_NAME_LIST = 24073

  • supporting device
FI
  • input
musicListName N FI
startNo N FI
musicNum N FI
  • output
ret return value N FI
musicListName N FI
musicCnt N FI
musicName N FI
  • Example

  • input

{
    "musicListName":0,
    "startNo":0,
    "musicNum":10
}
  • output
{
    "ret":0,
    "musicListName":0,
    "musicCnt":10,
    "musicName":0
}

10 Hard disk information and hard disk recording

10.1 Set hard disk recording parameters

IVY_CTRL_MSG_SET_STROGE_CONFIG = 28045

  • supporting device
FI IN
  • input
diskRewrite Whether to loop overwrite N IN/FN
previewTime pre-recording time N IN / FN
smartMode Smart video N IN

-smartMode

0 FS_SMART_REC_MODE_OFF
1 FS_SMART_REC_MODE_1x
2 FS_SMART_REC_MODE_2x
3 FS_SMART_REC_MODE_3x
4 FS_SMART_REC_MODE_4x
  • output
ret return value N IN / FN
  • Example

  • input

{
    "diskRewrite":1,
    "previewTime":30,
    "smartMode":2
}
  • output
{
    "ret":0,
    "diskRewrite":1,
    "previewTime":30,
    "smartMode":2
}

10.2 Obtain hard disk recording parameters

IVY_CTRL_MSG_GET_STROGE_CONFIG = 28047

  • supporting device
FI IN
  • output
ret return value N FN
diskRewrite Whether to loop overwrite N IN
previewTime pre-recording time N IN
smartMode Smart recording settings N IN
  • Example

  • input

None
  • output
{
    "ret":0,
    "diskRewrite":1,
    "previewTime":30,
    "smartMode":2
}

10.3 Obtain hard disk information

  • supporting device
FI IN

IVY_CTRL_MSG_GET_DISK_INFO = 26031

  • Output (this output is for IN device)
ret return value N IN
name Hard disk name S IN
busId N IN
index index N IN
busType hard drive type N IN
state hard disk status N IN
busy N IN
canFormat Whether formatting is possible N IN
freeSpace remaining space, unit KB N IN
totalSpace Total space unit KB N IN

-busType

0 BUS_TYPE_SATA
1 BUS_TYPE_ESATA
2 BUS_TYPE_IPSAN
3 BUS_TYPE_NAS
  • state
0 DISK_UNFORMAT
1 DISK_RECORD
2 DISK_BACKUP
  • Output (this output is for FN devices)
ret return value N FN
previewTime Pre-recording time (0-5s) S FN
diskRewrite Loop overwrite (0: stop 1:rewrite) N FN
info disk information Json string FN

-Json

totalSpace Total size in MB N FN
freeSpace Remaining size unit MB N FN
canFormat Whether it can be formatted 0:no 1:yes N FN
type ? N FN
status status N FN
index index N FN
  • type
0 SATA hard drive
1 ESATA hard drive
2 U disk
  • state
0 Not formatted
1 Video disc
2 Backup disk
  • Example

  • input

None
  • output
{
    "ret":0,
    "name":"1FFDAS2FDSAVDASV",
    "busId":1,
    "index":2,
    "busType":2,
    "state":2,
    "canFormat":2,
    "busy":2,
    "freeSpace":1024,
    "totalSpace":20000
}

10.4 Hard disk formatting

  • supporting device
FI IN

IVY_CTRL_MSG_DISK_FORMAT = 26033

  • input
diskId hard disk ID N IN/FN
type Hard disk type N FN
  • output
ret return value N IN / FN
  • Remark
    If the current device is FoscamNVR, the type value is always 0 (refer to the web page code).
  • Example

  • input

{
    "diskId":0,
    "type":0
}
  • output
{
    "ret":0
}

10.5 NVR hard disk recording settings

  • supporting device
IN

IVY_CTRL_MSG_SET_NVR_DISK_RECORD = 28059

  • input
channel channel number 0-31 N IN
audio Whether the video has audio 0: No 1: Yes N IN
preSec Pre-recording, unit second N IN
timeLapseSec Time-lapse video, unit second N IN
schedule Schedule recording JSON array IN
sync Synchronize channel configuration to all channels 1: synchronized 0: out of sync, if this item is not passed, it means out of sync N IN
  • schedule format

Similar to [1024, 1024, 1024, 1024, 1024, 1024, 1024], a JSON array with 7 elements representing 7 days. Each element is a 64-bit unsigned integer number, and each 2 bits represent 1 hours, and can also represent 3 types of recordings. One element position can exactly represent the time of a day. The start time of each day starts from the lowest bit of the 64-bit unsigned integer number

  • Representation of recording format in schedule
00 (binary) None
01 (binary) Schedule recording
10 (binary) Event recording
11 (binary) Reserved

bit63 <———————————————— —- bit0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 10011000

Decimal 152

express:
00:00-00:59 No video recording
01:00-01:59 Event video
02:00-02:59 Planned recording
03:00-03:59 Event video
04:00-23:59 No video recording

  • output
ret return value N IN
  • Remark

If there is only a certain item or several items in the input, it can also take effect, and the other items that are not included will remain unchanged.

  • Example

  • input

{
    "channel":2,
    "audio":1,
    "preSec":10,
    "timeLapseSec":0,
    "schedule":[
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
],
    "sync":0
}
  • output
{
    "ret":0
}

10.6 Obtain NVR hard disk recording settings

  • supporting device
IN

IVY_CTRL_MSG_GET_NVR_DISK_RECORD = 28061

  • input
channel channel number 0-31 N IN
  • output
ret return value N IN
channel channel number 0-31 N IN
audio Whether the video has audio 0: No 1: Yes N IN
preSec Pre-recording, unit second N IN
timeLapseSec Time-lapse video, unit second N IN
schedule Schedule recording JSON array IN
  • Example

  • input

{
    "channel":2
}
  • output
{
    "ret":0,
    "channel":2,
    "audio":1,
    "preSec":10,
    "timeLapseSec":0,
    "schedule":[
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655,
281474976710655
]
}

11 NVR channel equipment related

11.1 Obtain IPC list information

IVY_CTRL_MSG_GET_IPC_LIST_INFO = 36023

  • supporting device
FN IN FB
  • output
ret return value N FN
raws IPC list information Json array S FN
  • raws Json format
channel channel number N FN
isOnLine Whether online 0: Not online 1: Online N IN / FN / FB
devName Device name (BASE64 encoded) S IN / FN / FB
appVer App Version S IN/FN/FB
sysVer System version S IN / FN / FB
macAddr Mac Address S IN / FN / FB
  • Example

  • input

None
  • output
{
    "ret":0,
    "raws":[
    {
        "channel":1,
        "isOnLine":0,
        "devName":"FDAFDAS",
        "appVer":"41321321",
        "sysVer":"1231",
        "macAddr":"FDASFDA"
    },
    {
        "channel":2,
        "isOnLine":1,
        "devName":"FDAFDAS",
        "appVer":"41321321",
        "sysVer":"1231",
        "macAddr":"FDASFDA"
    }
    ]
}
  • Remark

For FoscamNVR, this command only obtains devices that have been added to the NVR, and cannot obtain devices that have not been added to the NVR.
For IVY NVR, this command can do two things at the same time, that is, added and unadded items will be returned as long as the NVR can search for them. It is judged by the channel value whether it has been added. If the channel is less than 0, it means Not added yet.

11.2 Delete channel device

IVY_CTRL_MSG_DEL_IPC = 36021

  • supporting device
FN IN
  • input
channel Channel number N IN / FN
  • output
ret return value N IN / FN
  • Example

  • input

{
    "channel":1
}
  • output
{
    "ret":0
}

11.3 Settings to enable automatic addition of devices

IVY_CTRL_MSG_SET_ENABLE_AUTO_ADD_DEVICES = 36037

  • supporting device
FN IN
  • input
enable 0:no 1:yes N FN
enableKit 0:no 1:yes N IN
  • output
ret return value N
  • Example

  • input

{
    "enable":1
}
  • output
{
    "ret":0
}

11.4 Get enabled to automatically add devices

IVY_CTRL_MSG_GET_ENABLE_AUTO_ADD_DEVICES = 36039

  • supporting device
FN IN
  • output
ret return value N FN IN
enable 0:no 1:yes N FN
enableKit 0:no 1:yes N IN
  • Example

  • input

None
  • output
{
    "ret":0,
    "enable":1
}

11.5 Add device

IVY_CTRL_MSG_ADD_IPC = 36019

  • supporting device
FN
  • input
channel Channel number (0-n) N
ip ip address S
httpPort http port N
mediaPort media port N
usr Username (BASE64 encoded) S
pwd Password (BASE64 encoded) S
devName Device name (BASE64 encoded) S
productType 1: Foscam 2: MJ 3: Onvif N
protocol Device protocol version N
xAddr onvif service address S
mac mac S
  • output
ret return value N
  • Example

  • input

{
    "channel":0,
    "ip":"192.168.10.5",
    "httpPort":88,
    "mediaPort":88,
    "usr":"dXNlcg==",
    "pwd":"cGFzc3dvcmQ=",
    "devName":"bXlkZXZpY2U=",
    "productType":1,
    "protocol":1,
    "xAddr":"192.168.51.1",
    "mac":"SK123FALSK12"
}
  • output
{
    "ret":0
}

11.6 Delete device

IVY_CTRL_MSG_DEL_IPC = 36021

  • supporting device
FN
  • input
channel channel number N
  • output
ret return value N
  • Example

  • input

{
    "channel":1
}
  • output
{
    "ret":0
}

11.7 Obtain device information on the NVR channel

IVY_CTRL_MSG_GET_ONE_IPC_INFO_ON_LIST = 36027

  • supporting device
FN
  • input
channel channel N
  • output
ret return value N
channel channel number N
isEnable 0: enabled 1: not enabled N
status status N
productType product type N
ptcls ? N
httpPort HTTP port N
mediaPort media port N
ipAddr ip address S
xAddr ? S
devName Device name (base64 encoded) S
pwd Device password (base64 encoded) S
devMac mac address S
appVer Application firmware version number S
sysVer System firmware version number S
vid ? S
model model N
  • Example

  • input

{
    "channel":1
}
  • output
{
    "ret":0,
    "channel":0,
    "isEnable":1,
    "status":1,
    "productType":"camera",
    "ptcls":0,
    "httpPort":88,
    "mediaPort":88,
    "ipAddr":"192.168.11.12",
    "xAddr":"192.168.11.12",
    "devName":"ZGV2bmFtZQ==",
    "pwd":"cHdk",
    "devMac":"123456ABCDEF",
    "appVer":"1.34.1.4",
    "sysVer":"1.24.12.4",
    "vid":"Vendor",
    "model":1110
}

11.8 Get all account information in the current device

IVY_CTRL_MSG_GET_ACCOUNTS_INFORMATION = 36067

  • supporting device
FN
  • output
ret return value N
accounts Json array S
  • accounts json structure
enable 0: disable 1: enable N
name Username (base64 encoded) S
password Password (base64 encoded) S
privilege Permission, 2: Administrator 1: Operator 0: Visitor N
  • Example

  • input


None
  • output
{
    "ret":0,
    "accounts":[
    {
        "enable":0,
        "name":"bmFtZQ==",
        "password":"cHdk",
        "privilege":0
    },
    {
        "enable":0,
        "name":"bmFtZQ==",
        "password":"cHdk",
        "privilege":2
    }
    ]
}

11.9 Set account information in the current device

IVY_CTRL_MSG_SET_ACCOUNTS_INFORMATION = 36069

  • supporting device
FN
  • input
accounts Json array S
  • accounts json structure
enable 0: disable 1: enable N
name Username (base64 encoded) S
password Password (base64 encoded) S
privilege Permission, 2: Administrator 1: Operator 0: Visitor N
  • output
ret return value N
  • Example

  • input


{
    "accounts":[
    {
        "enable":0,
        "name":"bmFtZQ==",
        "password":"cHdk",
        "privilege":0
    },
    {
        "enable":0,
        "name":"bmFtZQ==",
        "password":"cHdk",
        "privilege":2
    }
    ]
}
  • output
{
    "ret":0
}

11.10 Search for IPC in the same network as NVR

IVY_CTRL_MSG_SEARCH_DEVS_BY_NVR = 36073

  • supporting device
FN
  • output
list Json array S
ret return value N
  • list json structure
protocol protocol version N
httpPort Port number N
mediaPort port number N
devName Device name (BASE64 encoded) S
mac device MAC S
xAddr onvif service address S
  • Example

  • input


None
  • output
{
    "ret":0,
    "list":[
    {
        "protocol":0,
        "httpPort":88,
        "mediaPort":88,
        "devName":"ZGV2TmFtZQ==",
        "mac":"123456ABCDEF",
        "xAddr":"192.168.10.10"
    },
        {
        "protocol":0,
        "httpPort":88,
        "mediaPort":88,
        "devName":"ZGV2TmFtZQ==",
        "mac":"123456ABCDEF",
        "xAddr":"192.168.10.10"
    }
    ]
}

12 Production command

12.1 Set product information

IVY_CTRL_MSG_SET_DEVICE_PRODUCT_CONFIG = 26167

  • supporting device
II
  • input
channel Channel number, there is no limit on the device side, so any value can be N
modelname model name S
oemcode OEM code S
horcur The legal value of the initial number of steps in the horizontal direction after the device is powered on: 0-10000 (the default number of steps is half of hormax) N
vercur The legal value of the initial number of steps in the vertical direction after the device is powered on: 0-10000 (the default number of steps is half of vermost) N
hormiddle After the device self-test (reset) is completed, the legal value of the number of steps to be reached in the horizontal direction: 0-10000 (the number of steps needs to be tested according to different models, and then the appropriate value is selected) N
hormax The legal value of the actual maximum number of steps in the horizontal direction of the equipment: 0-10000 (the number of steps needs to be tested according to different models before selecting the appropriate value) N
vermiddle After the device self-test (reset) is completed, the legal value of the number of steps to be reached in the vertical direction: 0-10000 (the number of steps needs to be tested according to different models, and then the appropriate value is selected) N
verdown The legal value of the maximum number of steps in the vertical direction that the device can reach through the pt direction control key of the app: 0-10000 (the number of steps needs to be tested according to different models before selecting the appropriate value) N
vermost The legal value of the actual maximum number of steps in the vertical direction of the device: 0-10000 (the number of steps needs to be tested according to different models before selecting the appropriate value) N
horstate Legal value of the horizontal motor rotation direction of the device : 0 or 1 (You can fill in 0 or 1 to change the motor rotation direction. If the left and right directions are confused when using the pt button control of the app, change it to another value) N
verstate Legal value of the motor rotation direction in the vertical direction of the device: 0 or 1 (You can fill in 0 or 1 to change the motor rotation direction. If the vertical direction is confused when controlled by the pt button of the app, change it to another value) N
AecMsInSndCard AEC parameters (legal values 0-100) N
  • output
ret return value N

12.2 Get product information

IVY_CTRL_MSG_GET_DEVICE_PRODUCT_CONFIG = 26169

  • supporting device
II
  • input
channel Channel number, there is no limit on the device side, so any value can be N
  • output
ret return value N
modelname model name S
oemcode OEM code S
horcur The legal value of the initial number of steps in the horizontal direction after the device is powered on: 0-10000 (the default number of steps is half of hormax) N
vercur The legal value of the initial number of steps in the vertical direction after the device is powered on: 0-10000 (the default number of steps is half of vermost) N
hormiddle After the device self-test (reset) is completed, the legal value of the number of steps to be reached in the horizontal direction: 0-10000 (the number of steps needs to be tested according to different models, and then the appropriate value is selected) N
hormax The legal value of the actual maximum number of steps in the horizontal direction of the equipment: 0-10000 (the number of steps needs to be tested according to different models before selecting the appropriate value) N
vermiddle After the device self-test (reset) is completed, the legal value of the number of steps to be reached in the vertical direction: 0-10000 (the number of steps needs to be tested according to different models, and then the appropriate value is selected) N
verdown The legal value of the maximum number of steps in the vertical direction that the device can reach through the pt direction control key of the app: 0-10000 (the number of steps needs to be tested according to different models before selecting the appropriate value) N
vermost The legal value of the actual maximum number of steps in the vertical direction of the device: 0-10000 (the number of steps needs to be tested according to different models before selecting the appropriate value) N
horstate Legal value of the horizontal motor rotation direction of the device : 0 or 1 (You can fill in 0 or 1 to change the motor rotation direction. If the left and right directions are confused when using the pt button control of the app, change it to another value) N
verstate Legal value of motor rotation direction in the vertical direction of the device: 0 or 1 N
AecMsInSndCard AEC parameters (legal values 0-100) N

12.3 Set up Bluetooth mac

IVY_CTRL_MSG_SET_BT_MAC = 30076

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
BtMac Bluetooth mac S
  • output
ret return value N
  • Example

  • input


{
    "BtMac":"ABCDEF123"
}
  • output
{
    "ret":0
}

12.4 Get Bluetooth mac

IVY_CTRL_MSG_GET_BT_MAC = 30078

  • supporting device
II
  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
  • output
ret return value N
BtMac Bluetooth mac S
  • Example

  • input


None
  • output
{
    "ret":0"BtMac":"ABCDEF123"
}

13 Send FoscamCGI to IVY device

IVY_CTRL_MSG_SEND_FOSCAM_CGI = 26189

This command is used to send Foscam CGI to IVY NVR, which is equivalent to transparently transmitting Foscam CGI. This can facilitate docking and reduce the docking time on the device side. When standardization=1 is added to the input parameter, the SDK will Convert to facilitate application use.

This command can be used if the IVY_CTRL_MSG_GET_FOSCAM_DEVICE_ABILITY_ON_THE_NVR usage conditions are met.

13.1 Send setting motion detection FoscamCGI to IVY device

  • supporting device
II IN

(recommended)

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
model Foscam equipment model number N
cgiType must be 2 N
standardization must be 1 N


The remaining fields are the same as IVY_CTRL_MSG_SET_MOTION_DETECT_CONFIG

  • output
ret return value N
  • Example

  • input


{
    "channel":0"model":30000"cgiType":2,
    ...
}

  • output
{
    "ret":0
}

If standardization does not exist, or standardization is not 1

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
cgi Foscam CGI S
  • output
ret return value N
xml xml returned by CGI S

13.2 Send to IVY device to obtain motion detection FoscamCGI

  • supporting device
II IN

(recommended)

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
model Foscam equipment model number N
cgiType must be 1 N
standardization must be 1 N
  • output
ret return value N
The remaining fields are the same as IVY_CTRL_MSG_GET_MOTION_DETECT_CONFIG
  • Example

  • input



{
    "channel":0"model":30000"cgiType":2,
}

  • output
{
    "ret":0,
    ...
}

If standardization does not exist, or standardization is not 1

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
cgi Foscam CGI S
  • output
ret return value N
xml xml returned by CGI S

13.3 Send FoscamCGI to IVY device to obtain humanoid detection

  • supporting device
II IN

(recommended)

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
cgiType must be 3 N
standardization must be 1 N
  • output
ret return value N
The remaining fields are the same as IVY_CTRL_MSG_GET_PEDESTRIAN_DECTECT_CONFIG
  • Example

  • input


{
    "channel":0"cgiType":3,
}

  • output
{
    "ret":0,
    ...
}

If standardization does not exist, or standardization is not 1

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
cgi Foscam CGI S
  • output
ret return value N
xml xml returned by CGI S

13.4 Send settings for humanoid detection FoscamCGI to IVY device

  • supporting device
II IN

(recommended)

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
cgiType must be 4 N
standardization must be 1 N


The remaining fields are the same as IVY_CTRL_MSG_SET_PEDESTRIAN_DECTECT_CONFIG

  • output
ret return value N
  • Example

  • input

{
    "channel":0"cgiType":24,
    ...
}
  • output
{
    "ret":0
}

If standardization does not exist, or standardization is not 1

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
cgi Foscam CGI S
  • output
ret return value N
xml xml returned by CGI S

13.x Send FoscamCGI to IVY device

  • supporting device
II IN

(recommended)

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
cgiType cgi type N
standardization must be 1 N
Same as the definition of commands in this document; for example, cgiType == FOSCAM_CGI_PTZ, the subsequent fields are the command data of IVY_CTRL_MSG_PTZ_CONTROL_CMD; for example, cgiType == FOSCAM_CGI_SET_LIGHT_VISION_SWITCH_MODE_CONFIG, the subsequent fields are the fields of IVY_CTRL_MSG_SET_LIGHT_VISION_SWITCH_MODE_CONFIG; if it cannot be found The command corresponding to cgiType, Maybe the command does not implement this cgi. For input and output parameters, please refer to the input and output parameters in the app ?
  • cgiType definition
FOSCAM_CGI_UNKNOWN 0
FOSCAM_CGI_GET_MOTION_DETECT 1
FOSCAM_CGI_SET_MOTION_DETECT 2
FOSCAM_CGI_GET_PEDESTRIAN_DECTECT_CONFIG 3
FOSCAM_CGI_SET_PEDESTRIAN_DECTECT_CONFIG 4
FOSCAM_CGI_PTZ 5
FOSCAM_CGI_SET_SIREN 6
FOSCAM_CGI_GET_SIREN 7
FOSCAM_CGI_SET_WHITE_LIGHT_BRIGHTNESS 8
FOSCAM_CGI_GET_WHITE_LIGHT_BRIGHTNESS 9
FOSCAM_CGI_SET_LIGHT_VISION_SWITCH_MODE_CONFIG 10
FOSCAM_CGI_GET_LIGTH_VISION_SWITCH_MODE_CONFIG 11
FOSCAM_CGI_SET_DAY_NIGHT_MODE 12
FOSCAM_CGI_GET_DAY_NIGHT_MODE 13
FOSCAM_CGI_GET_DEV_STATE 14
FOSCAM_CGI_SET_NIGHT_VISION_SCHEDULE 15
FOSCAM_CGI_GET_NIGHT_VISION_SCHEDULE 16
FOSCAM_CGI_SET_WHITE_LIGHT_MODE 17
FOSCAM_CGI_GET_WHITE_LIGHT_MODE 18
FOSCAM_CGI_SET_WHITE_LIGHT_SCHEDULE 19
FOSCAM_CGI_GET_WHITE_LIGHT_SCHEDULE 20
FOSCAM_CGI_SET_AUDIO_VOLUME 21
FOSCAM_CGI_GET_AUDIO_VOLUME 22
  • output
ret return value N
  • Example

  • input


{
    "channel":0"cgiType":24,
    ...
}
  • output
{
    "ret":0
}

If standardization does not exist, or standardization is not 1

  • input
channel Channel number, if it is IPC, you can leave it blank, or fill in 255 N
cgi Foscam CGI S
  • output
ret return value N
xml xml returned by CGI S
文档更新时间: 2024-01-12 10:27   作者:庄小婵