User Tools

Site Tools


http_api |

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
http_api [2024/03/19 17:34]
admin [boardinfo]
http_api [2025/04/16 15:32] (current)
anthony [PtzAuxiliary]
Line 223: Line 223:
 Where to overlay text in the encoded video Where to overlay text in the encoded video
  
-Possible values: top_left top_right top_center bottom_left bottom_right bottom_center+Possible values: top_lefttop_righttop_centerbottom_leftbottom_rightbottom_center
  
 ==== teloptext ==== ==== teloptext ====
  
 Text string for OSD overlay Text string for OSD overlay
 +
 +==== telopfont (Qualcomm Only) ====
 +
 +The font to be used to overlay text in the encoded video
 +
 +Possible values: Universal or Monospace
 +
  
 ==== vgopsize ==== ==== vgopsize ====
Line 296: Line 304:
 Description:​ Protocol used to transport the encoded bitstream. Description:​ Protocol used to transport the encoded bitstream.
  
-Possible values: rtp, rtmp, udp, asi, tsfile, mts, tsrtp+Possible values: rtp, rtmp, udp, asi, mts, tsrtp
  
 ==== vquality ==== ==== vquality ====
Line 351: Line 359:
 Description:​ video multicast destination for RTSP. Used by ONVIF StartMulticast/​StopMulticast functions Description:​ video multicast destination for RTSP. Used by ONVIF StartMulticast/​StopMulticast functions
  
-Possible values: valid multicast addresses+Possible values: valid multicast addresses. Ranges are 224.0.0.0 to 239.255.255.255 
  
 ==== amulticastdest ==== ==== amulticastdest ====
Line 357: Line 366:
 Description:​ audio multicast destination for RTSP. Used by ONVIF StartMulticast/​StopMulticast functions Description:​ audio multicast destination for RTSP. Used by ONVIF StartMulticast/​StopMulticast functions
  
-Possible values: valid multicast addresses+Possible values: valid multicast addresses. The ranges are 224.0.0.0 to 239.255.255.255 
  
 ==== rtsp_auth_enable ==== ==== rtsp_auth_enable ====
Line 1052: Line 1062:
 ---- ----
  
-Dynamic instance for the channel number and update the preseting values in the database+Dynamic instance for the channel number and update the variable with the value on the fly.
  
 +One variable at a time is supported in the //​**action=Dynamic** //
 == Parameters: == == Parameters: ==
  
 ---- ----
- 
 //​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4. //​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
  
-//**var **//  ​Read the nfstrength ​value+//**var **//  ​The dynamic variable, See **Possible Variables** 
 + 
 +//​**val**// ​ The value for the dynamic variable 
 + 
 +== Possible Variables: == 
 +---- 
 + 
 +//​**vratediv **//  Adjusts the frame rate. Val range [1, 60]. Example 60 fps: 1 = 60 fps, 2 = 30 fps, 10 = 6 fps. 
 + 
 +//**vrate **//  Adjusts the bitrate for the given channel. Val range [2, 40960]. Example values: 2M, 100K. 
 + 
 +//​**gop**// ​ Adjust the Group of Pictures (GOP). Val range: [1, 65536]. 
 + 
 +//​**crop**//​ Update the encoder resolution/​ROI. Val is of format: Width**x**Height**(**X**,​**Y**)**. 
 + 
 +//**nfstrength**// Set the noise filter strength. Val range: [0, 1408]. __Note:__ HiSilicon only.  
 + 
 +//​**analog_gain**// ​ Adjust the MIC gain. Ambarella Val range: [-12, 59]. HiSilicon valid range: [-97, 30]. __Note:__ Unavailable on Qualcomm. 
 + 
 +//​**telop_text**//​ Update the text in text overlay. __Note:__ Unavailable on Qualcomm. 
 + 
 +//​**pip_enable**//​ Enable or disable PIP. Val on = enabled, off = disabled. __Note:__ Unavailable on Qualcomm. 
 + 
 +//​**pip_location**//​ Update the location of PIP. Val is top_right, top_left, bottom_right,​ bottom_left. __Note:__ Unavailable on Qualcomm. 
 + 
 +//​**startmulticast**//​ Start multicast streaming for the encoder channel. Val is not required. 
 + 
 +//​**stopmulticast**//​ Stop multicast streaming for the encoder channel. Val is not required. 
 + 
 +//​**debug**//​ Set the debug level for logging. Val is 0 = none, 1 = error, 2 = info, 3 = diagnostics,​ 4 = codeflow, 5 = dataflow. 
 + 
 +//​**logmpp_{module name}**// Set the log level for a logmpp module. Example Var '​logmpp_all'​ for all modules. __Note:__ HiSilicon only. 
 + 
 +//​**rotate_enable**//​ Enable or disable encoder rotation. Val on = enabled, off = disabled. __Note:__ HiSilicon only. 
 + 
 +//​**rotate_mode**//​ Set the encoder rotation mode. Val is all, inside, typical. __Note:__ HiSilicon only. 
 + 
 +//​**rotate_angle**//​ Set the angle of encoder roation. Val range: [0, 360]. __Note:__ HiSilicon only. 
 + 
 +//​**rotate_center_offset**//​ Set the center offset of encoder rotation. Val is of format X**,**Y and in range [-127, 127]. __Note:__ HiSilicon only. 
 + 
 +//​**translate_enable**//​ Enable or disable encoder translate. Val on = enabled, off = disabled. __Note:__ HiSilicon only. 
 + 
 +//​**translate_offset**//​ Set the offset of encoder translate. Val is of format X**,**Y and in range [-256, 256]. __Note:__ HiSilicon only. 
 + 
 +//​**vconflict**//​ Test whether a video source conflicts with the FPGA configuration. __Note:__ Does not apply to Ambarella or Qualcomm. 
 + 
 +//​**timecode**//​ Set timecode insertion into bitstream or overlay. Val is bitstream, overlay, on (bitstream and overlay). __Note:__ HiSilicon only. 
 + 
 +//​**genlock**//​ Enable or disable genlock. Val on = enabled, off = disabled. __Note:__ HiSilicon only. 
 + 
 +//​**eject**//​ Eject (un-mount) media at the media path given in Val. Example Val: /media/sda. __Note:__ Unavailable on Qualcomm. 
 + 
 +//​**errors_method_encoder**//​ Configure the error handling method for the encoder. Val is none, restart (encoder), reboot (system). __Note:__ Ambarella only. Some errors require a system reboot if configured for restart. 
 + 
 +//​**restart_pipeline**//​ Restart the encoder pipeline to try and fix encoder issues. Val vgroup ID range [0, 3]. __Note:__ Qualcomm only. 
 + 
 +//​**los_blue_screen**//​ Enable or disable LOS screen for all encode channels. Val is on or 1 = enabled, off or 0 = disabled. __Note:__ Qualcomm only. 
 + 
 +//​**dmalloc**//​ Mark or log (since last mark) unfreed heap pointers. Val is mark (to set the mark) or log (to print all unfreed pointers). __Note:__ Qualcomm only. 
 + 
 +//​**dump_instance**//​ Print debug information for the camera from the encoding channel. Val is channel ID [1,6]. __Note:__ Qualcomm only.
  
-//​**val**// ​ rotate_angle value. 
 == Returns: == == Returns: ==
  
Line 1075: Line 1145:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute ​to adjust the bitrate of a channel: ===
  
 <​code>​ <​code>​
-action=Dynamic&​chn=1&​var=analog_gain_db&val=10+action=Dynamic&​chn=1&​var=vrate&val=1M 
 </​code>​ </​code>​
  
Line 1089: Line 1160:
 <​code>​ <​code>​
 Dynamic response: {"​ret":"​0","​status":"​+OK"​} Dynamic response: {"​ret":"​0","​status":"​+OK"​}
 +
 </​code>​ </​code>​
  
 ---- ----
 +
  
 ==== EjectStorage ==== ==== EjectStorage ====
Line 1640: Line 1713:
 ---- ----
  
-Add/​Update ​the overlay values in the Database.+Display text or a PNG overlayed on the video feed for a given Channel.
  
 == Parameters: == == Parameters: ==
Line 1648: Line 1721:
 //​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4. //​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
  
-**Ambarella Specific** \\ +**//rgn_idx // **//​(Ambarella Specific)// Region ​Index, index to map overlay. The region index value is system-wide and can be in the range of 1 to 16. Ambarella provides 16 total color look-up tables for Overlay ​(for all Channels), rgn_idx signifies which color look-up table(CLUT) ​is in use
-**//​rgn_idx//​** ​ Index to map overlay. The region index value can be in the range of 1 to 16. Ambarella provides 16 total color look-up tables for Overlay, rgn_idx signifies which color look-up table is in use.+<​code>​ 
 + TEXT type=text source=”Channel 1” instance=1 rgn_idx=1 
 +      type=text source=”Channel 2” instance=2 rgn_idx=1 
 + 
 +</​code>​ 
 + 
 +In the above example, identical region indices are used, effectively reusing the CLUT. The text will be correct on each channel. When changing the color of the text, when using identical region indices, the last Overlay command issued will override all Overlay instances that are using the same region index, the text will still be different but the color will be the same because they are using the same shared rgn_idx. 
 + 
 +<​code>​ 
 + PNG type=png source=”/​opt/​config/​images/​image.png” instance=1 rgn_idx=2 
 +     ​type=png source=”/​opt/​config/​images/​image.png” instance=2 rgn_idx=2 
 + 
 +</​code>​ 
 + 
 +PNG overlay will work in the same way as text overlay when re-using region indices, but this is only helpful when overlaying identical PNGs.\\ 
 +Using different PNGs would cause colors to go wonky due to differing CLUTs for the different PNGs. 
 + 
 +The encoder writes the entire CLUT at the rgn_idx with each overlay command.
  
-**Qualcomm and HiSilicon** \\ +//**rgn_idx ** (//Qualcomm and DCK//)// Index to map overlay. The region index value can be in the range of 0 to 128, per channel.
-//​**rgn_idx**// ​ Index to map overlay.The region index value can be in the range of 0 to 128, per channel.+
  
 //​**​type**// ​ Type of overlay to be used possible values: text or png. //​**​type**// ​ Type of overlay to be used possible values: text or png.
Line 1800: Line 1889:
 ---- ----
  
-//**data **//  ​Parse the JSON formatted ​data and retrieve ​the modeposition and speed value.+//**data **//  JSON formatted ​table with parameters:​ 
 + 
 +   * **idx** (integer) - PTZ index. Possible values: 0, 1. 
 +  * **Value** (integer) - ON/OFF state of the PTZ AUX function. Possible values: 0 - OFF1 - ON. 
 +  * **AuxId ** (integer) - PTZ AUX index. Possible values: 0 to 255.
 == Returns: == == Returns: ==
  
Line 1809: Line 1902:
 **//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure. **//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
  
-**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.+**//​status//​** ​ String describing the failure when **ret** ​ is 1. "​OK"​ on success.
  
 ---- ----
 +
  
 ==== PtzClearPreset ==== ==== PtzClearPreset ====
Line 3376: Line 3470:
 ---- ----
  
-//​**enable**// ​ Enable/​Disable SNTP. Possible value: true, false. Default value true.+//​**enable**// ​ Enable/​Disable SNTP. Possible value: true, false, ctime, ptp . Default value true.
  
 **//​servers//​** ​ NTP server or list of NTP servers. **//​servers//​** ​ NTP server or list of NTP servers.
Line 3383: Line 3477:
  
 //​**timezone_name**// ​ Name for a time zone. Default is America/​Chicago. //​**timezone_name**// ​ Name for a time zone. Default is America/​Chicago.
 +
 +//​**ptprole**// ​ The Role for doing IEEE-1588 PTP Possible value: auto,​server,​client. Default is auto
 +
 +//​**unixtime **//  When **ctime **is used in //**enable **//  then the current unix time for the time you want to set.
 +
 +If the **timezone **is changed then a reboot of the Z3 device is required. You can use POST of **action=RestartBoard** after the **SetSNTP **command returns successfully
 == Returns: == == Returns: ==
  
Line 3395: Line 3495:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 3409: Line 3508:
 <​code>​ <​code>​
 SetSNTP response: {"​ret":"​0","​status":"​OK"​} SetSNTP response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
 ---- ----
 +
 +=== Timezone to Timezone_name ===
 +
 +|GMT0|Africa/​Abidjan|
 +|GMT0|Africa/​Accra|
 +|EAT-3|Africa/​Addis Ababa|
 +|CET-1|Africa/​Algiers|
 +|EAT-3|Africa/​Asmara|
 +|GMT0|Africa/​Bamako|
 +|WAT-1|Africa/​Bangui|
 +|GMT0|Africa/​Banjul|
 +|GMT0|Africa/​Bissau|
 +|CAT-2|Africa/​Blantyre|
 +|WAT-1|Africa/​Brazzaville|
 +|CAT-2|Africa/​Bujumbura|
 +|WET0|Africa/​Casablanca|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Africa/​Ceuta|
 +|GMT0|Africa/​Conakry|
 +|GMT0|Africa/​Dakar|
 +|EAT-3|Africa/​Dar es Salaam|
 +|EAT-3|Africa/​Djibouti|
 +|WAT-1|Africa/​Douala|
 +|WET0|Africa/​El Aaiun|
 +|GMT0|Africa/​Freetown|
 +|CAT-2|Africa/​Gaborone|
 +|CAT-2|Africa/​Harare|
 +|SAST-2|Africa/​Johannesburg|
 +|EAT-3|Africa/​Kampala|
 +|EAT-3|Africa/​Khartoum|
 +|CAT-2|Africa/​Kigali|
 +|WAT-1|Africa/​Kinshasa|
 +|WAT-1|Africa/​Lagos|
 +|WAT-1|Africa/​Libreville|
 +|GMT0|Africa/​Lome|
 +|WAT-1|Africa/​Luanda|
 +|CAT-2|Africa/​Lubumbashi|
 +|CAT-2|Africa/​Lusaka|
 +|WAT-1|Africa/​Malabo|
 +|CAT-2|Africa/​Maputo|
 +|SAST-2|Africa/​Maseru|
 +|SAST-2|Africa/​Mbabane|
 +|EAT-3|Africa/​Mogadishu|
 +|GMT0|Africa/​Monrovia|
 +|EAT-3|Africa/​Nairobi|
 +|WAT-1|Africa/​Ndjamena|
 +|WAT-1|Africa/​Niamey|
 +|GMT0|Africa/​Nouakchott|
 +|GMT0|Africa/​Ouagadougou|
 +|WAT-1|Africa/​Porto-Novo|
 +|GMT0|Africa/​Sao Tome|
 +|EET-2|Africa/​Tripoli|
 +|CET-1|Africa/​Tunis|
 +|WAT-1WAST,​M9.1.0,​M4.1.0|Africa/​Windhoek|
 +|HAST10HADT,​M3.2.0,​M11.1.0|America/​Adak|
 +|AKST9AKDT,​M3.2.0,​M11.1.0|America/​Anchorage|
 +|AST4|America/​Anguilla|
 +|AST4|America/​Antigua|
 +|BRT3|America/​Araguaina|
 +|ART3|America/​Argentina/​Buenos Aires|
 +|ART3|America/​Argentina/​Catamarca|
 +|ART3|America/​Argentina/​Cordoba|
 +|ART3|America/​Argentina/​Jujuy|
 +|ART3|America/​Argentina/​La Rioja|
 +|ART3|America/​Argentina/​Mendoza|
 +|ART3|America/​Argentina/​Rio Gallegos|
 +|ART3|America/​Argentina/​Salta|
 +|ART3|America/​Argentina/​San Juan|
 +|ART3|America/​Argentina/​Tucuman|
 +|ART3|America/​Argentina/​Ushuaia|
 +|AST4|America/​Aruba|
 +|PYT4PYST,​M10.1.0/​0,​M4.2.0/​0|America/​Asuncion|
 +|EST5|America/​Atikokan|
 +|BRT3|America/​Bahia|
 +|AST4|America/​Barbados|
 +|BRT3|America/​Belem|
 +|CST6|America/​Belize|
 +|AST4|America/​Blanc-Sablon|
 +|AMT4|America/​Boa Vista|
 +|COT5|America/​Bogota|
 +|MST7MDT,​M3.2.0,​M11.1.0|America/​Boise|
 +|MST7MDT,​M3.2.0,​M11.1.0|America/​Cambridge Bay|
 +|AMT4AMST,​M10.3.0/​0,​M2.3.0/​0|America/​Campo Grande|
 +|CST6CDT,​M4.1.0,​M10.5.0|America/​Cancun|
 +|VET4:​30|America/​Caracas|
 +|GFT3|America/​Cayenne|
 +|EST5|America/​Cayman|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​Chicago|
 +|MST7MDT,​M4.1.0,​M10.5.0|America/​Chihuahua|
 +|CST6|America/​Costa Rica|
 +|AMT4AMST,​M10.3.0/​0,​M2.3.0/​0|America/​Cuiaba|
 +|AST4|America/​Curacao|
 +|GMT0|America/​Danmarkshavn|
 +|PST8PDT,​M3.2.0,​M11.1.0|America/​Dawson|
 +|MST7|America/​Dawson Creek|
 +|MST7MDT,​M3.2.0,​M11.1.0|America/​Denver|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Detroit|
 +|AST4|America/​Dominica|
 +|MST7MDT,​M3.2.0,​M11.1.0|America/​Edmonton|
 +|AMT4|America/​Eirunepe|
 +|CST6|America/​El Salvador|
 +|BRT3|America/​Fortaleza|
 +|AST4ADT,​M3.2.0,​M11.1.0|America/​Glace Bay|
 +|AST4ADT,​M3.2.0/​0:​01,​M11.1.0/​0:​01|America/​Goose Bay|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Grand Turk|
 +|AST4|America/​Grenada|
 +|AST4|America/​Guadeloupe|
 +|CST6|America/​Guatemala|
 +|ECT5|America/​Guayaquil|
 +|GYT4|America/​Guyana|
 +|AST4ADT,​M3.2.0,​M11.1.0|America/​Halifax|
 +|CST5CDT,​M3.2.0/​0,​M10.5.0/​1|America/​Havana|
 +|MST7|America/​Hermosillo|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Indiana/​Indianapolis|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​Indiana/​Knox|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Indiana/​Marengo|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Indiana/​Petersburg|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​Indiana/​Tell City|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Indiana/​Vevay|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Indiana/​Vincennes|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Indiana/​Winamac|
 +|MST7MDT,​M3.2.0,​M11.1.0|America/​Inuvik|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Iqaluit|
 +|EST5|America/​Jamaica|
 +|AKST9AKDT,​M3.2.0,​M11.1.0|America/​Juneau|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Kentucky/​Louisville|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Kentucky/​Monticello|
 +|BOT4|America/​La Paz|
 +|PET5|America/​Lima|
 +|PST8PDT,​M3.2.0,​M11.1.0|America/​Los Angeles|
 +|BRT3|America/​Maceio|
 +|CST6|America/​Managua|
 +|AMT4|America/​Manaus|
 +|AST4|America/​Marigot|
 +|AST4|America/​Martinique|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​Matamoros|
 +|MST7MDT,​M4.1.0,​M10.5.0|America/​Mazatlan|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​Menominee|
 +|CST6CDT,​M4.1.0,​M10.5.0|America/​Merida|
 +|CST6CDT,​M4.1.0,​M10.5.0|America/​Mexico City|
 +|PMST3PMDT,​M3.2.0,​M11.1.0|America/​Miquelon|
 +|AST4ADT,​M3.2.0,​M11.1.0|America/​Moncton|
 +|CST6CDT,​M4.1.0,​M10.5.0|America/​Monterrey|
 +|UYT3UYST,​M10.1.0,​M3.2.0|America/​Montevideo|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Montreal|
 +|AST4|America/​Montserrat|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Nassau|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​New York|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Nipigon|
 +|AKST9AKDT,​M3.2.0,​M11.1.0|America/​Nome|
 +|FNT2|America/​Noronha|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​North Dakota/​Center|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​North Dakota/New Salem|
 +|MST7MDT,​M3.2.0,​M11.1.0|America/​Ojinaga|
 +|EST5|America/​Panama|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Pangnirtung|
 +|SRT3|America/​Paramaribo|
 +|MST7|America/​Phoenix|
 +|AST4|America/​Port of Spain|
 +|EST5|America/​Port-au-Prince|
 +|AMT4|America/​Porto Velho|
 +|AST4|America/​Puerto Rico|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​Rainy River|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​Rankin Inlet|
 +|BRT3|America/​Recife|
 +|CST6|America/​Regina|
 +|AMT4|America/​Rio Branco|
 +|PST8PDT,​M4.1.0,​M10.5.0|America/​Santa Isabel|
 +|BRT3|America/​Santarem|
 +|AST4|America/​Santo Domingo|
 +|BRT3BRST,​M10.3.0/​0,​M2.3.0/​0|America/​Sao Paulo|
 +|EGT1EGST,​M3.5.0/​0,​M10.5.0/​1|America/​Scoresbysund|
 +|MST7MDT,​M3.2.0,​M11.1.0|America/​Shiprock|
 +|AST4|America/​St Barthelemy|
 +|NST3:​30NDT,​M3.2.0/​0:​01,​M11.1.0/​0:​01|America/​St Johns|
 +|AST4|America/​St Kitts|
 +|AST4|America/​St Lucia|
 +|AST4|America/​St Thomas|
 +|AST4|America/​St Vincent|
 +|CST6|America/​Swift Current|
 +|CST6|America/​Tegucigalpa|
 +|AST4ADT,​M3.2.0,​M11.1.0|America/​Thule|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Thunder Bay|
 +|PST8PDT,​M3.2.0,​M11.1.0|America/​Tijuana|
 +|EST5EDT,​M3.2.0,​M11.1.0|America/​Toronto|
 +|AST4|America/​Tortola|
 +|PST8PDT,​M3.2.0,​M11.1.0|America/​Vancouver|
 +|PST8PDT,​M3.2.0,​M11.1.0|America/​Whitehorse|
 +|CST6CDT,​M3.2.0,​M11.1.0|America/​Winnipeg|
 +|AKST9AKDT,​M3.2.0,​M11.1.0|America/​Yakutat|
 +|MST7MDT,​M3.2.0,​M11.1.0|America/​Yellowknife|
 +|WST-8|Antarctica/​Casey|
 +|DAVT-7|Antarctica/​Davis|
 +|DDUT-10|Antarctica/​DumontDUrville|
 +|MIST-11|Antarctica/​Macquarie|
 +|MAWT-5|Antarctica/​Mawson|
 +|NZST-12NZDT,​M9.5.0,​M4.1.0/​3|Antarctica/​McMurdo|
 +|ROTT3|Antarctica/​Rothera|
 +|NZST-12NZDT,​M9.5.0,​M4.1.0/​3|Antarctica/​South Pole|
 +|SYOT-3|Antarctica/​Syowa|
 +|VOST-6|Antarctica/​Vostok|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Arctic/​Longyearbyen|
 +|AST-3|Asia/​Aden|
 +|ALMT-6|Asia/​Almaty|
 +|ANAT-11ANAST,​M3.5.0,​M10.5.0/​3|Asia/​Anadyr|
 +|AQTT-5|Asia/​Aqtau|
 +|AQTT-5|Asia/​Aqtobe|
 +|TMT-5|Asia/​Ashgabat|
 +|AST-3|Asia/​Baghdad|
 +|AST-3|Asia/​Bahrain|
 +|AZT-4AZST,​M3.5.0/​4,​M10.5.0/​5|Asia/​Baku|
 +|ICT-7|Asia/​Bangkok|
 +|EET-2EEST,​M3.5.0/​0,​M10.5.0/​0|Asia/​Beirut|
 +|KGT-6|Asia/​Bishkek|
 +|BNT-8|Asia/​Brunei|
 +|CHOT-8|Asia/​Choibalsan|
 +|CST-8|Asia/​Chongqing|
 +|IST-5:​30|Asia/​Colombo|
 +|EET-2EEST,​M4.1.5/​0,​M10.5.5/​0|Asia/​Damascus|
 +|BDT-6|Asia/​Dhaka|
 +|TLT-9|Asia/​Dili|
 +|GST-4|Asia/​Dubai|
 +|TJT-5|Asia/​Dushanbe|
 +|EET-2EEST,​M3.5.6/​0:​01,​M9.1.5|Asia/​Gaza|
 +|CST-8|Asia/​Harbin|
 +|ICT-7|Asia/​Ho Chi Minh|
 +|HKT-8|Asia/​Hong Kong|
 +|HOVT-7|Asia/​Hovd|
 +|IRKT-8IRKST,​M3.5.0,​M10.5.0/​3|Asia/​Irkutsk|
 +|WIT-7|Asia/​Jakarta|
 +|EIT-9|Asia/​Jayapura|
 +|AFT-4:​30|Asia/​Kabul|
 +|PETT-11PETST,​M3.5.0,​M10.5.0/​3|Asia/​Kamchatka|
 +|PKT-5|Asia/​Karachi|
 +|CST-8|Asia/​Kashgar|
 +|NPT-5:​45|Asia/​Kathmandu|
 +|IST-5:​30|Asia/​Kolkata|
 +|KRAT-7KRAST,​M3.5.0,​M10.5.0/​3|Asia/​Krasnoyarsk|
 +|MYT-8|Asia/​Kuala Lumpur|
 +|MYT-8|Asia/​Kuching|
 +|AST-3|Asia/​Kuwait|
 +|CST-8|Asia/​Macau|
 +|MAGT-11MAGST,​M3.5.0,​M10.5.0/​3|Asia/​Magadan|
 +|CIT-8|Asia/​Makassar|
 +|PHT-8|Asia/​Manila|
 +|GST-4|Asia/​Muscat|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Asia/​Nicosia|
 +|NOVT-6NOVST,​M3.5.0,​M10.5.0/​3|Asia/​Novokuznetsk|
 +|NOVT-6NOVST,​M3.5.0,​M10.5.0/​3|Asia/​Novosibirsk|
 +|OMST-7|Asia/​Omsk|
 +|ORAT-5|Asia/​Oral|
 +|ICT-7|Asia/​Phnom Penh|
 +|WIT-7|Asia/​Pontianak|
 +|KST-9|Asia/​Pyongyang|
 +|AST-3|Asia/​Qatar|
 +|QYZT-6|Asia/​Qyzylorda|
 +|MMT-6:​30|Asia/​Rangoon|
 +|AST-3|Asia/​Riyadh|
 +|SAKT-10SAKST,​M3.5.0,​M10.5.0/​3|Asia/​Sakhalin|
 +|UZT-5|Asia/​Samarkand|
 +|KST-9|Asia/​Seoul|
 +|CST-8|Asia/​Shanghai|
 +|SGT-8|Asia/​Singapore|
 +|CST-8|Asia/​Taipei|
 +|UZT-5|Asia/​Tashkent|
 +|GET-4|Asia/​Tbilisi|
 +|IRST-3:​30IRDT,​80/​0,​264/​0|Asia/​Tehran|
 +|BTT-6|Asia/​Thimphu|
 +|JST-9|Asia/​Tokyo|
 +|ULAT-8|Asia/​Ulaanbaatar|
 +|CST-8|Asia/​Urumqi|
 +|ICT-7|Asia/​Vientiane|
 +|VLAT-10VLAST,​M3.5.0,​M10.5.0/​3|Asia/​Vladivostok|
 +|YAKT-9YAKST,​M3.5.0,​M10.5.0/​3|Asia/​Yakutsk|
 +|YEKT-5YEKST,​M3.5.0,​M10.5.0/​3|Asia/​Yekaterinburg|
 +|AMT-4AMST,​M3.5.0,​M10.5.0/​3|Asia/​Yerevan|
 +|AZOT1AZOST,​M3.5.0/​0,​M10.5.0/​1|Atlantic/​Azores|
 +|AST4ADT,​M3.2.0,​M11.1.0|Atlantic/​Bermuda|
 +|WET0WEST,​M3.5.0/​1,​M10.5.0|Atlantic/​Canary|
 +|CVT1|Atlantic/​Cape Verde|
 +|WET0WEST,​M3.5.0/​1,​M10.5.0|Atlantic/​Faroe|
 +|WET0WEST,​M3.5.0/​1,​M10.5.0|Atlantic/​Madeira|
 +|GMT0|Atlantic/​Reykjavik|
 +|GST2|Atlantic/​South Georgia|
 +|GMT0|Atlantic/​St Helena|
 +|FKT4FKST,​M9.1.0,​M4.3.0|Atlantic/​Stanley|
 +|CST-9:​30CST,​M10.1.0,​M4.1.0/​3|Australia/​Adelaide|
 +|EST-10|Australia/​Brisbane|
 +|CST-9:​30CST,​M10.1.0,​M4.1.0/​3|Australia/​Broken Hill|
 +|EST-10EST,​M10.1.0,​M4.1.0/​3|Australia/​Currie|
 +|CST-9:​30|Australia/​Darwin|
 +|CWST-8:​45|Australia/​Eucla|
 +|EST-10EST,​M10.1.0,​M4.1.0/​3|Australia/​Hobart|
 +|EST-10|Australia/​Lindeman|
 +|LHST-10:​30LHST-11,​M10.1.0,​M4.1.0|Australia/​Lord Howe|
 +|EST-10EST,​M10.1.0,​M4.1.0/​3|Australia/​Melbourne|
 +|WST-8|Australia/​Perth|
 +|EST-10EST,​M10.1.0,​M4.1.0/​3|Australia/​Sydney|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Amsterdam|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Andorra|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Athens|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Belgrade|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Berlin|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Bratislava|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Brussels|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Bucharest|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Budapest|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Chisinau|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Copenhagen|
 +|GMT0IST,​M3.5.0/​1,​M10.5.0|Europe/​Dublin|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Gibraltar|
 +|GMT0BST,​M3.5.0/​1,​M10.5.0|Europe/​Guernsey|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Helsinki|
 +|GMT0BST,​M3.5.0/​1,​M10.5.0|Europe/​Isle of Man|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Istanbul|
 +|GMT0BST,​M3.5.0/​1,​M10.5.0|Europe/​Jersey|
 +|EET-2EEST,​M3.5.0,​M10.5.0/​3|Europe/​Kaliningrad|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Kiev|
 +|WET0WEST,​M3.5.0/​1,​M10.5.0|Europe/​Lisbon|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Ljubljana|
 +|GMT0BST,​M3.5.0/​1,​M10.5.0|Europe/​London|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Luxembourg|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Madrid|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Malta|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Mariehamn|
 +|EET-2EEST,​M3.5.0,​M10.5.0/​3|Europe/​Minsk|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Monaco|
 +|MSK-4|Europe/​Moscow|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Oslo|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Paris|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Podgorica|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Prague|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Riga|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Rome|
 +|SAMT-3SAMST,​M3.5.0,​M10.5.0/​3|Europe/​Samara|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​San Marino|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Sarajevo|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Simferopol|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Skopje|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Sofia|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Stockholm|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Tallinn|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Tirane|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Uzhgorod|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Vaduz|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Vatican|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Vienna|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Vilnius|
 +|VOLT-3VOLST,​M3.5.0,​M10.5.0/​3|Europe/​Volgograd|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Warsaw|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Zagreb|
 +|EET-2EEST,​M3.5.0/​3,​M10.5.0/​4|Europe/​Zaporozhye|
 +|CET-1CEST,​M3.5.0,​M10.5.0/​3|Europe/​Zurich|
 +|EAT-3|Indian/​Antananarivo|
 +|IOT-6|Indian/​Chagos|
 +|CXT-7|Indian/​Christmas|
 +|CCT-6:​30|Indian/​Cocos|
 +|EAT-3|Indian/​Comoro|
 +|TFT-5|Indian/​Kerguelen|
 +|SCT-4|Indian/​Mahe|
 +|MVT-5|Indian/​Maldives|
 +|MUT-4|Indian/​Mauritius|
 +|EAT-3|Indian/​Mayotte|
 +|RET-4|Indian/​Reunion|
 +|WST11|Pacific/​Apia|
 +|NZST-12NZDT,​M9.5.0,​M4.1.0/​3|Pacific/​Auckland|
 +|CHAST-12:​45CHADT,​M9.5.0/​2:​45,​M4.1.0/​3:​45|Pacific/​Chatham|
 +|VUT-11|Pacific/​Efate|
 +|PHOT-13|Pacific/​Enderbury|
 +|TKT10|Pacific/​Fakaofo|
 +|FJT-12|Pacific/​Fiji|
 +|TVT-12|Pacific/​Funafuti|
 +|GALT6|Pacific/​Galapagos|
 +|GAMT9|Pacific/​Gambier|
 +|SBT-11|Pacific/​Guadalcanal|
 +|ChST-10|Pacific/​Guam|
 +|HST10|Pacific/​Honolulu|
 +|HST10|Pacific/​Johnston|
 +|LINT-14|Pacific/​Kiritimati|
 +|KOST-11|Pacific/​Kosrae|
 +|MHT-12|Pacific/​Kwajalein|
 +|MHT-12|Pacific/​Majuro|
 +|MART9:​30|Pacific/​Marquesas|
 +|SST11|Pacific/​Midway|
 +|NRT-12|Pacific/​Nauru|
 +|NUT11|Pacific/​Niue|
 +|NFT-11:​30|Pacific/​Norfolk|
 +|NCT-11|Pacific/​Noumea|
 +|SST11|Pacific/​Pago Pago|
 +|PWT-9|Pacific/​Palau|
 +|PST8|Pacific/​Pitcairn|
 +|PONT-11|Pacific/​Ponape|
 +|PGT-10|Pacific/​Port Moresby|
 +|CKT10|Pacific/​Rarotonga|
 +|ChST-10|Pacific/​Saipan|
 +|TAHT10|Pacific/​Tahiti|
 +|GILT-12|Pacific/​Tarawa|
 +|TOT-13|Pacific/​Tongatapu|
 +|TRUT-10|Pacific/​Truk|
 +|WAKT-12|Pacific/​Wake|
 +|WFT-12|Pacific/​Wallis|
 +
 +----
 +
 +\\
 +
  
 ==== SetSNMP ==== ==== SetSNMP ====
Line 3570: Line 4075:
 <​code>​ <​code>​
 SetOnvif response: {"​ret":"​0","​status":"​OK"​} SetOnvif response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== OverlayStop ====
 +
 +----
 +
 +Stop overlay.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +
 +//​**rgn_idx**// ​ ​Index of overly for this channel.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +<​code>​
 +python3 z3overlay.py -ip 192.168.10.127 -username admin -passwd admin -aim -track -moon -rtsp
 +
 +</​code>​
 +
 +----
 +
 +=== Another method to execute: ===
 +
 +<​code>​
 +curl -s --connect-timeout 30 --max-time 60 --data "​action=OverlayStop&​chn=1&​rgn_idx=1&​source=welcome&​type=text&​location=top_center"​ "​http://​192.168.10.127/​cgi-bin/​control.cgi"​
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +{"​ret":"​0","​status":"​ OK"}
 +
 +</​code>​
 +
 +==== PtzAbsoluteMove ====
 +
 +----
 +
 +Send absolute move command to the PTZ.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value. The mode values can be Pan, tilt, and Zoom.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzAuxiliary ====
 +
 +----
 +
 +Send PTZ auxiliary value to the PTZ.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzClearPreset ====
 +
 +----
 +
 +Remove the Ptz preset values for the user.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value. The mode values can be Pan, tilt, and Zoom.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +action=PtzClearPreset&​data={"​idx":​0,"​profile_token":"​profile1","​preset_token":"​2"​}
 +
 +</​code>​
 +
 +<​code>​
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +PtzClearPreset response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== PtzContinuousMove ====
 +
 +----
 +
 +Send continous move command to the PTZ.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +Please refer the test code and steps to execute is available in this section with different speed and camera selection for both continuous and step mode
 +
 +Pan to the left at half speed
 +
 +<​code>​
 +action=PtzContinuousMove&​data={"​PanTilt":​{"​x":​-0.5,"​y":​0},"​idx":​0}
 +
 +</​code>​
 +
 +Pan to the right at half speed
 +
 +<​code>​
 +action=PtzContinuousMove&​data={"​PanTilt":​{"​x":​0.5,"​y":​0},"​idx":​0}
 +
 +</​code>​
 +
 +Tilt down at max speed
 +
 +<​code>​
 +action=PtzContinuousMove&​data={"​PanTilt":​{"​x":​0,"​y":​1},"​idx":​0}
 +
 +</​code>​
 +
 +==== PtzGotoPreset ====
 +
 +----
 +
 +Send preset value to PTZ.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +<​code>​
 +action: "​PtzGotoPreset",​ data: '​{"​idx":​0,"​preset_token":"​2"​}'​
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +PtzGotoPreset response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== PtzNewTourSpot ====
 +
 +----
 +
 +Get the new tour spot and update in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +<​code>​
 +action=PtzNewTourSpot&​data={"​idx":​0,"​profile_token":"​profile1","​tour_token":"​1","​name":"​New_TourSpot"​}
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +PtzNewTourSpot response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== PtzPosition ====
 +
 +----
 +
 +Move the Ptz to the input position
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzPreset ====
 +
 +----
 +
 +Preset the Ptz based on the value.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzQuery ====
 +
 +----
 +
 +Get the ptz status and degree value from the ptz
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzRemoveTourSpot ====
 +
 +----
 +
 +Remove the ptz tour spot
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the profile token, preset tour token, row index.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +<​code>​
 +action: "​PtzRemoveTourSpot",​ data: '​{"​profile_token":"​profile1","​tour_token":"​1","​row_index":​0}'​
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +PtzRemoveTourSpot response: {"​ret":​0,"​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== PtzSetPreset ====
 +
 +----
 +
 +Set the preseting value in the PTZ
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +<​code>​
 +action: "​PtzSetPreset",​ data: '​{"​idx":​0,"​profile_token":"​profile1","​name":"​New_Preset"​}'​
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +PtzSetPreset response: {"​ret":"​0","​status":"​OK","​token":"​2"​}
 +
 +</​code>​
 +
 +----
 +
 +==== PtzStartTour ====
 +
 +----
 +
 +Start the PTZ tour
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +<​code>​
 +action: "​PtzStartTour",​ data: '​{"​profile_token":"​profile1","​tour_token":"​1","​name":"​New_TourSpot","​idx":​0}'​
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +PtzStartTour response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== PtzStop ====
 +
 +----
 +
 +Stop the PTZ
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +<​code>​
 +action=PtzStop&​data={"​mode":​1,"​idx":​0}
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +PtzStop response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== RemoveJobs ====
 +
 +----
 +
 +Delete the schedule jobs from the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**purgelist**// ​ List of schedule jobs to be removed.
 +
 +//​**rowcnt**// ​ Number of rows.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== RestartBoard ====
 +
 +----
 +
 +Read the operation mode. Whether its encoding / decoding. Stop the channel encoding and restart the board
 +
 +== Parameters: ==
 +
 +----
 +
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +RestartBoard response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SaveCamera ====
 +
 +----
 +
 +Saving the camera settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +**//​zoom_direct_value//​** ​ Zoom value. Possible values: 0 (wide) to 0x7ac0 (full zoom)
 +
 +//​**white_balance_mode**// ​ White balance mode. Default value is auto. Possible values: auto / manual / indoor/ one-push / auto trace / sodium lamp auto / sodium lamp fixed / sodium lamp outdoor.
 +
 +//​**color_gain**// ​ color gain. Default value is 4. Possible values: Range from 0 (60%) to 14 (200%)
 +
 +//​**color_hue**// ​ color hue. Default value is 7. Possible values: Range from 0 (60%) to 14 (200%)
 +
 +//​**chroma_suppress**// ​ Chroma suppress. Default value is 1. Possible values: 0=none, 1, 2, 3
 +
 +//​**wb_manual_rgain_direct**// ​ white balance manual red gain. Default value is 190. Possible values: 0 to 255
 +
 +//​**wb_manual_bgain_direct **//  white balance manual blue gain. Default value is 190. Possible values: 0 to 255
 +
 +//​**optical_zoom_only **//  optical zoom only. Default value is 0. Possible values: 0, 1
 +
 +//​**focus_direct_value**// ​ focus direct value. Default value is 4096. Possible values: 0x1000 to 0xf000
 +
 +//​**manual_focus **//  Manual focus. Default value is auto. Possible values: auto, manual
 +
 +//​**exposure_mode **//  Exposure mode. Default value is 0. Possible values: 0 - Auto, 10 - Shutter Priority, 11 - Iris -Priority, 3 - Manual.
 +
 +//​**shutter**// ​ Shutter. Default value is 7.
 +
 +//**iris **//  Iris. Default value is 0.
 +
 +//​**gain**// ​ Gain. Default value is 0.
 +
 +//​**high_sensitivity**// ​ high sensitivity value. Default value is 3. Possible values 0, 1.
 +
 +//​**hlc_level **//  hlc level. Default value is 0. Possible values in range 0 to 3.
 +
 +**hlc_level_mask** mask value of hlc level. Default value is 0. Possible values 0, 1.
 +
 +//​**stable_zoom**// ​ stable zoom on or off. Default value is off.
 +
 +//**eflip **//  Default value is 5. Possible values 0, 1.
 +
 +//​**lr_reverse **//  Default value is 0. Possible values 0, 1.
 +
 +//​**monitor_mode **//  Default value is 1080p-59.94.
 +
 +//​**genlock_source **//  Default value is 2.
 +
 +//​**zoom_step_size **//  Default value is 4. Possible values in range (1 - 7).
 +
 +//​**focus_step_size **//  Default value is 1. Possible values in range (0 - 7).
 +
 +//​**manual_icr **//  Default value is Off. Possible values: On, Off, Auto, Auto Color
 +
 +//​**img_freeze **//  Default value is 0. Possible values: 0, 1.
 +
 +//**hr_mode **//  High resolution mode. Default value is 0. Possible values: 0, 1.
 +
 +//​**img_stabilizer ** //Default value is 0. Possible values 0, 1.
 +
 +//​**img_bw** //Image black white. Default value is 0. Possible values 0, 1.
 +
 +//​**nr_2d_level **//  Default value is 5. Possible values in range (0 - 5).
 +
 +//​**nr_3d_level** //Default value is 4. Possible values in range (0 - 5).
 +
 +//​**icr_threshold** //Default value is 14. Possible values in range (0-255 for 4K camera, 0-28 for HD camera).
 +
 +//​**slow_shutter** //Default value is 0. Possible values: 0, 1.
 +
 +//​**slow_shutter_limit **//  Default value is 4. Possible values in range: (1 to 6)
 +
 +//​**flicker_reduction** //Default value is 0. Possible values: 0, 1.
 +
 +//​**img_stabilizer_level** //Default value is 0. Possible values: 0, 2.
 +
 +//​**wide_dynamic_range** //Default value is 3.
 +
 +//​**ve_brightness** //Default value is 3. Possible values in range: 0, 6.
 +
 +//​**ve_compensation_type** //Default value is 2. Possible values in range: 0, 3.
 +
 +//​**ve_compensation_level **//  Default value is 1. Possible values in range: 0, 2.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Save Camera response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SaveCameraBoson ====
 +
 +----
 +
 +Save color pallete settings of boson camera in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**color_pallette**// ​ Color pallete. Default value is whitehot.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Save Camera Boson response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SaveCameraDRSTamarisk ====
 +
 +----
 +
 +Save color pallete settings of DRS Tamarisk camera in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**color_pallette**// ​ Color pallete. Default value is whitehot.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Save Camera DRS Tamarisk response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SaveCameraLink ====
 +
 +----
 +
 +Saving camera link settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**pxl_format**// ​ Pixel format. Default value is 1.
 +
 +//​**color_table**// ​ Color table. Default value is whitehot.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Save Camera Link response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SaveCameraLx ====
 +
 +----
 +
 +Saving camera Lx settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**SONY_ExposureMode**// ​ Exposure Mode. Default value is 32852. Possible values: 32848 (Program Auto), 32849 (Aperture Priority), 32850 (Shutter Priority), 32851 (Manual Exposure), 32852 (Intelligent Auto).
 +
 +//​**name**// ​ Name of the camera. Default value is s3ca_1.
 +
 +//​**SONY_ShutterSpeed**// ​ Shutter speed. Defualt value is NULL.
 +
 +//​**SONY_ISO**// ​ ISO. Defualt value is NULL.
 +
 +//​**SONY_ExposureComp**// ​ Exposure comp. Defualt value is NULL.
 +
 +//​**SONY_WhiteBalance**// ​ White balance. Defualt value is NULL.
 +
 +//​**SONY_ColorTemp**// ​ Color temperature. Defualt value is NULL.
 +
 +//​**SONY_APS_C**// ​ APS_C. Defualt value is NULL.
 +
 +//​**SONY_NtscPalSelect**// ​ NTSC / PAL selection. Defualt value is NULL.
 +
 +//​**SONY_MovieSteadyMode**// ​ Movie steady mode. Defualt value is NULL.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Save Camera Lx response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SaveCameraTau ====
 +
 +----
 +
 +Saving camera TAU settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**color_table **//  color table value .
 +
 +//​**is_active**// ​ Active/​Deactive. Default value is 0.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SaveJobs ====
 +
 +----
 +
 +Save the schedule jobs in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the schedule activities.//​**.** //
 +
 +//​**rowcnt**// ​ Get the number of row count.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SavePresets ====
 +
 +----
 +
 +Check the operation mode whether its in encoder or decoder. Save the preseting value of the mode in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**dec_current_preset **//  Save the decoder current preseting values.
 +
 +//​**enc_current_preset**// ​ Save the encoder current preseting values.
 +
 +//​**preset**// ​ Settings for encoder or decoder.
 +
 +//​**enc_channels **//  Number of channels. Maximum number of channels is 2 for decoder and 4 for encoder.
 +
 +//​**opmode**// ​ Operation mode. Default is Encoder. Possible values: Encoder / Decoder.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SavePresets response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SaveUser ====
 +
 +----
 +
 +Save the state, preset, encoder/​decoder settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +**//​enc_current_preset//​** ​ Get the encoder preseting values for the current channel.
 +
 +**//​dec_current_preset//​** ​ Get the decoder preseting values for the current channel.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SaveUser response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetAdv ====
 +
 +----
 +
 +Save the encoder advance settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**enc_adv_setting **//  Get the encoder advance setting values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetAdv response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetAPConfig ====
 +
 +----
 +
 +Set the wifi and its password.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**passwd **//  Get the wifi password
 +
 +//​**passwden**// ​ Get wifi enable / disable. Default value is disable.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetAPConfig response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetAudio ====
 +
 +----
 +
 +Save the audio input settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**aport **//  Get the audio port. Default value is MIC. Possible values are MIC , MICL
 +
 +//​**analog_gain_db**// ​ Get the analog gain decibal value. Default value is 0. The value ranges are -97 to 30.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetAudio response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetCameraLink ====
 +
 +----
 +
 +Save the color table and pixel format values in the Database and set the color table and pixel format in the fpga.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**val **//  Get the value for color table and pixel format.
 +
 +//**opt **//  The options are color table and pixel format.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Set Camera Link response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetConsole ====
 +
 +----
 +
 +Set the console value as ttyAMA0 or none.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**console_enable **//  Get console value is enabled / disabled.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Set Console response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetDDNSEnable ====
 +
 +----
 +
 +Set the Dynamic Domain Name System settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**ddns_enable **//  Get the ddns enable value. Default value is Off. Possible values; (On, Off)
 +
 +//​**ddns_provider **//  Get the ddns provider. Default value is freedns. Possible values: //​(//​freedns,​ freemyip, dyn, domains.google.com,​ duckdns.org,​ no-ip.com, tunnelbroker.net,​ dynv6.com, cloudxnv.net,​ dnspod.cn, cloudflare.com).
 +
 +//​**ddns_username **//  Provide the username.
 +
 +//​**ddns_password ** //Provide the password.
 +
 +//​**ddns_hostname ** //Hostname for DDNS login.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Set DDNS Enable response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetDebugLevel ====
 +
 +----
 +
 +Set the logging level. The setting is persistent.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**sysdebuglevel **//  Get the system debug level. Possible values 0=None, 1=Error, 2=Information,​ 3=Diagnostics,​ 4=Codeflow, 5=Dataflow.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Set Debug Level response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetDevName ====
 +
 +----
 +
 +Set the device name in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**sysdevicename **//  Get the system device name.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Set Dev Name response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetDisplay ====
 +
 +----
 +
 +Controls composite output (passthru video from camera).
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**disp_std **//  Get display standard for encoder. Default value is Auto.
 +
 +//​**disp_input **//  Get display input for encoder. Default value is MACRO_DEFAULT_DISP_INPUT.
 +
 +//​**save_only**// ​ Possible values: (True / False)
 +
 +//​**disp_layout **//  Display layout for decoder. Default value is 1×1.
 +
 +//​**disp_mode **//  Display mode for decoder. Default value is UltraHD.
 +
 +//​**disp_std2 **//  Display standard for decoder. Default value is auto.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +Set Display response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetDSCP ====
 +
 +----
 +
 +Set the DSCP configuration settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**diff_serve**// ​ Get the DSCP configuration value. Default value is 0x00. Possible values are ( 0x00, 0xB8, 0x88, 0x90, 0x98, 0x80, 0x68, 0x70, 0x78, 0x60, 0x48, 0x50, 0x58, 0x28, 0x30, 0x38, 0x01).
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetDSCP response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetFpga ====
 +
 +----
 +
 +Set the fpga settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**fpgafileglob**// ​ Get fpga value. Possible values are (boson / cvbs / tamarisk / tau2).
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetFpga response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetIp ====
 +
 +----
 +
 +Control networking settings of the Z3 device such as local IPv4 IP address, netmask, etc. Additionally control Encoder Auto-Start after boot-up and enable/​disable showing of advanced WebUI settings.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**do_autostart**// ​ Control automatic stream start after bootup. Possible values: 1 = do autostart 0 = do not autostart.
 +
 +//​**enc_adv_setting**// ​ Control appearance of advanced settings on WebUI. Possible values: off, on.
 +
 +//​**ipmtu**// ​ Control Ethernet IP Maximum Transmission Unit (MTU) size in bytes. Possible values: 576 to 1500.
 +
 +//​**eth_speed**// ​ Control Gigabit Ethernet auto-negotiation allowed speeds. Possible values: AUTO, AUTO-100, 1000, 100, 10.
 +
 +//​**eth_duplex**// ​ Control Ethernet auto-negotiation allowed duplex. Possible values: AUTO, FULL, HALF.
 +
 +//​**local_ip**// ​ IPv4 address.
 +
 +//​**local_netmask**// ​ IPv4 netmask.
 +
 +//​**default_gw**// ​ IPv4 default gateway.
 +
 +//​**local_dnsip**// ​ DNS server primary.
 +
 +//​**local_dnsip2**// ​ DNS server secondary.
 +
 +//​**use_dhcp**// ​ Controls use of DHCP or static IP. Possible values: 1 (DHCP enabled), 0 (DHCP disabled, use static IP).
 +
 +//​**local_hostname**// ​ Network hostname.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +<​code>​
 +action=SetIp&​default_gw=172.29.0.1&​do_autostart=1&​enc_adv_setting=onð_duplex=AUTOð_speed=AUTO&​ipmtu=1500&​local_dnsip=8.8.8.8&​local_dnsip2=4.4.4.4&​local_hostname=Z3Dome-4M&​local_ip=172.29.10.122&​local_netmask:​ =255.255.0.0&​use_dhcp=1
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetIp response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetLoginLimit ====
 +
 +----
 +
 +Set the login limit settings in the Database
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**maxlogin**// ​ mximum number of login limit. Possible value in range (3 to 99 ).
 +
 +//​**login_window**// ​ Login window period, the value are considered in seconds. Possible value in range (60 to 32768).
 +
 +//​**lockout_interval**// ​ Lockout interval values are mentioned in seconds, which is used when maximum number of login limit is reached. Possible value in range (-1 to 32768)
 +
 +//​**login_timeout**// ​ Login timeout
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetLoginLimit response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetNFS ====
 +
 +----
 +
 +Set the NFS settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**nfs_enable**// ​ Enable/​Disable nfs
 +
 +//​**nfs_server**// ​ Get the nfs server ip address. Default is 192.168.1.6
 +
 +//​**nfs_server_root**// ​ Get the server root path / location.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetNFS response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetSNTP ====
 +
 +----
 +
 +Set SNTP (Simple Network Time Protocol) settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**enable**// ​ Enable/​Disable SNTP. Possible value: true, false. Default value true.
 +
 +**//​servers//​** ​ NTP server or list of NTP servers.
 +
 +//​**timezone**// ​ Linux TZ database value for Timezone.
 +
 +//​**timezone_name**// ​ Name for a time zone. Default is America/​Chicago.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetSNTP response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetSNMP ====
 +
 +----
 +
 +Set the SNMP settings in the database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**power_trap_en**// ​ Enable/​Disable power trap.
 +
 +//​**input_loss_trap_en **//  Enable/​Disable input loss trap.
 +
 +//​**input_recover_trap_en**// ​ Enable/​Disable input recover trap.
 +
 +//​**temp_high_trap_en**// ​ Enable/​Disable temp high trap.
 +
 +//​**temp_recover_trap_en**// ​ Enable/​Disable temperature recover trap.
 +
 +//​**trap_hosts **//  Trap hosts ipaddress. Default ip address value is 192.168.0.6.
 +
 +//​**high_temp_suppress**// ​ hiigh temperature. Default value is 30.
 +
 +//​**nominal_temp_suppress**// ​ nominal temperature default value is 30.
 +
 +//​**snmp_v3_en**// ​ Enable/​Disable SNMP
 +
 +//​**snmp_v3_encrypt **//  SNMP v3 encrypt value.
 +
 +//​**snmp_v3_user **//  z3user.
 +
 +//​**snmp_v3_passwd **//  z3password.
 +
 +//​**snmp_v3_usrpro **//  snmp v3 usrpro default value is md5.
 +
 +//​**snmp_v3_encrypt_passwd **//  z3password.
 +
 +//​**snmp_v3_encpro **//  decrypt value.
 +
 +//​**snmp_v3_engineid **//  Default value for engineid is 0.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetSNMP response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetNMEAEnable ====
 +
 +----
 +
 +Save the GPS NMEA enable/​disable value in the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +**//​nmea_enable//​** ​ Enable/​Disable the NMEA. Possible value: on, off.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetNMEAEnable response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== SetOnvif ====
 +
 +----
 +
 +Save the ONVIF settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**fixed_profile_max**// ​ Get the Maximum ONVIF profiles to allow (1 or 2).
 +
 +//​**en_persistent_audio **//  Enable/​Disable ONVIF persistent audio channel.
 +
 +//​**onvif_enable**// ​ Enable/​Disable ONVIF.
 +
 +//​**list_all_video_sources **//  List all the video source.
 +
 +//​**ptz_timeout **//  Get the PTZ timeout values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetOnvif response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 3615: Line 6006:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 3629: Line 6019:
 <​code>​ <​code>​
 SetOnvifVMD response: {"​ret":"​0","​status":"​OK"​} SetOnvifVMD response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 3644: Line 6035:
  
 //​**rtspd_port**// ​ Get rtsp port. Default value is 554. //​**rtspd_port**// ​ Get rtsp port. Default value is 554.
 +Ports that are not in use are valid; ranging from 0 to  65535
 +.
 +
 +//​**rtspd_timeout**//​ Timeout value required for the rtsp connection. Default is 60. The range is from -1 to  32767.
 +It is not recommended to lower than 60.
  
-//​**rtspd_timeout**// ​ Timeout value required for the rtsp connection. 
 == Returns: == == Returns: ==
  
Line 3658: Line 6053:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 3672: Line 6066:
 <​code>​ <​code>​
 SetRTSP response: {"​ret":"​0","​status":"​OK"​} SetRTSP response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 3701: Line 6096:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 3715: Line 6109:
 <​code>​ <​code>​
 SetTermSrvEnable response: {"​ret":"​0","​status":"​OK"​} SetTermSrvEnable response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 3754: Line 6149:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 3768: Line 6162:
 <​code>​ <​code>​
 SetVideoGroup response: {"​ret":"​0","​status":"​OK"​} SetVideoGroup response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 3797: Line 6192:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 3811: Line 6205:
 <​code>​ <​code>​
 SetViewport response: {"​ret":"​0","​status":"​OK"​} SetViewport response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 3838: Line 6233:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 3852: Line 6246:
 <​code>​ <​code>​
 SetViVpssMode response: {"​ret":"​0","​status":"​OK"​} SetViVpssMode response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 3912: Line 6307:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 3926: Line 6320:
 <​code>​ <​code>​
 SetZFinderEnable response: {"​ret":"​0","​status":"​OK"​} SetZFinderEnable response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 4027: Line 6422:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4041: Line 6435:
 <​code>​ <​code>​
 StartChannel response: {"​ret":"​0","​status":"​RUNNING"​} StartChannel response: {"​ret":"​0","​status":"​RUNNING"​}
 +
 </​code>​ </​code>​
  
Line 4067: Line 6462:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4081: Line 6475:
 <​code>​ <​code>​
 StartMTS response: {"​ret":"​0","​status":"​OK"​} StartMTS response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 4108: Line 6503:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4122: Line 6516:
 <​code>​ <​code>​
 StopChannel response: {"​ret":"​0","​status":"​STOPPED"​} StopChannel response: {"​ret":"​0","​status":"​STOPPED"​}
 +
 </​code>​ </​code>​
  
Line 4148: Line 6543:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4162: Line 6556:
 <​code>​ <​code>​
 StopMTSresponse:​ {"​ret":"​0","​status":"​OK"​} StopMTSresponse:​ {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 4188: Line 6583:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4201: Line 6595:
  
 <​code>​ <​code>​
- 
 TempStatus response: {"​ret":"​0","​status":"​OK"​} TempStatus response: {"​ret":"​0","​status":"​OK"​}
  
Line 4207: Line 6600:
  
 ---- ----
- 
  
 ==== update_require_web_login ==== ==== update_require_web_login ====
Line 4236: Line 6628:
 <​code>​ <​code>​
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 </​code>​ </​code>​
  
Line 4244: Line 6637:
 <​code>​ <​code>​
 update_require_web_login response: {"​ret":"​0","​status":"​OK"​} update_require_web_login response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
 ---- ----
- 
  
 ==== UpdatePtz ==== ==== UpdatePtz ====
Line 4276: Line 6669:
 <​code>​ <​code>​
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 </​code>​ </​code>​
  
 <​code>​ <​code>​
 action=UpdatePtz&​rowcount=1&​data={"​row0":​{"​db_videosource":"​CAMERA","​token":"​ptz","​name":"​videoin1","​enabled":​1,"​pelcoaddr":​1,"​tcpport":​2000,"​ptztype":"​relative","​flip":"​none","​pos":"​simulated","​maxtilt":​90,"​rowid":​1}} action=UpdatePtz&​rowcount=1&​data={"​row0":​{"​db_videosource":"​CAMERA","​token":"​ptz","​name":"​videoin1","​enabled":​1,"​pelcoaddr":​1,"​tcpport":​2000,"​ptztype":"​relative","​flip":"​none","​pos":"​simulated","​maxtilt":​90,"​rowid":​1}}
 +
 </​code>​ </​code>​
  
Line 4288: Line 6683:
 <​code>​ <​code>​
 UpdatePtz response: {"​ret":"​0","​status":"​OK"​} UpdatePtz response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 4312: Line 6708:
  
 **//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success. **//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 ---- ----
- 
  
 === Command to execute: === === Command to execute: ===
Line 4319: Line 6715:
 <​code>​ <​code>​
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 </​code>​ </​code>​
  
 <​code>​ <​code>​
-action=UpdatePtzPreset&​rowcount=2&​data={"​row0":​{"​profiletoken":"​profile1","​token":"​1","​name":"​home","​action":​null,"​rowid":​1},"​row1":​{"​profiletoken":"​profile1","​token":"​2","​name":"​temp","​action":​null,"​rowid":​2}} ​+action=UpdatePtzPreset&​rowcount=2&​data={"​row0":​{"​profiletoken":"​profile1","​token":"​1","​name":"​home","​action":​null,"​rowid":​1},"​row1":​{"​profiletoken":"​profile1","​token":"​2","​name":"​temp","​action":​null,"​rowid":​2}} 
 </​code>​ </​code>​
  
Line 4331: Line 6729:
 <​code>​ <​code>​
 UpdatePtzPreset response: {"​ret":"​0","​status":"​OK"​} UpdatePtzPreset response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 4362: Line 6761:
 <​code>​ <​code>​
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 </​code>​ </​code>​
  
 <​code>​ <​code>​
 action=UpdatePtzTourSpots&​rowcount=1&​data={"​row0":​{"​ProfileToken":"​profile1","​PresetTourToken":"​1","​PresetDetailToken":"​1","​StayTime":​5,"​RowIndex":​0,"​action":"​blank","​rowid":​1}} action=UpdatePtzTourSpots&​rowcount=1&​data={"​row0":​{"​ProfileToken":"​profile1","​PresetTourToken":"​1","​PresetDetailToken":"​1","​StayTime":​5,"​RowIndex":​0,"​action":"​blank","​rowid":​1}}
 +
 </​code>​ </​code>​
  
Line 4374: Line 6775:
 <​code>​ <​code>​
 UpdatePtzTourSpots response: {"​ret":"​0","​status":"​OK"​} UpdatePtzTourSpots response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 4427: Line 6829:
 <​code>​ <​code>​
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 </​code>​ </​code>​
  
 <​code>​ <​code>​
-action=UpdateTerm&​rowcount=5&​data={"​row0":​{"​term_devicefile":"​%2Fdev%2FttyHS1","​term_baudrate":"​9600","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​rs485","​term_localport":"​2000","​rowid":​1},"​row1":​{"​term_devicefile":"​%2Fdev%2FttyHS3","​term_baudrate":"​9600","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​camera1_visca","​term_localport":"​1000","​rowid":​2},"​row2":​{"​term_devicefile":"​%2Fdev%2FttyHS2","​term_baudrate":"​9600","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​ir_led_zoom_ctrl","​term_localport":"​1001","​rowid":​3},"​row3":​{"​term_devicefile":"​%2Fdev%2FttyMSM0","​term_baudrate":"​115200","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​console","​term_localport":"​1800","​rowid":​4},"​row4":​{"​term_devicefile":"​%2Fdev%2FttyHS4","​term_baudrate":"​2400","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​user","​term_localport":"​1600","​rowid":​5}}+action=UpdateTerm&​rowcount=5&​data={"​row0":​{"​term_devicefile":"​/dev/ttyHS1","​term_baudrate":"​9600","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​rs485","​term_localport":"​2000","​rowid":​1},"​row1":​{"​term_devicefile":"​/dev/ttyHS3","​term_baudrate":"​9600","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​camera1_visca","​term_localport":"​1000","​rowid":​2},"​row2":​{"​term_devicefile":"​/dev/ttyHS2","​term_baudrate":"​9600","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​ir_led_zoom_ctrl","​term_localport":"​1001","​rowid":​3},"​row3":​{"​term_devicefile":"​/​dev/​ttyMSM0","​term_baudrate":"​115200","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​console","​term_localport":"​1800","​rowid":​4},"​row4":​{"​term_devicefile":"​/dev/ttyHS4","​term_baudrate":"​2400","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​user","​term_localport":"​1600","​rowid":​5}} 
 </​code>​ </​code>​
  
Line 4439: Line 6843:
 <​code>​ <​code>​
 UpdateTerm response: {"​ret":"​0","​status":"​OK"​} UpdateTerm response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
 ---- ----
- 
  
 ==== user_add ==== ==== user_add ====
Line 4471: Line 6875:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4485: Line 6888:
 <​code>​ <​code>​
 user_add response: {"​ret":"​0","​status":"​OK"​} user_add response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 4512: Line 6916:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 </​code>​ </​code>​
  
 <​code>​ <​code>​
 action: "​user_remove",​ data: '​{"​Name":"​temp"​}'​ action: "​user_remove",​ data: '​{"​Name":"​temp"​}'​
 +
 </​code>​ </​code>​
  
Line 4528: Line 6934:
 <​code>​ <​code>​
 user_remove response: {"​ret":"​0","​status":"​OK"​} user_remove response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
 ---- ----
- 
  
 ==== user_update_level ==== ==== user_update_level ====
Line 4556: Line 6962:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4570: Line 6975:
 <​code>​ <​code>​
 user_update_level response: {"​ret":"​0","​status":"​OK"​} user_update_level response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 4597: Line 7003:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4611: Line 7016:
 <​code>​ <​code>​
 user_update_password response: {"​ret":"​0","​status":"​OK"​} user_update_password response: {"​ret":"​0","​status":"​OK"​}
 +
 </​code>​ </​code>​
  
Line 4682: Line 7088:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4695: Line 7100:
  
 <​code>​ <​code>​
- 
 8021x response: {"​anonymous_identity":"","​ca_cert_status":"​Unavailable","​eap":"​peap","​enable":"​off","​identity":"","​interface":"​eth0","​password":"","​priv_cert_status":"​Unavailable","​priv_key_status":"​Unavailable","​private_key_password":"","​ret":"​0"​} 8021x response: {"​anonymous_identity":"","​ca_cert_status":"​Unavailable","​eap":"​peap","​enable":"​off","​identity":"","​interface":"​eth0","​password":"","​priv_cert_status":"​Unavailable","​priv_key_status":"​Unavailable","​private_key_password":"","​ret":"​0"​}
 +
 </​code>​ </​code>​
  
Line 4741: Line 7146:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4754: Line 7158:
  
 <​code>​ <​code>​
- 
 GetCronJobs response: {"​data":​[],"​metadata":​[{"​datatype":"​integer","​editable":​true,"​label":"​Enable","​name":"​enable"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​},​{"​datatype":"​text","​editable":​true,"​label":"​Function","​name":"​func"​},​{"​datatype":"​text","​editable":​true,"​label":"​Function Arguements","​name":"​func_args"​},​{"​datatype":"​text","​editable":​true,"​label":"​Type","​name":"​type"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Minutes","​name":"​minutes"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Hours","​name":"​hours"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Day","​name":"​day"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Month","​name":"​month"​},​{"​datatype":"​text","​editable":​true,"​label":"​Cron Command","​name":"​cron"​}],"​ret":"​0"​} GetCronJobs response: {"​data":​[],"​metadata":​[{"​datatype":"​integer","​editable":​true,"​label":"​Enable","​name":"​enable"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​},​{"​datatype":"​text","​editable":​true,"​label":"​Function","​name":"​func"​},​{"​datatype":"​text","​editable":​true,"​label":"​Function Arguements","​name":"​func_args"​},​{"​datatype":"​text","​editable":​true,"​label":"​Type","​name":"​type"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Minutes","​name":"​minutes"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Hours","​name":"​hours"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Day","​name":"​day"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Month","​name":"​month"​},​{"​datatype":"​text","​editable":​true,"​label":"​Cron Command","​name":"​cron"​}],"​ret":"​0"​}
  
Line 4783: Line 7186:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4796: Line 7198:
  
 <​code>​ <​code>​
- 
 Get NFS Mount response: {"​mounted":​256,"​ret":"​0"​} Get NFS Mount response: {"​mounted":​256,"​ret":"​0"​}
  
Line 4828: Line 7229:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4841: Line 7241:
  
 <​code>​ <​code>​
- 
 Aspect Info response: {"​denominator":​9,"​numerator":​16,"​ret":"​0","​status":"​OK"​} Aspect Info response: {"​denominator":​9,"​numerator":​16,"​ret":"​0","​status":"​OK"​}
  
Line 4884: Line 7283:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 4897: Line 7295:
  
 <​code>​ <​code>​
- 
 Boardinfo response: {"​MODEL":"​FV4K-13A","​board_id":"​0xFF21","​hw50serial":"​50014401222610007","​hwserial":"​30014410221610012","​hwversion":"​FV4K-13A","​logo_enable":"​off","​logo_height":​156,"​logo_width":​319,"​macaddr":"​40:​cd:​3a:​06:​10:​bc","​model_enable":"​off","​model_name":"​Z3-Encoder","​opmode":"​encoder","​opstate":"​RUNNING","​processor_id":"​cv22bub","​ret":"​0","​sensor_serial":"​30014410221610012\n","​sysdevicename":"​Z3Cam","​z3_avmux":"​enabled","​z3_klv":"​enabled","​z3_klv_serial_only":"​enabled","​z3_sntp":"​enabled","​z3_termsrv":"​enabled","​z3_tslowlat":"​enabled","​z3_webproxy":"​enabled"​} Boardinfo response: {"​MODEL":"​FV4K-13A","​board_id":"​0xFF21","​hw50serial":"​50014401222610007","​hwserial":"​30014410221610012","​hwversion":"​FV4K-13A","​logo_enable":"​off","​logo_height":​156,"​logo_width":​319,"​macaddr":"​40:​cd:​3a:​06:​10:​bc","​model_enable":"​off","​model_name":"​Z3-Encoder","​opmode":"​encoder","​opstate":"​RUNNING","​processor_id":"​cv22bub","​ret":"​0","​sensor_serial":"​30014410221610012\n","​sysdevicename":"​Z3Cam","​z3_avmux":"​enabled","​z3_klv":"​enabled","​z3_klv_serial_only":"​enabled","​z3_sntp":"​enabled","​z3_termsrv":"​enabled","​z3_tslowlat":"​enabled","​z3_webproxy":"​enabled"​}
  
Line 4934: Line 7331:
 ---- ----
  
-=== Command to execute and Example :  ===+=== Command to execute and Example : ===
  
 Please refer in this document in the below section cam_state (sys_DIGEST_ARGPARSE.py) Please refer in this document in the below section cam_state (sys_DIGEST_ARGPARSE.py)
  
 ---- ----
- 
- 
  
 ==== camera ==== ==== camera ====
Line 5055: Line 7450:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5068: Line 7462:
  
 <​code>​ <​code>​
- 
 Camera response: {"​backlight":​3,"​chroma_suppress":​1,"​color_gain":​4,"​color_hue":​7,"​dbversion":"​1.1","​eflip":​3,"​exposure_mode":​0,"​flexio_localport":"​1500","​flicker_reduction":​0,"​focus_direct_value":​4096,"​focus_step_size":​1,"​gain":​4,"​genlock_source":​2,"​high_sensitivity":​3,"​hlc_level":​0,"​hlc_level_mask":​0,"​hr_mode":​3,"​icr_threshold":​-1,"​img_bw":​0,"​img_freeze":​3,"​img_stabilizer":​3,"​img_stabilizer_level":​0,"​imghflip":​0,"​imgrotate":​0,"​imgvflip":​0,"​iris":​15,"​lr_reverse":​3,"​manual_focus":"​auto","​manual_icr":"​off","​monitor_mode":"​2160p-29.97","​nr_2d_level":​5,"​nr_3d_level":​4,"​optical_zoom_only":​0,"​ret":"​0","​shutter":​7,"​slow_shutter":​0,"​slow_shutter_limit":​-1,"​stable_zoom":​0,"​tab_index":"​1","​ve_brightness":"​-1","​ve_compensation_level":"​-1","​ve_compensation_type":"​-1","​visca_localport":"​1000","​wb_manual_bgain_direct":​190,"​wb_manual_rgain_direct":​190,"​white_balance_mode":"​auto","​wide_dynamic_range":"​3","​zoom_direct_value":​0,"​zoom_step_size":​4} Camera response: {"​backlight":​3,"​chroma_suppress":​1,"​color_gain":​4,"​color_hue":​7,"​dbversion":"​1.1","​eflip":​3,"​exposure_mode":​0,"​flexio_localport":"​1500","​flicker_reduction":​0,"​focus_direct_value":​4096,"​focus_step_size":​1,"​gain":​4,"​genlock_source":​2,"​high_sensitivity":​3,"​hlc_level":​0,"​hlc_level_mask":​0,"​hr_mode":​3,"​icr_threshold":​-1,"​img_bw":​0,"​img_freeze":​3,"​img_stabilizer":​3,"​img_stabilizer_level":​0,"​imghflip":​0,"​imgrotate":​0,"​imgvflip":​0,"​iris":​15,"​lr_reverse":​3,"​manual_focus":"​auto","​manual_icr":"​off","​monitor_mode":"​2160p-29.97","​nr_2d_level":​5,"​nr_3d_level":​4,"​optical_zoom_only":​0,"​ret":"​0","​shutter":​7,"​slow_shutter":​0,"​slow_shutter_limit":​-1,"​stable_zoom":​0,"​tab_index":"​1","​ve_brightness":"​-1","​ve_compensation_level":"​-1","​ve_compensation_type":"​-1","​visca_localport":"​1000","​wb_manual_bgain_direct":​190,"​wb_manual_rgain_direct":​190,"​white_balance_mode":"​auto","​wide_dynamic_range":"​3","​zoom_direct_value":​0,"​zoom_step_size":​4}
  
Line 5126: Line 7519:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5139: Line 7531:
  
 <​code>​ <​code>​
- 
 Camera Exposure response: {"​ae_mode":​0,"​backlight":​3,"​gain":​10,"​gain_label":​["​0db",​null,​null,​null,​null,​null,​null,​null,"​24db",​null,​null,​null,​null,​null,​null,​null,"​48db"​],"​hlc":​0,"​iris":​25,"​iris_label":​["​0",​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,"​F4.8",​null,​null,​null,​null,​null,​null,​null,​null,"​F2.0"​],"​max_gain":​17,"​max_iris":​25,"​max_shutter":​33,"​min_gain":​1,"​min_iris":​0,"​min_shutter":​6,"​ret":"​0","​sensitivity":​3,"​shutter":​16,"​shutter_label":​["​1/​1",​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,"​1/​100",​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,"​1/​10K"​]} Camera Exposure response: {"​ae_mode":​0,"​backlight":​3,"​gain":​10,"​gain_label":​["​0db",​null,​null,​null,​null,​null,​null,​null,"​24db",​null,​null,​null,​null,​null,​null,​null,"​48db"​],"​hlc":​0,"​iris":​25,"​iris_label":​["​0",​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,"​F4.8",​null,​null,​null,​null,​null,​null,​null,​null,"​F2.0"​],"​max_gain":​17,"​max_iris":​25,"​max_shutter":​33,"​min_gain":​1,"​min_iris":​0,"​min_shutter":​6,"​ret":"​0","​sensitivity":​3,"​shutter":​16,"​shutter_label":​["​1/​1",​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,"​1/​100",​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,"​1/​10K"​]}
  
Line 5145: Line 7536:
  
 ---- ----
- 
  
 ==== camera_monitor_mode ==== ==== camera_monitor_mode ====
Line 5172: Line 7562:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5185: Line 7574:
  
 <​code>​ <​code>​
- 
 Camera Monitor Mode response: {"​current_mode":"​2160p-29.97","​modes":​{"​1080p-25":​8,"​1080p-29.97":​6,"​1080p-50":​20,"​1080p-59.94":​19,"​2160p-25":​30,"​2160p-29.97":​29,"​720p-50":​12,"​720p-59.94":​9},"​ret":"​0"​} Camera Monitor Mode response: {"​current_mode":"​2160p-29.97","​modes":​{"​1080p-25":​8,"​1080p-29.97":​6,"​1080p-50":​20,"​1080p-59.94":​19,"​2160p-25":​30,"​2160p-29.97":​29,"​720p-50":​12,"​720p-59.94":​9},"​ret":"​0"​}
  
Line 5248: Line 7636:
  
 ---- ----
- 
  
 ==== download ==== ==== download ====
Line 5279: Line 7666:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5292: Line 7678:
  
 <​code>​ <​code>​
- 
 Download response: {"​data":​[],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​File Name","​name":"​download_filename"​},​{"​datatype":"​integer","​editable":​false,"​label":"​File Size","​name":"​download_size"​},​{"​datatype":"​text","​editable":​false,"​label":"​Last Modified","​name":"​download_lastmodified"​}],"​ret":"​0"​} Download response: {"​data":​[],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​File Name","​name":"​download_filename"​},​{"​datatype":"​integer","​editable":​false,"​label":"​File Size","​name":"​download_size"​},​{"​datatype":"​text","​editable":​false,"​label":"​Last Modified","​name":"​download_lastmodified"​}],"​ret":"​0"​}
  
Line 5298: Line 7683:
  
 ---- ----
- 
  
 ==== drs_tamarisk_settings ==== ==== drs_tamarisk_settings ====
Line 5327: Line 7711:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5340: Line 7723:
  
 <​code>​ <​code>​
- 
 DRS Tamarisk Settings response: {"​color_pallette":"​white_hot","​color_pallette_disabled":"​false","​ret":"​0","​tab_index":"​1"​} DRS Tamarisk Settings response: {"​color_pallette":"​white_hot","​color_pallette_disabled":"​false","​ret":"​0","​tab_index":"​1"​}
  
Line 5562: Line 7944:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5575: Line 7956:
  
 <​code>​ <​code>​
- +Encoder response: {"​abitrate":"​128000","​acodec":"​fdk_aaclc","​aenable":"​on","​amulticastdest":"​225.1.2.3","​apair":​0,"​apid":​120,"​aport":"​8700","​aptspcr":​250,"​asamplerate":"​1","​asource":"​MIC","​auth_passwd":"​password","​auth_user":"​user","​authonoff":"​off","​auxonoff":"​off","​avmux_index":"​streaming","​channel":​1,"​enc_status":"​RUNNING","​feccol":​5,"​feconoff":"​off","​fecrow":​1,"​filesize":"​1024M","​fprefix":"​MOV1_%C","​frame_loss_gap":​0,"​frame_loss_mode":"​none","​frame_loss_overshot":​100,"​gps_overlay_char_size":"​32","​gps_overlay_device":"/​dev/​ttyS1","​gps_overlay_enable":"​off","​gps_overlay_location":"​top_right","​klvbrate":"​1000","​klvenable":"​off","​klvmode":"​sdi","​klvmuxmethod":"​sync","​klvpid":"​35","​klvserialbaud":"​115200","​klvsrc":"/​dev/​ttyS1","​lowdelay_opt":"​off","​mmulticastdest":"​225.1.2.3","​mounts":"/​dev/​mmcblk0p1 /​media/​mmcblk0p1/,","​mport":"​8800","​nfstrength":"​0","​pcrinterval":​50,"​pcrpid":​521,"​pipenable":"​off","​piplocation":"​top_right","​pmtpid":​31,"​preset":"​actv_preset","​ret":"​0","​rotate_angle":​0,"​rotate_enable":"​off","​rtmp265_enable":"​off","​rtsp_auth_enable":"​off","​rtsp_auth_password":"​admin","​rtsp_auth_username":"​admin","​rtsp_transport_mode":"​all","​source_status_str":"​ CAMERA 3840x2160p 29.97 fps\n","​srt_destAddr":"​192.168.0.6","​srt_encrypt":​0,"​srt_mode":​0,"​srt_pass":"​password1234","​storage":"/​media/​sda1","​telopcharsize":"​32","​telopenable":"​off","​teloplocation":"​top_left","​telopoutlinecolor":"​0xFF000000","​telopoutlineenable":"​off","​teloptext":"​Z3Cam","​teloptextcolor":"​0xFFFFFFFF","​tslowlat":"​on","​tsrate":"​3000K","​vbitrate":"​6M","​vcodec":"​h265","​vcrop_enable":"​off","​vcrop_height":​1080,"​vcrop_width":​1920,"​vcrop_x":​0,"​vcrop_y":​0,"​vcropaspect":"​off","​vdelay":​1000,"​vdest":"​192.168.0.6:​8600","​vframeratediv":​1,"​vgdr":"​off","​vgopsize":​60,"​vinterlacemode":"​combine","​vmulticastdest":"​225.1.2.3","​vpid":​221,"​vprofile":"​high","​vprotocol":"​rtsp","​vquality":"​balanced","​vratectrl":"​vbr","​vres":"​follow_input","​vsource":"​CAMERA","​zixiauthen":"​off","​zixifecblock":"​50","​zixilatency":"​500","​zixioverhead":"​15","​zixirateadjen":"​on","​zixisession":"​test","​zixiuser":"​user"​}
-Encoder response: {"​abitrate":"​128000","​acodec":"​fdk_aaclc","​aenable":"​on","​amulticastdest":"​225.1.2.3","​apair":​0,"​apid":​120,"​aport":"​8700","​aptspcr":​250,"​asamplerate":"​1","​asource":"​MIC","​auth_passwd":"​password","​auth_user":"​user","​authonoff":"​off","​auxonoff":"​off","​avmux_index":"​streaming","​channel":​1,"​enc_status":"​RUNNING","​feccol":​5,"​feconoff":"​off","​fecrow":​1,"​filesize":"​1024M","​fprefix":"​MOV1_%C","​frame_loss_gap":​0,"​frame_loss_mode":"​none","​frame_loss_overshot":​100,"​gps_overlay_char_size":"​32","​gps_overlay_device":"/​dev/​ttyS1","​gps_overlay_enable":"​off","​gps_overlay_location":"​top_right","​klvbrate":"​1000","​klvenable":"​off","​klvmode":"​sdi","​klvmuxmethod":"​sync","​klvpid":"​35","​klvserialbaud":"​115200","​klvsrc":"/​dev/​ttyS1","​lowdelay_opt":"​off","​mmulticastdest":"​225.1.2.3","​mounts":"/​dev/​mmcblk0p1 /​media/​mmcblk0p1/,","​mport":"​8800","​nfstrength":"​0","​pcrinterval":​50,"​pcrpid":​521,"​pipenable":"​off","​piplocation":"​top_right","​pmtpid":​31,"​preset":"​actv_preset","​ret":"​0","​rotate_angle":​0,"​rotate_enable":"​off","​rtmp265_enable":"​off","​rtsp_auth_enable":"​off","​rtsp_auth_password":"​admin","​rtsp_auth_username":"​admin","​rtsp_transport_mode":"​all","​source_status_str":"​+CAMERA 3840x2160p 29.97 fps\n","​srt_destAddr":"​192.168.0.6","​srt_encrypt":​0,"​srt_mode":​0,"​srt_pass":"​password1234","​storage":"/​media/​sda1","​telopcharsize":"​32","​telopenable":"​off","​teloplocation":"​top_left","​telopoutlinecolor":"​0xFF000000","​telopoutlineenable":"​off","​teloptext":"​Z3Cam","​teloptextcolor":"​0xFFFFFFFF","​tslowlat":"​on","​tsrate":"​3000K","​vbitrate":"​6M","​vcodec":"​h265","​vcrop_enable":"​off","​vcrop_height":​1080,"​vcrop_width":​1920,"​vcrop_x":​0,"​vcrop_y":​0,"​vcropaspect":"​off","​vdelay":​1000,"​vdest":"​192.168.0.6:​8600","​vframeratediv":​1,"​vgdr":"​off","​vgopsize":​60,"​vinterlacemode":"​combine","​vmulticastdest":"​225.1.2.3","​vpid":​221,"​vprofile":"​high","​vprotocol":"​rtsp","​vquality":"​balanced","​vratectrl":"​vbr","​vres":"​follow_input","​vsource":"​CAMERA","​zixiauthen":"​off","​zixifecblock":"​50","​zixilatency":"​500","​zixioverhead":"​15","​zixirateadjen":"​on","​zixisession":"​test","​zixiuser":"​user"​}+
  
 </​code>​ </​code>​
Line 5609: Line 7989:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5622: Line 8001:
  
 <​code>​ <​code>​
- 
 Filepicket response: {"​data":​[],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​File Name","​name":"​filepicker_filename"​},​{"​datatype":"​integer","​editable":​false,"​label":"​File Size","​name":"​filepicker_size"​},​{"​datatype":"​text","​editable":​false,"​label":"​Last Modified","​name":"​filepicker_lastmodified"​}],"​ret":"​0"​} Filepicket response: {"​data":​[],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​File Name","​name":"​filepicker_filename"​},​{"​datatype":"​integer","​editable":​false,"​label":"​File Size","​name":"​filepicker_size"​},​{"​datatype":"​text","​editable":​false,"​label":"​Last Modified","​name":"​filepicker_lastmodified"​}],"​ret":"​0"​}
  
Line 5651: Line 8029:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5664: Line 8041:
  
 <​code>​ <​code>​
- 
 Format response: {"​mounts":"​mmcblk0p1\n /​dev/​mmcblk0,","​ret":"​0","​store_logs":"​off"​} Format response: {"​mounts":"​mmcblk0p1\n /​dev/​mmcblk0,","​ret":"​0","​store_logs":"​off"​}
  
Line 5694: Line 8070:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5707: Line 8082:
  
 <​code>​ <​code>​
- 
 Focus Step Size response: {"​ret":"​0","​size":​1} Focus Step Size response: {"​ret":"​0","​size":​1}
  
Line 5738: Line 8112:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5751: Line 8124:
  
 <​code>​ <​code>​
- 
 FPGA response: {"​fpgafileglob":"​fpga_none.bin|fpga2_0139_cvbs.bin","​fpgaoptions":​{"​Boson only        ":"​fpga_unused.bin|fpga2_0139_boson.bin","​Composite only    ":"​fpga_unused.bin|fpga2_0139_cvbs.bin","​HDMI 4K| Boson    ":"​fpga_none.bin|fpga2_0139_boson.bin","​HDMI 4K| Composite":"​fpga_none.bin|fpga2_0139_cvbs.bin","​HDMI 4K| SonyLVDS ":"​fpga_none.bin|fpga2_0139.bin","​HDMI 4K| Tamarisk":"​fpga_none.bin|fpga2_0139_tamarisk.bin","​HDMI 4K| Tau2     ":"​fpga_none.bin|fpga2_0139_tau2.bin","​HDMI 4K| Tenum   ":"​fpga_none.bin|fpga2_0139_tenum.bin","​HDMI 4K| Unused ​  ":"​fpga_none.bin|fpga2_none.bin","​Micro-HDMI| Boson    ":"​fpga_none_microhdmi.bin|fpga2_0139_boson.bin","​Micro-HDMI| Composite":"​fpga_none_microhdmi.bin|fpga2_0139_cvbs.bin","​Micro-HDMI| SonyLVDS ":"​fpga_none_microhdmi.bin|fpga2_0139.bin","​Micro-HDMI| Tamarisk ":"​fpga_none_microhdmi.bin|fpga2_0139_tamarisk.bin","​Micro-HDMI| Tau2     ":"​fpga_none_microhdmi.bin|fpga2_0139_tau2.bin","​Micro-HDMI| Tenum    ":"​fpga_none_microhdmi.bin|fpga2_0139_tenum.bin","​Micro-HDMI| Unused ​  ":"​fpga_none_microhdmi.bin|fpga2_none.bin","​SonyLVDS only     ":"​fpga_unused.bin|fpga2_0139.bin","​Tamarisk only     ":"​fpga_unused.bin|fpga2_0139_tamarisk.bin","​Tau2 ​ only        ":"​fpga_unused.bin|fpga2_0139_tau2.bin","​Tenum only        ":"​fpga_unused.bin|fpga2_0139_tenum.bin"​},"​ret":"​0"​} FPGA response: {"​fpgafileglob":"​fpga_none.bin|fpga2_0139_cvbs.bin","​fpgaoptions":​{"​Boson only        ":"​fpga_unused.bin|fpga2_0139_boson.bin","​Composite only    ":"​fpga_unused.bin|fpga2_0139_cvbs.bin","​HDMI 4K| Boson    ":"​fpga_none.bin|fpga2_0139_boson.bin","​HDMI 4K| Composite":"​fpga_none.bin|fpga2_0139_cvbs.bin","​HDMI 4K| SonyLVDS ":"​fpga_none.bin|fpga2_0139.bin","​HDMI 4K| Tamarisk":"​fpga_none.bin|fpga2_0139_tamarisk.bin","​HDMI 4K| Tau2     ":"​fpga_none.bin|fpga2_0139_tau2.bin","​HDMI 4K| Tenum   ":"​fpga_none.bin|fpga2_0139_tenum.bin","​HDMI 4K| Unused ​  ":"​fpga_none.bin|fpga2_none.bin","​Micro-HDMI| Boson    ":"​fpga_none_microhdmi.bin|fpga2_0139_boson.bin","​Micro-HDMI| Composite":"​fpga_none_microhdmi.bin|fpga2_0139_cvbs.bin","​Micro-HDMI| SonyLVDS ":"​fpga_none_microhdmi.bin|fpga2_0139.bin","​Micro-HDMI| Tamarisk ":"​fpga_none_microhdmi.bin|fpga2_0139_tamarisk.bin","​Micro-HDMI| Tau2     ":"​fpga_none_microhdmi.bin|fpga2_0139_tau2.bin","​Micro-HDMI| Tenum    ":"​fpga_none_microhdmi.bin|fpga2_0139_tenum.bin","​Micro-HDMI| Unused ​  ":"​fpga_none_microhdmi.bin|fpga2_none.bin","​SonyLVDS only     ":"​fpga_unused.bin|fpga2_0139.bin","​Tamarisk only     ":"​fpga_unused.bin|fpga2_0139_tamarisk.bin","​Tau2 ​ only        ":"​fpga_unused.bin|fpga2_0139_tau2.bin","​Tenum only        ":"​fpga_unused.bin|fpga2_0139_tenum.bin"​},"​ret":"​0"​}
  
Line 5785: Line 8157:
 ---- ----
  
-=== Command to execute: ​ === +=== Command to execute: ===
 <​code>​ <​code>​
  
Line 5798: Line 8169:
  
 <​code>​ <​code>​
- 
 History response: {"​ret":"​0","​status":"​OK"​} History response: {"​ret":"​0","​status":"​OK"​}
  
Line 5839: Line 8209:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5852: Line 8221:
  
 <​code>​ <​code>​
- 
 IP Info response: {"​default_gw":"​192.168.10.1","​do_autostart":​1,"​eth_duplex":"​AUTO","​eth_speed":"​AUTO","​ipmtu":​1500,"​local_dnsip":"​8.8.8.8","​local_dnsip2":"​8.8.4.4","​local_hostname":"​z3-he4k","​local_ip":"​192.168.10.127","​local_netmask":"​255.255.255.0","​ret":"​0","​use_dhcp":"​1"​} IP Info response: {"​default_gw":"​192.168.10.1","​do_autostart":​1,"​eth_duplex":"​AUTO","​eth_speed":"​AUTO","​ipmtu":​1500,"​local_dnsip":"​8.8.8.8","​local_dnsip2":"​8.8.4.4","​local_hostname":"​z3-he4k","​local_ip":"​192.168.10.127","​local_netmask":"​255.255.255.0","​ret":"​0","​use_dhcp":"​1"​}
  
Line 5921: Line 8289:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5934: Line 8301:
  
 <​code>​ <​code>​
- 
 ONVIF response: {"​daylightsaving":"​0","​discoverable":"​1","​dns_from_dhcp":"​1","​dns_search":"​localdomain","​en_persistent_audio":"​1","​fixed_profile_max":"​1","​http_enable":"​1","​http_port":"​80","​https_enable":"​0","​https_port":"​443","​list_all_video_sources":"​0","​ntp":"​pool.ntp.org","​ntp_enable":"​1","​ntp_from_dhcp":"​0","​onvif_enable":"​on","​ptz_timeout":​10,"​ret":"​0","​rtsp_enable":"​1","​rtsp_port":"​554","​timezone":"​TaipeiStandardTime-8","​vmd_enable":"​off"​} ONVIF response: {"​daylightsaving":"​0","​discoverable":"​1","​dns_from_dhcp":"​1","​dns_search":"​localdomain","​en_persistent_audio":"​1","​fixed_profile_max":"​1","​http_enable":"​1","​http_port":"​80","​https_enable":"​0","​https_port":"​443","​list_all_video_sources":"​0","​ntp":"​pool.ntp.org","​ntp_enable":"​1","​ntp_from_dhcp":"​0","​onvif_enable":"​on","​ptz_timeout":​10,"​ret":"​0","​rtsp_enable":"​1","​rtsp_port":"​554","​timezone":"​TaipeiStandardTime-8","​vmd_enable":"​off"​}
  
Line 5979: Line 8345:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 5992: Line 8357:
  
 <​code>​ <​code>​
- 
 ONVIF VMD response: {"​ret":"​0","​td_enable":"​off","​td_thresh":​85,"​vmd_enable":"​off","​vmd_sens":​1,"​vmd_td_channel":"​CH1","​vmd_vcrop_height":​0,"​vmd_vcrop_width":​0,"​vmd_vcrop_x":​0,"​vmd_vcrop_y":​0,"​vmd_zone_modify":"​off"​} ONVIF VMD response: {"​ret":"​0","​td_enable":"​off","​td_thresh":​85,"​vmd_enable":"​off","​vmd_sens":​1,"​vmd_td_channel":"​CH1","​vmd_vcrop_height":​0,"​vmd_vcrop_width":​0,"​vmd_vcrop_x":​0,"​vmd_vcrop_y":​0,"​vmd_zone_modify":"​off"​}
  
Line 6041: Line 8405:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6054: Line 8417:
  
 <​code>​ <​code>​
- +PERMISSIONS response: {"​permissions":​{"​Z38021xImportHandler:​post":"​W","​Z3DebugHandler:​get":"​R","​Z3DownloadMediaHandler:​get":"​R","​Z3ExportHandler:​get":"​R","​Z3FWUploadHandler:​post":"​W","​Z3ImportHandler:​post":"​W","​Z3LogoHandler:​get":"?","​Z3LogsHandler:​get":"​R","​Z3RequestHandler:​get:​8021x":"?","​Z3RequestHandler:​get:​GetCronJobs":"​R","​Z3RequestHandler:​get:​GetNFSMount":"?","​Z3RequestHandler:​get:​aspect_info":"?","​Z3RequestHandler:​get:​boardinfo":"​R","​Z3RequestHandler:​get:​cam_state":"​R","​Z3RequestHandler:​get:​camera":"?","​Z3RequestHandler:​get:​camera_exposure":"?","​Z3RequestHandler:​get:​camera_monitor_mode":"?","​Z3RequestHandler:​get:​dec":"​R","​Z3RequestHandler:​get:​download":"?","​Z3RequestHandler:​get:​drs_tamarisk_settings":"?","​Z3RequestHandler:​get:​enc":"​R","​Z3RequestHandler:​get:​filepicker":"?","​Z3RequestHandler:​get:​fmt":"​W","​Z3RequestHandler:​get:​focusStepSize":"?","​Z3RequestHandler:​get:​fpga":"?","​Z3RequestHandler:​get:​history":"​R","​Z3RequestHandler:​get:​ipinfo":"​R","​Z3RequestHandler:​get:​onvif":"?","​Z3RequestHandler:​get:​onvif_vmd":"?","​Z3RequestHandler:​get:​permission":"​R","​Z3RequestHandler:​get:​ptz":"?","​Z3RequestHandler:​get:​ptz_preset":"?","​Z3RequestHandler:​get:​ptz_tour":"?","​Z3RequestHandler:​get:​snmp":"?","​Z3RequestHandler:​get:​ssl":"?","​Z3RequestHandler:​get:​stats":"?","​Z3RequestHandler:​get:​sys":"​R","​Z3RequestHandler:​get:​term":"?","​Z3RequestHandler:​get:​users":"​R","​Z3RequestHandler:​get:​video_group":"?","​Z3RequestHandler:​get:​wifi":"?","​Z3RequestHandler:​get:​zoomStepSize":"?","​Z3RequestHandler:​post:​AStreamStatus":"?","​Z3RequestHandler:​post:​AddChannel":"​W","​Z3RequestHandler:​post:​CameraControl:​SetColorPallette":"​W","​Z3RequestHandler:​post:​CameraControl:​ae_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​ae_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​agc_filter":"​W","​Z3RequestHandler:​post:​CameraControl:​agc_midpoint":"​W","​Z3RequestHandler:​post:​CameraControl:​agc_type":"​W","​Z3RequestHandler:​post:​CameraControl:​auto_icr_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​auto_icr_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​autocal_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​autocal_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​backlight_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​backlight_off":"​W","​Z3RequestHandler:​post:​CameraControl:​backlight_on":"​W","​Z3RequestHandler:​post:​CameraControl:​black_hot":"​W","​Z3RequestHandler:​post:​CameraControl:​brightness":"​W","​Z3RequestHandler:​post:​CameraControl:​brightness_bias":"​W","​Z3RequestHandler:​post:​CameraControl:​brightness_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​cam_control_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​cam_custom_recall":"​W","​Z3RequestHandler:​post:​CameraControl:​cam_custom_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​cam_custom_set":"​W","​Z3RequestHandler:​post:​CameraControl:​chroma_get_suppress":"​R","​Z3RequestHandler:​post:​CameraControl:​chroma_suppress":"​W","​Z3RequestHandler:​post:​CameraControl:​color_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​color_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​color_gain":"​W","​Z3RequestHandler:​post:​CameraControl:​color_get_gain":"​R","​Z3RequestHandler:​post:​CameraControl:​color_get_hue":"​R","​Z3RequestHandler:​post:​CameraControl:​color_hue":"​W","​Z3RequestHandler:​post:​CameraControl:​color_select":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_arctic":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_blackhot":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_globow":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_gradedfire":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_hottest":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_ironbow":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_lava":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_rainbow":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_rainbow_hc":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_whitehot":"​W","​Z3RequestHandler:​post:​CameraControl:​contrast_adjust_level":"​W","​Z3RequestHandler:​post:​CameraControl:​contrast_adjust_level_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​contrast_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​defog_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​defog_on_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​display_off":"​W","​Z3RequestHandler:​post:​CameraControl:​display_on":"​W","​Z3RequestHandler:​post:​CameraControl:​display_on_off":"​W","​Z3RequestHandler:​post:​CameraControl:​do_ffc":"​W","​Z3RequestHandler:​post:​CameraControl:​dvo_set_output_format_ycbcr":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_combine_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​dzoom_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​dzoom_off":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_on":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_separage_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_separate_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_stop":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_super_res":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_tele_var":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_wide_var":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_x1_max":"​W","​Z3RequestHandler:​post:​CameraControl:​e_pan_tilt_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​e_pan_tilt_off":"​W","​Z3RequestHandler:​post:​CameraControl:​e_pan_tilt_on":"​W","​Z3RequestHandler:​post:​CameraControl:​eflip_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​eflip_off":"​W","​Z3RequestHandler:​post:​CameraControl:​eflip_on":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_down":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​expcomp_off":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_on":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_pos_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​expcomp_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_up":"​W","​Z3RequestHandler:​post:​CameraControl:​ffc_period":"​W","​Z3RequestHandler:​post:​CameraControl:​ffc_temp_delta":"​W","​Z3RequestHandler:​post:​CameraControl:​ffc_warn_time":"​W","​Z3RequestHandler:​post:​CameraControl:​flicker_detection_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​flicker_reduction_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​flicker_reduction_off":"​W","​Z3RequestHandler:​post:​CameraControl:​flicker_reduction_on":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_auto":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_get_mode":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_get_pos":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_get_pos_meter":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_manual":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_near_limit":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_near_limit_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_set_pos_meter":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_stop":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_tele_std":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_tele_var":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_toggle":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_wide_std":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_wide_var":"​W","​Z3RequestHandler:​post:​CameraControl:​fpa_temp_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​gain":"​W","​Z3RequestHandler:​post:​CameraControl:​gain_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​gain_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​get_camera_framerate":"​R","​Z3RequestHandler:​post:​CameraControl:​get_camera_part_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_camera_serial_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_color_tables":"​R","​Z3RequestHandler:​post:​CameraControl:​get_colorlut_current":"​R","​Z3RequestHandler:​post:​CameraControl:​get_colorlut_state":"​R","​Z3RequestHandler:​post:​CameraControl:​get_fpa_temp_celsius":"​R","​Z3RequestHandler:​post:​CameraControl:​get_low_delay_mode":"​R","​Z3RequestHandler:​post:​CameraControl:​get_revision":"​R","​Z3RequestHandler:​post:​CameraControl:​get_sensor_part_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_sensor_serial_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_software_rev":"​R","​Z3RequestHandler:​post:​CameraControl:​get_tnr_state":"​R","​Z3RequestHandler:​post:​CameraControl:​get_zoom_limits_mm":"​R","​Z3RequestHandler:​post:​CameraControl:​high_sensitivity_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​high_sensitivity_off":"​W","​Z3RequestHandler:​post:​CameraControl:​high_sensitivity_on":"​W","​Z3RequestHandler:​post:​CameraControl:​hlc":"​W","​Z3RequestHandler:​post:​CameraControl:​hlc_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​hr_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​hr_off":"​W","​Z3RequestHandler:​post:​CameraControl:​hr_on":"​W","​Z3RequestHandler:​post:​CameraControl:​ice_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​ice_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​icr_auto_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​icr_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​icr_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​icr_threshold_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​image_freeze_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​image_freeze_off":"​W","​Z3RequestHandler:​post:​CameraControl:​image_freeze_on":"​W","​Z3RequestHandler:​post:​CameraControl:​img_blackwhite_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​img_blackwhite_off":"​W","​Z3RequestHandler:​post:​CameraControl:​img_blackwhite_on":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_hold":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_level":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_level_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_off":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_on":"​W","​Z3RequestHandler:​post:​CameraControl:​iris":"​W","​Z3RequestHandler:​post:​CameraControl:​iris_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​lens_control_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​lens_get_temp":"​R","​Z3RequestHandler:​post:​CameraControl:​lr_reverse_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​lr_reverse_off":"​W","​Z3RequestHandler:​post:​CameraControl:​lr_reverse_on":"​W","​Z3RequestHandler:​post:​CameraControl:​min_shutter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​min_shutter_limit":"​W","​Z3RequestHandler:​post:​CameraControl:​min_shutter_limit_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​min_shutter_off":"​W","​Z3RequestHandler:​post:​CameraControl:​min_shutter_on":"​W","​Z3RequestHandler:​post:​CameraControl:​mute_on_off":"​W","​Z3RequestHandler:​post:​CameraControl:​noise_2d3d":"​W","​Z3RequestHandler:​post:​CameraControl:​noise_2d3d_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​noise_reduction":"​W","​Z3RequestHandler:​post:​CameraControl:​noise_reduction_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​part_number_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​power_off":"​W","​Z3RequestHandler:​post:​CameraControl:​power_on":"​W","​Z3RequestHandler:​post:​CameraControl:​raw":"​W","​Z3RequestHandler:​post:​CameraControl:​reboot_camera":"​W","​Z3RequestHandler:​post:​CameraControl:​register_read":"​R","​Z3RequestHandler:​post:​CameraControl:​register_write":"​W","​Z3RequestHandler:​post:​CameraControl:​run_ffc":"​W","​Z3RequestHandler:​post:​CameraControl:​serial_number_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​set_low_delay_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​set_monitor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​shutter":"​W","​Z3RequestHandler:​post:​CameraControl:​shutter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​shutter_position":"​R","​Z3RequestHandler:​post:​CameraControl:​shutter_temp":"​R","​Z3RequestHandler:​post:​CameraControl:​shutter_temp_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​slow_shutter":"​W","​Z3RequestHandler:​post:​CameraControl:​slow_shutter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​slow_shutter_limit_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​spot_display":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_display_inquiry":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_meter_data_advanced":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_meter_data_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​spot_meter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​spot_meter_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_meter_pos_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​stable_zoom_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​stable_zoom_off":"​W","​Z3RequestHandler:​post:​CameraControl:​stable_zoom_on":"​W","​Z3RequestHandler:​post:​CameraControl:​tnr_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​tnr_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​version":"​R","​Z3RequestHandler:​post:​CameraControl:​version_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_off":"​W","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_on":"​W","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_params":"​W","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_params_inquiry":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_auto_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_auto_trace_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_autotrace_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_get_bgain":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_get_mode":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_get_mode_name":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_get_rgain":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_indoor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_bgain_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_bgain_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_rgain_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_rgain_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_onepush_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_onepush_trigger":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_outdoor_auto_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_outdoor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_sodium_lamp_auto_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_sodium_lamp_fixed_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_sodium_lamp_outdoor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​white_hot":"​W","​Z3RequestHandler:​post:​CameraControl:​wide_dynamic_range_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​wide_dynamic_range_off":"​W","​Z3RequestHandler:​post:​CameraControl:​wide_dynamic_range_on":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_get_focal_length_mm":"​R","​Z3RequestHandler:​post:​CameraControl:​zoom_get_pos":"​R","​Z3RequestHandler:​post:​CameraControl:​zoom_stop":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_tele_std":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_tele_var":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_wide_std":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_wide_var":"​W","​Z3RequestHandler:​post:​DecoderStatus":"?","​Z3RequestHandler:​post:​DeleteChannel":"​W","​Z3RequestHandler:​post:​DeletePreset":"​W","​Z3RequestHandler:​post:​DisplayStatus":"?","​Z3RequestHandler:​post:​Dynamic:​analog_gain_db":"?","​Z3RequestHandler:​post:​Dynamic:​crop":"?","​Z3RequestHandler:​post:​Dynamic:​gop":"?","​Z3RequestHandler:​post:​Dynamic:​nfstrength":"?","​Z3RequestHandler:​post:​Dynamic:​pip_enable":"?","​Z3RequestHandler:​post:​Dynamic:​pip_location":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_angle":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_center_offset":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_enable":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_mode":"?","​Z3RequestHandler:​post:​Dynamic:​startmulticast":"?","​Z3RequestHandler:​post:​Dynamic:​stopmulticast":"?","​Z3RequestHandler:​post:​Dynamic:​telop_text":"?","​Z3RequestHandler:​post:​Dynamic:​translate_enable":"?","​Z3RequestHandler:​post:​Dynamic:​translate_offset":"?","​Z3RequestHandler:​post:​Dynamic:​vconflict":"?","​Z3RequestHandler:​post:​Dynamic:​vrate":"?","​Z3RequestHandler:​post:​Dynamic:​vratediv":"?","​Z3RequestHandler:​post:​EjectStorage":"​W","​Z3RequestHandler:​post:​EncoderStatus":"?","​Z3RequestHandler:​post:​ErasePresets":"​W","​Z3RequestHandler:​post:​ExportPresets":"​W","​Z3RequestHandler:​post:​FactoryReset":"​W","​Z3RequestHandler:​post:​GetCameraLink":"?","​Z3RequestHandler:​post:​GetCameraTab":"?","​Z3RequestHandler:​post:​GetStatus":"?","​Z3RequestHandler:​post:​GetVideoGroup":"?","​Z3RequestHandler:​post:​GetWifiPass":"?","​Z3RequestHandler:​post:​InsQuery":"​W","​Z3RequestHandler:​post:​LoadUser":"​W","​Z3RequestHandler:​post:​Login":"​W","​Z3RequestHandler:​post:​Logout":"​W","​Z3RequestHandler:​post:​Overlay":"?","​Z3RequestHandler:​post:​OverlayStop":"​W","​Z3RequestHandler:​post:​PtzAbsoluteMove":"​W","​Z3RequestHandler:​post:​PtzAuxiliary":"​W","​Z3RequestHandler:​post:​PtzClearPreset":"​W","​Z3RequestHandler:​post:​PtzContinuousMove":"​W","​Z3RequestHandler:​post:​PtzGotoPreset":"​W","​Z3RequestHandler:​post:​PtzNewTourSpot":"​W","​Z3RequestHandler:​post:​PtzPosition":"​W","​Z3RequestHandler:​post:​PtzPreset":"​W","​Z3RequestHandler:​post:​PtzQuery":"​W","​Z3RequestHandler:​post:​PtzRemoveTourSpot":"​W","​Z3RequestHandler:​post:​PtzSetPreset":"​W","​Z3RequestHandler:​post:​PtzStartTour":"​W","​Z3RequestHandler:​post:​PtzStop":"​W","​Z3RequestHandler:​post:​RemoveJobs":"​W","​Z3RequestHandler:​post:​RestartBoard":"​W","​Z3RequestHandler:​post:​SaveCamera":"?","​Z3RequestHandler:​post:​SaveCameraBoson":"?","​Z3RequestHandler:​post:​SaveCameraDRSTamarisk":"?","​Z3RequestHandler:​post:​SaveCameraLink":"?","​Z3RequestHandler:​post:​SaveCameraLx":"?","​Z3RequestHandler:​post:​SaveCameraTau":"?","​Z3RequestHandler:​post:​SaveJobs":"​W","​Z3RequestHandler:​post:​SavePresets":"​W","​Z3RequestHandler:​post:​SaveUser":"​W","​Z3RequestHandler:​post:​SetAPConfig":"?","​Z3RequestHandler:​post:​SetAdv":"?","​Z3RequestHandler:​post:​SetAudio":"​W","​Z3RequestHandler:​post:​SetCameraLink":"​W","​Z3RequestHandler:​post:​SetConsole":"?","​Z3RequestHandler:​post:​SetDDNSEnable":"​W","​Z3RequestHandler:​post:​SetDSCP":"?","​Z3RequestHandler:​post:​SetDebugLevel":"​W","​Z3RequestHandler:​post:​SetDevName":"​W","​Z3RequestHandler:​post:​SetDisplay":"?","​Z3RequestHandler:​post:​SetEncoder":"​W","​Z3RequestHandler:​post:​SetEncoderCameraControl":"​W","​Z3RequestHandler:​post:​SetFpga":"​W","​Z3RequestHandler:​post:​SetIp":"​W","​Z3RequestHandler:​post:​SetLoginLimit":"​W","​Z3RequestHandler:​post:​SetNFS":"​W","​Z3RequestHandler:​post:​SetNMEAEnable":"?","​Z3RequestHandler:​post:​SetOnvif":"​W","​Z3RequestHandler:​post:​SetOnvifVMD":"​W","​Z3RequestHandler:​post:​SetRMF":"​W","​Z3RequestHandler:​post:​SetRTSP":"​W","​Z3RequestHandler:​post:​SetSNTP":"​W","​Z3RequestHandler:​post:​SetStartLogs":"​W","​Z3RequestHandler:​post:​SetStopLogs":"​W","​Z3RequestHandler:​post:​SetTermSrvEnable":"?","​Z3RequestHandler:​post:​SetViVpssMode":"?","​Z3RequestHandler:​post:​SetVideoGroup":"​W","​Z3RequestHandler:​post:​SetViewport":"?","​Z3RequestHandler:​post:​SetWifiAP":"?","​Z3RequestHandler:​post:​SetZFinderEnable":"​W","​Z3RequestHandler:​post:​SourceStatus":"?","​Z3RequestHandler:​post:​StartChannel":"​W","​Z3RequestHandler:​post:​StartMTS":"​W","​Z3RequestHandler:​post:​StopChannel":"​W","​Z3RequestHandler:​post:​StopMTS":"​W","​Z3RequestHandler:​post:​StreamStatus":"?","​Z3RequestHandler:​post:​TempStatus":"?","​Z3RequestHandler:​post:​UpdatePtz":"?","​Z3RequestHandler:​post:​UpdatePtzPreset":"​W","​Z3RequestHandler:​post:​UpdatePtzTourSpots":"​W","​Z3RequestHandler:​post:​UpdateTerm":"​W","​Z3RequestHandler:​post:​UpdateTermForFpga":"​W","​Z3RequestHandler:​post:​ViscaPort":"​x","​Z3RequestHandler:​post:​camera_inquiry":"?","​Z3RequestHandler:​post:​fmt_media":"​W","​Z3RequestHandler:​post:​update_require_web_login":"​W","​Z3RequestHandler:​post:​user_add":"​W","​Z3RequestHandler:​post:​user_remove":"​W","​Z3RequestHandler:​post:​user_update_level":"​W","​Z3RequestHandler:​post:​user_update_password":"​W","​Z3SSLImportHandler:​post":"​W","​Z3SnapshotHandler:​get":"​R","​Z3TabHandler:​get":"​-","​Z3UploadHandler:​post":"​W","​Z3WebSocketHandler:​get":"​R"​},"​ret":"​0","​status":"​OK","​userlevel":​0,"​username":"​admin"​}
-PERMISSIONS response: {"​permissions":​{"​Z38021xImportHandler:​post":"​W","​Z3DebugHandler:​get":"​R","​Z3DownloadMediaHandler:​get":"​R","​Z3ExportHandler:​get":"​R","​Z3FWUploadHandler:​post":"​W","​Z3ImportHandler:​post":"​W","​Z3LogoHandler:​get":"?","​Z3LogsHandler:​get":"​R","​Z3RequestHandler:​get:​8021x":"?","​Z3RequestHandler:​get:​GetCronJobs":"​R","​Z3RequestHandler:​get:​GetNFSMount":"?","​Z3RequestHandler:​get:​aspect_info":"?","​Z3RequestHandler:​get:​boardinfo":"​R","​Z3RequestHandler:​get:​cam_state":"​R","​Z3RequestHandler:​get:​camera":"?","​Z3RequestHandler:​get:​camera_exposure":"?","​Z3RequestHandler:​get:​camera_monitor_mode":"?","​Z3RequestHandler:​get:​dec":"​R","​Z3RequestHandler:​get:​download":"?","​Z3RequestHandler:​get:​drs_tamarisk_settings":"?","​Z3RequestHandler:​get:​enc":"​R","​Z3RequestHandler:​get:​filepicker":"?","​Z3RequestHandler:​get:​fmt":"​W","​Z3RequestHandler:​get:​focusStepSize":"?","​Z3RequestHandler:​get:​fpga":"?","​Z3RequestHandler:​get:​history":"​R","​Z3RequestHandler:​get:​ipinfo":"​R","​Z3RequestHandler:​get:​onvif":"?","​Z3RequestHandler:​get:​onvif_vmd":"?","​Z3RequestHandler:​get:​permission":"​R","​Z3RequestHandler:​get:​ptz":"?","​Z3RequestHandler:​get:​ptz_preset":"?","​Z3RequestHandler:​get:​ptz_tour":"?","​Z3RequestHandler:​get:​snmp":"?","​Z3RequestHandler:​get:​ssl":"?","​Z3RequestHandler:​get:​stats":"?","​Z3RequestHandler:​get:​sys":"​R","​Z3RequestHandler:​get:​term":"?","​Z3RequestHandler:​get:​users":"​R","​Z3RequestHandler:​get:​video_group":"?","​Z3RequestHandler:​get:​wifi":"?","​Z3RequestHandler:​get:​zoomStepSize":"?","​Z3RequestHandler:​post:​AStreamStatus":"?","​Z3RequestHandler:​post:​AddChannel":"​W","​Z3RequestHandler:​post:​CameraControl:​SetColorPallette":"​W","​Z3RequestHandler:​post:​CameraControl:​ae_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​ae_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​agc_filter":"​W","​Z3RequestHandler:​post:​CameraControl:​agc_midpoint":"​W","​Z3RequestHandler:​post:​CameraControl:​agc_type":"​W","​Z3RequestHandler:​post:​CameraControl:​auto_icr_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​auto_icr_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​autocal_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​autocal_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​backlight_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​backlight_off":"​W","​Z3RequestHandler:​post:​CameraControl:​backlight_on":"​W","​Z3RequestHandler:​post:​CameraControl:​black_hot":"​W","​Z3RequestHandler:​post:​CameraControl:​brightness":"​W","​Z3RequestHandler:​post:​CameraControl:​brightness_bias":"​W","​Z3RequestHandler:​post:​CameraControl:​brightness_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​cam_control_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​cam_custom_recall":"​W","​Z3RequestHandler:​post:​CameraControl:​cam_custom_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​cam_custom_set":"​W","​Z3RequestHandler:​post:​CameraControl:​chroma_get_suppress":"​R","​Z3RequestHandler:​post:​CameraControl:​chroma_suppress":"​W","​Z3RequestHandler:​post:​CameraControl:​color_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​color_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​color_gain":"​W","​Z3RequestHandler:​post:​CameraControl:​color_get_gain":"​R","​Z3RequestHandler:​post:​CameraControl:​color_get_hue":"​R","​Z3RequestHandler:​post:​CameraControl:​color_hue":"​W","​Z3RequestHandler:​post:​CameraControl:​color_select":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_arctic":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_blackhot":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_globow":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_gradedfire":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_hottest":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_ironbow":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_lava":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_rainbow":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_rainbow_hc":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_whitehot":"​W","​Z3RequestHandler:​post:​CameraControl:​contrast_adjust_level":"​W","​Z3RequestHandler:​post:​CameraControl:​contrast_adjust_level_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​contrast_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​defog_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​defog_on_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​display_off":"​W","​Z3RequestHandler:​post:​CameraControl:​display_on":"​W","​Z3RequestHandler:​post:​CameraControl:​display_on_off":"​W","​Z3RequestHandler:​post:​CameraControl:​do_ffc":"​W","​Z3RequestHandler:​post:​CameraControl:​dvo_set_output_format_ycbcr":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_combine_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​dzoom_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​dzoom_off":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_on":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_separage_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_separate_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_stop":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_super_res":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_tele_var":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_wide_var":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_x1_max":"​W","​Z3RequestHandler:​post:​CameraControl:​e_pan_tilt_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​e_pan_tilt_off":"​W","​Z3RequestHandler:​post:​CameraControl:​e_pan_tilt_on":"​W","​Z3RequestHandler:​post:​CameraControl:​eflip_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​eflip_off":"​W","​Z3RequestHandler:​post:​CameraControl:​eflip_on":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_down":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​expcomp_off":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_on":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_pos_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​expcomp_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_up":"​W","​Z3RequestHandler:​post:​CameraControl:​ffc_period":"​W","​Z3RequestHandler:​post:​CameraControl:​ffc_temp_delta":"​W","​Z3RequestHandler:​post:​CameraControl:​ffc_warn_time":"​W","​Z3RequestHandler:​post:​CameraControl:​flicker_detection_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​flicker_reduction_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​flicker_reduction_off":"​W","​Z3RequestHandler:​post:​CameraControl:​flicker_reduction_on":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_auto":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_get_mode":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_get_pos":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_get_pos_meter":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_manual":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_near_limit":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_near_limit_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_set_pos_meter":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_stop":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_tele_std":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_tele_var":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_toggle":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_wide_std":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_wide_var":"​W","​Z3RequestHandler:​post:​CameraControl:​fpa_temp_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​gain":"​W","​Z3RequestHandler:​post:​CameraControl:​gain_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​gain_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​get_camera_framerate":"​R","​Z3RequestHandler:​post:​CameraControl:​get_camera_part_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_camera_serial_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_color_tables":"​R","​Z3RequestHandler:​post:​CameraControl:​get_colorlut_current":"​R","​Z3RequestHandler:​post:​CameraControl:​get_colorlut_state":"​R","​Z3RequestHandler:​post:​CameraControl:​get_fpa_temp_celsius":"​R","​Z3RequestHandler:​post:​CameraControl:​get_low_delay_mode":"​R","​Z3RequestHandler:​post:​CameraControl:​get_revision":"​R","​Z3RequestHandler:​post:​CameraControl:​get_sensor_part_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_sensor_serial_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_software_rev":"​R","​Z3RequestHandler:​post:​CameraControl:​get_tnr_state":"​R","​Z3RequestHandler:​post:​CameraControl:​get_zoom_limits_mm":"​R","​Z3RequestHandler:​post:​CameraControl:​high_sensitivity_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​high_sensitivity_off":"​W","​Z3RequestHandler:​post:​CameraControl:​high_sensitivity_on":"​W","​Z3RequestHandler:​post:​CameraControl:​hlc":"​W","​Z3RequestHandler:​post:​CameraControl:​hlc_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​hr_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​hr_off":"​W","​Z3RequestHandler:​post:​CameraControl:​hr_on":"​W","​Z3RequestHandler:​post:​CameraControl:​ice_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​ice_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​icr_auto_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​icr_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​icr_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​icr_threshold_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​image_freeze_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​image_freeze_off":"​W","​Z3RequestHandler:​post:​CameraControl:​image_freeze_on":"​W","​Z3RequestHandler:​post:​CameraControl:​img_blackwhite_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​img_blackwhite_off":"​W","​Z3RequestHandler:​post:​CameraControl:​img_blackwhite_on":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_hold":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_level":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_level_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_off":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_on":"​W","​Z3RequestHandler:​post:​CameraControl:​iris":"​W","​Z3RequestHandler:​post:​CameraControl:​iris_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​lens_control_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​lens_get_temp":"​R","​Z3RequestHandler:​post:​CameraControl:​lr_reverse_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​lr_reverse_off":"​W","​Z3RequestHandler:​post:​CameraControl:​lr_reverse_on":"​W","​Z3RequestHandler:​post:​CameraControl:​min_shutter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​min_shutter_limit":"​W","​Z3RequestHandler:​post:​CameraControl:​min_shutter_limit_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​min_shutter_off":"​W","​Z3RequestHandler:​post:​CameraControl:​min_shutter_on":"​W","​Z3RequestHandler:​post:​CameraControl:​mute_on_off":"​W","​Z3RequestHandler:​post:​CameraControl:​noise_2d3d":"​W","​Z3RequestHandler:​post:​CameraControl:​noise_2d3d_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​noise_reduction":"​W","​Z3RequestHandler:​post:​CameraControl:​noise_reduction_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​part_number_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​power_off":"​W","​Z3RequestHandler:​post:​CameraControl:​power_on":"​W","​Z3RequestHandler:​post:​CameraControl:​raw":"​W","​Z3RequestHandler:​post:​CameraControl:​reboot_camera":"​W","​Z3RequestHandler:​post:​CameraControl:​register_read":"​R","​Z3RequestHandler:​post:​CameraControl:​register_write":"​W","​Z3RequestHandler:​post:​CameraControl:​run_ffc":"​W","​Z3RequestHandler:​post:​CameraControl:​serial_number_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​set_low_delay_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​set_monitor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​shutter":"​W","​Z3RequestHandler:​post:​CameraControl:​shutter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​shutter_position":"​R","​Z3RequestHandler:​post:​CameraControl:​shutter_temp":"​R","​Z3RequestHandler:​post:​CameraControl:​shutter_temp_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​slow_shutter":"​W","​Z3RequestHandler:​post:​CameraControl:​slow_shutter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​slow_shutter_limit_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​spot_display":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_display_inquiry":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_meter_data_advanced":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_meter_data_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​spot_meter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​spot_meter_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_meter_pos_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​stable_zoom_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​stable_zoom_off":"​W","​Z3RequestHandler:​post:​CameraControl:​stable_zoom_on":"​W","​Z3RequestHandler:​post:​CameraControl:​tnr_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​tnr_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​version":"​R","​Z3RequestHandler:​post:​CameraControl:​version_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_off":"​W","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_on":"​W","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_params":"​W","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_params_inquiry":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_auto_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_auto_trace_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_autotrace_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_get_bgain":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_get_mode":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_get_mode_name":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_get_rgain":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_indoor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_bgain_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_bgain_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_rgain_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_rgain_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_onepush_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_onepush_trigger":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_outdoor_auto_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_outdoor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_sodium_lamp_auto_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_sodium_lamp_fixed_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_sodium_lamp_outdoor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​white_hot":"​W","​Z3RequestHandler:​post:​CameraControl:​wide_dynamic_range_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​wide_dynamic_range_off":"​W","​Z3RequestHandler:​post:​CameraControl:​wide_dynamic_range_on":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_get_focal_length_mm":"​R","​Z3RequestHandler:​post:​CameraControl:​zoom_get_pos":"​R","​Z3RequestHandler:​post:​CameraControl:​zoom_stop":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_tele_std":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_tele_var":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_wide_std":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_wide_var":"​W","​Z3RequestHandler:​post:​DecoderStatus":"?","​Z3RequestHandler:​post:​DeleteChannel":"​W","​Z3RequestHandler:​post:​DeletePreset":"​W","​Z3RequestHandler:​post:​DisplayStatus":"?","​Z3RequestHandler:​post:​Dynamic:​analog_gain_db":"?","​Z3RequestHandler:​post:​Dynamic:​crop":"?","​Z3RequestHandler:​post:​Dynamic:​gop":"?","​Z3RequestHandler:​post:​Dynamic:​nfstrength":"?","​Z3RequestHandler:​post:​Dynamic:​pip_enable":"?","​Z3RequestHandler:​post:​Dynamic:​pip_location":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_angle":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_center_offset":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_enable":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_mode":"?","​Z3RequestHandler:​post:​Dynamic:​startmulticast":"?","​Z3RequestHandler:​post:​Dynamic:​stopmulticast":"?","​Z3RequestHandler:​post:​Dynamic:​telop_text":"?","​Z3RequestHandler:​post:​Dynamic:​translate_enable":"?","​Z3RequestHandler:​post:​Dynamic:​translate_offset":"?","​Z3RequestHandler:​post:​Dynamic:​vconflict":"?","​Z3RequestHandler:​post:​Dynamic:​vrate":"?","​Z3RequestHandler:​post:​Dynamic:​vratediv":"?","​Z3RequestHandler:​post:​EjectStorage":"​W","​Z3RequestHandler:​post:​EncoderStatus":"?","​Z3RequestHandler:​post:​ErasePresets":"​W","​Z3RequestHandler:​post:​ExportPresets":"​W","​Z3RequestHandler:​post:​FactoryReset":"​W","​Z3RequestHandler:​post:​GetCameraLink":"?","​Z3RequestHandler:​post:​GetCameraTab":"?","​Z3RequestHandler:​post:​GetStatus":"?","​Z3RequestHandler:​post:​GetVideoGroup":"?","​Z3RequestHandler:​post:​GetWifiPass":"?","​Z3RequestHandler:​post:​InsQuery":"​W","​Z3RequestHandler:​post:​LoadUser":"​W","​Z3RequestHandler:​post:​Login":"​W","​Z3RequestHandler:​post:​Logout":"​W","​Z3RequestHandler:​post:​Overlay":"?","​Z3RequestHandler:​post:​OverlayStop":"​W","​Z3RequestHandler:​post:​PtzAbsoluteMove":"​W","​Z3RequestHandler:​post:​PtzAuxiliary":"​W","​Z3RequestHandler:​post:​PtzClearPreset":"​W","​Z3RequestHandler:​post:​PtzContinuousMove":"​W","​Z3RequestHandler:​post:​PtzGotoPreset":"​W","​Z3RequestHandler:​post:​PtzNewTourSpot":"​W","​Z3RequestHandler:​post:​PtzPosition":"​W","​Z3RequestHandler:​post:​PtzPreset":"​W","​Z3RequestHandler:​post:​PtzQuery":"​W","​Z3RequestHandler:​post:​PtzRemoveTourSpot":"​W","​Z3RequestHandler:​post:​PtzSetPreset":"​W","​Z3RequestHandler:​post:​PtzStartTour":"​W","​Z3RequestHandler:​post:​PtzStop":"​W","​Z3RequestHandler:​post:​RemoveJobs":"​W","​Z3RequestHandler:​post:​RestartBoard":"​W","​Z3RequestHandler:​post:​SaveCamera":"?","​Z3RequestHandler:​post:​SaveCameraBoson":"?","​Z3RequestHandler:​post:​SaveCameraDRSTamarisk":"?","​Z3RequestHandler:​post:​SaveCameraLink":"?","​Z3RequestHandler:​post:​SaveCameraLx":"?","​Z3RequestHandler:​post:​SaveCameraTau":"?","​Z3RequestHandler:​post:​SaveJobs":"​W","​Z3RequestHandler:​post:​SavePresets":"​W","​Z3RequestHandler:​post:​SaveUser":"​W","​Z3RequestHandler:​post:​SetAPConfig":"?","​Z3RequestHandler:​post:​SetAdv":"?","​Z3RequestHandler:​post:​SetAudio":"​W","​Z3RequestHandler:​post:​SetCameraLink":"​W","​Z3RequestHandler:​post:​SetConsole":"?","​Z3RequestHandler:​post:​SetDDNSEnable":"​W","​Z3RequestHandler:​post:​SetDSCP":"?","​Z3RequestHandler:​post:​SetDebugLevel":"​W","​Z3RequestHandler:​post:​SetDevName":"​W","​Z3RequestHandler:​post:​SetDisplay":"?","​Z3RequestHandler:​post:​SetEncoder":"​W","​Z3RequestHandler:​post:​SetEncoderCameraControl":"​W","​Z3RequestHandler:​post:​SetFpga":"​W","​Z3RequestHandler:​post:​SetIp":"​W","​Z3RequestHandler:​post:​SetLoginLimit":"​W","​Z3RequestHandler:​post:​SetNFS":"​W","​Z3RequestHandler:​post:​SetNMEAEnable":"?","​Z3RequestHandler:​post:​SetOnvif":"​W","​Z3RequestHandler:​post:​SetOnvifVMD":"​W","​Z3RequestHandler:​post:​SetRMF":"​W","​Z3RequestHandler:​post:​SetRTSP":"​W","​Z3RequestHandler:​post:​SetSNTP":"​W","​Z3RequestHandler:​post:​SetStartLogs":"​W","​Z3RequestHandler:​post:​SetStopLogs":"​W","​Z3RequestHandler:​post:​SetTermSrvEnable":"?","​Z3RequestHandler:​post:​SetViVpssMode":"?","​Z3RequestHandler:​post:​SetVideoGroup":"​W","​Z3RequestHandler:​post:​SetViewport":"?","​Z3RequestHandler:​post:​SetWifiAP":"?","​Z3RequestHandler:​post:​SetZFinderEnable":"​W","​Z3RequestHandler:​post:​SourceStatus":"?","​Z3RequestHandler:​post:​StartChannel":"​W","​Z3RequestHandler:​post:​StartMTS":"​W","​Z3RequestHandler:​post:​StopChannel":"​W","​Z3RequestHandler:​post:​StopMTS":"​W","​Z3RequestHandler:​post:​StreamStatus":"?","​Z3RequestHandler:​post:​TempStatus":"?","​Z3RequestHandler:​post:​UpdatePtz":"?","​Z3RequestHandler:​post:​UpdatePtzPreset":"​W","​Z3RequestHandler:​post:​UpdatePtzTourSpots":"​W","​Z3RequestHandler:​post:​UpdateTerm":"​W","​Z3RequestHandler:​post:​UpdateTermForFpga":"​W","​Z3RequestHandler:​post:​ViscaPort":"​x","​Z3RequestHandler:​post:​camera_inquiry":"?","​Z3RequestHandler:​post:​fmt_media":"​W","​Z3RequestHandler:​post:​update_require_web_login":"​W","​Z3RequestHandler:​post:​user_add":"​W","​Z3RequestHandler:​post:​user_remove":"​W","​Z3RequestHandler:​post:​user_update_level":"​W","​Z3RequestHandler:​post:​user_update_password":"​W","​Z3SSLImportHandler:​post":"​W","​Z3SnapshotHandler:​get":"​R","​Z3TabHandler:​get":"​-","​Z3UploadHandler:​post":"​W","​Z3WebSocketHandler:​get":"​R"​},"​ret":"​0","​status":"​OK","​userlevel":​0,"​username":"​admin"​} ​+
  
 </​code>​ </​code>​
Line 6101: Line 8463:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6114: Line 8475:
  
 <​code>​ <​code>​
- 
 PTZ response: {"​data":​[{"​id":​1,"​values":​{"​db_videosource":"​CAMERA","​enabled":​1,"​flip":"​none","​maxtilt":​90,"​name":"​videoin1","​pelcoaddr":​1,"​pos":"​simulated","​ptztype":"​relative","​rowid":​1,"​tcpport":​2000,"​token":"​ptz"​}},​{"​id":​2,"​values":​{"​db_videosource":"​CAMERA2","​enabled":​1,"​flip":"​none","​maxtilt":​90,"​name":"​videoin2","​pelcoaddr":​2,"​pos":"​simulated","​ptztype":"​relative","​rowid":​2,"​tcpport":​2000,"​token":"​ptz2"​}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Video Source","​name":"​db_videosource"​},​{"​datatype":"​text","​editable":​false,"​label":"​ONVIF Token","​name":"​token"​},​{"​datatype":"​text","​editable":​true,"​label":"​ONVIF Name","​name":"​name"​},​{"​datatype":"​bool","​editable":​true,"​label":"​Enabled","​name":"​enabled"​},​{"​datatype":"​integer","​editable":​true,"​label":"​RS485 Address","​name":"​pelcoaddr"​},​{"​datatype":"​integer","​editable":​true,"​label":"​TCP Port","​name":"​tcpport"​},​{"​datatype":"​text","​editable":​true,"​label":"​Type","​name":"​ptztype"​},​{"​datatype":"​text","​editable":​true,"​label":"​Flip","​name":"​flip"​},​{"​datatype":"​text","​editable":​true,"​label":"​Position","​name":"​pos"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Max Tilt","​name":"​maxtilt"​}],"​ret":"​0"​} PTZ response: {"​data":​[{"​id":​1,"​values":​{"​db_videosource":"​CAMERA","​enabled":​1,"​flip":"​none","​maxtilt":​90,"​name":"​videoin1","​pelcoaddr":​1,"​pos":"​simulated","​ptztype":"​relative","​rowid":​1,"​tcpport":​2000,"​token":"​ptz"​}},​{"​id":​2,"​values":​{"​db_videosource":"​CAMERA2","​enabled":​1,"​flip":"​none","​maxtilt":​90,"​name":"​videoin2","​pelcoaddr":​2,"​pos":"​simulated","​ptztype":"​relative","​rowid":​2,"​tcpport":​2000,"​token":"​ptz2"​}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Video Source","​name":"​db_videosource"​},​{"​datatype":"​text","​editable":​false,"​label":"​ONVIF Token","​name":"​token"​},​{"​datatype":"​text","​editable":​true,"​label":"​ONVIF Name","​name":"​name"​},​{"​datatype":"​bool","​editable":​true,"​label":"​Enabled","​name":"​enabled"​},​{"​datatype":"​integer","​editable":​true,"​label":"​RS485 Address","​name":"​pelcoaddr"​},​{"​datatype":"​integer","​editable":​true,"​label":"​TCP Port","​name":"​tcpport"​},​{"​datatype":"​text","​editable":​true,"​label":"​Type","​name":"​ptztype"​},​{"​datatype":"​text","​editable":​true,"​label":"​Flip","​name":"​flip"​},​{"​datatype":"​text","​editable":​true,"​label":"​Position","​name":"​pos"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Max Tilt","​name":"​maxtilt"​}],"​ret":"​0"​}
  
Line 6153: Line 8513:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6166: Line 8525:
  
 <​code>​ <​code>​
- 
 PTZ Preset response: {"​data":​[{"​id":​1,"​values":​{"​action":"​blank","​name":"​home","​profiletoken":"​profile1","​rowid":​1,"​token":"​1"​}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Profile","​name":"​profiletoken"​},​{"​datatype":"​text","​editable":​false,"​label":"​PresetID","​name":"​token"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​},​{"​datatype":"​html","​editable":​false,"​label":"​Action","​name":"​action"​}],"​ret":​0} PTZ Preset response: {"​data":​[{"​id":​1,"​values":​{"​action":"​blank","​name":"​home","​profiletoken":"​profile1","​rowid":​1,"​token":"​1"​}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Profile","​name":"​profiletoken"​},​{"​datatype":"​text","​editable":​false,"​label":"​PresetID","​name":"​token"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​},​{"​datatype":"​html","​editable":​false,"​label":"​Action","​name":"​action"​}],"​ret":​0}
  
Line 6233: Line 8591:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6246: Line 8603:
  
 <​code>​ <​code>​
- 
 PTZ tour response: {"​preset":​{"​data":​[{"​id":​1,"​values":​{"​name":"​home","​pan":​0,"​profiletoken":"​profile1","​rowid":​1,"​tilt":​0,"​token":"​1","​zoom":​0}}],"​metadata":​[{"​datatype":"​text","​editable":​true,"​label":"​Profiletoken","​name":"​profiletoken"​},​{"​datatype":"​text","​editable":​true,"​label":"​Token","​name":"​token"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​},​{"​datatype":"​real","​editable":​true,"​label":"​Pan","​name":"​pan"​},​{"​datatype":"​real","​editable":​true,"​label":"​Tilt","​name":"​tilt"​},​{"​datatype":"​real","​editable":​true,"​label":"​Zoom","​name":"​zoom"​}]},"​ret":​0,"​spot":​{"​data":​[],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Profile","​name":"​ProfileToken"​},​{"​datatype":"​text","​editable":​false,"​label":"​Tour","​name":"​PresetTourToken"​},​{"​datatype":"​text","​editable":​true,"​label":"​Preset","​name":"​PresetDetailToken"​},​{"​datatype":"​text","​editable":​true,"​label":"​StayTime","​name":"​StayTime"​},​{"​datatype":"​integer","​editable":​false,"​label":"​RowIndex","​name":"​RowIndex"​},​{"​datatype":"​html","​editable":"​false","​label":"​Action","​name":"​action"​}]},"​tour":​{"​data":​[{"​id":​1,"​values":​{"​PresetTourToken":"​1","​ProfileToken":"​profile1","​name":"​tour1","​rowid":​1}},​{"​id":​2,"​values":​{"​PresetTourToken":"​2","​ProfileToken":"​profile1","​name":"​tour2","​rowid":​2}},​{"​id":​3,"​values":​{"​PresetTourToken":"​3","​ProfileToken":"​profile1","​name":"​tour3","​rowid":​3}},​{"​id":​4,"​values":​{"​PresetTourToken":"​4","​ProfileToken":"​profile1","​name":"​tour4","​rowid":​4}},​{"​id":​5,"​values":​{"​PresetTourToken":"​5","​ProfileToken":"​profile1","​name":"​tour5","​rowid":​5}},​{"​id":​6,"​values":​{"​PresetTourToken":"​6","​ProfileToken":"​profile1","​name":"​tour6","​rowid":​6}},​{"​id":​7,"​values":​{"​PresetTourToken":"​7","​ProfileToken":"​profile1","​name":"​tour7","​rowid":​7}},​{"​id":​8,"​values":​{"​PresetTourToken":"​8","​ProfileToken":"​profile1","​name":"​tour8","​rowid":​8}},​{"​id":​9,"​values":​{"​PresetTourToken":"​9","​ProfileToken":"​profile1","​name":"​tour9","​rowid":​9}},​{"​id":​10,"​values":​{"​PresetTourToken":"​10","​ProfileToken":"​profile1","​name":"​tour10","​rowid":​10}},​{"​id":​11,"​values":​{"​PresetTourToken":"​11","​ProfileToken":"​profile1","​name":"​tour11","​rowid":​11}},​{"​id":​12,"​values":​{"​PresetTourToken":"​12","​ProfileToken":"​profile1","​name":"​tour12","​rowid":​12}},​{"​id":​13,"​values":​{"​PresetTourToken":"​13","​ProfileToken":"​profile1","​name":"​tour13","​rowid":​13}},​{"​id":​14,"​values":​{"​PresetTourToken":"​14","​ProfileToken":"​profile1","​name":"​tour14","​rowid":​14}},​{"​id":​15,"​values":​{"​PresetTourToken":"​15","​ProfileToken":"​profile1","​name":"​tour15","​rowid":​15}},​{"​id":​16,"​values":​{"​PresetTourToken":"​16","​ProfileToken":"​profile1","​name":"​tour16","​rowid":​16}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​profile1","​name":"​ProfileToken"​},​{"​datatype":"​text","​editable":​false,"​label":"​TourID","​name":"​PresetTourToken"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​}]}} PTZ tour response: {"​preset":​{"​data":​[{"​id":​1,"​values":​{"​name":"​home","​pan":​0,"​profiletoken":"​profile1","​rowid":​1,"​tilt":​0,"​token":"​1","​zoom":​0}}],"​metadata":​[{"​datatype":"​text","​editable":​true,"​label":"​Profiletoken","​name":"​profiletoken"​},​{"​datatype":"​text","​editable":​true,"​label":"​Token","​name":"​token"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​},​{"​datatype":"​real","​editable":​true,"​label":"​Pan","​name":"​pan"​},​{"​datatype":"​real","​editable":​true,"​label":"​Tilt","​name":"​tilt"​},​{"​datatype":"​real","​editable":​true,"​label":"​Zoom","​name":"​zoom"​}]},"​ret":​0,"​spot":​{"​data":​[],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Profile","​name":"​ProfileToken"​},​{"​datatype":"​text","​editable":​false,"​label":"​Tour","​name":"​PresetTourToken"​},​{"​datatype":"​text","​editable":​true,"​label":"​Preset","​name":"​PresetDetailToken"​},​{"​datatype":"​text","​editable":​true,"​label":"​StayTime","​name":"​StayTime"​},​{"​datatype":"​integer","​editable":​false,"​label":"​RowIndex","​name":"​RowIndex"​},​{"​datatype":"​html","​editable":"​false","​label":"​Action","​name":"​action"​}]},"​tour":​{"​data":​[{"​id":​1,"​values":​{"​PresetTourToken":"​1","​ProfileToken":"​profile1","​name":"​tour1","​rowid":​1}},​{"​id":​2,"​values":​{"​PresetTourToken":"​2","​ProfileToken":"​profile1","​name":"​tour2","​rowid":​2}},​{"​id":​3,"​values":​{"​PresetTourToken":"​3","​ProfileToken":"​profile1","​name":"​tour3","​rowid":​3}},​{"​id":​4,"​values":​{"​PresetTourToken":"​4","​ProfileToken":"​profile1","​name":"​tour4","​rowid":​4}},​{"​id":​5,"​values":​{"​PresetTourToken":"​5","​ProfileToken":"​profile1","​name":"​tour5","​rowid":​5}},​{"​id":​6,"​values":​{"​PresetTourToken":"​6","​ProfileToken":"​profile1","​name":"​tour6","​rowid":​6}},​{"​id":​7,"​values":​{"​PresetTourToken":"​7","​ProfileToken":"​profile1","​name":"​tour7","​rowid":​7}},​{"​id":​8,"​values":​{"​PresetTourToken":"​8","​ProfileToken":"​profile1","​name":"​tour8","​rowid":​8}},​{"​id":​9,"​values":​{"​PresetTourToken":"​9","​ProfileToken":"​profile1","​name":"​tour9","​rowid":​9}},​{"​id":​10,"​values":​{"​PresetTourToken":"​10","​ProfileToken":"​profile1","​name":"​tour10","​rowid":​10}},​{"​id":​11,"​values":​{"​PresetTourToken":"​11","​ProfileToken":"​profile1","​name":"​tour11","​rowid":​11}},​{"​id":​12,"​values":​{"​PresetTourToken":"​12","​ProfileToken":"​profile1","​name":"​tour12","​rowid":​12}},​{"​id":​13,"​values":​{"​PresetTourToken":"​13","​ProfileToken":"​profile1","​name":"​tour13","​rowid":​13}},​{"​id":​14,"​values":​{"​PresetTourToken":"​14","​ProfileToken":"​profile1","​name":"​tour14","​rowid":​14}},​{"​id":​15,"​values":​{"​PresetTourToken":"​15","​ProfileToken":"​profile1","​name":"​tour15","​rowid":​15}},​{"​id":​16,"​values":​{"​PresetTourToken":"​16","​ProfileToken":"​profile1","​name":"​tour16","​rowid":​16}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​profile1","​name":"​ProfileToken"​},​{"​datatype":"​text","​editable":​false,"​label":"​TourID","​name":"​PresetTourToken"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​}]}}
  
Line 6309: Line 8665:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6322: Line 8677:
  
 <​code>​ <​code>​
- 
 SNMP response: {"​high_temp":​80,"​high_temp_suppress":​30,"​input_loss_trap_en":​0,"​input_recover_trap_en":​0,"​nominal_temp":​60,"​nominal_temp_suppress":​30,"​power_trap_en":​0,"​ret":"​0","​snmp_v3_en":​0,"​snmp_v3_encpro":"​des","​snmp_v3_encrypt":​0,"​snmp_v3_encrypt_passwd":"​z3password","​snmp_v3_engineid":"","​snmp_v3_passwd":"​z3password","​snmp_v3_user":"​z3user","​snmp_v3_usrpro":"​md5","​temp_high_trap_en":​0,"​temp_recover_trap_en":​0,"​trap_hosts":"​192.168.0.6"​} SNMP response: {"​high_temp":​80,"​high_temp_suppress":​30,"​input_loss_trap_en":​0,"​input_recover_trap_en":​0,"​nominal_temp":​60,"​nominal_temp_suppress":​30,"​power_trap_en":​0,"​ret":"​0","​snmp_v3_en":​0,"​snmp_v3_encpro":"​des","​snmp_v3_encrypt":​0,"​snmp_v3_encrypt_passwd":"​z3password","​snmp_v3_engineid":"","​snmp_v3_passwd":"​z3password","​snmp_v3_user":"​z3user","​snmp_v3_usrpro":"​md5","​temp_high_trap_en":​0,"​temp_recover_trap_en":​0,"​trap_hosts":"​192.168.0.6"​}
  
Line 6361: Line 8715:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6374: Line 8727:
  
 <​code>​ <​code>​
- 
 SSL response: {"​cert_status":"​Unavailable","​http_enable":"​on","​http_port":​80,"​https_enable":"​off","​https_port":​443,"​key_status":"​Unavailable","​ret":"​0"​} SSL response: {"​cert_status":"​Unavailable","​http_enable":"​on","​http_port":​80,"​https_enable":"​off","​https_port":​443,"​key_status":"​Unavailable","​ret":"​0"​}
  
Line 6403: Line 8755:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6416: Line 8767:
  
 <​code>​ <​code>​
- +STATUS response: {"​astream_status_str":"​\tChannel 1 Codec fdk_aaclc Samplerate 48000 Input MIC Frames 546732 \tChannel 11 Codec fdk_aaclc Samplerate 48000 Input MIC Frames 545860 ​ OK","​encoder_status_str":" ​  *** Encode Bitstream Received Statistics ***    CH | Bitrate (Kbps) | Actual Bitrate | FPS  | Actual FPS | Key-frame FPS | Width | Height ​  ​------------------------------------------------------------------------------------------------------------ ​  1 |        6000.00 |        6006.33 | 29.97 |    29.97 |           0.5 |  3840 |   ​2160 ​ |  OK","​mem_free_kb":​670856,"​ret":"​0","​source_status_str":"​ CAMERA 3840x2160p 29.97 fps\n","​status":"​OK","​stream_status_str":"​Channel 1 Codec H265-(HEVC) URL rtsp Frames 348194 ​ OK","​temp_status_str":"​ LENS 29  CPU 38.0  OK"}
-STATUS response: {"​astream_status_str":"​\tChannel 1 Codec fdk_aaclc Samplerate 48000 Input MIC Frames 546732 \tChannel 11 Codec fdk_aaclc Samplerate 48000 Input MIC Frames 545860 ​+OK","​encoder_status_str":" ​  *** Encode Bitstream Received Statistics ***    CH | Bitrate (Kbps) | Actual Bitrate | FPS  | Actual FPS | Key-frame FPS | Width | Height ​  ​------------------------------------------------------------------------------------------------------------ ​  1 |        6000.00 |        6006.33 | 29.97 |    29.97 |           0.5 |  3840 |   ​2160 ​ | +OK","​mem_free_kb":​670856,"​ret":"​0","​source_status_str":"​+CAMERA 3840x2160p 29.97 fps\n","​status":"​OK","​stream_status_str":"​Channel 1 Codec H265-(HEVC) URL rtsp Frames 348194 ​+OK","​temp_status_str":"​+LENS 29 +CPU 38.0 +OK"}+
  
 </​code>​ </​code>​
Line 6531: Line 8881:
 ---- ----
  
-=== Command to execute: ​ === +=== Command to execute: ===
 <​code>​ <​code>​
  
Line 6544: Line 8893:
  
 <​code>​ <​code>​
- 
 SYSTEM response: {"​ANALOG_analog_gain_db":​7,"​MICL_analog_gain_db":​-12,"​MIC_analog_gain_db":​7,"​console_enable":"​on","​ddns_enable":"​off","​ddns_hostname":"","​ddns_password":"","​ddns_provider":"​freedns","​ddns_username":"","​diff_serve":​0,"​disp_input":"​primary","​disp_layout":"​1x1","​disp_mode":"​ultrahd","​disp_std":"​auto","​disp_std2":"​auto","​do_autostart":​1,"​enable_ptp":"​false","​enable_snmp":"​false","​enable_sntp":"​true","​enc_adv_setting":"​off","​enc_vivpss_mode_enable":"​off","​local_ip":"​192.168.10.127","​local_netmask":"​255.255.255.0","​lockout_interval":​900,"​login_timeout":​900,"​login_window":​900,"​maxlogin":​3,"​nfs_enable":"​off","​nfs_server":"​192.168.1.6","​nfs_server_root":"/​c/​media","​nmea_enable":"​off","​pe0":"​encoder","​pe1":"","​pe2":"","​pe3":"","​pe4":"","​pe5":"","​pe6":"","​pe7":"","​pe8":"","​ptp_role":"​auto","​require_web_login":​0,"​ret":"​0","​rtspd_port":​554,"​rtspd_timeout":​60,"​session_id":"​---","​sntp_servers":"​pool.ntp.org","​sysdevicename":"​Z3Cam","​syspassword":"","​termserve_remote_enable":"​on","​termserve_shared_enable":"​on","​timezone":"​CST6CDT,​M3.2.0,​M11.1.0","​timezone_name":"​America/​Chicago","​userlevel":​0,"​username":"​admin","​wifi_exists":​false,"​zfinder_enable":"​on"​} SYSTEM response: {"​ANALOG_analog_gain_db":​7,"​MICL_analog_gain_db":​-12,"​MIC_analog_gain_db":​7,"​console_enable":"​on","​ddns_enable":"​off","​ddns_hostname":"","​ddns_password":"","​ddns_provider":"​freedns","​ddns_username":"","​diff_serve":​0,"​disp_input":"​primary","​disp_layout":"​1x1","​disp_mode":"​ultrahd","​disp_std":"​auto","​disp_std2":"​auto","​do_autostart":​1,"​enable_ptp":"​false","​enable_snmp":"​false","​enable_sntp":"​true","​enc_adv_setting":"​off","​enc_vivpss_mode_enable":"​off","​local_ip":"​192.168.10.127","​local_netmask":"​255.255.255.0","​lockout_interval":​900,"​login_timeout":​900,"​login_window":​900,"​maxlogin":​3,"​nfs_enable":"​off","​nfs_server":"​192.168.1.6","​nfs_server_root":"/​c/​media","​nmea_enable":"​off","​pe0":"​encoder","​pe1":"","​pe2":"","​pe3":"","​pe4":"","​pe5":"","​pe6":"","​pe7":"","​pe8":"","​ptp_role":"​auto","​require_web_login":​0,"​ret":"​0","​rtspd_port":​554,"​rtspd_timeout":​60,"​session_id":"​---","​sntp_servers":"​pool.ntp.org","​sysdevicename":"​Z3Cam","​syspassword":"","​termserve_remote_enable":"​on","​termserve_shared_enable":"​on","​timezone":"​CST6CDT,​M3.2.0,​M11.1.0","​timezone_name":"​America/​Chicago","​userlevel":​0,"​username":"​admin","​wifi_exists":​false,"​zfinder_enable":"​on"​}
  
Line 6593: Line 8941:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6606: Line 8953:
  
 <​code>​ <​code>​
- 
 TERM response: {"​data":​[{"​id":​1,"​values":​{"​rowid":​1,"​term_baudrate":"​2400","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS4","​term_function":"​rs485","​term_localport":"​2000","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​2,"​values":​{"​rowid":​2,"​term_baudrate":"​9600","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS2","​term_function":"​camera1_visca","​term_localport":"​1000","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​3,"​values":​{"​rowid":​3,"​term_baudrate":"​9600","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS3","​term_function":"​off","​term_localport":"​1001","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​4,"​values":​{"​rowid":​4,"​term_baudrate":"​115200","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS1","​term_function":"​user","​term_localport":"​1500","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​5,"​values":​{"​rowid":​5,"​term_baudrate":"​115200","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS0","​term_function":"​console","​term_localport":"​1800","​term_parity":"​None","​term_stop_bits":"​1"​}}],"​metadata":​[{"​datatype":"​text","​editable":​true,"​label":"​Serial Port","​name":"​term_devicefile"​},​{"​datatype":"​text","​editable":​true,"​label":"​Baud Rate","​name":"​term_baudrate"​},​{"​datatype":"​text","​editable":​true,"​label":"​Data Bits","​name":"​term_data_bits"​},​{"​datatype":"​text","​editable":​true,"​label":"​Parity","​name":"​term_parity"​},​{"​datatype":"​text","​editable":​true,"​label":"​Stop Bits","​name":"​term_stop_bits"​},​{"​datatype":"​text","​editable":​true,"​label":"​Function","​name":"​term_function"​},​{"​datatype":"​text","​editable":​true,"​label":"​TCP Port","​name":"​term_localport"​}],"​ret":"​0"​} TERM response: {"​data":​[{"​id":​1,"​values":​{"​rowid":​1,"​term_baudrate":"​2400","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS4","​term_function":"​rs485","​term_localport":"​2000","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​2,"​values":​{"​rowid":​2,"​term_baudrate":"​9600","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS2","​term_function":"​camera1_visca","​term_localport":"​1000","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​3,"​values":​{"​rowid":​3,"​term_baudrate":"​9600","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS3","​term_function":"​off","​term_localport":"​1001","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​4,"​values":​{"​rowid":​4,"​term_baudrate":"​115200","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS1","​term_function":"​user","​term_localport":"​1500","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​5,"​values":​{"​rowid":​5,"​term_baudrate":"​115200","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS0","​term_function":"​console","​term_localport":"​1800","​term_parity":"​None","​term_stop_bits":"​1"​}}],"​metadata":​[{"​datatype":"​text","​editable":​true,"​label":"​Serial Port","​name":"​term_devicefile"​},​{"​datatype":"​text","​editable":​true,"​label":"​Baud Rate","​name":"​term_baudrate"​},​{"​datatype":"​text","​editable":​true,"​label":"​Data Bits","​name":"​term_data_bits"​},​{"​datatype":"​text","​editable":​true,"​label":"​Parity","​name":"​term_parity"​},​{"​datatype":"​text","​editable":​true,"​label":"​Stop Bits","​name":"​term_stop_bits"​},​{"​datatype":"​text","​editable":​true,"​label":"​Function","​name":"​term_function"​},​{"​datatype":"​text","​editable":​true,"​label":"​TCP Port","​name":"​term_localport"​}],"​ret":"​0"​}
  
Line 6645: Line 8991:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6658: Line 9003:
  
 <​code>​ <​code>​
- 
 USERS response: {"​data":​[{"​id":​1,"​values":​{"​Level":"​0","​Name":"​admin","​action":"​blank","​rowid":​1}},​{"​id":​2,"​values":​{"​Level":"​7","​Name":"​guest","​action":"​blank","​rowid":​2}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Name","​name":"​Name"​},​{"​datatype":"​text","​editable":​true,"​label":"​Level","​name":"​Level"​},​{"​datatype":"​html","​editable":​false,"​label":"​Action","​name":"​action"​}],"​ret":​0} USERS response: {"​data":​[{"​id":​1,"​values":​{"​Level":"​0","​Name":"​admin","​action":"​blank","​rowid":​1}},​{"​id":​2,"​values":​{"​Level":"​7","​Name":"​guest","​action":"​blank","​rowid":​2}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Name","​name":"​Name"​},​{"​datatype":"​text","​editable":​true,"​label":"​Level","​name":"​Level"​},​{"​datatype":"​html","​editable":​false,"​label":"​Action","​name":"​action"​}],"​ret":​0}
  
Line 6697: Line 9041:
  
 //​**nr_enable**// ​ TEXT. //​**nr_enable**// ​ TEXT.
 +
 +//​**pip_small_dim **//  TEXT. Possible Values: 720×576, 720×480, 640×360, 352×288 or 352×240 (Qualcomm v6.01 or higher)
  
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6713: Line 9058:
  
 <​code>​ <​code>​
- 
 Video Group response: {"​crop_enable":"​off","​crop_height":​0,"​crop_width":​0,"​crop_x":​0,"​crop_y":​0,"​nr_enable":"​off","​ret":"​0","​vgroup":​1} Video Group response: {"​crop_enable":"​off","​crop_height":​0,"​crop_width":​0,"​crop_x":​0,"​crop_y":​0,"​nr_enable":"​off","​ret":"​0","​vgroup":​1}
  
Line 6719: Line 9063:
  
 ---- ----
 +
  
 ==== wifi ==== ==== wifi ====
Line 6783: Line 9128:
 ---- ----
  
-=== Command to execute: ​ ===+=== Command to execute: ===
  
 <​code>​ <​code>​
- 
 python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
  
Line 6796: Line 9140:
  
 <​code>​ <​code>​
- 
 Zoom Step Size response: {"​ret":"​0","​size":​1} Zoom Step Size response: {"​ret":"​0","​size":​1}
  
Line 6885: Line 9228:
 chn** =[1,​2,​3,​4]** chn** =[1,​2,​3,​4]**
  
-List the download content. The content will be either .mp4 or .ts file format.+List the download content. The content will be either .mp4 file format. 
  
 ===== Encoder Actions (POST) ===== ===== Encoder Actions (POST) =====
Line 6963: Line 9307:
 chn** =[1,​2,​3,​4]** chn** =[1,​2,​3,​4]**
 <​code>​ <​code>​
-quality** =[0-100] supported resolutions are: 4K Models Only 3840×2160 +quality** =[0-100] supported resolutions are: 
-2560×1440 4K and HD Models 1920×1080+follow_input 
 + 
 +**4K Models Only** 
 +3840×2160 
 +2560×1440 
 +**4K and HD Models ​** 
 +1920×1080
 1440×1080 1440×1080
 1280×1024 1280×1024
Line 6984: Line 9334:
 336×256 336×256
 320×240 320×240
-320×180 ​**+320×180
  
 </​code>​ </​code>​
Line 7023: Line 9373:
 By default, no authentication is required to access the HTTP API. By default, no authentication is required to access the HTTP API.
  
-To enable authentication,​ go to the "System" tab "​Device Management"​ section. Click on the "Set Password"​ button.+To enable authentication,​ go to the "**Users**" tab. Click on the "**Require WebUI User Password**" button.
  
-The username will be "​admin"​ The authentication method is HTTP Digest authentication. HTTP Basic authentication is not supported.+The superadmin ​username will be "**admin**" ​with "​**admin**"​ as the default password. 
 + 
 +To change the default password, under **Action** click on the **Reset Password** icon. 
 + 
 +The authentication method is HTTP Digest authentication. HTTP Basic authentication is not supported.
  
 === Python example code of HTTP Digest authentication === === Python example code of HTTP Digest authentication ===
-<​code>​ 
  
 +<​code>​
 import requests,​json,​ sys import requests,​json,​ sys
 from requests.auth import HTTPDigestAuth from requests.auth import HTTPDigestAuth
Line 7038: Line 9392:
  
 </​code>​ </​code>​
 +
  
 ====== Appendix A: Sample Python Scripts ====== ====== Appendix A: Sample Python Scripts ======
Line 7754: Line 10109:
  
  
-==== GetStatus ==== 
  
----- 
- 
-Read the encoder status. 
- 
-== Parameters: == 
- 
----- 
- 
-//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4. 
- 
-//​**status**// ​ The encoder status can be RUNNING/ STOPPED/ IDLE/ Couldn'​t deduct input on camera. 
-== Returns: == 
- 
----- 
- 
-JSON formatted table with values below 
- 
-**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure. 
- 
-**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success. 
- 
----- 
- 
-==== GetVideoInputs ==== 
- 
----- 
- 
-Get the sensor id and read the video inputs from the Database. 
- 
-== Parameters: == 
- 
----- 
- 
-//​**sensorid **//  Sensor ID. 
- 
-//**vport **//  video port is Camera source. Possible values: 1 = Camera 1, 2 = Camera 2. 
- 
-//​**friendly_name **//  name of the video source. 
- 
-//**vdevice **//  Video device. Possible values: MIPI, SONYLVDS, LT6911 
- 
-//​**input_index **//  input device. Possible values: 0, 1. 
- 
-//**bus **//  device address. Default NULL 
- 
-//**enabled **//  Video input enabled or disabled. Default is 1. Possible values: 0, 1. 
-== Returns: == 
- 
----- 
- 
-JSON formatted table with values below 
- 
-**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure. 
- 
-**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success. 
- 
----- 
- 
-==== GetWifiPass ==== 
- 
----- 
- 
-Get the Wifi password. 
- 
-== Parameters: == 
- 
----- 
- 
-//​**ssid**// ​ Read the service set identifier 
- 
-**//​psk//​** ​ Provide the wifi password. 
-== Returns: == 
- 
----- 
- 
-JSON formatted table with values below 
- 
-**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure. 
- 
-**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success. 
- 
----- 
  
 ==== InsQuery ==== ==== InsQuery ====
Line 7950: Line 10222:
 //​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4. //​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
  
-**//​rgn_idx//​** ​ Index to map overlay. The region index value can be in the range of 1 to 16. Ambarella provides 16 total color look-up tables for Overlay, rgn_idx signifies which color look-up table is in use.+**//​rgn_idx//​** ​ Index to map overlay to.
  
 //​**​type**// ​ Type of overlay to be used possible values: text or png. //​**​type**// ​ Type of overlay to be used possible values: text or png.
Line 8010: Line 10282:
 ---- ----
  
-//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value. The mode values can be Pan, tilt, and  Zoom.+//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value. The mode values can be Pan, tilt, and Zoom.
 == Returns: == == Returns: ==
  
Line 8056: Line 10328:
 ---- ----
  
-//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value. The mode values can be Pan, tilt, and  Zoom.+//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value. The mode values can be Pan, tilt, and Zoom.
 == Returns: == == Returns: ==
  
Line 9228: Line 11500:
 ---- ----
  
-//​**rtspd_port**// ​ Get rtsp port. Default value is 554.+//​**rtspd_port**// ​ Get rtsp port. Default value is 554. Ports that are not in use are valid; ranging from 0 to 65535.
  
-//​**rtspd_timeout**// ​ Timeout value required for the rtsp connection.+//​**rtspd_timeout**// ​ Timeout value required for the rtsp connection. Default is 60. The range is from -1 to 32767. It is not recommended to lower than 60.
 == Returns: == == Returns: ==
  
Line 9242: Line 11514:
  
 ---- ----
 +
  
 ==== SetTermSrvEnable ==== ==== SetTermSrvEnable ====
Line 9479: Line 11752:
 //**aenable **//  Audio enable/​disable. Default value is on. Possible values: on, off.asource. Default value is MICL. //**aenable **//  Audio enable/​disable. Default value is on. Possible values: on, off.asource. Default value is MICL.
  
-//​**apair**// ​ Stereo pair select for digital inputs. Default value is 0. Possible values: (0 (1+2), 1 (3+4), 2 (5+6), 3 (7+8), 260 (1+2,3+4), 548 (1+2,3+4,5+6), 1252 (1+2,3+4,5+6,7+8)).+//​**apair**// ​ Stereo pair select for digital inputs. Default value is 0. Possible values: (0 (1 2), 1 (3 4), 2 (5 6), 3 (7 8), 260 (1 2,3 4), 548 (1 2,3 4,5 6), 1252 (1 2,3 4,5 6,7 8)).
  
 //​**acodec**// ​ Audio codec. Default value is fdk_aaclc. //​**acodec**// ​ Audio codec. Default value is fdk_aaclc.
Line 9856: Line 12129:
  
 ---- ----
- 
  
 ===== Generic Control (GET) ===== ===== Generic Control (GET) =====
Line 9997: Line 12269:
 JSON formatted table with values below JSON formatted table with values below
  
-//​**ret**// ​ Custom return code of the HTTP GET request. 0 on success, -1 on failure.+//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
  
 //​**logo_enable**// ​ TEXT, //​**logo_enable**// ​ TEXT,
Line 10016: Line 12288:
  
 ---- ----
- 
  
 ==== cam_state ==== ==== cam_state ====
Line 11418: Line 13689:
  
 See **download_remove** to remove files from the **Generic Actions (POST) **action See **download_remove** to remove files from the **Generic Actions (POST) **action
 +===== Download Media (GET) =====
  
 +<​code>​
 +http://<​ENCODER_IP>/​download_media.cgi?​mediafile=/​location/​filename
  
 +</​code>​
 +
 +For e.g.
 +
 +<​code>​
 +http://<​ENCODER_IP>/​download_media.cgi?​mediafile=/​media/​sda1/​MOV1_000001.mp4
 +
 +</​code>​
 +
 +=====   =====
 +
 +----
 +
 +Download the media file. If the output format is mp4 or TS file, then only z3 device allows downloading the files. Also provides the option for deleting the file.
 +
 +=== Parameters: ===
 +
 +----
 +
 +**//​mediafile//​** ​ Get the media file name.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below.
 +
 +ret Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//**File Name**// ​ Name of the download file name .
 +
 +//**File Size**// ​ Size of the download file name.
 +
 +//**Last Modified**// ​ Last modified the file date and time.
 +
 +----
 +
 +===== download.html to get list of downloadable files =====
 +
 +<​code>​
 +http://<​ENCODER_IP>/​download.html?​chn=1
 +
 +</​code>​
 +
 +chn** =[1,​2,​3,​4]**
 +
 +List the download content. The content will be either .mp4 or .ts file format.
 +
 +===== Encoder Actions (POST) =====
 +
 +==== SetEncoder ====
 +
 +Write encoder settings to active preset. See Python example code for Seting Configuration below
 +
 +==== EncoderStatus ====
 +
 +Requests an update to encoder_status_str variable.
 +
 +To read the result, you need to POST the “stats” control as shown<​nowiki>​\</​nowiki>​ in the Python example code below.
 +
 +==== StreamStatus ====
 +
 +Requests an update to stream_status_str variable.
 +
 +To read the result, you need to POST the “stats” control as shown<​nowiki>​\</​nowiki>​ in the Python example code below.
 +
 +==== AStreamStatus ====
 +
 +Requests an update to astream_status_str variable.
 +
 +To read the result, you need to POST the “stats” control as shown<​nowiki>​\</​nowiki>​ in the Python example code below.
 +
 +==== SourceStatus ====
 +
 +Requests an update to source_status_str variable.
 +
 +To read the result, you need to POST the “stats” control as shown<​nowiki>​\</​nowiki>​ in the Python example code below.
 +
 +----
 +
 +===== Setting Encoder Configuration =====
 +
 +To set the encode configuration per channel the **SetEncoder** action is used with a post. All variables should be present or they will be replaced with a defualt that may not be valid for your application. More than one channel can be set per command. It is recommended you first read the current settings from the encoder then modify them and send the new settings back as in the Python example below:
 +<​code>​
 +import requests, json, sys
 +
 +server_url='​http://​192.168.0.120/​cgi-bin/​control.cgi'​
 +channel = 1
 +
 +enc_cfg = requests.get(server_url,​ params='​ctrl=enc&​chn={}'​.format(channel))
 +print enc_cfg.json()
 +
 +enc_cfg_json=enc_cfg.json()
 +enc_cfg_json['​vframeratediv'​] = 2 #set frame rate divider to 2
 +new_cfg = {}
 +new_cfg['​action'​] = '​SetEncoder'​
 +for key, value in enc_cfg_json.iteritems():​
 +print "key = {} value = {}"​.format(key,​value)
 +new_idx = "​enc_{}_{}"​.format(channel,​key)
 +print "​setting {} to {}"​.format(new_idx,​value)
 +new_cfg[new_idx] = value
 +
 +print new_cfg
 +requests.post(server_url,​ data=new_cfg)
 +
 +</​code>​
 +
 +===== snapshot.cgi Control =====
 +
 +<​code>​
 +http://<​ENCODER_IP>/​snapshot.cgi?​size=3840x2160&​quality=100
 +
 +http://<​ENCODER_IP>/​snapshot.cgi?​chn=1&​size=1280x720&​quality=80
 +
 +</​code>​
 +
 +valid options are:
 +
 +* *size** =[any supported valid resolution]**
 +
 +chn** =[1,​2,​3,​4]**
 +<​code>​
 +quality** =[0-100] supported resolutions are: 4K Models Only 3840×2160
 +2560×1440 4K and HD Models 1920×1080
 +1440×1080
 +1280×1024
 +1280×720
 +1024×768
 +960×720
 +1024×576
 +800×600
 +720×576
 +704×576
 +720×480
 +640×512
 +640×480
 +640×360
 +352×576
 +420×380
 +352×288
 +352×240
 +336×256
 +320×240
 +320×180 **
 +
 +</​code>​
 +
 +===== Reading Statistics =====
 +
 +**Python example of updating and reading encoder statistics: **
 +<​code>​
 +import requests, json, sys
 +server_url='​http://​192.168.0.120/​cgi-bin/​control.cgi'​
 +
 +requests.post(server_url,​ {'​action':​ '​EncoderStatus'​} )
 +requests.post(server_url,​ {'​action':​ '​StreamStatus'​} ​ )
 +requests.post(server_url,​ {'​action':​ '​AStreamStatus'​} )
 +requests.post(server_url,​ {'​action':​ '​SourceStatus'​} ​ )
 +requests.post(server_url,​ {'​action':​ '​TempStatus'​} ​ )
 +
 +print requests.get(server_url,​ params='​ctrl=stats&​chn=null'​).json()
 +
 +</​code>​
 +
 +**Example output: **
 +<​code>​
 +{u'​status':​ u'​OK',​
 +u'​astream_status_str':​ u'​\tChannel 6 Codec fdk_aaclc Samplerate 48000 Input MICL Frames 32287820 ​ OK',
 +u'​temp_status_str':​ u' LENS 29  CPU 78.700 ​ FPGA 89.8  OK',
 +u'​ret':​ u'​0',​
 +u'​encoder_status_str':​ u' ​  *** Encode Bitstream Received Statistics ***    CH | Bitrate (Kbps) | Actual Bitrate | FPS  | Actual FPS | Key-frame FPS | Width | Height ​  ​------------------------------------------------------------------------------------------------------------
 +1 |        4000.00 |        4092.18 | 60.0 |     59.8 |           1.0 |  1920 |   ​1080 ​ |  OK',
 +u'​source_status_str':​ u' CAMERA 1920x1080p 60.00 fps\n',​
 +u'​stream_status_str':​ u'​Channel 1 URL rtsp Frames 12883581 ​ OK'}
 +
 +</​code>​
 +
 +===== Authentication =====
 +
 +By default, no authentication is required to access the HTTP API.
 +
 +To enable authentication,​ go to the "​System"​ tab "​Device Management"​ section. Click on the "Set Password"​ button.
 +
 +The username will be "​admin"​ The authentication method is HTTP Digest authentication. HTTP Basic authentication is not supported.
 +
 +=== Python example code of HTTP Digest authentication ===
 +<​code>​
 +
 +import requests,​json,​ sys
 +from requests.auth import HTTPDigestAuth
 +
 +auth=HTTPDigestAuth('​admin','​mypassword'​)
 +
 +print requests.get(server_url,​ params='​ctrl=stats&​chn=null',​ auth=auth).json()
 +
 +</​code>​
 +
 +====== Appendix A: Sample Python Scripts ======
 +
 +The sample python scripts below require Python3.x.
 +
 +The requests package must be installed.
 +
 +You can install using
 +
 +1) Use the Ubuntu package manager
 +
 +sudo apt install python3-requests
 +
 +2) Use the Python3 native package installer
 +
 +sudo pip3 install requests
 +
 +===== SaveUser (saveUser_DIGEST_ARGPARSE.py) =====
 +
 +Save the state, preset, encoder/​decoder settings for the user.
 +
 +=== Python example code of HTTP Digest SaveUser ===
 +
 +<​code>​
 +import requests
 +import json
 +import sched
 +import time
 +import enum
 +import datetime
 +import argparse
 +from requests.auth import HTTPDigestAuth
 +
 +def print_immediately(msg):​
 +    # https://​stackoverflow.com/​questions/​230751/​how-can-i-flush-the-output-of-the-print-function/​230774#​230774
 +    print(msg, flush=True)
 +
 +def http_request(payload):​
 +  try:
 +    if args.username:​
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers,​auth=auth)
 +    else:
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers)
 +  except requests.exceptions.HTTPError as err:
 +   raise SystemExit(err)
 +  except requests.exceptions.Timeout:​
 +   raise SystemExit()
 +  except requests.exceptions.TooManyRedirects:​
 +   raise SystemExit()
 +  except requests.exceptions.RequestException as e:
 +   raise SystemExit(e)
 +  return r
 +
 +parser = argparse.ArgumentParser()
 +parser.add_argument('​-ip',​ '​-ip_address',​ type=str, help='​IP of Encoder',​ required=True)
 +parser.add_argument('​-username',​ help='​Username if credentials are required, -passwd is also required'​)
 +parser.add_argument('​-passwd',​ help='​Password if credentials are required',​default='​admin'​)
 +args = parser.parse_args()
 +print(args)
 +
 +if args.ip:
 +  server_url='​http://'​ args.ip
 +elif args.ip_address:​
 +  server_url='​http://'​ args.ip_address
 +
 +if args.username:​
 +  auth=HTTPDigestAuth(args.username,​args.passwd)
 +
 +control_cgi_url = server_url ​  '/​cgi-bin/​control.cgi'​
 +channel = 1
 +headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
 +payload = "​action=SaveUser&​enc_current_preset=charles";​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​setip_respose response: {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +
 +</​code>​
 +
 +**Command to execute **
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.1.105 -username admin -passwd admin
 +
 +</​code>​
 +
 +**Example output: **
 +<​code>​
 +SaveUser response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +===== SetIp (set_ip_DIGEST_ARGPARSE.py) =====
 +
 +Control networking settings of the Z3 device such as local IPv4 IP address, netmask, DNS Server primary, DNS Server secondary, etc. Additionally control Encoder Auto-Start after boot-up and enable/​disable showing of advanced WebUI settings.
 +
 +=== Python example code of HTTP Digest SetIp ===
 +
 +<​code>​
 +import requests
 +import json
 +import sched
 +import time
 +import enum
 +import datetime
 +import argparse
 +from requests.auth import HTTPDigestAuth
 +
 +def print_immediately(msg):​
 +    # https://​stackoverflow.com/​questions/​230751/​how-can-i-flush-the-output-of-the-print-function/​230774#​230774
 +    print(msg, flush=True)
 +
 +def http_request(payload):​
 +  try:
 +    if args.username:​
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers,​auth=auth)
 +    else:
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers)
 +  except requests.exceptions.HTTPError as err:
 +   raise SystemExit(err)
 +  except requests.exceptions.Timeout:​
 +   raise SystemExit()
 +  except requests.exceptions.TooManyRedirects:​
 +   raise SystemExit()
 +  except requests.exceptions.RequestException as e:
 +   raise SystemExit(e)
 +  return r
 +
 +parser = argparse.ArgumentParser()
 +parser.add_argument('​-ip',​ '​-ip_address',​ type=str, help='​IP of Encoder',​ required=True)
 +parser.add_argument('​-newip',​ help='​Set this IP')
 +parser.add_argument('​-mask',​ help='​Subnet Mask',​default='​255.255.255.0'​)
 +parser.add_argument('​-gateway',​ help='​Network Gateway',​default='​172.30.1.1'​)
 +parser.add_argument('​-dns1',​ help='​DNS 1',​default='​8.8.8.8'​)
 +parser.add_argument('​-dns2',​ help='​DNS 2',​default='​8.8.4.4'​)
 +parser.add_argument('​-ipmtu',​ help='​MTU Speed',​default=1500)
 +parser.add_argument('​-username',​ help='​Username if credentials are required, -passwd is also required'​)
 +parser.add_argument('​-passwd',​ help='​Password if credentials are required',​default='​admin'​)
 +args = parser.parse_args()
 +print(args)
 +
 +if args.ip:
 +  server_url='​http://'​ args.ip
 +elif args.ip_address:​
 +  server_url='​http://'​ args.ip_address
 +
 +if args.username:​
 +  auth=HTTPDigestAuth(args.username,​args.passwd)
 +
 +control_cgi_url = server_url ​  '/​cgi-bin/​control.cgi'​
 +channel = 1
 +headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
 +payload = "​action=SetIp&​local_ip=172.30.1.112&​local_netmask=255.255.255.0&​default_gw=172.30.1.1&​local_dnsip=8.8.8.8&​local_dnsip2=8.8.4.4&​use_dhcp=no&​ipmtu=1500ð_speed=AUTOð_duplex=AUTO&​do_autostart=1&​enc_adv_setting=off";​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​setip_respose response: {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +
 +</​code>​
 +
 +**Command to execute **
 +<​code>​
 +python3 set_ip_DIGEST_ARGPARSE.py -ip 192.168.1.105 -username admin -passwd admin
 +
 +</​code>​
 +
 +**Example output: **
 +<​code>​
 +dns1='​8.8.8.8',​ dns2='​8.8.4.4',​ gateway='​172.30.1.1',​ ip='​192.168.1.105',​ ipmtu=1500, mask='​255.255.255.0',​ newip=None, passwd='​admin',​ username='​admin'​
 +setip_respose response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +===== cam_state (sys_DIGEST_ARGPARSE.py) =====
 +
 +Get the current camera state information from the Database.
 +
 +=== Python example code of HTTP Digest camera state ===
 +
 +<​code>​
 +import requests
 +import json
 +import sched
 +import time
 +import enum
 +import datetime
 +import argparse
 +from requests.auth import HTTPDigestAuth
 +
 +def print_immediately(msg):​
 +    # https://​stackoverflow.com/​questions/​230751/​how-can-i-flush-the-output-of-the-print-function/​230774#​230774
 +    print(msg, flush=True)
 +
 +def http_request(payload):​
 +  try:
 +    if args.username:​
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers,​auth=auth)
 +    else:
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers)
 +  except requests.exceptions.HTTPError as err:
 +   raise SystemExit(err)
 +  except requests.exceptions.Timeout:​
 +   raise SystemExit()
 +  except requests.exceptions.TooManyRedirects:​
 +   raise SystemExit()
 +  except requests.exceptions.RequestException as e:
 +   raise SystemExit(e)
 +  return r
 +
 +def http_request_get(payload):​
 +  try:
 +    if args.username:​
 +      r = requests.get(control_cgi_url,​ data=payload,​ headers=headers,​auth=auth)
 +    else:
 +      r = requests.get(control_cgi_url,​ data=payload,​ headers=headers)
 +  except requests.exceptions.HTTPError as err:
 +   raise SystemExit(err)
 +  except requests.exceptions.Timeout:​
 +   raise SystemExit()
 +  except requests.exceptions.TooManyRedirects:​
 +   raise SystemExit()
 +  except requests.exceptions.RequestException as e:
 +   raise SystemExit(e)
 +  return r
 +
 +parser = argparse.ArgumentParser()
 +parser.add_argument('​-ip',​ '​-ip_address',​ type=str, help='​IP of Encoder',​ required=True)
 +parser.add_argument('​-username',​ help='​Username if credentials are required, -passwd is also required'​)
 +parser.add_argument('​-passwd',​ help='​Password if credentials are required',​default='​admin'​)
 +args = parser.parse_args()
 +print(args)
 +
 +if args.ip:
 +  server_url='​http://'​ args.ip
 +elif args.ip_address:​
 +  server_url='​http://'​ args.ip_address
 +
 +if args.username:​
 +  auth=HTTPDigestAuth(args.username,​args.passwd)
 +
 +control_cgi_url = server_url ​  '/​cgi-bin/​control.cgi'​
 +channel = 1
 +headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
 +
 +payload='​ctrl=cam_state&​chn=null';​
 +rs = http_request_get(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   Sys response: {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +
 +</​code>​
 +
 +**Command to execute **
 +<​code>​
 +python3 sys_DIGEST_ARGPARSE.py -ip 192.168.1.105 -username admin -passwd admin
 +
 +</​code>​
 +
 +**Example output: **
 +<​code>​
 +(ip='​192.168.1.105',​ passwd='​admin',​ username='​admin'​)
 +Sys response: {"​camera1_if_type":"​Sony_LVDS","​camera2_if_type":"​CVBS","​enc_channels":"​1,​2","​enc_current_preset":"​charles","​fpgafileglob":"​fpga_none.bin|fpga2_0139_cvbs.bin","​preview_auto_start":"​1","​ret":"​0","​visca_present":"​true"​}
 +
 +</​code>​
 +
 +===== CameraControl for Boson camera (Zoom_Boson.py) =====
 +
 +Send control commands to boson camera. Only one command can be sent at a time;
 +
 +=== Python example code of HTTP Digest Camera control for Boson camera ===
 +<​code>​
 +
 +import requests
 +import json
 +import sched
 +import time
 +import enum
 +import datetime
 +import argparse
 +import sys
 +from requests.auth import HTTPDigestAuth
 +
 +if sys.version_info[0] <3:
 +  raise Exception("​Python 3 or a more recent version is required."​)
 +
 +def print_immediately(msg):​
 +    # https://​stackoverflow.com/​questions/​230751/​how-can-i-flush-the-output-of-the-print-function/​230774#​230774
 +    # print(msg, flush=True)
 +    print(msg)
 +    sys.stdout.flush()
 +
 +def http_request(payload):​
 +  try:
 +    if args.username:​
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers,​auth=auth)
 +    else:
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers)
 +  except requests.exceptions.HTTPError as err:
 +   raise SystemExit(err)
 +  except requests.exceptions.Timeout:​
 +   raise SystemExit()
 +  except requests.exceptions.TooManyRedirects:​
 +   raise SystemExit()
 +  except requests.exceptions.RequestException as e:
 +   raise SystemExit(e)
 +  return r
 +
 +def http_request_get(payload):​
 +  try:
 +    if args.username:​
 +      r = requests.get(control_cgi_url,​ data=payload,​ headers=headers,​auth=auth)
 +    else:
 +      r = requests.get(control_cgi_url,​ data=payload,​ headers=headers)
 +  except requests.exceptions.HTTPError as err:
 +   raise SystemExit(err)
 +  except requests.exceptions.Timeout:​
 +   raise SystemExit()
 +  except requests.exceptions.TooManyRedirects:​
 +   raise SystemExit()
 +  except requests.exceptions.RequestException as e:
 +   raise SystemExit(e)
 +  return r
 +
 +parser = argparse.ArgumentParser()
 +parser.add_argument('​-ip',​ '​-ip_address',​ type=str, help='​IP of Encoder',​ required=True)
 +parser.add_argument('​-username',​ help='​Username if credentials are required, -passwd is also required'​)
 +parser.add_argument('​-passwd',​ help='​Password if credentials are required',​default='​admin'​)
 +args = parser.parse_args()
 +print(args)
 +if args.ip:
 +  server_url='​http://'​ args.ip
 +elif args.ip_address:​
 +  server_url='​http://'​ args.ip_address
 +# Set Zoom STEP
 +zooms=args.zs;​
 +zoomstep=args.zoom_step;​
 +
 +if args.username:​
 +  auth=HTTPDigestAuth(args.username,​args.passwd)
 +control_cgi_url = server_url ​  '/​cgi-bin/​control.cgi'​
 +channel = 1
 +headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
 +# Boson min Zoom
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000d000200000000000000A000000080';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +time.sleep(4)
 +# Boson get Zoom pos
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000D0003';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +# Boson mid Zoom
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000d000200000015000000A000000080';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +time.sleep(4)
 +# Boson get Zoom pos
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000D0003';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +# Boson mid Zoom xB0 yA0
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000d000200000015000000B0000000A0';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +time.sleep(4)
 +# Boson get Zoom pos
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000D0003';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +# Boson max Zoom
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000d000200000030000000A000000080';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +time.sleep(4)
 +# Boson get Zoom pos
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000D0003';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +# Boson no Zoom
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000d000200000000000000A000000080';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +time.sleep(4)
 +# Boson get Zoom pos
 +payload='​action=CameraControl&​interface=Boson&​cam_index=2&​command=raw 000D0003';​
 +rs = http_request(payload)
 +print_immediately(
 +  "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +   1,
 +   ​datetime.datetime.now(),​
 +   ​rs.text
 +  )
 +)
 +
 +</​code>​
 +
 +**Command to execute **
 +<​code>​
 +python3 Zoom_Boson.py -ip 172.28.30.103
 +
 +</​code>​
 +
 +**Example output: **
 +<​code>​
 +(ip='​172.28.30.103',​ passwd='​admin',​ username=None,​ zoom_step=False,​ zs='​3'​)
 +Response: {"​response":"","​ret":"​0","​status":"​OK"​}
 +Response: {"​response":"​00000000000000A000000080","​ret":"​0","​status":"​OK"​}
 +Response: {"​response":"","​ret":"​0","​status":"​OK"​}
 +Response: {"​response":"​00000015000000A000000080","​ret":"​0","​status":"​OK"​}
 +Response: {"​response":"","​ret":"​0","​status":"​OK"​}
 +Response: {"​response":"​00000015000000B0000000A0","​ret":"​0","​status":"​OK"​}
 +Response: {"​response":"","​ret":"​0","​status":"​OK"​}
 +Response: {"​response":"​00000030000000A000000080","​ret":"​0","​status":"​OK"​}
 +Response: {"​response":"","​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +===== CameraControl for Sony Visca camera (Zoom_visca.py) =====
 +
 +Send control commands to visca camera. Only one command can be sent at a time;
 +
 +=== Python example code of HTTP Digest Camera control for Visca camera ===
 +
 +<​code>​
 +import requests
 +import json
 +import sched
 +import time
 +import enum
 +import datetime
 +import argparse
 +import sys
 +from requests.auth import HTTPDigestAuth
 +
 +if sys.version_info[0] <3:
 +  raise Exception("​Python 3 or a more recent version is required."​)
 +
 +def print_immediately(msg):​
 +    # https://​stackoverflow.com/​questions/​230751/​how-can-i-flush-the-output-of-the-print-function/​230774#​230774
 +    # print(msg, flush=True)
 +    print(msg)
 +    sys.stdout.flush()
 +
 +def http_request(payload):​
 +  try:
 +    if args.username:​
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers,​auth=auth)
 +    else:
 +      r = requests.post(control_cgi_url,​ data=payload,​ headers=headers)
 +  except requests.exceptions.HTTPError as err:
 +   raise SystemExit(err)
 +  except requests.exceptions.Timeout:​
 +   raise SystemExit()
 +  except requests.exceptions.TooManyRedirects:​
 +   raise SystemExit()
 +  except requests.exceptions.RequestException as e:
 +   raise SystemExit(e)
 +  return r
 +
 +def http_request_get(payload):​
 +  try:
 +    if args.username:​
 +      r = requests.get(control_cgi_url,​ data=payload,​ headers=headers,​auth=auth)
 +    else:
 +      r = requests.get(control_cgi_url,​ data=payload,​ headers=headers)
 +  except requests.exceptions.HTTPError as err:
 +   raise SystemExit(err)
 +  except requests.exceptions.Timeout:​
 +   raise SystemExit()
 +  except requests.exceptions.TooManyRedirects:​
 +   raise SystemExit()
 +  except requests.exceptions.RequestException as e:
 +   raise SystemExit(e)
 +  return r
 +
 +parser = argparse.ArgumentParser()
 +parser.add_argument('​-ip',​ '​-ip_address',​ type=str, help='​IP of Encoder',​ required=True)
 +parser.add_argument('​-username',​ help='​Username if credentials are required, -passwd is also required'​)
 +parser.add_argument('​-passwd',​ help='​Password if credentials are required',​default='​admin'​)
 +parser.add_argument('​-z',​ help='​Zoom STEP level 0 - 7; Default 3',​default='​3'​)
 +parser.add_argument('​-zs',​ help='​Do Zoom STEP defined using -z, else normal zoom',​action='​store_true'​)
 +args = parser.parse_args()
 +print(args)
 +if args.ip:
 +  server_url='​http://'​ args.ip
 +elif args.ip_address:​
 +  server_url='​http://'​ args.ip_address
 +# Set Zoom STEP
 +zooms=args.z;​
 +zoomstep=args.zs;​
 +
 +if args.username:​
 +  auth=HTTPDigestAuth(args.username,​args.passwd)
 +control_cgi_url = server_url ​  '/​cgi-bin/​control.cgi'​
 +channel = 1
 +headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
 +if zoomstep == True:
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_wide_var ' zooms;
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +    time.sleep(4)
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_stop';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_get_pos';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_tele_var ' zooms;
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +    time.sleep(4)
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_stop';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_get_pos';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +else:
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_tele_std';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +    time.sleep(5)
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_stop';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_get_pos';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_wide_std';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +    time.sleep(5)
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_stop';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_get_pos';​
 +    rs = http_request(payload)
 +    print_immediately(
 +      "​{:>​6}:​ {}   ​Response:​ {}"​.format(
 +       1,
 +       ​datetime.datetime.now(),​
 +       ​rs.text
 +      )
 +    )
 +
 +</​code>​
 +
 +**Command to execute with out zoom step size **
 +<​code>​
 +python3 Zoom_visca.py -ip 192.168.1.105 -username admin -passwd admin
 +
 +</​code>​
 +
 +**Example output: **
 +<​code>​
 +(ip='​192.168.1.105',​ passwd='​admin',​ username='​admin',​ z='​3',​ zs=False)
 +Response: {"​ret":"​0","​status":"​OK"​}
 +Response: {"​ret":"​0","​status":"​OK"​}
 +Response: {"​response":​3040,"​ret":"​0","​status":"​OK"​}
 +Response: {"​ret":"​0","​status":"​OK"​}
 +Response: {"​ret":"​0","​status":"​OK"​}
 +Response: {"​response":​0,"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +**Command to execute with zoom step size **
 +<​code>​
 +python3 Zoom_visca.py -ip 192.168.1.105 -username admin -passwd admin -z 3 -zs
 +
 +</​code>​
 +
 +**Example output: **
 +<​code>​
 +(ip='​192.168.1.105',​ passwd='​admin',​ username='​admin',​ z='​3',​ zs=True)
 +Response: {"​ret":"​0","​status":"​OK"​}
 +Response: {"​ret":"​0","​status":"​OK"​}
 +Response: {"​response":​0,"​ret":"​0","​status":"​OK"​}
 +Response: {"​ret":"​0","​status":"​OK"​}
 +Response: {"​ret":"​0","​status":"​OK"​}
 +Response: {"​response":​7304,"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +
 +==== SetRTSP ====
 +
 +----
 +
 +Set the RTSP settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**rtspd_port**// ​ Get rtsp port. Default value is 554.
 +
 +//​**rtspd_timeout**// ​ Timeout value required for the rtsp connection.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetRTSP response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== SetTermSrvEnable ====
 +
 +----
 +
 +Set the term server value in the Database.
 +
 +//​**termserve_remote_enable **// on:\\
 +Allows for remote connections outside of the unit, via eth0 or wlan0, to the terminal server.
 +
 +//​**termserve_remote_enable**// ​ off:\\
 +Only allow local loopback access.
 +
 +//​**termserve_shared_enable**// ​ on:\\
 +Allows multiple connections at the same time but only the last one that has access will get the response.
 +
 +//​**termserve_shared_enable**// ​ off:\\
 +Only one connection at a time so you are sure of the response. If you have your app, it should close the connection every time it gets a response so the other processes that need access will still work.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**termserve_remote_enable**// ​ Enable/​Disable remote access to terminal server. Possible values are : on, off.
 +
 +//​**termserve_shared_enable**// ​ Enable/​Disable shared access to terminal server. Possible values are : on, off.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetTermSrvEnable response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +
 +==== SetVideoGroup ====
 +
 +----
 +
 +Set the video group configuration settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**group **//  Video config groups. Default value 0.
 +
 +//​**nr_enable**// ​ Enable / Disable NR. Default value is on. Possible value: on/off.
 +
 +//​**crop_enable**// ​ Enabled / Disable the crop.
 +
 +//​**crop_x**// ​ Crop x coordinates.
 +
 +//​**crop_y**// ​ Crop y coordinates.
 +
 +//​**crop_width**// ​ Crop width
 +
 +//​**crop_height **//  Crop height
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetVideoGroup response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== SetViewport ====
 +
 +----
 +
 +Set the view port for the decoder and update in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +
 +//​**viewport**// ​ viewport settings. The default value is fit.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetViewport response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== SetViVpssMode ====
 +
 +----
 +
 +Set the ViVpss mode settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**enc_vivpss_mode_enable **//  Enable/​Disable the vivpss mode. Default value is off. Possible values: on, off.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetViVpssMode response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== SetWifiAP ====
 +
 +----
 +
 +Set the wifi network settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**ssid**// ​ Get the Wifi service set identifier value.
 +
 +//​**psk**// ​ Get the Wifi password.
 +
 +//​**wifi_client_local_ip**// ​ Local IP addres.
 +
 +//​**wifi_client_local_local_netmask**// ​ Subnet mask for Wifi network.
 +
 +//​**wifi_client_default_gw**// ​ Default Gateway be used for Wifi Network.
 +
 +//​**wifi_client_use_dhcp**// ​ DHCP server used with Wifi network for DNS resolutions.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetZFinderEnable ====
 +
 +----
 +
 +Save ZFinder enable / disable in the Databse.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**zfinder_enable**// ​ Get ZFinder enable/​disable value. Possible values: off, on
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +SetZFinderEnable response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== StartChannel ====
 +
 +----
 +
 +Start the encoder channel and update the state as running in the Database. Once you start the channel, it will not transmit data until the video input is detected.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +
 +//​**actv_preset ** //
 +
 +//**vsource **//  video source. Default value is Camera1. Possible values: Camera1 / Camer2 / HDMI1.
 +
 +//​**vres**// ​ video resolution. Default value is Follow Input. Possible values: Follow Input, 3840 x 2160, 1920 x 1080, 1440 x 1080, 1280 x 1024, 1280 x 720, 1024 x 768, 960 x 720, 1024 x 576.
 +
 +//**vcodec **//  video codec. Default value is H265. Possible values: H265, H264, MJPEG, none.
 +
 +//**vgdr **//  video gradual data refresh. Default value is on. Possible value on, off.
 +
 +//​**vprofile**// ​ video profile. Default value is high. Possible value high, main, baseline.
 +
 +//​**vratectrl**// ​ video rate control. Default value is cbr. Possible value cbr, vbr.
 +
 +**vbitrate** video bit rate.
 +
 +//​**vframeratediv**// ​ video frame rate. Default value is 1. Possible values: 1 (Full), 2 (Half), 4 (Quarter), 6 (Sixth).
 +
 +//​**vgopsize **//  video group of picture size. Default value is 60. Possible values: 1 (1 Frame Only), 5 (5 Frames), 8 (8 Frames), 10 (10 Frames), 12 (12 Frames), 15 (15 Frames), 25 (25 Frames), 30 (30 Frames), 50 (50 Frames), 60 (60 Frames), 90 (90 Frames), 100 (100 Frames), 120 (120 Frames), 200 (200 Frames), 240 (240 Frames).
 +
 +//​**vprotocol**// ​ video protocol.
 +
 +//​**vdest**// ​ video destination port.
 +
 +//**vpid **//  video packet identifier. Default value is 221.
 +
 +//​**vdelay**// ​ video delay. Default value is 300.
 +
 +//​**pcrpid**// ​ PCR packet identifier. Default value is 521.
 +
 +//​**pcrinterval**// ​ Default value is 50.
 +
 +//​**pmtpid**// ​ program map table packet identifier. Default value is 31.
 +
 +//​**tsrate**// ​ bit rate for transport stream. Default value is 5000K.
 +
 +//​**tslowlat **//  transport stream low latency mode. Default value is off. Possible values: on, off.
 +
 +//​**feconoff **//  Forward error correction in transport stream enable/ disable. Default value is off. Possible values: on, off.
 +
 +//**fecrow **//  Forward error correction row. Default value is 1.
 +
 +//**feccol **//  Forward error correction column, Default value is 5.
 +
 +//​**zixioverhead **//  ZIXI Forward Error Correction total overhead as a percentage of transport rate. Default value is 15.
 +
 +//​**zixilatency**// ​ ZIXI target latency (to allow ARQ) in milliseconds. Default value is 500.
 +
 +//​**zixifecblock**// ​ ZIXI Forward Error Correction block size in milliseconds. Max value is 1/2 of Zixi Latency. Default value is 50.
 +
 +//​**zixirateadjen**// ​ ZIXI dynamic bitrate adjustment according to network conditions. Default value is on. Possible values: on, off.
 +
 +//​**zixiauthen**// ​ ZIXI dynamic authentication enable/​disable . Default value is off. Possible values: on, off.
 +
 +//​**zixisession **//  ZIXI session id. Default value is test.
 +
 +//​**zixiuser **//  ZIXI user identifier. Default value is user.
 +
 +//**aenable **//  Audio enable/​disable. Default value is on. Possible values: on, off.asource. Default value is MICL.
 +
 +//​**apair**// ​ Stereo pair select for digital inputs. Default value is 0. Possible values: (0 (1 2), 1 (3 4), 2 (5 6), 3 (7 8), 260 (1 2,3 4), 548 (1 2,3 4,5 6), 1252 (1 2,3 4,5 6,7 8)).
 +
 +//​**acodec**// ​ Audio codec. Default value is fdk_aaclc.
 +
 +//​**abitrate**// ​ Audio bit rate. Default value is 128000.
 +
 +//​**asamplerate **//  Audio sample rate. Default value is 48000.
 +
 +//**aport **//  Audio port. Default value is 8700.
 +
 +//**apid **//  Audio packet identifier. Default value is 120.
 +
 +//​**aptspcr**// ​ Maximum difference between the PTS and PCR in the audio stream Default value is 250.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +StartChannel response: {"​ret":"​0","​status":"​RUNNING"​}
 +</​code>​
 +
 +----
 +
 +==== StartMTS ====
 +
 +----
 +
 +Start the MTS.
 +
 +== Parameters: ==
 +
 +----
 +
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +StartMTS response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== StopChannel ====
 +
 +----
 +
 +Stop the encoder channel and update the state in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +StopChannel response: {"​ret":"​0","​status":"​STOPPED"​}
 +</​code>​
 +
 +----
 +
 +==== StopMTS ====
 +
 +----
 +
 +Stop the MTS.
 +
 +== Parameters: ==
 +
 +----
 +
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +StopMTSresponse:​ {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== TempStatus ====
 +
 +----
 +
 +Get the current temperature status for CPU and lense.
 +
 +== Parameters: ==
 +
 +----
 +
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +TempStatus response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +
 +==== update_require_web_login ====
 +
 +----
 +
 +Update/​Change whether web login credential required or not in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**require**// ​ Required web login value. Possible values: 1 or 0
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +update_require_web_login response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +
 +==== UpdatePtz ====
 +
 +----
 +
 +Update the PTZ value in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**data**// ​ Parse the JSON formatted data and retrieve the PTZ values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +</​code>​
 +
 +<​code>​
 +action=UpdatePtz&​rowcount=1&​data={"​row0":​{"​db_videosource":"​CAMERA","​token":"​ptz","​name":"​videoin1","​enabled":​1,"​pelcoaddr":​1,"​tcpport":​2000,"​ptztype":"​relative","​flip":"​none","​pos":"​simulated","​maxtilt":​90,"​rowid":​1}}
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +UpdatePtz response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== UpdatePtzPreset ====
 +
 +----
 +
 +Update the PTZ preset value in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**data**// ​ Parse the JSON formatted data and retrieve the PTZ preset values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +----
 +
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +</​code>​
 +
 +<​code>​
 +action=UpdatePtzPreset&​rowcount=2&​data={"​row0":​{"​profiletoken":"​profile1","​token":"​1","​name":"​home","​action":​null,"​rowid":​1},"​row1":​{"​profiletoken":"​profile1","​token":"​2","​name":"​temp","​action":​null,"​rowid":​2}} ​
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +UpdatePtzPreset response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== UpdatePtzTourSpots ====
 +
 +----
 +
 +Update the PTZ tour spots value in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**data**// ​ Parse the JSON formatted data and retrieve the PTZ tour spots values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +</​code>​
 +
 +<​code>​
 +action=UpdatePtzTourSpots&​rowcount=1&​data={"​row0":​{"​ProfileToken":"​profile1","​PresetTourToken":"​1","​PresetDetailToken":"​1","​StayTime":​5,"​RowIndex":​0,"​action":"​blank","​rowid":​1}}
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +UpdatePtzTourSpots response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== UpdateTerm ====
 +
 +----
 +
 +Control serial port terminal server for VISCA
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**data**// ​ Parse the JSON formatted data and retrieve the terminal server values.
 +
 +//​**term_mode**// ​ Possible values: client, server
 +
 +//​**term_protocol**// ​ Possible values: clearchannel,​ telnet
 +
 +//​**term_localport**// ​ Local TCP port (for server mode)
 +
 +//​**term_servaddr**// ​ Remote IP address (for client mode only)
 +
 +//​**term_servport**// ​ Remote TCP port (for client mode only)
 +
 +//​**term_data_bits**// ​ number of data bits.
 +
 +//​**term_parity**// ​ Possible values: None, Odd, Even, Mark, Space
 +
 +//​**term_stop_bits**// ​ Stop bits sent at the end of every character.
 +
 +//​**term_baudrate**// ​ Possible values: 9600, 19200, 38400, 57600, 115200
 +
 +//​**term_devicefile**// ​ device fine name
 +
 +//​**term_function**// ​ functionality
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +</​code>​
 +
 +<​code>​
 +action=UpdateTerm&​rowcount=5&​data={"​row0":​{"​term_devicefile":"​%2Fdev%2FttyHS1","​term_baudrate":"​9600","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​rs485","​term_localport":"​2000","​rowid":​1},"​row1":​{"​term_devicefile":"​%2Fdev%2FttyHS3","​term_baudrate":"​9600","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​camera1_visca","​term_localport":"​1000","​rowid":​2},"​row2":​{"​term_devicefile":"​%2Fdev%2FttyHS2","​term_baudrate":"​9600","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​ir_led_zoom_ctrl","​term_localport":"​1001","​rowid":​3},"​row3":​{"​term_devicefile":"​%2Fdev%2FttyMSM0","​term_baudrate":"​115200","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​console","​term_localport":"​1800","​rowid":​4},"​row4":​{"​term_devicefile":"​%2Fdev%2FttyHS4","​term_baudrate":"​2400","​term_data_bits":"​8","​term_parity":"​None","​term_stop_bits":"​1","​term_function":"​user","​term_localport":"​1600","​rowid":​5}}
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +UpdateTerm response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +
 +==== user_add ====
 +
 +----
 +
 +Add a new user in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**Name**// ​ Get new user name
 +
 +//​**Level**// ​ Get the level of permission for the new user name. Possible value: 0 to 7.
 +
 +//​**Password**// ​ Get the password for the new user name.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +user_add response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== user_remove ====
 +
 +----
 +
 +Remove the user from the database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the user name.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +</​code>​
 +
 +<​code>​
 +action: "​user_remove",​ data: '​{"​Name":"​temp"​}'​
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +user_remove response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +
 +==== user_update_level ====
 +
 +----
 +
 +Update/​change the level of permission to the given user name.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the user name and level of the permission.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +user_update_level response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== user_update_password ====
 +
 +----
 +
 +Update/​change the password to the given user name.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the user name and password.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 saveUser_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +user_update_password response: {"​ret":"​0","​status":"​OK"​}
 +</​code>​
 +
 +----
 +
 +==== download_remove ====
 +
 +----
 +
 +<code html4strict>​
 +http://​Encoder_IP/​cgi-bin/​control.cgi?​action=download_remove&​data=FILENAME
 +
 +http://​192.168.0.120/​cgi-bin/​control.cgi?​action=download_remove&​data=/​media/​sda/​MOV1_000040.mp4
 +
 +
 +</​code>​
 +
 +remove the downloaded media content from the usb drive or sd card.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Filename from the downloaded media content to be removed from the removable media device.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +===== Generic Control (GET) =====
 +
 +==== 8021x ====
 +
 +----
 +
 +Get the exthernet 802x information from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**interface**// ​ TEXT,
 +
 +**//​enable//​** ​ TEXT.
 +
 +//​**eap**// ​ TEXT.
 +
 +**//​anonymous_identity//​** ​ TEXT.
 +
 +//​**identity**// ​ TEXT.
 +
 +//​**password**// ​ TEXT.
 +
 +//​**private_key_password**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +8021x response: {"​anonymous_identity":"","​ca_cert_status":"​Unavailable","​eap":"​peap","​enable":"​off","​identity":"","​interface":"​eth0","​password":"","​priv_cert_status":"​Unavailable","​priv_key_status":"​Unavailable","​private_key_password":"","​ret":"​0"​}
 +</​code>​
 +
 +----
 +
 +==== GetCronJobs ====
 +
 +----
 +
 +Get the schedule job from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +**//​enable//​** ​ INTEGER,
 +
 +//​**cron**// ​ TEXT.
 +
 +//​**func**// ​ TEXT.
 +
 +**//​func_args//​** ​ TEXT.
 +
 +//​**type**// ​ TEXT.
 +
 +//​**minutes**// ​ INTEGER.
 +
 +//​**hours**// ​ INTEGER.
 +
 +//​**day**// ​ INTEGER.
 +
 +//​**month**// ​ INTEGER.
 +
 +//​**cron**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +GetCronJobs response: {"​data":​[],"​metadata":​[{"​datatype":"​integer","​editable":​true,"​label":"​Enable","​name":"​enable"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​},​{"​datatype":"​text","​editable":​true,"​label":"​Function","​name":"​func"​},​{"​datatype":"​text","​editable":​true,"​label":"​Function Arguements","​name":"​func_args"​},​{"​datatype":"​text","​editable":​true,"​label":"​Type","​name":"​type"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Minutes","​name":"​minutes"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Hours","​name":"​hours"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Day","​name":"​day"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Month","​name":"​month"​},​{"​datatype":"​text","​editable":​true,"​label":"​Cron Command","​name":"​cron"​}],"​ret":"​0"​}
 +
 +</​code>​
 +
 +----
 +
 +==== GetNFSMount ====
 +
 +----
 +
 +Get the Network File Sharing mounted infromation from the device.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +**//​mounted//​** ​ TEXT,
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Get NFS Mount response: {"​mounted":​256,"​ret":"​0"​}
 +
 +</​code>​
 +
 +----
 +
 +==== aspect_info ====
 +
 +----
 +
 +Get the video resolution for the current channel from the Database and calculate the aspect ratio.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**numerator**// ​ INTEGER,
 +
 +//​**denominator**// ​ INTEGER.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Aspect Info response: {"​denominator":​9,"​numerator":​16,"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== boardinfo ====
 +
 +----
 +
 +Get the board and model information from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**logo_enable**// ​ TEXT,
 +
 +//​**logo_filename**// ​ TEXT.
 +
 +//​**logo_width**// ​ INTEGER.
 +
 +//​**logo_height**// ​ INTEGER.
 +
 +//​**logo_blob**// ​ BLOB.
 +
 +//​**ico_blob**// ​ BLOB.
 +
 +//​**model_enable**// ​ TEXT.
 +
 +//​**model_name**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Boardinfo response: {"​MODEL":"​FV4K-13A","​board_id":"​0xFF21","​hw50serial":"​50014401222610007","​hwserial":"​30014410221610012","​hwversion":"​FV4K-13A","​logo_enable":"​off","​logo_height":​156,"​logo_width":​319,"​macaddr":"​40:​cd:​3a:​06:​10:​bc","​model_enable":"​off","​model_name":"​Z3-Encoder","​opmode":"​encoder","​opstate":"​RUNNING","​processor_id":"​cv22bub","​ret":"​0","​sensor_serial":"​30014410221610012\n","​sysdevicename":"​Z3Cam","​z3_avmux":"​enabled","​z3_klv":"​enabled","​z3_klv_serial_only":"​enabled","​z3_sntp":"​enabled","​z3_termsrv":"​enabled","​z3_tslowlat":"​enabled","​z3_webproxy":"​enabled"​}
 +
 +</​code>​
 +
 +----
 +
 +==== cam_state ====
 +
 +----
 +
 +Get the current camera state information from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**preset**// ​ TEXT,
 +
 +//​**enc_channels**// ​ TEXT.
 +
 +//​**opmode**// ​ TEXT.
 +
 +//​**enc_current_preset**// ​ TEXT.
 +
 +//​**dec_current_preset**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute and Example :  ===
 +
 +Please refer in this document in the below section cam_state (sys_DIGEST_ARGPARSE.py)
 +
 +----
 +
 +
 +
 +==== camera ====
 +
 +----
 +
 +Get the current camera settings from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the channel number. The default is Camera 1. Select between connected cameras. Possible values: 1 = Camera 1, 2 = Camera 2.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**zoom_direct_value**// ​ INTEGER.
 +
 +//​**white_balance_mode**// ​ TEXT.
 +
 +//​**color_gain**// ​ INTEGER.
 +
 +//​**color_hue**// ​ INTEGER.
 +
 +//​**chroma_suppress**// ​ INTEGER.
 +
 +//​**wb_manual_rgain_direct**// ​ INTEGER.
 +
 +//​**wb_manual_bgain_direct**// ​ INTEGER.
 +
 +//​**visca_localport**// ​ TEXT.
 +
 +//​**optical_zoom_only**// ​ BOOL. 0 or 1.
 +
 +//​**focus_direct_value**// ​ INTEGER.
 +
 +//​**manual_focus**// ​ TEXT.
 +
 +//​**flexio_localport**// ​ TEXT.
 +
 +//​**exposure_mode**// ​ INTEGER.
 +
 +//​**shutter**// ​ INTEGER.
 +
 +//​**iris**// ​ INTEGER.
 +
 +//​**gain**// ​ INTEGER.
 +
 +//​**high_sensitivity**// ​ INTEGER.
 +
 +//​**hlc_level**// ​ INTEGER.
 +
 +//​**hlc_level_mask**// ​ INTEGER.
 +
 +//​**stable_zoom**// ​ INTEGER.
 +
 +//​**eflip**// ​ INTEGER.
 +
 +//​**lr_reverse**// ​ INTEGER.
 +
 +//​**monitor_mode**// ​ TEXT.
 +
 +//​**genlock_source**// ​ INTEGER.
 +
 +//​**manual_icr**// ​ TEXT.
 +
 +//​**zoom_step_size**// ​ INTEGER.
 +
 +//​**focus_step_size**// ​ INTEGER.
 +
 +//​**img_freeze**// ​ INTEGER.
 +
 +//​**hr_mode**// ​ INTEGER.
 +
 +//​**img_stabilizer**// ​ INTEGER.
 +
 +//​**img_bw**// ​ INTEGER.
 +
 +//​**nr_2d_level**// ​ INTEGER.
 +
 +//​**nr_3d_level**// ​ INTEGER.
 +
 +//​**icr_threshold**// ​ INTEGER.
 +
 +//​**slow_shutter**// ​ BOOL. 0 or 1.
 +
 +//​**slow_shutter_limit**// ​ INTEGER.
 +
 +//​**flicker_reduction**// ​ BOOL. 0 or 1.
 +
 +//​**img_stabilizer_level**// ​ INTEGER.
 +
 +//​**wide_dynamic_range**// ​ TEXT.
 +
 +//​**ve_brightness**// ​ TEXT.
 +
 +//​**ve_compensation_type**// ​ TEXT.
 +
 +//​**ve_compensation_level**// ​ TEXT.
 +
 +//​**tab_index**// ​ TEXT.
 +
 +//​**imgvflip**// ​ INTEGER.
 +
 +//​**imghflip**// ​ INTEGER.
 +
 +//​**imgrotate**// ​ INTEGER.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Camera response: {"​backlight":​3,"​chroma_suppress":​1,"​color_gain":​4,"​color_hue":​7,"​dbversion":"​1.1","​eflip":​3,"​exposure_mode":​0,"​flexio_localport":"​1500","​flicker_reduction":​0,"​focus_direct_value":​4096,"​focus_step_size":​1,"​gain":​4,"​genlock_source":​2,"​high_sensitivity":​3,"​hlc_level":​0,"​hlc_level_mask":​0,"​hr_mode":​3,"​icr_threshold":​-1,"​img_bw":​0,"​img_freeze":​3,"​img_stabilizer":​3,"​img_stabilizer_level":​0,"​imghflip":​0,"​imgrotate":​0,"​imgvflip":​0,"​iris":​15,"​lr_reverse":​3,"​manual_focus":"​auto","​manual_icr":"​off","​monitor_mode":"​2160p-29.97","​nr_2d_level":​5,"​nr_3d_level":​4,"​optical_zoom_only":​0,"​ret":"​0","​shutter":​7,"​slow_shutter":​0,"​slow_shutter_limit":​-1,"​stable_zoom":​0,"​tab_index":"​1","​ve_brightness":"​-1","​ve_compensation_level":"​-1","​ve_compensation_type":"​-1","​visca_localport":"​1000","​wb_manual_bgain_direct":​190,"​wb_manual_rgain_direct":​190,"​white_balance_mode":"​auto","​wide_dynamic_range":"​3","​zoom_direct_value":​0,"​zoom_step_size":​4}
 +
 +</​code>​
 +
 +----
 +
 +==== camera_exposure ====
 +
 +----
 +
 +Get the current camera exposure values from the visca camera.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the channel number. The default is Camera 1. Select between connected cameras. Possible values: 1 = Camera 1, 2 = Camera 2.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**ae_mode**// ​ TEXT,
 +
 +//​**shutter**// ​ TEXT.
 +
 +//​**iris**// ​ TEXT.
 +
 +//​**gain_inquiry**// ​ TEXT.
 +
 +//​**sensitivity**// ​ TEXT.
 +
 +//​**hls_inquiry**// ​ TEXT.
 +
 +//​**min_shutter**// ​ INTEGER.
 +
 +//​**max_shutter**// ​ INTEGER.
 +
 +//​**shutter_label**// ​ TEXT.
 +
 +//​**min_iris**// ​ INTEGER.
 +
 +//​**max_iris **//  INTEGER.
 +
 +//​**iris_label**// ​ TEXT.
 +
 +//​**min_gain**// ​ INTEGER.
 +
 +//​**max_gain**// ​ INTEGER.
 +
 +//​**gain_label**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Camera Exposure response: {"​ae_mode":​0,"​backlight":​3,"​gain":​10,"​gain_label":​["​0db",​null,​null,​null,​null,​null,​null,​null,"​24db",​null,​null,​null,​null,​null,​null,​null,"​48db"​],"​hlc":​0,"​iris":​25,"​iris_label":​["​0",​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,"​F4.8",​null,​null,​null,​null,​null,​null,​null,​null,"​F2.0"​],"​max_gain":​17,"​max_iris":​25,"​max_shutter":​33,"​min_gain":​1,"​min_iris":​0,"​min_shutter":​6,"​ret":"​0","​sensitivity":​3,"​shutter":​16,"​shutter_label":​["​1/​1",​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,"​1/​100",​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,​null,"​1/​10K"​]}
 +
 +</​code>​
 +
 +----
 +
 +
 +==== camera_monitor_mode ====
 +
 +----
 +
 +Get the current camera monitor mode values from the visca camera.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the channel number. The default is Camera 1. Select between connected cameras. Possible values: 1 = Camera 1, 2 = Camera 2.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**modes**// ​ TEXT.
 +
 +//​**current_mode**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Camera Monitor Mode response: {"​current_mode":"​2160p-29.97","​modes":​{"​1080p-25":​8,"​1080p-29.97":​6,"​1080p-50":​20,"​1080p-59.94":​19,"​2160p-25":​30,"​2160p-29.97":​29,"​720p-50":​12,"​720p-59.94":​9},"​ret":"​0"​}
 +
 +</​code>​
 +
 +----
 +
 +==== dec ====
 +
 +----
 +
 +Get the current decoder settings from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the decoder channel number. The default decoder channel is 1. Select between decoder channels. Possible values: 1, 2, 3, or 4.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**preset**// ​ TEXT.
 +
 +//​**channel**// ​ INTEGER.
 +
 +//​**url**// ​ TEXT.
 +
 +**//​aenable//​** ​ TEXT.
 +
 +//​**viewport**// ​ TEXT.
 +
 +//​**latency_mode**// ​ TEXT.
 +
 +//​**max_latency_ms**// ​ TEXT.
 +
 +//​**srt_mode**// ​ TEXT.
 +
 +//​**srt_latency**// ​ TEXT.
 +
 +//​**srt_decrypt**// ​ TEXT.
 +
 +//​**srt_pass**// ​ TEXT.
 +
 +**//​zixi_fec//​** ​ TEXT.
 +
 +//​**zixi_fecoverhead**// ​ TEXT.
 +
 +//​**zixi_fecblock**// ​ TEXT.
 +
 +//​**zixi_latency**// ​ TEXT.
 +
 +**//​zixi_decrypt//​** ​ TEXT.
 +
 +//​**zixi_pass**// ​ TEXT.
 +
 +**//​rtsp_flags//​** ​ TEXT.
 +
 +----
 +
 +
 +==== download ====
 +
 +----
 +
 +Get the downloaded file information from the removable storage media.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +
 +//**job **//  Optional//​**. **//  The job from the schedule tab.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**FileName**// ​ TEXT.
 +
 +//​**FileSize**// ​ TEXT.
 +
 +//​**LastModified**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Download response: {"​data":​[],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​File Name","​name":"​download_filename"​},​{"​datatype":"​integer","​editable":​false,"​label":"​File Size","​name":"​download_size"​},​{"​datatype":"​text","​editable":​false,"​label":"​Last Modified","​name":"​download_lastmodified"​}],"​ret":"​0"​}
 +
 +</​code>​
 +
 +----
 +
 +
 +==== drs_tamarisk_settings ====
 +
 +----
 +
 +Get the camera model of drs tamarisk settings fromt the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//**job **//  Optional//​**. **//  The job from the schedule tab.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**color_pallette**// ​ TEXT.
 +
 +//​**tab_index**// ​ TEXT.
 +
 +//​**color_pallette_disabled**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +DRS Tamarisk Settings response: {"​color_pallette":"​white_hot","​color_pallette_disabled":"​false","​ret":"​0","​tab_index":"​1"​}
 +
 +</​code>​
 +
 +----
 +
 +==== enc ====
 +
 +----
 +
 +Get the current channel encoder settings from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**preset**// ​ TEXT,
 +
 +//​**channel**// ​ INTEGER.
 +
 +//​**vbitrate**// ​ TEXT.
 +
 +//​**vframeratediv**// ​ INTEGER.
 +
 +//​**vsource**// ​ TEXT.
 +
 +//​**vcodec**// ​ TEXT.
 +
 +//​**vprofile**// ​ TEXT.
 +
 +//​**vprotocol**// ​ TEXT.
 +
 +//​**avmux_index**// ​ TEXT.
 +
 +//​**vgdr**// ​ TEXT.
 +
 +**//vdest// ** TEXT.
 +
 +//​**aenable**// ​ TEXT.
 +
 +//​**acodec**// ​ TEXT.
 +
 +//​**abitrate**// ​ TEXT.
 +
 +//​**asamplerate**// ​ TEXT.
 +
 +//​**aport**// ​ TEXT.
 +
 +//​**apair**// ​ INTEGER.
 +
 +//​**vres**// ​ TEXT.
 +
 +//​**vgopsize**// ​ INTEGER.
 +
 +//​**vpid**// ​ INTEGER.
 +
 +//​**apid**// ​ INTEGER.
 +
 +//​**zixiauthen**// ​ TEXT.
 +
 +//​**zixisession**// ​ TEXT.
 +
 +//​**zixiuser**// ​ TEXT.
 +
 +//​**zixioverhead**// ​ TEXT.
 +
 +//​**zixifecblock**// ​ TEXT.
 +
 +//​**zixilatency**// ​ TEXT.
 +
 +//​**zixirateadjen**// ​ TEXT.
 +
 +//​**fecrow**// ​ INTEGER.
 +
 +//​**feccol**// ​ INTEGER.
 +
 +//​**feconoff**// ​ TEXT.
 +
 +//​**aptspcr**// ​ INTEGER.
 +
 +//​**tslowlat**// ​ TEXT.
 +
 +//​**tsrate**// ​ TEXT.
 +
 +//​**pcrpid**// ​ INTEGER.
 +
 +//​**pcrinterval**// ​ INTEGER.
 +
 +//​**pmtpid**// ​ INTEGER.
 +
 +//​**klvenable**// ​ TEXT.
 +
 +//​**klvmode**// ​ TEXT.
 +
 +//​**klvmuxmethod**// ​ TEXT.
 +
 +//​**klvsrc**// ​ TEXT.
 +
 +//​**klvbrate**// ​ TEXT.
 +
 +//​**klvserialbaud**// ​ TEXT.
 +
 +//​**klvpid**// ​ TEXT.
 +
 +//​**vratectrl**// ​ TEXT.
 +
 +//​**vdelay**// ​ INTEGER.
 +
 +//​**storage**// ​ TEXT.
 +
 +//​**fprefix**// ​ TEXT.
 +
 +//​**asource**// ​ TEXT.
 +
 +//​**authonoff**// ​ TEXT.
 +
 +//​**auth_user**// ​ TEXT.
 +
 +//​**auth_passwd**// ​ TEXT.
 +
 +//​**auxonoff**// ​ TEXT.
 +
 +//​**filesize**// ​ TEXT.
 +
 +//​**nfstrength**// ​ TEXT.
 +
 +//​**telopenable**// ​ TEXT.
 +
 +//​**teloptext**// ​ TEXT.
 +
 +//​**teloplocation**// ​ TEXT.
 +
 +//​**telopcharsize**// ​ TEXT.
 +
 +//​**teloptextcolor**// ​ TEXT.
 +
 +//​**telopoutlineenable**// ​ TEXT.
 +
 +//​**telopoutlinecolor**// ​ TEXT.
 +
 +//​**gps_overlay_enable**// ​ TEXT.
 +
 +//​**gps_overlay_device**// ​ TEXT.
 +
 +//​**gps_overlay_location**// ​ TEXT.
 +
 +//​**gps_overlay_char_size**// ​ TEXT.
 +
 +//​**pipenable**// ​ TEXT.
 +
 +//​**piplocation**// ​ TEXT.
 +
 +//​**vquality**// ​ TEXT.
 +
 +//​**vinterlacemode**// ​ TEXT.
 +
 +//​**vmulticastdest**// ​ TEXT.
 +
 +//​**amulticastdest**// ​ TEXT.
 +
 +//​**rtsp_auth_enable**// ​ TEXT.
 +
 +//​**rtsp_auth_username**// ​ TEXT.
 +
 +//​**rtsp_auth_password**// ​ TEXT.
 +
 +//​**rtsp_transport_mode**// ​ TEXT.
 +
 +//​**lowdelay_opt**// ​ TEXT.
 +
 +//​**vcropaspect**// ​ TEXT.
 +
 +//​**vcrop_enable**// ​ TEXT.
 +
 +//​**vcrop_width**// ​ INTEGER.
 +
 +//​**vcrop_height**// ​ INTEGER.
 +
 +//​**vcrop_x**// ​ INTEGER.
 +
 +//​**vcrop_y**// ​ INTEGER.
 +
 +//​**rotate_enable**// ​ INTEGER.
 +
 +//​**rotate_angle**// ​ INTEGER.
 +
 +//​**rtmp265_enable**// ​ TEXT.
 +
 +//​**srt_pass**// ​ TEXT.
 +
 +//​**srt_encrypt**// ​ INTEGER.
 +
 +//​**srt_mode**// ​ INTEGER.
 +
 +//​**srt_destAddr**// ​ TEXT.
 +
 +//​**mmulticastdest**// ​ TEXT.
 +
 +//​**mport**// ​ TEXT.
 +
 +//​**frame_loss_mode**// ​ TEXT.
 +
 +//​**frame_loss_gap**// ​ INTEGER.
 +
 +//​**frame_loss_overshot**// ​ INTEGER.
 +
 +//​**mounts**// ​ TEXT.
 +
 +//​**source_status_str**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Encoder response: {"​abitrate":"​128000","​acodec":"​fdk_aaclc","​aenable":"​on","​amulticastdest":"​225.1.2.3","​apair":​0,"​apid":​120,"​aport":"​8700","​aptspcr":​250,"​asamplerate":"​1","​asource":"​MIC","​auth_passwd":"​password","​auth_user":"​user","​authonoff":"​off","​auxonoff":"​off","​avmux_index":"​streaming","​channel":​1,"​enc_status":"​RUNNING","​feccol":​5,"​feconoff":"​off","​fecrow":​1,"​filesize":"​1024M","​fprefix":"​MOV1_%C","​frame_loss_gap":​0,"​frame_loss_mode":"​none","​frame_loss_overshot":​100,"​gps_overlay_char_size":"​32","​gps_overlay_device":"/​dev/​ttyS1","​gps_overlay_enable":"​off","​gps_overlay_location":"​top_right","​klvbrate":"​1000","​klvenable":"​off","​klvmode":"​sdi","​klvmuxmethod":"​sync","​klvpid":"​35","​klvserialbaud":"​115200","​klvsrc":"/​dev/​ttyS1","​lowdelay_opt":"​off","​mmulticastdest":"​225.1.2.3","​mounts":"/​dev/​mmcblk0p1 /​media/​mmcblk0p1/,","​mport":"​8800","​nfstrength":"​0","​pcrinterval":​50,"​pcrpid":​521,"​pipenable":"​off","​piplocation":"​top_right","​pmtpid":​31,"​preset":"​actv_preset","​ret":"​0","​rotate_angle":​0,"​rotate_enable":"​off","​rtmp265_enable":"​off","​rtsp_auth_enable":"​off","​rtsp_auth_password":"​admin","​rtsp_auth_username":"​admin","​rtsp_transport_mode":"​all","​source_status_str":"​+CAMERA 3840x2160p 29.97 fps\n","​srt_destAddr":"​192.168.0.6","​srt_encrypt":​0,"​srt_mode":​0,"​srt_pass":"​password1234","​storage":"/​media/​sda1","​telopcharsize":"​32","​telopenable":"​off","​teloplocation":"​top_left","​telopoutlinecolor":"​0xFF000000","​telopoutlineenable":"​off","​teloptext":"​Z3Cam","​teloptextcolor":"​0xFFFFFFFF","​tslowlat":"​on","​tsrate":"​3000K","​vbitrate":"​6M","​vcodec":"​h265","​vcrop_enable":"​off","​vcrop_height":​1080,"​vcrop_width":​1920,"​vcrop_x":​0,"​vcrop_y":​0,"​vcropaspect":"​off","​vdelay":​1000,"​vdest":"​192.168.0.6:​8600","​vframeratediv":​1,"​vgdr":"​off","​vgopsize":​60,"​vinterlacemode":"​combine","​vmulticastdest":"​225.1.2.3","​vpid":​221,"​vprofile":"​high","​vprotocol":"​rtsp","​vquality":"​balanced","​vratectrl":"​vbr","​vres":"​follow_input","​vsource":"​CAMERA","​zixiauthen":"​off","​zixifecblock":"​50","​zixilatency":"​500","​zixioverhead":"​15","​zixirateadjen":"​on","​zixisession":"​test","​zixiuser":"​user"​}
 +
 +</​code>​
 +
 +----
 +
 +==== filepicker ====
 +
 +----
 +
 +Get the file type and its information from the removable storage media.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**filepicker_filename**// ​ TEXT,
 +
 +**//​filepicker_size//​** ​ INTEGER.
 +
 +//​**filepicker_lastmodified**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Filepicket response: {"​data":​[],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​File Name","​name":"​filepicker_filename"​},​{"​datatype":"​integer","​editable":​false,"​label":"​File Size","​name":"​filepicker_size"​},​{"​datatype":"​text","​editable":​false,"​label":"​Last Modified","​name":"​filepicker_lastmodified"​}],"​ret":"​0"​}
 +
 +</​code>​
 +
 +----
 +
 +==== fmt ====
 +
 +----
 +
 +Get the removable storage infromation from the device using fdisk command.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**mounts**// ​ TEXT,
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Format response: {"​mounts":"​mmcblk0p1\n /​dev/​mmcblk0,","​ret":"​0","​store_logs":"​off"​}
 +
 +</​code>​
 +
 +----
 +
 +==== focusStepSize ====
 +
 +----
 +
 +Get the current camera focus step values from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the channel number. The default is Camera 1. Select between connected cameras. Possible values: 1 = Camera 1, 2 = Camera 2.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**focus_step_size**// ​ INTEGER,
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Focus Step Size response: {"​ret":"​0","​size":​1}
 +
 +</​code>​
 +
 +----
 +
 +==== fpga ====
 +
 +----
 +
 +Get the current fpga from firmware filename.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**fpgafileglob**// ​ TEXT,
 +
 +//​**options**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +FPGA response: {"​fpgafileglob":"​fpga_none.bin|fpga2_0139_cvbs.bin","​fpgaoptions":​{"​Boson only        ":"​fpga_unused.bin|fpga2_0139_boson.bin","​Composite only    ":"​fpga_unused.bin|fpga2_0139_cvbs.bin","​HDMI 4K| Boson    ":"​fpga_none.bin|fpga2_0139_boson.bin","​HDMI 4K| Composite":"​fpga_none.bin|fpga2_0139_cvbs.bin","​HDMI 4K| SonyLVDS ":"​fpga_none.bin|fpga2_0139.bin","​HDMI 4K| Tamarisk":"​fpga_none.bin|fpga2_0139_tamarisk.bin","​HDMI 4K| Tau2     ":"​fpga_none.bin|fpga2_0139_tau2.bin","​HDMI 4K| Tenum   ":"​fpga_none.bin|fpga2_0139_tenum.bin","​HDMI 4K| Unused ​  ":"​fpga_none.bin|fpga2_none.bin","​Micro-HDMI| Boson    ":"​fpga_none_microhdmi.bin|fpga2_0139_boson.bin","​Micro-HDMI| Composite":"​fpga_none_microhdmi.bin|fpga2_0139_cvbs.bin","​Micro-HDMI| SonyLVDS ":"​fpga_none_microhdmi.bin|fpga2_0139.bin","​Micro-HDMI| Tamarisk ":"​fpga_none_microhdmi.bin|fpga2_0139_tamarisk.bin","​Micro-HDMI| Tau2     ":"​fpga_none_microhdmi.bin|fpga2_0139_tau2.bin","​Micro-HDMI| Tenum    ":"​fpga_none_microhdmi.bin|fpga2_0139_tenum.bin","​Micro-HDMI| Unused ​  ":"​fpga_none_microhdmi.bin|fpga2_none.bin","​SonyLVDS only     ":"​fpga_unused.bin|fpga2_0139.bin","​Tamarisk only     ":"​fpga_unused.bin|fpga2_0139_tamarisk.bin","​Tau2 ​ only        ":"​fpga_unused.bin|fpga2_0139_tau2.bin","​Tenum only        ":"​fpga_unused.bin|fpga2_0139_tenum.bin"​},"​ret":"​0"​}
 +
 +</​code>​
 +
 +----
 +
 +==== history ====
 +
 +----
 +
 +Get the decoder history infromation from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**channel**// ​ TEXT,
 +
 +//​**histidx**// ​ TEXT.
 +
 +//​**url**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +History response: {"​ret":"​0","​status":"​OK"​}
 +
 +</​code>​
 +
 +----
 +
 +==== ipinfo ====
 +
 +----
 +
 +Get the internet protocol infromation from the board.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**local_ip**// ​ TEXT,
 +
 +//​**local_netmask**// ​ TEXT.
 +
 +//​**default_gw**// ​ TEXT.
 +
 +//​**ipmtu**// ​ TEXT.
 +
 +//​**eth_speed**// ​ TEXT.
 +
 +//​**eth_duplex**// ​ TEXT.
 +
 +//​**do_autostart**// ​ BOOLEAN.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +IP Info response: {"​default_gw":"​192.168.10.1","​do_autostart":​1,"​eth_duplex":"​AUTO","​eth_speed":"​AUTO","​ipmtu":​1500,"​local_dnsip":"​8.8.8.8","​local_dnsip2":"​8.8.4.4","​local_hostname":"​z3-he4k","​local_ip":"​192.168.10.127","​local_netmask":"​255.255.255.0","​ret":"​0","​use_dhcp":"​1"​}
 +
 +</​code>​
 +
 +----
 +
 +==== onvif ====
 +
 +----
 +
 +Get the ONVIF miscallenous settings from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**list_all_video_sources**// ​ INTEGER,
 +
 +//​**dns_from_dhcp**// ​ INTEGER,
 +
 +//​**ntp_from_dhcp**// ​ INTEGER,
 +
 +//​**ntp_enable**// ​ INTEGER,
 +
 +//​**daylightsaving**// ​ INTEGER,
 +
 +//​**timezone**// ​ TEXT.
 +
 +//​**http_enable**// ​ INTEGER,
 +
 +//​**http_port**// ​ INTEGER,
 +
 +//​**https_enable**// ​ INTEGER,
 +
 +//​**https_port**// ​ INTEGER,
 +
 +//​**rtsp_enable**// ​ INTEGER,
 +
 +//​**rtsp_port**// ​ INTEGER,
 +
 +//​**discoverable**// ​ INTEGER,
 +
 +//​**ntp**// ​ TEXT.
 +
 +//​**dns_search**// ​ TEXT.
 +
 +**//​ptz_timeout//​** ​ TEXT.
 +
 +//**primary fixed_profile_max **//  INTEGER,
 +
 +//​**secondary fixed_profile_max**// ​ INTEGER,
 +
 +//​**en_persistent_audio**// ​ TEXT.
 +
 +//​**onvif_enable**// ​ BOOLEAN.
 +
 +//​**vmd_enable**// ​ BOOLEAN.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +ONVIF response: {"​daylightsaving":"​0","​discoverable":"​1","​dns_from_dhcp":"​1","​dns_search":"​localdomain","​en_persistent_audio":"​1","​fixed_profile_max":"​1","​http_enable":"​1","​http_port":"​80","​https_enable":"​0","​https_port":"​443","​list_all_video_sources":"​0","​ntp":"​pool.ntp.org","​ntp_enable":"​1","​ntp_from_dhcp":"​0","​onvif_enable":"​on","​ptz_timeout":​10,"​ret":"​0","​rtsp_enable":"​1","​rtsp_port":"​554","​timezone":"​TaipeiStandardTime-8","​vmd_enable":"​off"​}
 +
 +</​code>​
 +
 +----
 +
 +==== onvif_vmd ====
 +
 +----
 +
 +Get the ONVIF video motion detection and too darkness settings from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**vmd_sens**// ​ INTEGER,
 +
 +//​**vmd_zone_modify**// ​ TEXT.
 +
 +//​**vmd_vcrop_width**// ​ INTEGER.
 +
 +//​**vmd_vcrop_height**// ​ INTEGER.
 +
 +**//​vmd_vcrop_x//​** ​ INTEGER.
 +
 +**//​vmd_vcrop_y//​** ​ INTEGER.
 +
 +//​**td_enable**// ​ TEXT.
 +
 +//​**td_thresh**// ​ INTEGER.
 +
 +//​**vmd_td_channel**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +ONVIF VMD response: {"​ret":"​0","​td_enable":"​off","​td_thresh":​85,"​vmd_enable":"​off","​vmd_sens":​1,"​vmd_td_channel":"​CH1","​vmd_vcrop_height":​0,"​vmd_vcrop_width":​0,"​vmd_vcrop_x":​0,"​vmd_vcrop_y":​0,"​vmd_zone_modify":"​off"​}
 +
 +</​code>​
 +
 +----
 +
 +==== permission ====
 +
 +----
 +
 +Get the current permission settings for admin, operators, and users from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**username**// ​ TEXT,
 +
 +//​**userlevel**// ​ TEXT.
 +
 +//​**api_command**// ​ TEXT.
 +
 +//​**superadmin**// ​ TEXT.
 +
 +**admin** TEXT.
 +
 +//​**operator1**// ​ TEXT.
 +
 +//​**operator2**// ​ TEXT.
 +
 +//​**user1**// ​ TEXT.
 +
 +//​**user2**// ​ TEXT.
 +
 +//​**user3**// ​ TEXT.
 +
 +**//​anonymous//​ ** TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +PERMISSIONS response: {"​permissions":​{"​Z38021xImportHandler:​post":"​W","​Z3DebugHandler:​get":"​R","​Z3DownloadMediaHandler:​get":"​R","​Z3ExportHandler:​get":"​R","​Z3FWUploadHandler:​post":"​W","​Z3ImportHandler:​post":"​W","​Z3LogoHandler:​get":"?","​Z3LogsHandler:​get":"​R","​Z3RequestHandler:​get:​8021x":"?","​Z3RequestHandler:​get:​GetCronJobs":"​R","​Z3RequestHandler:​get:​GetNFSMount":"?","​Z3RequestHandler:​get:​aspect_info":"?","​Z3RequestHandler:​get:​boardinfo":"​R","​Z3RequestHandler:​get:​cam_state":"​R","​Z3RequestHandler:​get:​camera":"?","​Z3RequestHandler:​get:​camera_exposure":"?","​Z3RequestHandler:​get:​camera_monitor_mode":"?","​Z3RequestHandler:​get:​dec":"​R","​Z3RequestHandler:​get:​download":"?","​Z3RequestHandler:​get:​drs_tamarisk_settings":"?","​Z3RequestHandler:​get:​enc":"​R","​Z3RequestHandler:​get:​filepicker":"?","​Z3RequestHandler:​get:​fmt":"​W","​Z3RequestHandler:​get:​focusStepSize":"?","​Z3RequestHandler:​get:​fpga":"?","​Z3RequestHandler:​get:​history":"​R","​Z3RequestHandler:​get:​ipinfo":"​R","​Z3RequestHandler:​get:​onvif":"?","​Z3RequestHandler:​get:​onvif_vmd":"?","​Z3RequestHandler:​get:​permission":"​R","​Z3RequestHandler:​get:​ptz":"?","​Z3RequestHandler:​get:​ptz_preset":"?","​Z3RequestHandler:​get:​ptz_tour":"?","​Z3RequestHandler:​get:​snmp":"?","​Z3RequestHandler:​get:​ssl":"?","​Z3RequestHandler:​get:​stats":"?","​Z3RequestHandler:​get:​sys":"​R","​Z3RequestHandler:​get:​term":"?","​Z3RequestHandler:​get:​users":"​R","​Z3RequestHandler:​get:​video_group":"?","​Z3RequestHandler:​get:​wifi":"?","​Z3RequestHandler:​get:​zoomStepSize":"?","​Z3RequestHandler:​post:​AStreamStatus":"?","​Z3RequestHandler:​post:​AddChannel":"​W","​Z3RequestHandler:​post:​CameraControl:​SetColorPallette":"​W","​Z3RequestHandler:​post:​CameraControl:​ae_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​ae_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​agc_filter":"​W","​Z3RequestHandler:​post:​CameraControl:​agc_midpoint":"​W","​Z3RequestHandler:​post:​CameraControl:​agc_type":"​W","​Z3RequestHandler:​post:​CameraControl:​auto_icr_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​auto_icr_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​autocal_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​autocal_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​backlight_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​backlight_off":"​W","​Z3RequestHandler:​post:​CameraControl:​backlight_on":"​W","​Z3RequestHandler:​post:​CameraControl:​black_hot":"​W","​Z3RequestHandler:​post:​CameraControl:​brightness":"​W","​Z3RequestHandler:​post:​CameraControl:​brightness_bias":"​W","​Z3RequestHandler:​post:​CameraControl:​brightness_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​cam_control_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​cam_custom_recall":"​W","​Z3RequestHandler:​post:​CameraControl:​cam_custom_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​cam_custom_set":"​W","​Z3RequestHandler:​post:​CameraControl:​chroma_get_suppress":"​R","​Z3RequestHandler:​post:​CameraControl:​chroma_suppress":"​W","​Z3RequestHandler:​post:​CameraControl:​color_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​color_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​color_gain":"​W","​Z3RequestHandler:​post:​CameraControl:​color_get_gain":"​R","​Z3RequestHandler:​post:​CameraControl:​color_get_hue":"​R","​Z3RequestHandler:​post:​CameraControl:​color_hue":"​W","​Z3RequestHandler:​post:​CameraControl:​color_select":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_arctic":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_blackhot":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_globow":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_gradedfire":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_hottest":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_ironbow":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_lava":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_rainbow":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_rainbow_hc":"​W","​Z3RequestHandler:​post:​CameraControl:​colorlut_whitehot":"​W","​Z3RequestHandler:​post:​CameraControl:​contrast_adjust_level":"​W","​Z3RequestHandler:​post:​CameraControl:​contrast_adjust_level_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​contrast_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​defog_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​defog_on_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​display_off":"​W","​Z3RequestHandler:​post:​CameraControl:​display_on":"​W","​Z3RequestHandler:​post:​CameraControl:​display_on_off":"​W","​Z3RequestHandler:​post:​CameraControl:​do_ffc":"​W","​Z3RequestHandler:​post:​CameraControl:​dvo_set_output_format_ycbcr":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_combine_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​dzoom_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​dzoom_off":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_on":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_separage_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_separate_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_stop":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_super_res":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_tele_var":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_wide_var":"​W","​Z3RequestHandler:​post:​CameraControl:​dzoom_x1_max":"​W","​Z3RequestHandler:​post:​CameraControl:​e_pan_tilt_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​e_pan_tilt_off":"​W","​Z3RequestHandler:​post:​CameraControl:​e_pan_tilt_on":"​W","​Z3RequestHandler:​post:​CameraControl:​eflip_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​eflip_off":"​W","​Z3RequestHandler:​post:​CameraControl:​eflip_on":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_down":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​expcomp_off":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_on":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_pos_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​expcomp_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​expcomp_up":"​W","​Z3RequestHandler:​post:​CameraControl:​ffc_period":"​W","​Z3RequestHandler:​post:​CameraControl:​ffc_temp_delta":"​W","​Z3RequestHandler:​post:​CameraControl:​ffc_warn_time":"​W","​Z3RequestHandler:​post:​CameraControl:​flicker_detection_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​flicker_reduction_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​flicker_reduction_off":"​W","​Z3RequestHandler:​post:​CameraControl:​flicker_reduction_on":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_auto":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_get_mode":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_get_pos":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_get_pos_meter":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_manual":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_near_limit":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_near_limit_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​focus_set_pos_meter":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_stop":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_tele_std":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_tele_var":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_toggle":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_wide_std":"​W","​Z3RequestHandler:​post:​CameraControl:​focus_wide_var":"​W","​Z3RequestHandler:​post:​CameraControl:​fpa_temp_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​gain":"​W","​Z3RequestHandler:​post:​CameraControl:​gain_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​gain_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​get_camera_framerate":"​R","​Z3RequestHandler:​post:​CameraControl:​get_camera_part_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_camera_serial_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_color_tables":"​R","​Z3RequestHandler:​post:​CameraControl:​get_colorlut_current":"​R","​Z3RequestHandler:​post:​CameraControl:​get_colorlut_state":"​R","​Z3RequestHandler:​post:​CameraControl:​get_fpa_temp_celsius":"​R","​Z3RequestHandler:​post:​CameraControl:​get_low_delay_mode":"​R","​Z3RequestHandler:​post:​CameraControl:​get_revision":"​R","​Z3RequestHandler:​post:​CameraControl:​get_sensor_part_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_sensor_serial_number":"​R","​Z3RequestHandler:​post:​CameraControl:​get_software_rev":"​R","​Z3RequestHandler:​post:​CameraControl:​get_tnr_state":"​R","​Z3RequestHandler:​post:​CameraControl:​get_zoom_limits_mm":"​R","​Z3RequestHandler:​post:​CameraControl:​high_sensitivity_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​high_sensitivity_off":"​W","​Z3RequestHandler:​post:​CameraControl:​high_sensitivity_on":"​W","​Z3RequestHandler:​post:​CameraControl:​hlc":"​W","​Z3RequestHandler:​post:​CameraControl:​hlc_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​hr_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​hr_off":"​W","​Z3RequestHandler:​post:​CameraControl:​hr_on":"​W","​Z3RequestHandler:​post:​CameraControl:​ice_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​ice_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​icr_auto_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​icr_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​icr_mode_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​icr_threshold_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​image_freeze_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​image_freeze_off":"​W","​Z3RequestHandler:​post:​CameraControl:​image_freeze_on":"​W","​Z3RequestHandler:​post:​CameraControl:​img_blackwhite_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​img_blackwhite_off":"​W","​Z3RequestHandler:​post:​CameraControl:​img_blackwhite_on":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_hold":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_level":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_level_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_off":"​W","​Z3RequestHandler:​post:​CameraControl:​img_stabilizer_on":"​W","​Z3RequestHandler:​post:​CameraControl:​iris":"​W","​Z3RequestHandler:​post:​CameraControl:​iris_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​lens_control_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​lens_get_temp":"​R","​Z3RequestHandler:​post:​CameraControl:​lr_reverse_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​lr_reverse_off":"​W","​Z3RequestHandler:​post:​CameraControl:​lr_reverse_on":"​W","​Z3RequestHandler:​post:​CameraControl:​min_shutter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​min_shutter_limit":"​W","​Z3RequestHandler:​post:​CameraControl:​min_shutter_limit_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​min_shutter_off":"​W","​Z3RequestHandler:​post:​CameraControl:​min_shutter_on":"​W","​Z3RequestHandler:​post:​CameraControl:​mute_on_off":"​W","​Z3RequestHandler:​post:​CameraControl:​noise_2d3d":"​W","​Z3RequestHandler:​post:​CameraControl:​noise_2d3d_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​noise_reduction":"​W","​Z3RequestHandler:​post:​CameraControl:​noise_reduction_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​part_number_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​power_off":"​W","​Z3RequestHandler:​post:​CameraControl:​power_on":"​W","​Z3RequestHandler:​post:​CameraControl:​raw":"​W","​Z3RequestHandler:​post:​CameraControl:​reboot_camera":"​W","​Z3RequestHandler:​post:​CameraControl:​register_read":"​R","​Z3RequestHandler:​post:​CameraControl:​register_write":"​W","​Z3RequestHandler:​post:​CameraControl:​run_ffc":"​W","​Z3RequestHandler:​post:​CameraControl:​serial_number_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​set_low_delay_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​set_monitor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​shutter":"​W","​Z3RequestHandler:​post:​CameraControl:​shutter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​shutter_position":"​R","​Z3RequestHandler:​post:​CameraControl:​shutter_temp":"​R","​Z3RequestHandler:​post:​CameraControl:​shutter_temp_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​slow_shutter":"​W","​Z3RequestHandler:​post:​CameraControl:​slow_shutter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​slow_shutter_limit_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​spot_display":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_display_inquiry":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_meter_data_advanced":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_meter_data_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​spot_meter_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​spot_meter_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​spot_meter_pos_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​stable_zoom_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​stable_zoom_off":"​W","​Z3RequestHandler:​post:​CameraControl:​stable_zoom_on":"​W","​Z3RequestHandler:​post:​CameraControl:​tnr_disable":"​W","​Z3RequestHandler:​post:​CameraControl:​tnr_enable":"​W","​Z3RequestHandler:​post:​CameraControl:​version":"​R","​Z3RequestHandler:​post:​CameraControl:​version_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_off":"​W","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_on":"​W","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_params":"​W","​Z3RequestHandler:​post:​CameraControl:​visibility_enhancer_params_inquiry":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_auto_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_auto_trace_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_autotrace_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_get_bgain":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_get_mode":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_get_mode_name":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_get_rgain":"​R","​Z3RequestHandler:​post:​CameraControl:​wb_indoor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_bgain_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_bgain_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_rgain_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_manual_rgain_reset":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_onepush_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_onepush_trigger":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_outdoor_auto_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_outdoor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_sodium_lamp_auto_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_sodium_lamp_fixed_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​wb_sodium_lamp_outdoor_mode":"​W","​Z3RequestHandler:​post:​CameraControl:​white_hot":"​W","​Z3RequestHandler:​post:​CameraControl:​wide_dynamic_range_inquiry":"​R","​Z3RequestHandler:​post:​CameraControl:​wide_dynamic_range_off":"​W","​Z3RequestHandler:​post:​CameraControl:​wide_dynamic_range_on":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_direct":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_get_focal_length_mm":"​R","​Z3RequestHandler:​post:​CameraControl:​zoom_get_pos":"​R","​Z3RequestHandler:​post:​CameraControl:​zoom_stop":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_tele_std":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_tele_var":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_wide_std":"​W","​Z3RequestHandler:​post:​CameraControl:​zoom_wide_var":"​W","​Z3RequestHandler:​post:​DecoderStatus":"?","​Z3RequestHandler:​post:​DeleteChannel":"​W","​Z3RequestHandler:​post:​DeletePreset":"​W","​Z3RequestHandler:​post:​DisplayStatus":"?","​Z3RequestHandler:​post:​Dynamic:​analog_gain_db":"?","​Z3RequestHandler:​post:​Dynamic:​crop":"?","​Z3RequestHandler:​post:​Dynamic:​gop":"?","​Z3RequestHandler:​post:​Dynamic:​nfstrength":"?","​Z3RequestHandler:​post:​Dynamic:​pip_enable":"?","​Z3RequestHandler:​post:​Dynamic:​pip_location":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_angle":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_center_offset":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_enable":"?","​Z3RequestHandler:​post:​Dynamic:​rotate_mode":"?","​Z3RequestHandler:​post:​Dynamic:​startmulticast":"?","​Z3RequestHandler:​post:​Dynamic:​stopmulticast":"?","​Z3RequestHandler:​post:​Dynamic:​telop_text":"?","​Z3RequestHandler:​post:​Dynamic:​translate_enable":"?","​Z3RequestHandler:​post:​Dynamic:​translate_offset":"?","​Z3RequestHandler:​post:​Dynamic:​vconflict":"?","​Z3RequestHandler:​post:​Dynamic:​vrate":"?","​Z3RequestHandler:​post:​Dynamic:​vratediv":"?","​Z3RequestHandler:​post:​EjectStorage":"​W","​Z3RequestHandler:​post:​EncoderStatus":"?","​Z3RequestHandler:​post:​ErasePresets":"​W","​Z3RequestHandler:​post:​ExportPresets":"​W","​Z3RequestHandler:​post:​FactoryReset":"​W","​Z3RequestHandler:​post:​GetCameraLink":"?","​Z3RequestHandler:​post:​GetCameraTab":"?","​Z3RequestHandler:​post:​GetStatus":"?","​Z3RequestHandler:​post:​GetVideoGroup":"?","​Z3RequestHandler:​post:​GetWifiPass":"?","​Z3RequestHandler:​post:​InsQuery":"​W","​Z3RequestHandler:​post:​LoadUser":"​W","​Z3RequestHandler:​post:​Login":"​W","​Z3RequestHandler:​post:​Logout":"​W","​Z3RequestHandler:​post:​Overlay":"?","​Z3RequestHandler:​post:​OverlayStop":"​W","​Z3RequestHandler:​post:​PtzAbsoluteMove":"​W","​Z3RequestHandler:​post:​PtzAuxiliary":"​W","​Z3RequestHandler:​post:​PtzClearPreset":"​W","​Z3RequestHandler:​post:​PtzContinuousMove":"​W","​Z3RequestHandler:​post:​PtzGotoPreset":"​W","​Z3RequestHandler:​post:​PtzNewTourSpot":"​W","​Z3RequestHandler:​post:​PtzPosition":"​W","​Z3RequestHandler:​post:​PtzPreset":"​W","​Z3RequestHandler:​post:​PtzQuery":"​W","​Z3RequestHandler:​post:​PtzRemoveTourSpot":"​W","​Z3RequestHandler:​post:​PtzSetPreset":"​W","​Z3RequestHandler:​post:​PtzStartTour":"​W","​Z3RequestHandler:​post:​PtzStop":"​W","​Z3RequestHandler:​post:​RemoveJobs":"​W","​Z3RequestHandler:​post:​RestartBoard":"​W","​Z3RequestHandler:​post:​SaveCamera":"?","​Z3RequestHandler:​post:​SaveCameraBoson":"?","​Z3RequestHandler:​post:​SaveCameraDRSTamarisk":"?","​Z3RequestHandler:​post:​SaveCameraLink":"?","​Z3RequestHandler:​post:​SaveCameraLx":"?","​Z3RequestHandler:​post:​SaveCameraTau":"?","​Z3RequestHandler:​post:​SaveJobs":"​W","​Z3RequestHandler:​post:​SavePresets":"​W","​Z3RequestHandler:​post:​SaveUser":"​W","​Z3RequestHandler:​post:​SetAPConfig":"?","​Z3RequestHandler:​post:​SetAdv":"?","​Z3RequestHandler:​post:​SetAudio":"​W","​Z3RequestHandler:​post:​SetCameraLink":"​W","​Z3RequestHandler:​post:​SetConsole":"?","​Z3RequestHandler:​post:​SetDDNSEnable":"​W","​Z3RequestHandler:​post:​SetDSCP":"?","​Z3RequestHandler:​post:​SetDebugLevel":"​W","​Z3RequestHandler:​post:​SetDevName":"​W","​Z3RequestHandler:​post:​SetDisplay":"?","​Z3RequestHandler:​post:​SetEncoder":"​W","​Z3RequestHandler:​post:​SetEncoderCameraControl":"​W","​Z3RequestHandler:​post:​SetFpga":"​W","​Z3RequestHandler:​post:​SetIp":"​W","​Z3RequestHandler:​post:​SetLoginLimit":"​W","​Z3RequestHandler:​post:​SetNFS":"​W","​Z3RequestHandler:​post:​SetNMEAEnable":"?","​Z3RequestHandler:​post:​SetOnvif":"​W","​Z3RequestHandler:​post:​SetOnvifVMD":"​W","​Z3RequestHandler:​post:​SetRMF":"​W","​Z3RequestHandler:​post:​SetRTSP":"​W","​Z3RequestHandler:​post:​SetSNTP":"​W","​Z3RequestHandler:​post:​SetStartLogs":"​W","​Z3RequestHandler:​post:​SetStopLogs":"​W","​Z3RequestHandler:​post:​SetTermSrvEnable":"?","​Z3RequestHandler:​post:​SetViVpssMode":"?","​Z3RequestHandler:​post:​SetVideoGroup":"​W","​Z3RequestHandler:​post:​SetViewport":"?","​Z3RequestHandler:​post:​SetWifiAP":"?","​Z3RequestHandler:​post:​SetZFinderEnable":"​W","​Z3RequestHandler:​post:​SourceStatus":"?","​Z3RequestHandler:​post:​StartChannel":"​W","​Z3RequestHandler:​post:​StartMTS":"​W","​Z3RequestHandler:​post:​StopChannel":"​W","​Z3RequestHandler:​post:​StopMTS":"​W","​Z3RequestHandler:​post:​StreamStatus":"?","​Z3RequestHandler:​post:​TempStatus":"?","​Z3RequestHandler:​post:​UpdatePtz":"?","​Z3RequestHandler:​post:​UpdatePtzPreset":"​W","​Z3RequestHandler:​post:​UpdatePtzTourSpots":"​W","​Z3RequestHandler:​post:​UpdateTerm":"​W","​Z3RequestHandler:​post:​UpdateTermForFpga":"​W","​Z3RequestHandler:​post:​ViscaPort":"​x","​Z3RequestHandler:​post:​camera_inquiry":"?","​Z3RequestHandler:​post:​fmt_media":"​W","​Z3RequestHandler:​post:​update_require_web_login":"​W","​Z3RequestHandler:​post:​user_add":"​W","​Z3RequestHandler:​post:​user_remove":"​W","​Z3RequestHandler:​post:​user_update_level":"​W","​Z3RequestHandler:​post:​user_update_password":"​W","​Z3SSLImportHandler:​post":"​W","​Z3SnapshotHandler:​get":"​R","​Z3TabHandler:​get":"​-","​Z3UploadHandler:​post":"​W","​Z3WebSocketHandler:​get":"​R"​},"​ret":"​0","​status":"​OK","​userlevel":​0,"​username":"​admin"​} ​
 +
 +</​code>​
 +
 +----
 +
 +==== ptz ====
 +
 +----
 +
 +Get the current PTZ settings from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**token**// ​ TEXT,
 +
 +**//​node//​** ​ TEXT.
 +
 +//​**name**// ​ TEXT.
 +
 +//​**enabled**// ​ BOOLEAN.
 +
 +//​**pelcoaddr**// ​ INTEGER.
 +
 +//​**tcpport**// ​ INTEGER.
 +
 +//​**ptztype**// ​ TEXT.
 +
 +//​**flip**// ​ TEXT.
 +
 +//​**pos**// ​ TEXT.
 +
 +//​**maxtilt**// ​ INTEGER.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +PTZ response: {"​data":​[{"​id":​1,"​values":​{"​db_videosource":"​CAMERA","​enabled":​1,"​flip":"​none","​maxtilt":​90,"​name":"​videoin1","​pelcoaddr":​1,"​pos":"​simulated","​ptztype":"​relative","​rowid":​1,"​tcpport":​2000,"​token":"​ptz"​}},​{"​id":​2,"​values":​{"​db_videosource":"​CAMERA2","​enabled":​1,"​flip":"​none","​maxtilt":​90,"​name":"​videoin2","​pelcoaddr":​2,"​pos":"​simulated","​ptztype":"​relative","​rowid":​2,"​tcpport":​2000,"​token":"​ptz2"​}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Video Source","​name":"​db_videosource"​},​{"​datatype":"​text","​editable":​false,"​label":"​ONVIF Token","​name":"​token"​},​{"​datatype":"​text","​editable":​true,"​label":"​ONVIF Name","​name":"​name"​},​{"​datatype":"​bool","​editable":​true,"​label":"​Enabled","​name":"​enabled"​},​{"​datatype":"​integer","​editable":​true,"​label":"​RS485 Address","​name":"​pelcoaddr"​},​{"​datatype":"​integer","​editable":​true,"​label":"​TCP Port","​name":"​tcpport"​},​{"​datatype":"​text","​editable":​true,"​label":"​Type","​name":"​ptztype"​},​{"​datatype":"​text","​editable":​true,"​label":"​Flip","​name":"​flip"​},​{"​datatype":"​text","​editable":​true,"​label":"​Position","​name":"​pos"​},​{"​datatype":"​integer","​editable":​true,"​label":"​Max Tilt","​name":"​maxtilt"​}],"​ret":"​0"​}
 +
 +</​code>​
 +
 +----
 +
 +==== ptz_preset ====
 +
 +----
 +
 +Get the PTZ preseting values from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**profiletoken**// ​ TEXT,
 +
 +//​**token**// ​ TEXT.
 +
 +//​**name**// ​ TEXT.
 +
 +//​**pan**// ​ FLOAT.
 +
 +//​**tilt**// ​ FLOAT.
 +
 +//​**zoom**// ​ FLOAT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +PTZ Preset response: {"​data":​[{"​id":​1,"​values":​{"​action":"​blank","​name":"​home","​profiletoken":"​profile1","​rowid":​1,"​token":"​1"​}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Profile","​name":"​profiletoken"​},​{"​datatype":"​text","​editable":​false,"​label":"​PresetID","​name":"​token"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​},​{"​datatype":"​html","​editable":​false,"​label":"​Action","​name":"​action"​}],"​ret":​0}
 +
 +</​code>​
 +
 +----
 +
 +==== ptz_tour ====
 +
 +----
 +
 +Get the PTZ tour information from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**ProfileToken**// ​ TEXT,
 +
 +//​**PresetTourToken**// ​ TEXT.
 +
 +//​**name**// ​ TEXT.
 +
 +//​**autostart**// ​ BOOLEAN.
 +
 +**//​RecurringTime//​** ​ INTEGER.
 +
 +//​**RecurringDuration**// ​ TEXT.
 +
 +**//​PresetTourDirection//​** ​ INTEGER.
 +
 +//​**RandomPresetOrder**// ​ BOOLEAN.
 +
 +//​**ProfileToken**// ​ TEXT.
 +
 +//​**PresetTourToken**// ​ TEXT.
 +
 +**//​RowIndex //**  INTEGER.
 +
 +//​**PresetDetailToken**// ​ TEXT.
 +
 +//​**PresetDetailHome**// ​ BOOLEAN.
 +
 +//​**StayTime**// ​ TEXT.
 +
 +//​**pan**// ​ FLOAT.
 +
 +//​**tilt**// ​ FLOAT.
 +
 +//​**zoom**// ​ FLOAT.
 +
 +//​**pspeed**// ​ FLOAT.
 +
 +//​**tspeed**// ​ FLOAT.
 +
 +//​**zspeed**// ​ FLOAT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +PTZ tour response: {"​preset":​{"​data":​[{"​id":​1,"​values":​{"​name":"​home","​pan":​0,"​profiletoken":"​profile1","​rowid":​1,"​tilt":​0,"​token":"​1","​zoom":​0}}],"​metadata":​[{"​datatype":"​text","​editable":​true,"​label":"​Profiletoken","​name":"​profiletoken"​},​{"​datatype":"​text","​editable":​true,"​label":"​Token","​name":"​token"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​},​{"​datatype":"​real","​editable":​true,"​label":"​Pan","​name":"​pan"​},​{"​datatype":"​real","​editable":​true,"​label":"​Tilt","​name":"​tilt"​},​{"​datatype":"​real","​editable":​true,"​label":"​Zoom","​name":"​zoom"​}]},"​ret":​0,"​spot":​{"​data":​[],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Profile","​name":"​ProfileToken"​},​{"​datatype":"​text","​editable":​false,"​label":"​Tour","​name":"​PresetTourToken"​},​{"​datatype":"​text","​editable":​true,"​label":"​Preset","​name":"​PresetDetailToken"​},​{"​datatype":"​text","​editable":​true,"​label":"​StayTime","​name":"​StayTime"​},​{"​datatype":"​integer","​editable":​false,"​label":"​RowIndex","​name":"​RowIndex"​},​{"​datatype":"​html","​editable":"​false","​label":"​Action","​name":"​action"​}]},"​tour":​{"​data":​[{"​id":​1,"​values":​{"​PresetTourToken":"​1","​ProfileToken":"​profile1","​name":"​tour1","​rowid":​1}},​{"​id":​2,"​values":​{"​PresetTourToken":"​2","​ProfileToken":"​profile1","​name":"​tour2","​rowid":​2}},​{"​id":​3,"​values":​{"​PresetTourToken":"​3","​ProfileToken":"​profile1","​name":"​tour3","​rowid":​3}},​{"​id":​4,"​values":​{"​PresetTourToken":"​4","​ProfileToken":"​profile1","​name":"​tour4","​rowid":​4}},​{"​id":​5,"​values":​{"​PresetTourToken":"​5","​ProfileToken":"​profile1","​name":"​tour5","​rowid":​5}},​{"​id":​6,"​values":​{"​PresetTourToken":"​6","​ProfileToken":"​profile1","​name":"​tour6","​rowid":​6}},​{"​id":​7,"​values":​{"​PresetTourToken":"​7","​ProfileToken":"​profile1","​name":"​tour7","​rowid":​7}},​{"​id":​8,"​values":​{"​PresetTourToken":"​8","​ProfileToken":"​profile1","​name":"​tour8","​rowid":​8}},​{"​id":​9,"​values":​{"​PresetTourToken":"​9","​ProfileToken":"​profile1","​name":"​tour9","​rowid":​9}},​{"​id":​10,"​values":​{"​PresetTourToken":"​10","​ProfileToken":"​profile1","​name":"​tour10","​rowid":​10}},​{"​id":​11,"​values":​{"​PresetTourToken":"​11","​ProfileToken":"​profile1","​name":"​tour11","​rowid":​11}},​{"​id":​12,"​values":​{"​PresetTourToken":"​12","​ProfileToken":"​profile1","​name":"​tour12","​rowid":​12}},​{"​id":​13,"​values":​{"​PresetTourToken":"​13","​ProfileToken":"​profile1","​name":"​tour13","​rowid":​13}},​{"​id":​14,"​values":​{"​PresetTourToken":"​14","​ProfileToken":"​profile1","​name":"​tour14","​rowid":​14}},​{"​id":​15,"​values":​{"​PresetTourToken":"​15","​ProfileToken":"​profile1","​name":"​tour15","​rowid":​15}},​{"​id":​16,"​values":​{"​PresetTourToken":"​16","​ProfileToken":"​profile1","​name":"​tour16","​rowid":​16}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​profile1","​name":"​ProfileToken"​},​{"​datatype":"​text","​editable":​false,"​label":"​TourID","​name":"​PresetTourToken"​},​{"​datatype":"​text","​editable":​true,"​label":"​Name","​name":"​name"​}]}}
 +
 +</​code>​
 +
 +----
 +
 +==== snmp ====
 +
 +----
 +
 +Get the Simple Network Management Protocol values from the Database
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**power_trap_en**// ​ INTEGER,
 +
 +//​**input_loss_trap_en**// ​ INTEGER.
 +
 +//​**input_recover_trap_en**// ​ INTEGER.
 +
 +//​**temp_high_trap_en**// ​ INTEGER.
 +
 +//​**temp_recover_trap_en**// ​ INTEGER.
 +
 +//​**high_temp**// ​ INTEGER.
 +
 +//​**nominal_temp**// ​ INTEGER.
 +
 +//​**high_temp_suppress**// ​ INTEGER.
 +
 +//​**nominal_temp_suppress**// ​ INTEGER.
 +
 +//​**trap_hosts**// ​ INTEGER.
 +
 +//​**snmp_v3_en** // INTEGER.
 +
 +//​**snmp_v3_user**// ​ TEXT.
 +
 +//​**snmp_v3_passwd**// ​ TEXT.
 +
 +//​**snmp_v3_usrpro**// ​ TEXT.
 +
 +**//​snmp_v3_encrypt//​** ​ INTEGER.
 +
 +**//​snmp_v3_encrypt_passwd//​** ​ TEXT.
 +
 +**//​snmp_v3_encpro//​** ​ TEXT.
 +
 +**//​snmp_v3_engineid//​** ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +SNMP response: {"​high_temp":​80,"​high_temp_suppress":​30,"​input_loss_trap_en":​0,"​input_recover_trap_en":​0,"​nominal_temp":​60,"​nominal_temp_suppress":​30,"​power_trap_en":​0,"​ret":"​0","​snmp_v3_en":​0,"​snmp_v3_encpro":"​des","​snmp_v3_encrypt":​0,"​snmp_v3_encrypt_passwd":"​z3password","​snmp_v3_engineid":"","​snmp_v3_passwd":"​z3password","​snmp_v3_user":"​z3user","​snmp_v3_usrpro":"​md5","​temp_high_trap_en":​0,"​temp_recover_trap_en":​0,"​trap_hosts":"​192.168.0.6"​}
 +
 +</​code>​
 +
 +----
 +
 +==== ssl ====
 +
 +----
 +
 +Get the Secure Socket Layer settings from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**https_enable**// ​ TEXT,
 +
 +//​**http_enable**// ​ TEXT.
 +
 +//​**https_port**// ​ INTEGER.
 +
 +//​**http_port**// ​ INTEGER.
 +
 +//​**cert_status**// ​ TEXT.
 +
 +**//​key_status//​** ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +SSL response: {"​cert_status":"​Unavailable","​http_enable":"​on","​http_port":​80,"​https_enable":"​off","​https_port":​443,"​key_status":"​Unavailable","​ret":"​0"​}
 +
 +</​code>​
 +
 +----
 +
 +==== stats ====
 +
 +----
 +
 +Get the available memory infromation from the device.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**mem_free_kb**// ​ TEXT,
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +STATUS response: {"​astream_status_str":"​\tChannel 1 Codec fdk_aaclc Samplerate 48000 Input MIC Frames 546732 \tChannel 11 Codec fdk_aaclc Samplerate 48000 Input MIC Frames 545860 +OK","​encoder_status_str":" ​  *** Encode Bitstream Received Statistics ***    CH | Bitrate (Kbps) | Actual Bitrate | FPS  | Actual FPS | Key-frame FPS | Width | Height ​  ​------------------------------------------------------------------------------------------------------------ ​  1 |        6000.00 |        6006.33 | 29.97 |    29.97 |           0.5 |  3840 |   ​2160 ​ | +OK","​mem_free_kb":​670856,"​ret":"​0","​source_status_str":"​+CAMERA 3840x2160p 29.97 fps\n","​status":"​OK","​stream_status_str":"​Channel 1 Codec H265-(HEVC) URL rtsp Frames 348194 +OK","​temp_status_str":"​+LENS 29 +CPU 38.0 +OK"}
 +
 +</​code>​
 +
 +----
 +
 +==== sys ====
 +
 +----
 +
 +Get the current system settings from the Database and the ip information from the device.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**local_ip**// ​ TEXT,
 +
 +//​**local_netmask**// ​ TEXT.
 +
 +//​**preset**// ​ TEXT.
 +
 +//​**enc_channels**// ​ TEXT.
 +
 +//​**opmode**// ​ TEXT.
 +
 +//​**username**// ​ TEXT.
 +
 +//​**userlevel**// ​ TEXT.
 +
 +//​**do_autostart**// ​ BOOLEAN.
 +
 +//​**syspassword**// ​ TEXT.
 +
 +//​**session_id**// ​ TEXT.
 +
 +//​**disp_std** // TEXT.
 +
 +//​**disp_std2**// ​ TEXT.
 +
 +//​**disp_input**// ​ TEXT.
 +
 +//​**disp_mode**// ​ TEXT.
 +
 +//​**disp_layout**// ​ TEXT.
 +
 +**//​enc_adv_setting//​** ​ TEXT.
 +
 +**//​enc_vivpss_mode_enable//​** ​ TEXT.
 +
 +//​**enable_sntp**// ​ TEXT.
 +
 +//​**sntp_servers**// ​ TEXT.
 +
 +//​**enable_snmp**// ​ TEXT.
 +
 +//​**sysdevicename**// ​ TEXT.
 +
 +//​**timezone**// ​ TEXT.
 +
 +//​**timezone_name**// ​ TEXT.
 +
 +//​**termserve_remote_enable**// ​ TEXT.
 +
 +//​**termserve_shared_enable**// ​ TEXT.
 +
 +//​**zfinder_enable**// ​ TEXT.
 +
 +//​**diff_serve**// ​ INTEGER.
 +
 +//​**enable_ptp**// ​ TEXT.
 +
 +//​**ptp_role**// ​ TEXT.
 +
 +//​**nmea_enable**// ​ TEXT.
 +
 +//​**nfs_enable**// ​ TEXT.
 +
 +//​**nfs_server **//  TEXT.
 +
 +//​**nfs_server_root**// ​ TEXT.
 +
 +//​**ddns_enable**// ​ TEXT.
 +
 +//​**ddns_provider**// ​ TEXT.
 +
 +//​**ddns_username**// ​ TEXT.
 +
 +//​**ddns_password**// ​ TEXT.
 +
 +//​**rtspd_port**// ​ INTEGER.
 +
 +//​**rtspd_timeout**// ​ INTEGER.
 +
 +//​**maxlogin**// ​ INTEGER.
 +
 +//​**login_window**// ​ INTEGER.
 +
 +//​**lockout_interval**// ​ INTEGER.
 +
 +//​**login_timeout**// ​ INTEGER.
 +
 +//​**require_web_login**// ​ BOOLEAN.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +SYSTEM response: {"​ANALOG_analog_gain_db":​7,"​MICL_analog_gain_db":​-12,"​MIC_analog_gain_db":​7,"​console_enable":"​on","​ddns_enable":"​off","​ddns_hostname":"","​ddns_password":"","​ddns_provider":"​freedns","​ddns_username":"","​diff_serve":​0,"​disp_input":"​primary","​disp_layout":"​1x1","​disp_mode":"​ultrahd","​disp_std":"​auto","​disp_std2":"​auto","​do_autostart":​1,"​enable_ptp":"​false","​enable_snmp":"​false","​enable_sntp":"​true","​enc_adv_setting":"​off","​enc_vivpss_mode_enable":"​off","​local_ip":"​192.168.10.127","​local_netmask":"​255.255.255.0","​lockout_interval":​900,"​login_timeout":​900,"​login_window":​900,"​maxlogin":​3,"​nfs_enable":"​off","​nfs_server":"​192.168.1.6","​nfs_server_root":"/​c/​media","​nmea_enable":"​off","​pe0":"​encoder","​pe1":"","​pe2":"","​pe3":"","​pe4":"","​pe5":"","​pe6":"","​pe7":"","​pe8":"","​ptp_role":"​auto","​require_web_login":​0,"​ret":"​0","​rtspd_port":​554,"​rtspd_timeout":​60,"​session_id":"​---","​sntp_servers":"​pool.ntp.org","​sysdevicename":"​Z3Cam","​syspassword":"","​termserve_remote_enable":"​on","​termserve_shared_enable":"​on","​timezone":"​CST6CDT,​M3.2.0,​M11.1.0","​timezone_name":"​America/​Chicago","​userlevel":​0,"​username":"​admin","​wifi_exists":​false,"​zfinder_enable":"​on"​}
 +
 +</​code>​
 +
 +----
 +
 +==== term ====
 +
 +----
 +
 +Get the remote terminal information from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +**//​term_mode//​** ​ TEXT,
 +
 +**//​term_protocol//​** ​ TEXT.
 +
 +//​**term_localport**// ​ TEXT.
 +
 +//​**term_servaddr**// ​ TEXT.
 +
 +//​**term_servport**// ​ TEXT.
 +
 +**//​term_data_bits//​** ​ TEXT.
 +
 +//​**term_parity**// ​ TEXT.
 +
 +//​**term_stop_bits**// ​ TEXT.
 +
 +//​**term_baudrate**// ​ TEXT.
 +
 +**//​term_devicefile//​** ​ TEXT.
 +
 +//​**term_function**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +TERM response: {"​data":​[{"​id":​1,"​values":​{"​rowid":​1,"​term_baudrate":"​2400","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS4","​term_function":"​rs485","​term_localport":"​2000","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​2,"​values":​{"​rowid":​2,"​term_baudrate":"​9600","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS2","​term_function":"​camera1_visca","​term_localport":"​1000","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​3,"​values":​{"​rowid":​3,"​term_baudrate":"​9600","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS3","​term_function":"​off","​term_localport":"​1001","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​4,"​values":​{"​rowid":​4,"​term_baudrate":"​115200","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS1","​term_function":"​user","​term_localport":"​1500","​term_parity":"​None","​term_stop_bits":"​1"​}},​{"​id":​5,"​values":​{"​rowid":​5,"​term_baudrate":"​115200","​term_data_bits":"​8","​term_devicefile":"/​dev/​ttyS0","​term_function":"​console","​term_localport":"​1800","​term_parity":"​None","​term_stop_bits":"​1"​}}],"​metadata":​[{"​datatype":"​text","​editable":​true,"​label":"​Serial Port","​name":"​term_devicefile"​},​{"​datatype":"​text","​editable":​true,"​label":"​Baud Rate","​name":"​term_baudrate"​},​{"​datatype":"​text","​editable":​true,"​label":"​Data Bits","​name":"​term_data_bits"​},​{"​datatype":"​text","​editable":​true,"​label":"​Parity","​name":"​term_parity"​},​{"​datatype":"​text","​editable":​true,"​label":"​Stop Bits","​name":"​term_stop_bits"​},​{"​datatype":"​text","​editable":​true,"​label":"​Function","​name":"​term_function"​},​{"​datatype":"​text","​editable":​true,"​label":"​TCP Port","​name":"​term_localport"​}],"​ret":"​0"​}
 +
 +</​code>​
 +
 +----
 +
 +==== users ====
 +
 +----
 +
 +Get the ONVIF user information and the permission level from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**Name**// ​ TEXT,
 +
 +//​**Level**// ​ INTEGER.
 +
 +//​**Password**// ​ TEXT.
 +
 +//​**Password_MD5**// ​ TEXT.
 +
 +//​**Password_SHA256**// ​ TEXT.
 +
 +//​**Password_SHA512_256**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +USERS response: {"​data":​[{"​id":​1,"​values":​{"​Level":"​0","​Name":"​admin","​action":"​blank","​rowid":​1}},​{"​id":​2,"​values":​{"​Level":"​7","​Name":"​guest","​action":"​blank","​rowid":​2}}],"​metadata":​[{"​datatype":"​text","​editable":​false,"​label":"​Name","​name":"​Name"​},​{"​datatype":"​text","​editable":​true,"​label":"​Level","​name":"​Level"​},​{"​datatype":"​html","​editable":​false,"​label":"​Action","​name":"​action"​}],"​ret":​0}
 +
 +</​code>​
 +
 +----
 +
 +==== video_group ====
 +
 +----
 +
 +Get the current video group settings from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the channel number. The default is Camera 1. Select between connected cameras. Possible values: 1 = Camera 1, 2 = Camera 2.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**vgroup**// ​ INTEGER.
 +
 +**//​crop_enable//​** ​ TEXT.
 +
 +**//​crop_width//​** ​ INTEGER.
 +
 +**//​crop_height//​** ​ INTEGER.
 +
 +**//​crop_x//​** ​ INTEGER.
 +
 +**//​crop_y//​** ​ INTEGER.
 +
 +//​**nr_enable**// ​ TEXT.
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Video Group response: {"​crop_enable":"​off","​crop_height":​0,"​crop_width":​0,"​crop_x":​0,"​crop_y":​0,"​nr_enable":"​off","​ret":"​0","​vgroup":​1}
 +
 +</​code>​
 +
 +----
 +
 +==== wifi ====
 +
 +----
 +
 +Get the Wifi details from the device and wifi client information from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**networks**// ​ TEXT,
 +
 +//​**cur_network**// ​ TEXT,
 +
 +//​**cur_pass**// ​ TEXT,
 +
 +//​**ap_pass**// ​ TEXT,
 +
 +//​**ap_pass_en **//  BOOLEAN.
 +
 +//​**ap_ssid**// ​ TEXT,
 +
 +**//​wifi_client_local_ip//​** ​ TEXT,
 +
 +//​**wifi_client_local_netmask**// ​ TEXT.
 +
 +//​**wifi_client_default_gw**// ​ TEXT.
 +
 +//​**wifi_client_use_dhcp**// ​ BOOLEAN.
 +
 +----
 +
 +==== zoomStepSize ====
 +
 +----
 +
 +Get the current camera zoom step values from the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +//​**chn**// ​ Get the channel number. The default is Camera 1. Select between connected cameras. Possible values: 1 = Camera 1, 2 = Camera 2.
 +=== Returns: ===
 +
 +----
 +
 +JSON formatted table with values below
 +
 +//​**ret**// ​ Custom return code of the HTTP POST request. 0 on success, -1 on failure.
 +
 +//​**zoom_step_size**// ​ INTEGER,
 +
 +----
 +
 +=== Command to execute: ​ ===
 +
 +<​code>​
 +
 +python3 status_DIGEST_ARGPARSE.py -ip 192.168.10.127 -username admin -passwd admin
 +
 +</​code>​
 +
 +----
 +
 +=== Example output: ===
 +
 +<​code>​
 +
 +Zoom Step Size response: {"​ret":"​0","​size":​1}
 +
 +</​code>​
 +
 +----
 +
 +====== File Upload for MFR or UPD Image Control ======
 +
 +===== Upload Image (POST) =====
 +
 +----
 +
 +Upload the z3 image for e.g. (z3-30-0139-mfr.img or z3-30-0139-upd.img) in the z3 device.
 +
 +Before uploading the new image, it checks, whether the device has enough free memory or not and removes the coredump files. If the image is *mfr.img then it removes the default database from the data partition. If its *upd.img then it will not remove the database values.
 +
 +Note:\\
 +It takes approximately 5 minutes to update; DO NOT SEND ANY OTHER API Commands after uploading the image for at least 5 minutes. (time.sleep(300) or equivalent in scripts)
 +
 +=== Parameters: ===
 +
 +----
 +
 +**//​img_file//​** ​ Get the file name which needs to be flashed in the z3 device.
 +=== Returns: ===
 +
 +----
 +
 +Flash the image and reboot the device.
 +
 +Note:\\
 +It takes approximately 5 minutes to update; DO NOT SEND ANY OTHER API Commands after uploading the image for at least 5 minutes. (time.sleep(300) or equivalent in scripts)
 +
 +----
 +
 +====== Download File and Remove File Control ======
 +
 +See **download_remove** to remove files from the **Generic Actions (POST) **action
 ===== Download Media (GET) ===== ===== Download Media (GET) =====
  
Line 11460: Line 17860:
  
 ---- ----
- 
  
 ===== download.html to get list of downloadable files ===== ===== download.html to get list of downloadable files =====
Line 11542: Line 17941:
  
 valid options are: valid options are:
 +
 +quality **=[20-100]**
  
 * *size** =[any supported valid resolution]** * *size** =[any supported valid resolution]**
Line 11571: Line 17972:
  
 </​code>​ </​code>​
 +
  
 ===== Reading Statistics ===== ===== Reading Statistics =====
Line 11682: Line 18084:
  
 if args.ip: if args.ip:
-  server_url='​http://'​+args.ip+  server_url='​http://'​ args.ip
 elif args.ip_address:​ elif args.ip_address:​
-  server_url='​http://'​+args.ip_address+  server_url='​http://'​ args.ip_address
  
 if args.username:​ if args.username:​
   auth=HTTPDigestAuth(args.username,​args.passwd)   auth=HTTPDigestAuth(args.username,​args.passwd)
  
-control_cgi_url = server_url ​'/​cgi-bin/​control.cgi'​+control_cgi_url = server_url ​  ​'/​cgi-bin/​control.cgi'​
 channel = 1 channel = 1
 headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​} headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
Line 11766: Line 18168:
  
 if args.ip: if args.ip:
-  server_url='​http://'​+args.ip+  server_url='​http://'​ args.ip
 elif args.ip_address:​ elif args.ip_address:​
-  server_url='​http://'​+args.ip_address+  server_url='​http://'​ args.ip_address
  
 if args.username:​ if args.username:​
   auth=HTTPDigestAuth(args.username,​args.passwd)   auth=HTTPDigestAuth(args.username,​args.passwd)
  
-control_cgi_url = server_url ​'/​cgi-bin/​control.cgi'​+control_cgi_url = server_url ​  ​'/​cgi-bin/​control.cgi'​
 channel = 1 channel = 1
 headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​} headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
Line 11861: Line 18263:
  
 if args.ip: if args.ip:
-  server_url='​http://'​+args.ip+  server_url='​http://'​ args.ip
 elif args.ip_address:​ elif args.ip_address:​
-  server_url='​http://'​+args.ip_address+  server_url='​http://'​ args.ip_address
  
 if args.username:​ if args.username:​
   auth=HTTPDigestAuth(args.username,​args.passwd)   auth=HTTPDigestAuth(args.username,​args.passwd)
  
-control_cgi_url = server_url ​'/​cgi-bin/​control.cgi'​+control_cgi_url = server_url ​  ​'/​cgi-bin/​control.cgi'​
 channel = 1 channel = 1
 headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​} headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
Line 11962: Line 18364:
 print(args) print(args)
 if args.ip: if args.ip:
-  server_url='​http://'​+args.ip+  server_url='​http://'​ args.ip
 elif args.ip_address:​ elif args.ip_address:​
-  server_url='​http://'​+args.ip_address+  server_url='​http://'​ args.ip_address
 # Set Zoom STEP # Set Zoom STEP
 zooms=args.zs;​ zooms=args.zs;​
Line 11971: Line 18373:
 if args.username:​ if args.username:​
   auth=HTTPDigestAuth(args.username,​args.passwd)   auth=HTTPDigestAuth(args.username,​args.passwd)
-control_cgi_url = server_url ​'/​cgi-bin/​control.cgi'​+control_cgi_url = server_url ​  ​'/​cgi-bin/​control.cgi'​
 channel = 1 channel = 1
 headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​} headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
Line 12170: Line 18572:
 print(args) print(args)
 if args.ip: if args.ip:
-  server_url='​http://'​+args.ip+  server_url='​http://'​ args.ip
 elif args.ip_address:​ elif args.ip_address:​
-  server_url='​http://'​+args.ip_address+  server_url='​http://'​ args.ip_address
 # Set Zoom STEP # Set Zoom STEP
 zooms=args.z;​ zooms=args.z;​
Line 12179: Line 18581:
 if args.username:​ if args.username:​
   auth=HTTPDigestAuth(args.username,​args.passwd)   auth=HTTPDigestAuth(args.username,​args.passwd)
-control_cgi_url = server_url ​'/​cgi-bin/​control.cgi'​+control_cgi_url = server_url ​  ​'/​cgi-bin/​control.cgi'​
 channel = 1 channel = 1
 headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​} headers = {'​Content-Type':'​application/​x-www-form-urlencoded;​charset=UTF-8'​}
 if zoomstep == True: if zoomstep == True:
-    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_wide_var '+zooms;+    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_wide_var ' zooms;
     rs = http_request(payload)     rs = http_request(payload)
     print_immediately(     print_immediately(
Line 12211: Line 18613:
       )       )
     )     )
-    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_tele_var '+zooms;+    payload='​action=CameraControl&​interface=Visca&​cam_index=1&​command=zoom_tele_var ' zooms;
     rs = http_request(payload)     rs = http_request(payload)
     print_immediately(     print_immediately(
Line 12335: Line 18737:
  
 </​code>​ </​code>​
 +
 +
 +
 +
 +
 +==== InsQuery ====
 +
 +----
 +
 +Querry the PTZ values for the angle.
 +
 +== Parameters: ==
 +
 +----
 +
 +**//​data//​** ​ Read the json table and retrieve the index and querry type. Possible querry are YawAngle, PitchAngle, RollAngle, All.
 +
 +//​**YawAngle **//  provide the yaw angle value from the PTZ.
 +
 +//​**PitchAngle**// ​ provide the pitch angle value from the PTZ.
 +
 +//​**RollAngle**// ​ provide the roll angle value from the PTZ.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== LoadUser ====
 +
 +----
 +
 +Load the active preset value from the Database and update in the state table database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**enc_current_preset**// ​ Get the preset row and check the opermation mode. The operation modes are encoder / decoder.
 +
 +//​**cur_preset **//  Provide the current presetting values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== Login ====
 +
 +----
 +
 +Set the password for the login user.
 +
 +== Parameters: ==
 +
 +----
 +
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== Logout ====
 +
 +----
 +
 +Logout from the system and update in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**Authorization**// ​ Get the permission level.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== Overlay ====
 +
 +----
 +
 +Add/Update the overlay values in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +
 +**//​rgn_idx//​** ​ Index to map overlay. The region index value can be in the range of 1 to 16. Ambarella provides 16 total color look-up tables for Overlay, rgn_idx signifies which color look-up table is in use.
 +
 +//​**​type**// ​ Type of overlay to be used possible values: text or png.
 +
 +//​**source**// ​ In the case of text overlay this would be the source text for png overlay this is the path to the png on the encoder. Images must be uploaded to board to be used.
 +
 +//​**location**// ​ This is the location of the overlay. Possible values: '​top_left',​ '​top_right',​ '​top_center',​ '​bottom_left',​ '​bottom_right',​ '​bottom_center',​ '​x,​y'​ (negative numbers not supported for x or y).
 +
 +//​**char_size**// ​ For text overlay this is the character size. Possible values: 16,32,64, 128.
 +
 +//​**layer**// ​ This will set the layer for the overly higher numbers will overlay over lower numbers if overlapping.
 +
 +**//​alpha//​** ​ Sets the transparency of the text. Possible values: 0-255.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== OverlayStop ====
 +
 +----
 +
 +Stop overlay.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +
 +//​**rgn_idx**// ​ ​Index of overly for this channel.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzAbsoluteMove ====
 +
 +----
 +
 +Send absolute move command to the PTZ.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value. The mode values can be Pan, tilt, and  Zoom.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzAuxiliary ====
 +
 +----
 +
 +Send PTZ auxiliary value to the PTZ.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzClearPreset ====
 +
 +----
 +
 +Remove the Ptz preset values for the user.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position and speed value. The mode values can be Pan, tilt, and  Zoom.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzContinuousMove ====
 +
 +----
 +
 +Send continous move command to the PTZ.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzGotoPreset ====
 +
 +----
 +
 +Send preset value to PTZ.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzNewTourSpot ====
 +
 +----
 +
 +Get the new tour spot and update in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzPosition ====
 +
 +----
 +
 +Move the Ptz to the input position
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzPreset ====
 +
 +----
 +
 +Preset the Ptz based on the value.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzQuery ====
 +
 +----
 +
 +Get the ptz status and degree value from the ptz
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzRemoveTourSpot ====
 +
 +----
 +
 +Remove the ptz tour spot
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzSetPreset ====
 +
 +----
 +
 +Set the preseting value in the PTZ
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzStartTour ====
 +
 +----
 +
 +Start the PTZ tour
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== PtzStop ====
 +
 +----
 +
 +Stop the PTZ
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the mode, position, speed value, ptz_timeout,​ profile token.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== RemoveJobs ====
 +
 +----
 +
 +Delete the schedule jobs from the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**purgelist**// ​ List of schedule jobs to be removed.
 +
 +//​**rowcnt**// ​ Number of rows.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== RestartBoard ====
 +
 +----
 +
 +Read the operation mode. Whether its encoding / decoding. Stop the channel encoding and restart the board
 +
 +== Parameters: ==
 +
 +----
 +
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SaveCamera ====
 +
 +----
 +
 +Saving the camera settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +**//​zoom_direct_value//​** ​ Zoom value. Possible values: 0 (wide) to 0x7ac0 (full zoom)
 +
 +//​**white_balance_mode**// ​ White balance mode. Default value is auto. Possible values: auto / manual / indoor/ one-push / auto trace / sodium lamp auto / sodium lamp fixed / sodium lamp outdoor.
 +
 +//​**color_gain**// ​ color gain. Default value is 4. Possible values: Range from 0 (60%) to 14 (200%)
 +
 +//​**color_hue**// ​ color hue. Default value is 7. Possible values: Range from 0 (60%) to 14 (200%)
 +
 +//​**chroma_suppress**// ​ Chroma suppress. Default value is 1. Possible values: 0=none, 1, 2, 3
 +
 +//​**wb_manual_rgain_direct**// ​ white balance manual red gain. Default value is 190. Possible values: 0 to 255
 +
 +//​**wb_manual_bgain_direct **//  white balance manual blue gain. Default value is 190. Possible values: 0 to 255
 +
 +//​**optical_zoom_only **//  optical zoom only. Default value is 0. Possible values: 0, 1
 +
 +//​**focus_direct_value**// ​ focus direct value. Default value is 4096. Possible values: 0x1000 to 0xf000
 +
 +//​**manual_focus **//  Manual focus. Default value is auto. Possible values: auto, manual
 +
 +//​**exposure_mode **//  Exposure mode. Default value is 0. Possible values: 0 - Auto, 10 - Shutter Priority, 11 - Iris -Priority, 3 - Manual.
 +
 +//​**shutter**// ​ Shutter. Default value is 7.
 +
 +//**iris **//  Iris. Default value is 0.
 +
 +//​**gain**// ​ Gain. Default value is 0.
 +
 +//​**high_sensitivity**// ​ high sensitivity value. Default value is 3. Possible values 0, 1.
 +
 +//​**hlc_level **//  hlc level. Default value is 0. Possible values in range 0 to 3.
 +
 +**hlc_level_mask** mask value of hlc level. Default value is 0. Possible values 0, 1.
 +
 +//​**stable_zoom**// ​ stable zoom on or off. Default value is off.
 +
 +//**eflip **//  Default value is 5. Possible values 0, 1.
 +
 +//​**lr_reverse **//  Default value is 0. Possible values 0, 1.
 +
 +//​**monitor_mode **//  Default value is 1080p-59.94.
 +
 +//​**genlock_source **//  Default value is 2.
 +
 +//​**zoom_step_size **//  Default value is 4. Possible values in range (1 - 7).
 +
 +//​**focus_step_size **//  Default value is 1. Possible values in range (0 - 7).
 +
 +//​**manual_icr **//  Default value is Off. Possible values: On, Off, Auto, Auto Color
 +
 +//​**img_freeze **//  Default value is 0. Possible values: 0, 1.
 +
 +//**hr_mode **//  High resolution mode. Default value is 0. Possible values: 0, 1.
 +
 +//​**img_stabilizer ** //Default value is 0. Possible values 0, 1.
 +
 +//​**img_bw** //Image black white. Default value is 0. Possible values 0, 1.
 +
 +//​**nr_2d_level **//  Default value is 5. Possible values in range (0 - 5).
 +
 +//​**nr_3d_level** //Default value is 4. Possible values in range (0 - 5).
 +
 +//​**icr_threshold** //Default value is 14. Possible values in range (0-255 for 4K camera, 0-28 for HD camera).
 +
 +//​**slow_shutter** //Default value is 0. Possible values: 0, 1.
 +
 +//​**slow_shutter_limit **//  Default value is 4. Possible values in range: (1 to 6)
 +
 +//​**flicker_reduction** //Default value is 0. Possible values: 0, 1.
 +
 +//​**img_stabilizer_level** //Default value is 0. Possible values: 0, 2.
 +
 +//​**wide_dynamic_range** //Default value is 3.
 +
 +//​**ve_brightness** //Default value is 3. Possible values in range: 0, 6.
 +
 +//​**ve_compensation_type** //Default value is 2. Possible values in range: 0, 3.
 +
 +//​**ve_compensation_level **//  Default value is 1. Possible values in range: 0, 2.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SaveCameraBoson ====
 +
 +----
 +
 +Save color pallete settings of boson camera in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**color_pallette**// ​ Color pallete. Default value is whitehot.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SaveCameraDRSTamarisk ====
 +
 +----
 +
 +Save color pallete settings of DRS Tamarisk camera in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**color_pallette**// ​ Color pallete. Default value is whitehot.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SaveCameraLink ====
 +
 +----
 +
 +Saving camera link settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**pxl_format**// ​ Pixel format. Default value is 1.
 +
 +//​**color_table**// ​ Color table. Default value is whitehot.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SaveCameraLx ====
 +
 +----
 +
 +Saving camera Lx settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**SONY_ExposureMode**// ​ Exposure Mode. Default value is 32852. Possible values: 32848 (Program Auto), 32849 (Aperture Priority), 32850 (Shutter Priority), 32851 (Manual Exposure), 32852 (Intelligent Auto).
 +
 +//​**SONY_ShutterSpeed**// ​ Shutter speed. Defualt value is NULL.
 +
 +//​**SONY_ISO**// ​ ISO. Defualt value is NULL.
 +
 +//​**SONY_ExposureComp**// ​ Exposure comp. Defualt value is NULL.
 +
 +//​**SONY_WhiteBalance**// ​ White balance. Defualt value is NULL.
 +
 +//​**SONY_ColorTemp**// ​ Color temperature. Defualt value is NULL.
 +
 +//​**SONY_APS_C**// ​ APS_C. Defualt value is NULL.
 +
 +//​**SONY_NtscPalSelect**// ​ NTSC / PAL selection. Defualt value is NULL.
 +
 +//​**SONY_MovieSteadyMode**// ​ Movie steady mode. Defualt value is NULL.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SaveCameraTau ====
 +
 +----
 +
 +Saving camera TAU settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**color_table **//  color table value .
 +
 +//​**is_active**// ​ Active/​Deactive. Default value is 0.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SaveJobs ====
 +
 +----
 +
 +Save the schedule jobs in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**data **//  Parse the JSON formatted data and retrieve the schedule activities.//​**.** //
 +
 +//​**rowcnt**// ​ Get the number of row count.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SavePresets ====
 +
 +----
 +
 +Check the operation mode whether its in encoder or decoder. Save the preseting value of the mode in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**dec_current_preset **//  Save the decoder current preseting values.
 +
 +//​**enc_current_preset**// ​ Save the encoder current preseting values.
 +
 +//​**preset**// ​ Settings for encoder or decoder.
 +
 +//​**enc_channels **//  Number of channels. Maximum number of channels is 2 for decoder and 4 for encoder.
 +
 +//​**opmode**// ​ Operation mode. Default is Encoder. Possible values: Encoder / Decoder.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SaveUser ====
 +
 +----
 +
 +Save the state, preset, encoder/​decoder settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +**//​enc_current_preset//​** ​ Get the encoder preseting values for the current channel.
 +
 +**//​dec_current_preset//​** ​ Get the decoder preseting values for the current channel.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetAdv ====
 +
 +----
 +
 +Save the encoder advance settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**enc_adv_setting **//  Get the encoder advance setting values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetAPConfig ====
 +
 +----
 +
 +Set the wifi and its password.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**passwd **//  Get the wifi password
 +
 +//​**passwden**// ​ Get wifi enable / disable. Default value is disable.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetAudio ====
 +
 +----
 +
 +Save the audio input settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**aport **//  Get the audio port. Default value is MIC. Possible values are MIC , MICL
 +
 +//​**analog_gain_db**// ​ Get the analog gain decibal value. Default value is 0. The value ranges are -97 to 30.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetCameraLink ====
 +
 +----
 +
 +Save the color table and pixel format values in the Database and set the color table and pixel format in the fpga.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**val **//  Get the value for color table and pixel format.
 +
 +//**opt **//  The options are color table and pixel format.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetConsole ====
 +
 +----
 +
 +Set the console value as ttyAMA0 or none.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**console_enable **//  Get console value is enabled / disabled.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetDDNSEnable ====
 +
 +----
 +
 +Set the Dynamic Domain Name System settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**ddns_enable **//  Get the ddns enable value. Default value is Off. Possible values; (On, Off)
 +
 +//​**ddns_provider **//  Get the ddns provider. Default value is freedns. Possible values: //​(//​freedns,​ freemyip, dyn, domains.google.com,​ duckdns.org,​ no-ip.com, tunnelbroker.net,​ dynv6.com, cloudxnv.net,​ dnspod.cn, cloudflare.com).
 +
 +//​**ddns_username **//  Provide the username.
 +
 +//​**ddns_password ** //Provide the password.
 +
 +//​**ddns_hostname ** //Hostname for DDNS login.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetDebugLevel ====
 +
 +----
 +
 +Set the logging level. The setting is persistent.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**sysdebuglevel **//  Get the system debug level. Possible values 0=None, 1=Error, 2=Information,​ 3=Diagnostics,​ 4=Codeflow, 5=Dataflow.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetDevName ====
 +
 +----
 +
 +Set the device name in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**sysdevicename **//  Get the system device name.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetDisplay ====
 +
 +----
 +
 +Controls composite output (passthru video from camera).
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**disp_std **//  Get display standard for encoder. Default value is Auto.
 +
 +//​**disp_input **//  Get display input for encoder. Default value is MACRO_DEFAULT_DISP_INPUT.
 +
 +//​**save_only**// ​ Possible values: (True / False)
 +
 +//​**disp_layout **//  Display layout for decoder. Default value is 1×1.
 +
 +//​**disp_mode **//  Display mode for decoder. Default value is UltraHD.
 +
 +//​**disp_std2 **//  Display standard for decoder. Default value is auto.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetDSCP ====
 +
 +----
 +
 +Set the DSCP configuration settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**diff_serve**// ​ Get the DSCP configuration value. Default value is 0x00. Possible values are ( 0x00, 0xB8, 0x88, 0x90, 0x98, 0x80, 0x68, 0x70, 0x78, 0x60, 0x48, 0x50, 0x58, 0x28, 0x30, 0x38, 0x01).
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetFpga ====
 +
 +----
 +
 +Set the fpga settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**fpgafileglob**// ​ Get fpga value. Possible values are (boson / cvbs / tamarisk / tau2).
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetIp ====
 +
 +----
 +
 +Control networking settings of the Z3 device such as local IPv4 IP address, netmask, etc. Additionally control Encoder Auto-Start after boot-up and enable/​disable showing of advanced WebUI settings.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**do_autostart**// ​ Control automatic stream start after bootup. Possible values: 1 = do autostart 0 = do not autostart.
 +
 +//​**enc_adv_setting**// ​ Control appearance of advanced settings on WebUI. Possible values: off, on.
 +
 +//​**ipmtu**// ​ Control Ethernet IP Maximum Transmission Unit (MTU) size in bytes. Possible values: 576 to 1500.
 +
 +//​**eth_speed**// ​ Control Gigabit Ethernet auto-negotiation allowed speeds. Possible values: AUTO, AUTO-100, 1000, 100, 10.
 +
 +//​**eth_duplex**// ​ Control Ethernet auto-negotiation allowed duplex. Possible values: AUTO, FULL, HALF.
 +
 +//​**local_ip**// ​ IPv4 address.
 +
 +//​**local_netmask**// ​ IPv4 netmask.
 +
 +//​**default_gw**// ​ IPv4 default gateway.
 +
 +//​**local_dnsip**// ​ DNS server primary.
 +
 +//​**local_dnsip2**// ​ DNS server secondary.
 +
 +//​**use_dhcp**// ​ Controls use of DHCP or static IP. Possible values: 1 (DHCP enabled), 0 (DHCP disabled, use static IP).
 +
 +//​**local_hostname**// ​ Network hostname.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetLoginLimit ====
 +
 +----
 +
 +Set the login limit settings in the Database
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**maxlogin**// ​ mximum number of login limit. Possible value in range (3 to 99 ).
 +
 +//​**login_window**// ​ Login window period, the value are considered in seconds. Possible value in range (60 to 32768).
 +
 +//​**lockout_interval**// ​ Lockout interval values are mentioned in seconds, which is used when maximum number of login limit is reached. Possible value in range (-1 to 32768)
 +
 +//​**login_timeout**// ​ Login timeout
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetNFS ====
 +
 +----
 +
 +Set the NFS settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**nfs_enable**// ​ Enable/​Disable nfs
 +
 +//​**nfs_server**// ​ Get the nfs server ip address. Default is 192.168.1.6
 +
 +//​**nfs_server_root**// ​ Get the server root path / location.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetSNTP ====
 +
 +----
 +
 +Set SNTP (Simple Network Time Protocol) settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**enable**// ​ Enable/​Disable SNTP. Possible value: true, false. Default value true.
 +
 +**//​servers//​** ​ NTP server or list of NTP servers.
 +
 +//​**timezone**// ​ Linux TZ database value for Timezone.
 +
 +//​**timezone_name**// ​ Name for a time zone. Default is America/​Chicago.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetSNMP ====
 +
 +----
 +
 +Set the SNMP settings in the database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**power_trap_en**// ​ Enable/​Disable power trap.
 +
 +//​**input_loss_trap_en **//  Enable/​Disable input loss trap.
 +
 +//​**input_recover_trap_en**// ​ Enable/​Disable input recover trap.
 +
 +//​**temp_high_trap_en**// ​ Enable/​Disable temp high trap.
 +
 +//​**temp_recover_trap_en**// ​ Enable/​Disable temperature recover trap.
 +
 +//​**trap_hosts **//  Trap hosts ipaddress. Default ip address value is 192.168.0.6.
 +
 +//​**high_temp_suppress**// ​ hiigh temperature. Default value is 30.
 +
 +//​**nominal_temp_suppress**// ​ nominal temperature default value is 30.
 +
 +//​**snmp_v3_en**// ​ Enable/​Disable SNMP
 +
 +//​**snmp_v3_encrypt **//  SNMP v3 encrypt value.
 +
 +//​**snmp_v3_user **//  z3user.
 +
 +//​**snmp_v3_passwd **//  z3password.
 +
 +//​**snmp_v3_usrpro **//  snmp v3 usrpro default value is md5.
 +
 +//​**snmp_v3_encrypt_passwd **//  z3password.
 +
 +//​**snmp_v3_encpro **//  decrypt value.
 +
 +//​**snmp_v3_engineid **//  Default value for engineid is 0.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetNMEAEnable ====
 +
 +----
 +
 +Save the GPS NMEA enable/​disable value in the Database.
 +
 +=== Parameters: ===
 +
 +----
 +
 +**//​nmea_enable//​** ​ Enable/​Disable the NMEA. Possible value: on, off.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetOnvif ====
 +
 +----
 +
 +Save the ONVIF settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**fixed_profile_max**// ​ Get the Maximum ONVIF profiles to allow (1 or 2).
 +
 +//​**en_persistent_audio **//  Enable/​Disable ONVIF persistent audio channel.
 +
 +//​**onvif_enable**// ​ Enable/​Disable ONVIF.
 +
 +//​**list_all_video_sources **//  List all the video source.
 +
 +//​**ptz_timeout **//  Get the PTZ timeout values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetOnvifVMD ====
 +
 +----
 +
 +Save the ONVIF video motion detection and too darkness settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**vmd_enable **//  Enable/​Disable video motion detection.
 +
 +//​**vmd_sens**// ​ sensitivity value required for vmd. Possible value in range: (1 to 100).
 +
 +//​**vmd_zone_modify **//  Enable/​Disable video motion and too darkness zone coordinates.
 +
 +//​**vmd_vcrop_width **//  crop width of the coordinates.
 +
 +//​**vmd_vcrop_height**// ​ crop height for VMD and too_darkness.
 +
 +//​**vmd_vcrop_x **//  crop startx for VMD and too_darkness.
 +
 +//​**vmd_vcrop_y **//  crop starty for VMD and too_darkness.
 +
 +//​**td_enable **//  Enable/​Disable too darkness.
 +
 +//​**td_thresh **//  Threshold value for too darkness. Possible values in range: 1 to 100.
 +
 +//​**vmd_td_channel **//  Get the channel number. Possible values: 1, 2.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetRTSP ====
 +
 +----
 +
 +Set the RTSP settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**rtspd_port**// ​ Get rtsp port. Default value is 554.
 +
 +//​**rtspd_timeout**// ​ Timeout value required for the rtsp connection.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetTermSrvEnable ====
 +
 +----
 +
 +Sett the term server value in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**termserve_remote_enable**// ​ Enable/​Disable remote access to terminal server. Possible values are : on, off.
 +
 +//​**termserve_shared_enable**// ​ Enable/​Disable shared access to terminal server. Possible values are : on, off.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetVideoGroup ====
 +
 +----
 +
 +Set the video group configuration settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//**group **//  Video config groups. Default value 0.
 +
 +//​**nr_enable**// ​ Enable / Disable NR. Default value is on. Possible value: on/off.
 +
 +//​**crop_enable**// ​ Enabled / Disable the crop.
 +
 +//​**crop_x**// ​ Crop x coordinates.
 +
 +//​**crop_y**// ​ Crop y coordinates.
 +
 +//​**crop_width**// ​ Crop width
 +
 +//​**crop_height **//  Crop height
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetViewport ====
 +
 +----
 +
 +Set the view port for the decoder and update in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +
 +//​**viewport**// ​ viewport settings. The default value is fit.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetViVpssMode ====
 +
 +----
 +
 +Set the ViVpss mode settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**enc_vivpss_mode_enable **//  Enable/​Disable the vivpss mode. Default value is off. Possible values: on, off.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetWifiAP ====
 +
 +----
 +
 +Set the wifi network settings in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**ssid**// ​ Get the Wifi service set identifier value.
 +
 +//​**psk**// ​ Get the Wifi password.
 +
 +//​**wifi_client_local_ip**// ​ Local IP addres.
 +
 +//​**wifi_client_local_local_netmask**// ​ Subnet mask for Wifi network.
 +
 +//​**wifi_client_default_gw**// ​ Default Gateway be used for Wifi Network.
 +
 +//​**wifi_client_use_dhcp**// ​ DHCP server used with Wifi network for DNS resolutions.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== SetZFinderEnable ====
 +
 +----
 +
 +Save ZFinder enable / disable in the Databse.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**zfinder_enable**// ​ Get ZFinder enable/​disable value. Possible values: off, on
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== StartChannel ====
 +
 +----
 +
 +Start the encoder channel and update the state as running in the Database. Once you start the channel, it will not transmit data until the video input is detected.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +
 +//​**actv_preset ** //
 +
 +//**vsource **//  video source. Default value is Camera1. Possible values: Camera1 / Camer2 / HDMI1.
 +
 +//​**vres**// ​ video resolution. Default value is Follow Input. Possible values: Follow Input, 3840 x 2160, 1920 x 1080, 1440 x 1080, 1280 x 1024, 1280 x 720, 1024 x 768, 960 x 720, 1024 x 576.
 +
 +//**vcodec **//  video codec. Default value is H265. Possible values: H265, H264, MJPEG, none.
 +
 +//**vgdr **//  video gradual data refresh. Default value is on. Possible value on, off.
 +
 +//​**vprofile**// ​ video profile. Default value is high. Possible value high, main, baseline.
 +
 +//​**vratectrl**// ​ video rate control. Default value is cbr. Possible value cbr, vbr.
 +
 +**vbitrate** video bit rate.
 +
 +//​**vframeratediv**// ​ video frame rate. Default value is 1. Possible values: 1 (Full), 2 (Half), 4 (Quarter), 6 (Sixth).
 +
 +//​**vgopsize **//  video group of picture size. Default value is 60. Possible values: 1 (1 Frame Only), 5 (5 Frames), 8 (8 Frames), 10 (10 Frames), 12 (12 Frames), 15 (15 Frames), 25 (25 Frames), 30 (30 Frames), 50 (50 Frames), 60 (60 Frames), 90 (90 Frames), 100 (100 Frames), 120 (120 Frames), 200 (200 Frames), 240 (240 Frames).
 +
 +//​**vprotocol**// ​ video protocol.
 +
 +//​**vdest**// ​ video destination port.
 +
 +//**vpid **//  video packet identifier. Default value is 221.
 +
 +//​**vdelay**// ​ video delay. Default value is 300.
 +
 +//​**pcrpid**// ​ PCR packet identifier. Default value is 521.
 +
 +//​**pcrinterval**// ​ Default value is 50.
 +
 +//​**pmtpid**// ​ program map table packet identifier. Default value is 31.
 +
 +//​**tsrate**// ​ bit rate for transport stream. Default value is 5000K.
 +
 +//​**tslowlat **//  transport stream low latency mode. Default value is off. Possible values: on, off.
 +
 +//​**feconoff **//  Forward error correction in transport stream enable/ disable. Default value is off. Possible values: on, off.
 +
 +//**fecrow **//  Forward error correction row. Default value is 1.
 +
 +//**feccol **//  Forward error correction column, Default value is 5.
 +
 +//​**zixioverhead **//  ZIXI Forward Error Correction total overhead as a percentage of transport rate. Default value is 15.
 +
 +//​**zixilatency**// ​ ZIXI target latency (to allow ARQ) in milliseconds. Default value is 500.
 +
 +//​**zixifecblock**// ​ ZIXI Forward Error Correction block size in milliseconds. Max value is 1/2 of Zixi Latency. Default value is 50.
 +
 +//​**zixirateadjen**// ​ ZIXI dynamic bitrate adjustment according to network conditions. Default value is on. Possible values: on, off.
 +
 +//​**zixiauthen**// ​ ZIXI dynamic authentication enable/​disable . Default value is off. Possible values: on, off.
 +
 +//​**zixisession **//  ZIXI session id. Default value is test.
 +
 +//​**zixiuser **//  ZIXI user identifier. Default value is user.
 +
 +//**aenable **//  Audio enable/​disable. Default value is on. Possible values: on, off.asource. Default value is MICL.
 +
 +//​**apair**// ​ Stereo pair select for digital inputs. Default value is 0. Possible values: (0 (1+2), 1 (3+4), 2 (5+6), 3 (7+8), 260 (1+2,3+4), 548 (1+2,​3+4,​5+6),​ 1252 (1+2,​3+4,​5+6,​7+8)).
 +
 +//​**acodec**// ​ Audio codec. Default value is fdk_aaclc.
 +
 +//​**abitrate**// ​ Audio bit rate. Default value is 128000.
 +
 +//​**asamplerate **//  Audio sample rate. Default value is 48000.
 +
 +//**aport **//  Audio port. Default value is 8700.
 +
 +//**apid **//  Audio packet identifier. Default value is 120.
 +
 +//​**aptspcr**// ​ Maximum difference between the PTS and PCR in the audio stream Default value is 250.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== StartMTS ====
 +
 +----
 +
 +Start the MTS.
 +
 +== Parameters: ==
 +
 +----
 +
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== StopChannel ====
 +
 +----
 +
 +Stop the encoder channel and update the state in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**chn**// ​ Get the encoder channel number. The default is encoder channel 1. Select between encoder channels. Possible values: 1, 2, 3, or 4.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== StopMTS ====
 +
 +----
 +
 +Stop the MTS.
 +
 +== Parameters: ==
 +
 +----
 +
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== TempStatus ====
 +
 +----
 +
 +Get the current temperature status for CPU and lense.
 +
 +== Parameters: ==
 +
 +----
 +
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== update_require_web_login ====
 +
 +----
 +
 +Update/​Change whether web login credential required or not in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**require**// ​ Required web login value. Possible values: 1 or 0
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== UpdatePtz ====
 +
 +----
 +
 +Update the PTZ value in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**data**// ​ Parse the JSON formatted data and retrieve the PTZ values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== UpdatePtzPreset ====
 +
 +----
 +
 +Update the PTZ preset value in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**data**// ​ Parse the JSON formatted data and retrieve the PTZ preset values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +==== UpdatePtzTourSpots ====
 +
 +----
 +
 +Update the PTZ tour spots value in the Database.
 +
 +== Parameters: ==
 +
 +----
 +
 +//​**data**// ​ Parse the JSON formatted data and retrieve the PTZ tour spots values.
 +== Returns: ==
 +
 +----
 +
 +JSON formatted table with values below
 +
 +**//​ret//​** ​ Custom return code of the HTTP POST request. 0 on success, 1 on failure.
 +
 +**//​status//​** ​ String describing the failure when **ret** is 1. "​OK"​ on success.
 +
 +----
 +
 +
http_api.1710869676.txt.gz · Last modified: 2024/03/19 17:34 by admin