home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.7k stars 30.45k forks source link

Reolink TrackMix WiFi – not all streams are available as camera entities #89156

Closed mariusz-schimke closed 1 year ago

mariusz-schimke commented 1 year ago

The problem

I have a Reolink TrackMix WiFi camera. When I added the Reolink integration to Home Assistant, I got three camera entities:

However, the camera has two lenses, and there should actually be four channels (if I understand the logic correctly) — two channels for the first lens (clean and fluent as they call in their apps), and the same for the second lens. I'm not sure what the snapshots camera is, but I guess that it's an extra entity that is refreshed with a lower frequency to not overload the CPU.

The thing is that the second channel is a tracking one, so when the camera detects an object by AI, it zooms and follows it. I think it could be useful with the Plate Recognizer add-on for example, to take a snapshot of a vehicle when it is detected and focused at by the camera.

I'm wondering if you could add support for the missing channel. The thing is that I have an impression the API has a bug and reports that the camera has only one channel (unless my understanding of the term 'channel' is wrong in this context).

For instance, this is what I get when requesting GetDevInfo:

[
   {
      "cmd" : "GetDevInfo",
      "code" : 0,
      "value" : {
         "DevInfo" : {
            "B485" : 0,
            "IOInputNum" : 0,
            "IOOutputNum" : 0,
            "audioNum" : 1,
            "buildDay" : "build 23022701",
            "cfgVer" : "v3.0.0.0",
            "channelNum" : 1,
            "detail" : "IPC_[removed]",
            "diskNum" : 1,
            "exactType" : "WIFI_SOLO_IPC",
            "firmVer" : "v3.0.0.1817_23022701",
            "frameworkVer" : 1,
            "hardVer" : "IPC_529SD78MP",
            "model" : "Reolink TrackMix WiFi",
            "name" : "Front",
            "pakSuffix" : "pak,paks",
            "serial" : "[removed]",
            "type" : "SD7",
            "wifi" : 1
         }
      }
   }
]

Also GetChannelstatus returns only one channel:

[
   {
      "cmd" : "GetChannelstatus",
      "code" : 0,
      "value" : {
         "count" : 1,
         "status" : [
            {
               "channel" : 0,
               "name" : "Front",
               "online" : 1,
               "typeInfo" : "Reolink TrackMix WiFi"
            }
         ]
      }
   }
]

However, when I request GetEnc for param.channel 0, then 1 and 2 consecutively, I get what follows:

[
   {
      "cmd" : "GetEnc",
      "code" : 0,
      "value" : {
         "Enc" : {
            "audio" : 1,
            "channel" : 0,
            "mainStream" : {
               "bitRate" : 4096,
               "frameRate" : 15,
               "gop" : 1,
               "height" : 2160,
               "profile" : "High",
               "size" : "3840*2160",
               "vType" : "h265",
               "width" : 3840
            },
            "subStream" : {
               "bitRate" : 1228,
               "frameRate" : 15,
               "gop" : 1,
               "height" : 512,
               "profile" : "High",
               "size" : "896*512",
               "vType" : "h264",
               "width" : 896
            }
         }
      }
   }
]
[
   {
      "cmd" : "GetEnc",
      "code" : 0,
      "value" : {
         "Enc" : {
            "audio" : 1,
            "channel" : 1,
            "mainStream" : {
               "bitRate" : 3072,
               "frameRate" : 15,
               "gop" : 2,
               "height" : 1080,
               "profile" : "High",
               "size" : "1080P",
               "vType" : "h265",
               "width" : 1920
            },
            "subStream" : {
               "bitRate" : 768,
               "frameRate" : 15,
               "gop" : 4,
               "height" : 512,
               "profile" : "High",
               "size" : "896*512",
               "vType" : "h264",
               "width" : 896
            }
         }
      }
   }
]
[
   {
      "cmd" : "GetEnc",
      "code" : 1,
      "error" : {
         "detail" : "check err",
         "rspCode" : -3
      }
   }
]

The last example is for channel 2 which does not exist.

Do you think it is a bug in the API that prevents the integration from generating camera entities for all existing streams?

What version of Home Assistant Core has the issue?

2023.3.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Reolink IP NVR/camera

Link to integration documentation on our website

https://www.home-assistant.io/integrations/reolink/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 1 year ago

Hey there @starkillerog, mind taking a look at this issue as it has been labeled with an integration (reolink) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `reolink` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign reolink` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


reolink documentation reolink source (message by IssueLinks)

starkillerOG commented 1 year ago

@mariusz-schimke thank you for reporting this issue, you have done a very thorough investigation already.

The snapshots camera will do a snapshot request every (i think) second and get a image from the camera. In this way a stream can be generated from pictures. The refresh rate is realy low, but the lattency is very good.

You are right, I would expect this TrackMix camera to have 2 channels (0 and 1) just like a NVR has 8 or 16 channels. And you are also right this is a firmware bug:

The channelNum of the GetDevInfo schould be 2 not 1. The GetChannelstatus schould have 2 entries in the list, not 1. That is why the HomeAssistant integration is only setting up a single camera entity.

I will speak to my contacts at Reolink about the firmware of the TrackMix.

Maybe you could also put in a firmware bug report to Reolink Support: https://support.reolink.com/hc/en-us/requests/new

starkillerOG commented 1 year ago

@mariusz-schimke maybe you could try out the following python script (fill in IP, username and password for the camera) and post the debug logs here: import logging import asyncio from reolink_aio import api

_LOGGER = logging.getLogger(__name__)
logging.basicConfig(level="DEBUG")

IP = '192.168.1.FILL_THIS_IN'
username = 'FILL_THIS_IN'
password = 'FILL_THIS_IN'

async def asyncio_demo(loop):
    host = api.Host(host=IP, username=username, password=password)

    # Obtain/cache NVR or camera settings and capabilities, like model name, ports, HDD size, etc:
    await host.get_host_data()
    print(host._channels)
    host._channels = [0, 1]
    await host.get_states()
    await host.logout()

if __name__ == "__main__":
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    loop.run_until_complete(asyncio_demo(loop))

This will overwrite the retrieved channels in a dirty way to see if getting the states of both the 0 and 1st channel all works properly.

mariusz-schimke commented 1 year ago

@starkillerOG, thanks for your response and support! I let Reolink know about the issue and I'm waiting for a response now.

I ran the script and got the following output:

DEBUG:asyncio:Using selector: KqueueSelector
DEBUG:reolink_aio.api:Host 192.168.100.30:443, trying to login with user home-assistant...
DEBUG:reolink_aio.api:Unknown/192.168.100.30:443::send() HTTP Request params =
{'cmd': 'Login', 'token': 'null'}

DEBUG:reolink_aio.api:Unknown/192.168.100.30:443::send() HTTP Request body =
[{'cmd': 'Login', 'action': 0, 'param': {'User': {'userName': 'home-assistant', 'password': '<password>'}}}]

DEBUG:reolink_aio.api:Unknown/192.168.100.30:443::send() HTTP Response status = 200, content-type = (text/html).
DEBUG:reolink_aio.api.data:Unknown/192.168.100.30:443::send() HTTP Response data:
[
   {
      "cmd" : "Login",
      "code" : 0,
      "value" : {
         "Token" : {
            "leaseTime" : 3600,
            "name" : "3531c1b35d63600"
         }
      }
   }
]

DEBUG:reolink_aio.api:Got login response from 192.168.100.30:443: [{'cmd': 'Login', 'code': 0, 'value': {'Token': {'leaseTime': 3600, 'name': '3531c1b35d63600'}}}]
DEBUG:reolink_aio.api:Logged in at host 192.168.100.30:443. Leasetime 05-03-2023 12:37, token 3531c1b35d63600
DEBUG:reolink_aio.api:Unknown/192.168.100.30:443::send() HTTP Request params =
{'token': '3531c1b35d63600'}

DEBUG:reolink_aio.api:Unknown/192.168.100.30:443::send() HTTP Request body =
[{'cmd': 'Getchannelstatus'}, {'cmd': 'GetDevInfo', 'action': 0, 'param': {}}, {'cmd': 'GetLocalLink', 'action': 0, 'param': {}}, {'cmd': 'GetNetPort', 'action': 0, 'param': {}}, {'cmd': 'GetHddInfo', 'action': 0, 'param': {}}, {'cmd': 'GetUser', 'action': 0, 'param': {}}, {'cmd': 'GetNtp', 'action': 0, 'param': {}}, {'cmd': 'GetTime', 'action': 0, 'param': {}}, {'cmd': 'GetAbility', 'action': 0, 'param': {'User': {'userName': 'home-assistant'}}}]

DEBUG:reolink_aio.api:Unknown/192.168.100.30:443::send() HTTP Response status = 200, content-type = (text/html).
DEBUG:reolink_aio.api.data:Unknown/192.168.100.30:443::send() HTTP Response data:
[
   {
      "cmd" : "GetChannelstatus",
      "code" : 0,
      "value" : {
         "count" : 1,
         "status" : [
            {
               "channel" : 0,
               "name" : "Front",
               "online" : 1,
               "typeInfo" : "Reolink TrackMix WiFi"
            }
         ]
      }
   },
   {
      "cmd" : "GetDevInfo",
      "code" : 0,
      "value" : {
         "DevInfo" : {
            "B485" : 0,
            "IOInputNum" : 0,
            "IOOutputNum" : 0,
            "audioNum" : 1,
            "buildDay" : "build 23022701",
            "cfgVer" : "v3.0.0.0",
            "channelNum" : 1,
            "detail" : "IPC_[__MASKED__]",
            "diskNum" : 1,
            "exactType" : "WIFI_SOLO_IPC",
            "firmVer" : "v3.0.0.1817_23022701",
            "frameworkVer" : 1,
            "hardVer" : "IPC_[__MASKED__]",
            "model" : "Reolink TrackMix WiFi",
            "name" : "Front",
            "pakSuffix" : "pak,paks",
            "serial" : "[__MASKED__]",
            "type" : "SD7",
            "wifi" : 1
         }
      }
   },
   {
      "cmd" : "GetLocalLink",
      "code" : 0,
      "value" : {
         "LocalLink" : {
            "activeLink" : "Wifi",
            "dns" : {
               "auto" : 1,
               "dns1" : "192.168.100.1",
               "dns2" : ""
            },
            "mac" : "60:fb:00:a7:96:80",
            "static" : {
               "gateway" : "192.168.100.1",
               "ip" : "192.168.100.30",
               "mask" : "255.255.255.0"
            },
            "type" : "DHCP"
         }
      }
   },
   {
      "cmd" : "GetNetPort",
      "code" : 0,
      "value" : {
         "NetPort" : {
            "httpEnable" : 0,
            "httpPort" : 80,
            "httpsEnable" : 1,
            "httpsPort" : 443,
            "mediaPort" : 9000,
            "onvifEnable" : 1,
            "onvifPort" : 8000,
            "rtmpEnable" : 1,
            "rtmpPort" : 1935,
            "rtspEnable" : 1,
            "rtspPort" : 554
         }
      }
   },
   {
      "cmd" : "GetHddInfo",
      "code" : 0,
      "value" : {
         "HddInfo" : [
            {
               "capacity" : 237727,
               "format" : 1,
               "mount" : 1,
               "number" : 0,
               "size" : 183251,
               "storageType" : 2
            }
         ]
      }
   },
   {
      "cmd" : "GetUser",
      "code" : 0,
      "value" : {
         "User" : [
            {
               "level" : "admin",
               "userName" : "admin"
            },
            {
               "level" : "guest",
               "userName" : "agata"
            },
            {
               "level" : "admin",
               "userName" : "synology"
            },
            {
               "level" : "admin",
               "userName" : "home-assistant"
            }
         ]
      }
   },
   {
      "cmd" : "GetNtp",
      "code" : 0,
      "value" : {
         "Ntp" : {
            "enable" : 1,
            "interval" : 1440,
            "port" : 123,
            "server" : "pool.ntp.org"
         }
      }
   },
   {
      "cmd" : "GetTime",
      "code" : 0,
      "value" : {
         "Dst" : {
            "enable" : 1,
            "endHour" : 3,
            "endMin" : 0,
            "endMon" : 10,
            "endSec" : 0,
            "endWeek" : 5,
            "endWeekday" : 0,
            "offset" : 1,
            "startHour" : 2,
            "startMin" : 0,
            "startMon" : 3,
            "startSec" : 0,
            "startWeek" : 5,
            "startWeekday" : 0
         },
         "Time" : {
            "day" : 5,
            "hour" : 11,
            "hourFmt" : 0,
            "min" : 37,
            "mon" : 3,
            "sec" : 28,
            "timeFmt" : "DD/MM/YYYY",
            "timeZone" : -3600,
            "year" : 2023
         }
      }
   },
   {
      "cmd" : "GetAbility",
      "code" : 0,
      "value" : {
         "Ability" : {
            "3g" : {
               "permit" : 0,
               "ver" : 0
            },
            "abilityChn" : [
               {
                  "aiTrack" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "aiTrackDogCat" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "alarmAudio" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "alarmIoIn" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "alarmIoOut" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "alarmMd" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "alarmRf" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "batAnalysis" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "battery" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "cameraMode" : {
                     "permit" : 6,
                     "ver" : 0
                  },
                  "disableAutoFocus" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "enc" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "floodLight" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "ftp" : {
                     "permit" : 6,
                     "ver" : 6
                  },
                  "image" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "indicatorLight" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "isp" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "isp3Dnr" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "ispAntiFlick" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "ispBackLight" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "ispBright" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "ispContrast" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "ispDayNight" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "ispExposureMode" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "ispFlip" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "ispHue" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "ispMirror" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "ispSatruation" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "ispSharpen" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "ispWhiteBalance" : {
                     "permit" : 6,
                     "ver" : 0
                  },
                  "ledControl" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "live" : {
                     "permit" : 4,
                     "ver" : 2
                  },
                  "mainEncType" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "mask" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "mdTriggerAudio" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "mdTriggerRecord" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "mdWithPir" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "osd" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "powerLed" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "ptzCtrl" : {
                     "permit" : 7,
                     "ver" : 2
                  },
                  "ptzDirection" : {
                     "permit" : 1,
                     "ver" : 1
                  },
                  "ptzPatrol" : {
                     "permit" : 7,
                     "ver" : 0
                  },
                  "ptzPreset" : {
                     "permit" : 7,
                     "ver" : 1
                  },
                  "ptzTattern" : {
                     "permit" : 7,
                     "ver" : 0
                  },
                  "ptzType" : {
                     "permit" : 0,
                     "ver" : 3
                  },
                  "recCfg" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "recDownload" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "recReplay" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "recSchedule" : {
                     "permit" : 6,
                     "ver" : 2
                  },
                  "shelterCfg" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "snap" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAIDenoise" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAITrackLimit" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAITrackSchedule" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAi" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAiAnimal" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "supportAiDetectConfig" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAiDogCat" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAiFace" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "supportAiPeople" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAiSensitivity" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAiStayTime" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAiTargetSize" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAiTrackClassify" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAiVehicle" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportAoAdjust" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportAutoTrackStream" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportDigitalZoom" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportFLBrightness" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportFLIntelligent" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportFLKeepOn" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "supportFLSchedule" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportFLswitch" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportFocus" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "supportGop" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportGuardPointImage" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportImportExportImage" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportMd" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportPt" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportPtzCalibration" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportPtzCheck" : {
                     "permit" : 6,
                     "ver" : 0
                  },
                  "supportPtzPresetImage" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportPtzSpeed" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportThresholdAdjust" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportWhiteDark" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "supportZoom" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "supportZoomAndFocusSliderCfg" : {
                     "permit" : 0,
                     "ver" : 1
                  },
                  "videoClip" : {
                     "permit" : 0,
                     "ver" : 0
                  },
                  "waterMark" : {
                     "permit" : 6,
                     "ver" : 1
                  },
                  "white_balance" : {
                     "permit" : 6,
                     "ver" : 0
                  }
               }
            ],
            "alarmAudio" : {
               "permit" : 6,
               "ver" : 1
            },
            "alarmDisconnet" : {
               "permit" : 6,
               "ver" : 1
            },
            "alarmHddErr" : {
               "permit" : 6,
               "ver" : 1
            },
            "alarmHddFull" : {
               "permit" : 6,
               "ver" : 1
            },
            "alarmIpConflict" : {
               "permit" : 6,
               "ver" : 1
            },
            "auth" : {
               "permit" : 6,
               "ver" : 1
            },
            "autoMaint" : {
               "permit" : 6,
               "ver" : 1
            },
            "cloudStorage" : {
               "permit" : 0,
               "ver" : 0
            },
            "customAudio" : {
               "permit" : 1,
               "ver" : 1
            },
            "dateFormat" : {
               "permit" : 6,
               "ver" : 1
            },
            "ddns" : {
               "permit" : 6,
               "ver" : 9
            },
            "ddnsCfg" : {
               "permit" : 6,
               "ver" : 1
            },
            "devInfo" : {
               "permit" : 4,
               "ver" : 1
            },
            "devName" : {
               "permit" : 6,
               "ver" : 2
            },
            "disableAutoFocus" : {
               "permit" : 0,
               "ver" : 0
            },
            "disk" : {
               "permit" : 0,
               "ver" : 0
            },
            "display" : {
               "permit" : 6,
               "ver" : 1
            },
            "email" : {
               "permit" : 6,
               "ver" : 3
            },
            "emailInterval" : {
               "permit" : 6,
               "ver" : 1
            },
            "emailSchedule" : {
               "permit" : 6,
               "ver" : 1
            },
            "exportCfg" : {
               "permit" : 4,
               "ver" : 0
            },
            "ftpAutoDir" : {
               "permit" : 6,
               "ver" : 1
            },
            "ftpExtStream" : {
               "permit" : 0,
               "ver" : 0
            },
            "ftpPic" : {
               "permit" : 0,
               "ver" : 0
            },
            "ftpSubStream" : {
               "permit" : 6,
               "ver" : 1
            },
            "ftpTest" : {
               "permit" : 6,
               "ver" : 0
            },
            "hourFmt" : {
               "permit" : 6,
               "ver" : 2
            },
            "http" : {
               "permit" : 6,
               "ver" : 3
            },
            "httpFlv" : {
               "permit" : 6,
               "ver" : 1
            },
            "https" : {
               "permit" : 6,
               "ver" : 3
            },
            "importCfg" : {
               "permit" : 1,
               "ver" : 0
            },
            "ipcManager" : {
               "permit" : 6,
               "ver" : 1
            },
            "ledControl" : {
               "permit" : 7,
               "ver" : 1
            },
            "localLink" : {
               "permit" : 6,
               "ver" : 1
            },
            "log" : {
               "permit" : 6,
               "ver" : 1
            },
            "mediaPort" : {
               "permit" : 6,
               "ver" : 1
            },
            "ntp" : {
               "permit" : 6,
               "ver" : 1
            },
            "online" : {
               "permit" : 6,
               "ver" : 1
            },
            "onvif" : {
               "permit" : 6,
               "ver" : 3
            },
            "p2p" : {
               "permit" : 6,
               "ver" : 1
            },
            "performance" : {
               "permit" : 4,
               "ver" : 1
            },
            "pppoe" : {
               "permit" : 6,
               "ver" : 0
            },
            "push" : {
               "permit" : 6,
               "ver" : 1
            },
            "pushSchedule" : {
               "permit" : 6,
               "ver" : 1
            },
            "reboot" : {
               "permit" : 1,
               "ver" : 1
            },
            "recExtensionTimeList" : {
               "permit" : 6,
               "ver" : 1
            },
            "recOverWrite" : {
               "permit" : 6,
               "ver" : 1
            },
            "recPackDuration" : {
               "permit" : 6,
               "ver" : 0
            },
            "recPreRecord" : {
               "permit" : 6,
               "ver" : 1
            },
            "restore" : {
               "permit" : 1,
               "ver" : 1
            },
            "rtmp" : {
               "permit" : 6,
               "ver" : 3
            },
            "rtsp" : {
               "permit" : 6,
               "ver" : 3
            },
            "scheduleVersion" : {
               "permit" : 6,
               "ver" : 1
            },
            "sdCard" : {
               "permit" : 6,
               "ver" : 1
            },
            "showQrCode" : {
               "permit" : 6,
               "ver" : 0
            },
            "simMoudule" : {
               "permit" : 6,
               "ver" : 0
            },
            "supportAudioAlarm" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportAudioAlarmEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportAudioAlarmSchedule" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportAudioAlarmTaskEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportBuzzer" : {
               "permit" : 0,
               "ver" : 0
            },
            "supportBuzzerEnable" : {
               "permit" : 0,
               "ver" : 0
            },
            "supportBuzzerTask" : {
               "permit" : 0,
               "ver" : 0
            },
            "supportBuzzerTaskEnable" : {
               "permit" : 0,
               "ver" : 0
            },
            "supportEmailEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportEmailTaskEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpCoverPicture" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpCoverVideo" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpDirYM" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpPicCaptureMode" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpPicResoCustom" : {
               "permit" : 6,
               "ver" : 0
            },
            "supportFtpPictureSwap" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpTask" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpTaskEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpVideoSwap" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportFtpsEncrypt" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportHttpEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportHttpsEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportOnvifEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportPushInterval" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportRecScheduleEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportRecordEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportRtmpEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "supportRtspEnable" : {
               "permit" : 6,
               "ver" : 1
            },
            "talk" : {
               "permit" : 4,
               "ver" : 1
            },
            "time" : {
               "permit" : 6,
               "ver" : 2
            },
            "tvSystem" : {
               "permit" : 6,
               "ver" : 0
            },
            "upgrade" : {
               "permit" : 1,
               "ver" : 2
            },
            "upnp" : {
               "permit" : 6,
               "ver" : 1
            },
            "user" : {
               "permit" : 6,
               "ver" : 1
            },
            "videoClip" : {
               "permit" : 0,
               "ver" : 0
            },
            "wifi" : {
               "permit" : 6,
               "ver" : 1
            },
            "wifiTest" : {
               "permit" : 6,
               "ver" : 1
            }
         }
      }
   }
]

DEBUG:reolink_aio.api:Front/192.168.100.30:443::send() HTTP Request params =
{'token': '3531c1b35d63600'}

DEBUG:reolink_aio.api:Front/192.168.100.30:443::send() HTTP Request body =
[{'cmd': 'GetAiState', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetEvents', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetRtspUrl', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetWhiteLed', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetIsp', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetIrLights', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetEnc', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetAudioCfg', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetOsd', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetPtzPreset', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetPtzGuard', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetEmailV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetPushV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetFtpV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetRecV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetAudioAlarmV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetMdAlarm', 'action': 0, 'param': {'channel': 0}}]

DEBUG:reolink_aio.api:Front/192.168.100.30:443::send() HTTP Response status = 200, content-type = (text/html).
DEBUG:reolink_aio.api.data:Front/192.168.100.30:443::send() HTTP Response data:
[
   {
      "cmd" : "GetAiState",
      "code" : 0,
      "value" : {
         "channel" : 0,
         "dog_cat" : {
            "alarm_state" : 0,
            "support" : 1
         },
         "face" : {
            "alarm_state" : 0,
            "support" : 0
         },
         "people" : {
            "alarm_state" : 0,
            "support" : 1
         },
         "vehicle" : {
            "alarm_state" : 0,
            "support" : 1
         }
      }
   },
   {
      "cmd" : "Unknown",
      "code" : 1,
      "error" : {
         "detail" : "not support",
         "rspCode" : -9
      }
   },
   {
      "cmd" : "GetRtspUrl",
      "code" : 0,
      "value" : {
         "rtspUrl" : {
            "channel" : 0,
            "mainStream" : "rtsp://192.168.100.30:554/Preview_01_main",
            "subStream" : "rtsp://192.168.100.30:554/Preview_01_sub"
         }
      }
   },
   {
      "cmd" : "GetWhiteLed",
      "code" : 0,
      "initial" : {
         "WhiteLed" : {
            "wlAiDetectType" : {
               "dog_cat" : 1,
               "people" : 1,
               "vehicle" : 1
            }
         }
      },
      "range" : {
         "AiDetectType" : {
            "dog_cat" : "boolean",
            "people" : "boolean",
            "vehicle" : "boolean"
         },
         "WhiteLed" : {
            "bright" : {
               "max" : 100,
               "min" : 0
            }
         }
      },
      "value" : {
         "WhiteLed" : {
            "LightingSchedule" : {
               "EndHour" : 6,
               "EndMin" : 0,
               "StartHour" : 18,
               "StartMin" : 0
            },
            "bright" : 100,
            "channel" : 0,
            "mode" : 1,
            "state" : 0,
            "wlAiDetectType" : {
               "dog_cat" : 1,
               "people" : 1,
               "vehicle" : 1
            }
         }
      }
   },
   {
      "cmd" : "GetIsp",
      "code" : 0,
      "value" : {
         "Isp" : {
            "antiFlicker" : "Off",
            "backLight" : "Off",
            "bd_day" : {
               "bright" : 128,
               "dark" : 128,
               "mode" : "Auto"
            },
            "bd_led_color" : {
               "bright" : 128,
               "dark" : 128,
               "mode" : "Auto"
            },
            "bd_night" : {
               "bright" : 128,
               "dark" : 128,
               "mode" : "Auto"
            },
            "blc" : 128,
            "blueGain" : 128,
            "channel" : 0,
            "constantFrameRate" : 0,
            "dayNight" : "Auto",
            "dayNightThreshold" : 50,
            "drc" : 128,
            "exposure" : "Auto",
            "gain" : {
               "max" : 62,
               "min" : 1
            },
            "mirroring" : 0,
            "nr3d" : 1,
            "redGain" : 128,
            "rotation" : 0,
            "shutter" : {
               "max" : 125,
               "min" : 0
            },
            "whiteBalance" : "Auto"
         }
      }
   },
   {
      "cmd" : "GetIrLights",
      "code" : 0,
      "initial" : {
         "IrLights" : {
            "state" : "Auto"
         }
      },
      "range" : {
         "IrLights" : {
            "state" : [ "Auto", "Off" ]
         }
      },
      "value" : {
         "IrLights" : {
            "state" : "Auto"
         }
      }
   },
   {
      "cmd" : "GetEnc",
      "code" : 0,
      "value" : {
         "Enc" : {
            "audio" : 1,
            "channel" : 0,
            "mainStream" : {
               "bitRate" : 4096,
               "frameRate" : 15,
               "gop" : 1,
               "height" : 2160,
               "profile" : "High",
               "size" : "3840*2160",
               "vType" : "h265",
               "width" : 3840
            },
            "subStream" : {
               "bitRate" : 1228,
               "frameRate" : 15,
               "gop" : 1,
               "height" : 512,
               "profile" : "High",
               "size" : "896*512",
               "vType" : "h264",
               "width" : 896
            }
         }
      }
   },
   {
      "cmd" : "GetAudioCfg",
      "code" : 0,
      "value" : {
         "AudioCfg" : {
            "volume" : 54
         }
      }
   },
   {
      "cmd" : "GetOsd",
      "code" : 0,
      "value" : {
         "Osd" : {
            "bgcolor" : 0,
            "channel" : 0,
            "osdChannel" : {
               "enable" : 0,
               "name" : "Front",
               "pos" : "Lower Right"
            },
            "osdTime" : {
               "enable" : 0,
               "pos" : "Top Center"
            },
            "watermark" : 0
         }
      }
   },
   {
      "cmd" : "GetPtzPreset",
      "code" : 0,
      "value" : {
         "PtzPreset" : [
            {
               "channel" : 0,
               "enable" : 1,
               "id" : 0,
               "imgName" : "",
               "name" : "Dojazd"
            },
            {
               "channel" : 0,
               "enable" : 1,
               "id" : 1,
               "imgName" : "",
               "name" : "Front"
            },
            {
               "channel" : 0,
               "enable" : 1,
               "id" : 2,
               "imgName" : "",
               "name" : "Ogród"
            },
            {
               "channel" : 0,
               "enable" : 1,
               "id" : 3,
               "imgName" : "",
               "name" : "Drzwi"
            },
            {
               "channel" : 0,
               "enable" : 1,
               "id" : 4,
               "imgName" : "",
               "name" : "Na wprost"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 5,
               "imgName" : "",
               "name" : "pos6"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 6,
               "imgName" : "",
               "name" : "pos7"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 7,
               "imgName" : "",
               "name" : "pos8"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 8,
               "imgName" : "",
               "name" : "pos9"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 9,
               "imgName" : "",
               "name" : "pos10"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 10,
               "imgName" : "",
               "name" : "pos11"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 11,
               "imgName" : "",
               "name" : "pos12"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 12,
               "imgName" : "",
               "name" : "pos13"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 13,
               "imgName" : "",
               "name" : "pos14"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 14,
               "imgName" : "",
               "name" : "pos15"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 15,
               "imgName" : "",
               "name" : "pos16"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 16,
               "imgName" : "",
               "name" : "pos17"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 17,
               "imgName" : "",
               "name" : "pos18"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 18,
               "imgName" : "",
               "name" : "pos19"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 19,
               "imgName" : "",
               "name" : "pos20"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 20,
               "imgName" : "",
               "name" : "pos21"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 21,
               "imgName" : "",
               "name" : "pos22"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 22,
               "imgName" : "",
               "name" : "pos23"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 23,
               "imgName" : "",
               "name" : "pos24"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 24,
               "imgName" : "",
               "name" : "pos25"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 25,
               "imgName" : "",
               "name" : "pos26"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 26,
               "imgName" : "",
               "name" : "pos27"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 27,
               "imgName" : "",
               "name" : "pos28"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 28,
               "imgName" : "",
               "name" : "pos29"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 29,
               "imgName" : "",
               "name" : "pos30"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 30,
               "imgName" : "",
               "name" : "pos31"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 31,
               "imgName" : "",
               "name" : "pos32"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 32,
               "imgName" : "",
               "name" : "pos33"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 33,
               "imgName" : "",
               "name" : "pos34"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 34,
               "imgName" : "",
               "name" : "pos35"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 35,
               "imgName" : "",
               "name" : "pos36"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 36,
               "imgName" : "",
               "name" : "pos37"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 37,
               "imgName" : "",
               "name" : "pos38"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 38,
               "imgName" : "",
               "name" : "pos39"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 39,
               "imgName" : "",
               "name" : "pos40"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 40,
               "imgName" : "",
               "name" : "pos41"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 41,
               "imgName" : "",
               "name" : "pos42"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 42,
               "imgName" : "",
               "name" : "pos43"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 43,
               "imgName" : "",
               "name" : "pos44"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 44,
               "imgName" : "",
               "name" : "pos45"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 45,
               "imgName" : "",
               "name" : "pos46"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 46,
               "imgName" : "",
               "name" : "pos47"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 47,
               "imgName" : "",
               "name" : "pos48"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 48,
               "imgName" : "",
               "name" : "pos49"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 49,
               "imgName" : "",
               "name" : "pos50"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 50,
               "imgName" : "",
               "name" : "pos51"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 51,
               "imgName" : "",
               "name" : "pos52"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 52,
               "imgName" : "",
               "name" : "pos53"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 53,
               "imgName" : "",
               "name" : "pos54"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 54,
               "imgName" : "",
               "name" : "pos55"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 55,
               "imgName" : "",
               "name" : "pos56"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 56,
               "imgName" : "",
               "name" : "pos57"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 57,
               "imgName" : "",
               "name" : "pos58"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 58,
               "imgName" : "",
               "name" : "pos59"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 59,
               "imgName" : "",
               "name" : "pos60"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 60,
               "imgName" : "",
               "name" : "pos61"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 61,
               "imgName" : "",
               "name" : "pos62"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 62,
               "imgName" : "",
               "name" : "pos63"
            },
            {
               "channel" : 0,
               "enable" : 0,
               "id" : 63,
               "imgName" : "",
               "name" : "pos64"
            }
         ]
      }
   },
   {
      "cmd" : "GetPtzGuard",
      "code" : 0,
      "value" : {
         "PtzGuard" : {
            "benable" : 1,
            "bexistPos" : 1,
            "channel" : 0,
            "imgName" : "guard",
            "timeout" : 120
         }
      }
   },
   {
      "cmd" : "GetEmailV20",
      "code" : 0,
      "value" : {
         "Email" : {
            "addr1" : "[__MASKED__]",
            "addr2" : "",
            "addr3" : "",
            "attachmentType" : 1,
            "enable" : 1,
            "interval" : "5 Minutes",
            "nickName" : "Kamera przed domem",
            "password" : "***********",
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_PEOPLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_VEHICLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "MD" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "TIMING" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            },
            "smtpPort" : 465,
            "smtpServer" : "smtp.gmail.com",
            "ssl" : 1,
            "supportTextType" : 1,
            "supportVideo" : 1,
            "textType" : 1,
            "userName" : "[__MASKED__]"
         }
      }
   },
   {
      "cmd" : "GetPushV20",
      "code" : 0,
      "value" : {
         "Push" : {
            "enable" : 1,
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_PEOPLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_VEHICLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "MD" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            }
         }
      }
   },
   {
      "cmd" : "GetFtpV20",
      "code" : 0,
      "value" : {
         "Ftp" : {
            "anonymous" : 0,
            "autoDir" : 1,
            "bpicSingle" : 0,
            "bvideoSingle" : 0,
            "enable" : 0,
            "interval" : 15,
            "maxSize" : 100,
            "mode" : 0,
            "onlyFtps" : 0,
            "password" : "",
            "picCaptureMode" : 0,
            "picHeight" : 2160,
            "picInterval" : 60,
            "picName" : "",
            "picWidth" : 3840,
            "port" : 21,
            "remoteDir" : "",
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_PEOPLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_VEHICLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "MD" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "TIMING" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            },
            "server" : "",
            "streamType" : 0,
            "userName" : "",
            "videoName" : ""
         }
      }
   },
   {
      "cmd" : "GetRecV20",
      "code" : 0,
      "value" : {
         "Rec" : {
            "enable" : 1,
            "overwrite" : 1,
            "packTime" : "",
            "postRec" : "1 Minute",
            "preRec" : 1,
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_PEOPLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_VEHICLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "MD" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "TIMING" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            }
         }
      }
   },
   {
      "cmd" : "GetAudioAlarmV20",
      "code" : 0,
      "value" : {
         "Audio" : {
            "enable" : 0,
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_PEOPLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_VEHICLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "MD" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
               }
            }
         }
      }
   },
   {
      "cmd" : "GetMdAlarm",
      "code" : 0,
      "value" : {
         "MdAlarm" : {
            "channel" : 0,
            "newSens" : {
               "sens" : [
                  {
                     "beginHour" : 0,
                     "beginMin" : 0,
                     "enable" : 1,
                     "endHour" : 23,
                     "endMin" : 59,
                     "id" : 0,
                     "priority" : 1,
                     "sensitivity" : 5
                  },
                  {
                     "beginHour" : 0,
                     "beginMin" : 0,
                     "enable" : 0,
                     "endHour" : 0,
                     "endMin" : 0,
                     "id" : 1,
                     "priority" : 0,
                     "sensitivity" : 0
                  },
                  {
                     "beginHour" : 0,
                     "beginMin" : 0,
                     "enable" : 0,
                     "endHour" : 0,
                     "endMin" : 0,
                     "id" : 2,
                     "priority" : 0,
                     "sensitivity" : 0
                  },
                  {
                     "beginHour" : 0,
                     "beginMin" : 0,
                     "enable" : 0,
                     "endHour" : 0,
                     "endMin" : 0,
                     "id" : 3,
                     "priority" : 0,
                     "sensitivity" : 0
                  }
               ],
               "sensDef" : 9
            },
            "scope" : {
               "cols" : 120,
               "rows" : 67,
               "table" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
            },
            "sens" : [
               {
                  "beginHour" : 0,
                  "beginMin" : 0,
                  "endHour" : 6,
                  "endMin" : 0,
                  "id" : 0,
                  "sensitivity" : 10
               },
               {
                  "beginHour" : 6,
                  "beginMin" : 0,
                  "endHour" : 12,
                  "endMin" : 0,
                  "id" : 1,
                  "sensitivity" : 10
               },
               {
                  "beginHour" : 12,
                  "beginMin" : 0,
                  "endHour" : 18,
                  "endMin" : 0,
                  "id" : 2,
                  "sensitivity" : 10
               },
               {
                  "beginHour" : 18,
                  "beginMin" : 0,
                  "endHour" : 23,
                  "endMin" : 59,
                  "id" : 3,
                  "sensitivity" : 10
               }
            ],
            "useNewSens" : 1
         }
      }
   }
]

DEBUG:reolink_aio.api:Host 192.168.100.30:443 received response error code: {'cmd': 'Unknown', 'code': 1, 'error': {'detail': 'not support', 'rspCode': -9}}
[0]
DEBUG:reolink_aio.api:Front/192.168.100.30:443::send() HTTP Request params =
{'token': '3531c1b35d63600'}

DEBUG:reolink_aio.api:Front/192.168.100.30:443::send() HTTP Request body =
[{'cmd': 'GetEnc', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetIsp', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetMdState', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetAiState', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetIrLights', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetPtzGuard', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetAiCfg', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetAudioCfg', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetEmailV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetPushV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetFtpV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetRecV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetAudioAlarmV20', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetMdAlarm', 'action': 0, 'param': {'channel': 0}}, {'cmd': 'GetAiAlarm', 'action': 0, 'param': {'channel': 0, 'ai_type': 'dog_cat'}}, {'cmd': 'GetAiAlarm', 'action': 0, 'param': {'channel': 0, 'ai_type': 'people'}}, {'cmd': 'GetAiAlarm', 'action': 0, 'param': {'channel': 0, 'ai_type': 'vehicle'}}, {'cmd': 'GetEnc', 'action': 0, 'param': {'channel': 1}}, {'cmd': 'GetIsp', 'action': 0, 'param': {'channel': 1}}, {'cmd': 'GetMdState', 'action': 0, 'param': {'channel': 1}}, {'cmd': 'GetEmailV20', 'action': 0, 'param': {'channel': 1}}, {'cmd': 'GetPushV20', 'action': 0, 'param': {'channel': 1}}, {'cmd': 'GetFtpV20', 'action': 0, 'param': {'channel': 1}}, {'cmd': 'GetRecV20', 'action': 0, 'param': {'channel': 1}}, {'cmd': 'GetAudioAlarmV20', 'action': 0, 'param': {'channel': 1}}]

DEBUG:reolink_aio.api:Front/192.168.100.30:443::send() HTTP Response status = 200, content-type = (text/html).
DEBUG:reolink_aio.api.data:Front/192.168.100.30:443::send() HTTP Response data:
[
   {
      "cmd" : "GetEnc",
      "code" : 0,
      "value" : {
         "Enc" : {
            "audio" : 1,
            "channel" : 0,
            "mainStream" : {
               "bitRate" : 4096,
               "frameRate" : 15,
               "gop" : 1,
               "height" : 2160,
               "profile" : "High",
               "size" : "3840*2160",
               "vType" : "h265",
               "width" : 3840
            },
            "subStream" : {
               "bitRate" : 1228,
               "frameRate" : 15,
               "gop" : 1,
               "height" : 512,
               "profile" : "High",
               "size" : "896*512",
               "vType" : "h264",
               "width" : 896
            }
         }
      }
   },
   {
      "cmd" : "GetIsp",
      "code" : 0,
      "value" : {
         "Isp" : {
            "antiFlicker" : "Off",
            "backLight" : "Off",
            "bd_day" : {
               "bright" : 128,
               "dark" : 128,
               "mode" : "Auto"
            },
            "bd_led_color" : {
               "bright" : 128,
               "dark" : 128,
               "mode" : "Auto"
            },
            "bd_night" : {
               "bright" : 128,
               "dark" : 128,
               "mode" : "Auto"
            },
            "blc" : 128,
            "blueGain" : 128,
            "channel" : 0,
            "constantFrameRate" : 0,
            "dayNight" : "Auto",
            "dayNightThreshold" : 50,
            "drc" : 128,
            "exposure" : "Auto",
            "gain" : {
               "max" : 62,
               "min" : 1
            },
            "mirroring" : 0,
            "nr3d" : 1,
            "redGain" : 128,
            "rotation" : 0,
            "shutter" : {
               "max" : 125,
               "min" : 0
            },
            "whiteBalance" : "Auto"
         }
      }
   },
   {
      "cmd" : "GetMdState",
      "code" : 0,
      "value" : {
         "state" : 0
      }
   },
   {
      "cmd" : "GetAiState",
      "code" : 0,
      "value" : {
         "channel" : 0,
         "dog_cat" : {
            "alarm_state" : 0,
            "support" : 1
         },
         "face" : {
            "alarm_state" : 0,
            "support" : 0
         },
         "people" : {
            "alarm_state" : 0,
            "support" : 1
         },
         "vehicle" : {
            "alarm_state" : 0,
            "support" : 1
         }
      }
   },
   {
      "cmd" : "GetIrLights",
      "code" : 0,
      "initial" : {
         "IrLights" : {
            "state" : "Auto"
         }
      },
      "range" : {
         "IrLights" : {
            "state" : [ "Auto", "Off" ]
         }
      },
      "value" : {
         "IrLights" : {
            "state" : "Auto"
         }
      }
   },
   {
      "cmd" : "GetPtzGuard",
      "code" : 0,
      "value" : {
         "PtzGuard" : {
            "benable" : 1,
            "bexistPos" : 1,
            "channel" : 0,
            "imgName" : "guard",
            "timeout" : 120
         }
      }
   },
   {
      "cmd" : "GetAiCfg",
      "code" : 0,
      "value" : {
         "AiDetectType" : {
            "dog_cat" : 1,
            "face" : 0,
            "people" : 1,
            "vehicle" : 1
         },
         "aiDisappearBackTime" : 60,
         "aiStopBackTime" : 60,
         "aiTrack" : 3,
         "bSmartTrack" : 1,
         "channel" : 0,
         "trackTask" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
         "trackType" : {
            "dog_cat" : 1,
            "face" : 0,
            "people" : 1,
            "vehicle" : 1
         }
      }
   },
   {
      "cmd" : "GetAudioCfg",
      "code" : 0,
      "value" : {
         "AudioCfg" : {
            "volume" : 54
         }
      }
   },
   {
      "cmd" : "GetEmailV20",
      "code" : 0,
      "value" : {
         "Email" : {
            "addr1" : "[__MASKED__]",
            "addr2" : "",
            "addr3" : "",
            "attachmentType" : 1,
            "enable" : 1,
            "interval" : "5 Minutes",
            "nickName" : "Kamera przed domem",
            "password" : "***********",
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_PEOPLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_VEHICLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "MD" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "TIMING" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            },
            "smtpPort" : 465,
            "smtpServer" : "smtp.gmail.com",
            "ssl" : 1,
            "supportTextType" : 1,
            "supportVideo" : 1,
            "textType" : 1,
            "userName" : "[__MASKED__]"
         }
      }
   },
   {
      "cmd" : "GetPushV20",
      "code" : 0,
      "value" : {
         "Push" : {
            "enable" : 1,
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_PEOPLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_VEHICLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "MD" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            }
         }
      }
   },
   {
      "cmd" : "GetFtpV20",
      "code" : 0,
      "value" : {
         "Ftp" : {
            "anonymous" : 0,
            "autoDir" : 1,
            "bpicSingle" : 0,
            "bvideoSingle" : 0,
            "enable" : 0,
            "interval" : 15,
            "maxSize" : 100,
            "mode" : 0,
            "onlyFtps" : 0,
            "password" : "",
            "picCaptureMode" : 0,
            "picHeight" : 2160,
            "picInterval" : 60,
            "picName" : "",
            "picWidth" : 3840,
            "port" : 21,
            "remoteDir" : "",
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_PEOPLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_VEHICLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "MD" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "TIMING" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            },
            "server" : "",
            "streamType" : 0,
            "userName" : "",
            "videoName" : ""
         }
      }
   },
   {
      "cmd" : "GetRecV20",
      "code" : 0,
      "value" : {
         "Rec" : {
            "enable" : 1,
            "overwrite" : 1,
            "packTime" : "",
            "postRec" : "1 Minute",
            "preRec" : 1,
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_PEOPLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_VEHICLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "MD" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "TIMING" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            }
         }
      }
   },
   {
      "cmd" : "GetAudioAlarmV20",
      "code" : 0,
      "value" : {
         "Audio" : {
            "enable" : 0,
            "schedule" : {
               "channel" : 0,
               "table" : {
                  "AI_DOG_CAT" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_PEOPLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_VEHICLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "MD" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
               }
            }
         }
      }
   },
   {
      "cmd" : "GetMdAlarm",
      "code" : 0,
      "value" : {
         "MdAlarm" : {
            "channel" : 0,
            "newSens" : {
               "sens" : [
                  {
                     "beginHour" : 0,
                     "beginMin" : 0,
                     "enable" : 1,
                     "endHour" : 23,
                     "endMin" : 59,
                     "id" : 0,
                     "priority" : 1,
                     "sensitivity" : 5
                  },
                  {
                     "beginHour" : 0,
                     "beginMin" : 0,
                     "enable" : 0,
                     "endHour" : 0,
                     "endMin" : 0,
                     "id" : 1,
                     "priority" : 0,
                     "sensitivity" : 0
                  },
                  {
                     "beginHour" : 0,
                     "beginMin" : 0,
                     "enable" : 0,
                     "endHour" : 0,
                     "endMin" : 0,
                     "id" : 2,
                     "priority" : 0,
                     "sensitivity" : 0
                  },
                  {
                     "beginHour" : 0,
                     "beginMin" : 0,
                     "enable" : 0,
                     "endHour" : 0,
                     "endMin" : 0,
                     "id" : 3,
                     "priority" : 0,
                     "sensitivity" : 0
                  }
               ],
               "sensDef" : 9
            },
            "scope" : {
               "cols" : 120,
               "rows" : 67,
               "table" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
            },
            "sens" : [
               {
                  "beginHour" : 0,
                  "beginMin" : 0,
                  "endHour" : 6,
                  "endMin" : 0,
                  "id" : 0,
                  "sensitivity" : 10
               },
               {
                  "beginHour" : 6,
                  "beginMin" : 0,
                  "endHour" : 12,
                  "endMin" : 0,
                  "id" : 1,
                  "sensitivity" : 10
               },
               {
                  "beginHour" : 12,
                  "beginMin" : 0,
                  "endHour" : 18,
                  "endMin" : 0,
                  "id" : 2,
                  "sensitivity" : 10
               },
               {
                  "beginHour" : 18,
                  "beginMin" : 0,
                  "endHour" : 23,
                  "endMin" : 59,
                  "id" : 3,
                  "sensitivity" : 10
               }
            ],
            "useNewSens" : 1
         }
      }
   },
   {
      "cmd" : "GetAiAlarm",
      "code" : 0,
      "value" : {
         "AiAlarm" : {
            "ai_type" : "dog_cat",
            "channel" : 0,
            "max_target_height" : 0.0,
            "max_target_width" : 0.0,
            "min_target_height" : 0.0,
            "min_target_width" : 0.0,
            "scope" : {
               "area" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
               "cols" : 120,
               "rows" : 67
            },
            "sensitivity" : 60,
            "stay_time" : 0
         }
      }
   },
   {
      "cmd" : "GetAiAlarm",
      "code" : 0,
      "value" : {
         "AiAlarm" : {
            "ai_type" : "people",
            "channel" : 0,
            "max_target_height" : 0.0,
            "max_target_width" : 0.0,
            "min_target_height" : 0.0,
            "min_target_width" : 0.0,
            "scope" : {
               "area" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
               "cols" : 120,
               "rows" : 67
            },
            "sensitivity" : 60,
            "stay_time" : 0
         }
      }
   },
   {
      "cmd" : "GetAiAlarm",
      "code" : 0,
      "value" : {
         "AiAlarm" : {
            "ai_type" : "vehicle",
            "channel" : 0,
            "max_target_height" : 0.0,
            "max_target_width" : 0.0,
            "min_target_height" : 0.0,
            "min_target_width" : 0.0,
            "scope" : {
               "area" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
               "cols" : 120,
               "rows" : 67
            },
            "sensitivity" : 60,
            "stay_time" : 0
         }
      }
   },
   {
      "cmd" : "GetEnc",
      "code" : 0,
      "value" : {
         "Enc" : {
            "audio" : 1,
            "channel" : 1,
            "mainStream" : {
               "bitRate" : 3072,
               "frameRate" : 15,
               "gop" : 2,
               "height" : 1080,
               "profile" : "High",
               "size" : "1080P",
               "vType" : "h265",
               "width" : 1920
            },
            "subStream" : {
               "bitRate" : 768,
               "frameRate" : 15,
               "gop" : 4,
               "height" : 512,
               "profile" : "High",
               "size" : "896*512",
               "vType" : "h264",
               "width" : 896
            }
         }
      }
   },
   {
      "cmd" : "GetIsp",
      "code" : 0,
      "value" : {
         "Isp" : {
            "antiFlicker" : "Off",
            "backLight" : "Off",
            "bd_day" : {
               "bright" : 128,
               "dark" : 128,
               "mode" : "Auto"
            },
            "bd_led_color" : {
               "bright" : 128,
               "dark" : 128,
               "mode" : "Auto"
            },
            "bd_night" : {
               "bright" : 128,
               "dark" : 128,
               "mode" : "Auto"
            },
            "blc" : 128,
            "blueGain" : 128,
            "channel" : 1,
            "constantFrameRate" : 0,
            "dayNight" : "Auto",
            "dayNightThreshold" : 50,
            "drc" : 128,
            "exposure" : "Auto",
            "gain" : {
               "max" : 62,
               "min" : 1
            },
            "mirroring" : 0,
            "nr3d" : 1,
            "redGain" : 128,
            "rotation" : 0,
            "shutter" : {
               "max" : 125,
               "min" : 0
            },
            "whiteBalance" : "Auto"
         }
      }
   },
   {
      "cmd" : "GetMdState",
      "code" : 0,
      "value" : {
         "state" : 0
      }
   },
   {
      "cmd" : "GetEmailV20",
      "code" : 0,
      "value" : {
         "Email" : {
            "addr1" : "[__MASKED__]",
            "addr2" : "",
            "addr3" : "",
            "attachmentType" : 1,
            "enable" : 1,
            "interval" : "5 Minutes",
            "nickName" : "Kamera przed domem",
            "password" : "***********",
            "schedule" : {
               "channel" : 1,
               "table" : {
                  "AI_DOG_CAT" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_PEOPLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_VEHICLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "MD" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "TIMING" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            },
            "smtpPort" : 465,
            "smtpServer" : "smtp.gmail.com",
            "ssl" : 1,
            "supportTextType" : 1,
            "supportVideo" : 1,
            "textType" : 1,
            "userName" : "[__MASKED__]"
         }
      }
   },
   {
      "cmd" : "GetPushV20",
      "code" : 0,
      "value" : {
         "Push" : {
            "enable" : 1,
            "schedule" : {
               "channel" : 1,
               "table" : {
                  "AI_DOG_CAT" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_PEOPLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_VEHICLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "MD" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            }
         }
      }
   },
   {
      "cmd" : "GetFtpV20",
      "code" : 0,
      "value" : {
         "Ftp" : {
            "anonymous" : 0,
            "autoDir" : 1,
            "bpicSingle" : 0,
            "bvideoSingle" : 0,
            "enable" : 0,
            "interval" : 15,
            "maxSize" : 100,
            "mode" : 0,
            "onlyFtps" : 0,
            "password" : "",
            "picCaptureMode" : 0,
            "picHeight" : 2160,
            "picInterval" : 60,
            "picName" : "",
            "picWidth" : 3840,
            "port" : 21,
            "remoteDir" : "",
            "schedule" : {
               "channel" : 1,
               "table" : {
                  "AI_DOG_CAT" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_PEOPLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "AI_VEHICLE" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "MD" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "TIMING" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            },
            "server" : "",
            "streamType" : 0,
            "userName" : "",
            "videoName" : ""
         }
      }
   },
   {
      "cmd" : "GetRecV20",
      "code" : 0,
      "value" : {
         "Rec" : {
            "enable" : 1,
            "overwrite" : 1,
            "packTime" : "",
            "postRec" : "1 Minute",
            "preRec" : 1,
            "schedule" : {
               "channel" : 1,
               "table" : {
                  "AI_DOG_CAT" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_PEOPLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_VEHICLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "MD" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "TIMING" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
               }
            }
         }
      }
   },
   {
      "cmd" : "GetAudioAlarmV20",
      "code" : 0,
      "value" : {
         "Audio" : {
            "enable" : 0,
            "schedule" : {
               "channel" : 1,
               "table" : {
                  "AI_DOG_CAT" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_PEOPLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "AI_VEHICLE" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                  "MD" : "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
               }
            }
         }
      }
   }
]

DEBUG:reolink_aio.api:Front/192.168.100.30:443::send() HTTP Request params =
{'cmd': 'Logout', 'token': '3531c1b35d63600'}

DEBUG:reolink_aio.api:Front/192.168.100.30:443::send() HTTP Request body =
[{'cmd': 'Logout', 'action': 0, 'param': {}}]

DEBUG:reolink_aio.api:Front/192.168.100.30:443::send() HTTP Response status = 200, content-type = (text/html).
DEBUG:reolink_aio.api.data:Front/192.168.100.30:443::send() HTTP Response data:
[
   {
      "cmd" : "Logout",
      "code" : 0,
      "value" : {
         "rspCode" : 200
      }
   }
]
mariusz-schimke commented 1 year ago

I'm wondering how to approach it cleanly now. We can either wait for Reolink to accept it as a bug and fix it, or you could consider injecting overrides in the code based on camera models and/or firmware versions. What do you think?

starkillerOG commented 1 year ago

@mariusz-schimke I am discussing this with Reolink, but do not have a clear picture yet. Currently reolink says that the "TrackMix is acted as one camera, so the count is 1", however that means. I will probably end up with a list of models that have duo lenses (although I schould have been able to just retrieve that from the API).

But to me it is unclear how the rest of this camera works, for instance the GetMdState can be retrieved for channel 0 and 1, does that mean that there is seprate motion detection for both lenses, or will the values of channel 0 and 1 always be the same.

Same thing with for example the AI people detection sensitivity which can be retrieved for both channel 0 and 1, does that mean there are seperate detection sensitivities?

starkillerOG commented 1 year ago

@mariusz-schimke how does the reolink app/client show the TrackMix? As a single channel camera or as a two channel camera? Do you have seperate AI people detection sensitivities, or do you only have a single value?

mariusz-schimke commented 1 year ago

@starkillerOG, thanks for checking it with Reolink. When it comes to the settings, two channels are displayed in the client application (you can see it in the picture). The first channel is always wide, the second channel is used for zooming in and tracking objects.

image

Sensitivity is set globally in the web interface visible below (I can't see any other settings than these):

image

However, when I open the settings of the desktop client app, there is (theoretically) an option to select a channel, but when I save the settings, they are applied to both channels at once.

image

mariusz-schimke commented 1 year ago

@starkillerOG, and this also confirms that the camera does have two channels, so the explanation Reolink gave you is a misunderstanding, I suppose (and hope).

I just tried to send the GetMdState request for the two channels, and while moving the camera with PTZ controls, I would always get the state of 1 for channel 0, but a state of 0 for channel 1 (always, even while the camera is moving). This, to me, indicates that motion detection state should be requested on channel 0 rather than channel 1. What's funny, I can ask for any channel number, and I always get 1 for channel 3 and 4, and for channel 20 too :D.

mariusz-schimke commented 1 year ago

@starkillerOG, if I can provide you with any other information concerning the camera, just ask and I'm here :). Thanks for helping!!

starkillerOG commented 1 year ago

@mariusz-schimke thanks for the tests, I will make some adjustments and release a new reolink-aio version soon to try and fix this.

mariusz-schimke commented 1 year ago

@starkillerOG, thanks, I appreciate it! In the mean time I got an answer from Reolink that is consistent with what you got earlier. But I'm still trying to understand the decision behind this, and how to be compatible with multiple cameras in such case. If I learn anything useful, I'll post it here.

starkillerOG commented 1 year ago

@mariusz-schimke I got some more information from reolink: The "Reolink Duo" is used as two seprate channels The Duo2, Duo floodlight and Trackmix is used as a single channel, this only has extra camera streams, but all other features schould be identicall for both channels/only channel 0 is usable.

Based on this I have made changes and released reolink-aio 0.5.4. The HomeAssistant PR is here: https://github.com/home-assistant/core/pull/89554 Are you able to test that PR and check if everything is working as you would expect for the Trackmix camera?

mariusz-schimke commented 1 year ago

@starkillerOG, many thanks, I really appreciate it! Nice that you introduced stream_channels to distinguish it from channels. This is IMO what Reolink should introduce in their API too, to distinguish between channels and stream channels if they consider them two different things, by exposing a property informing how many stream channels there are.

Sure, I'll try to test it (most probably tomorrow). I haven't done that before, but I'll read how to do it :). I guess I'll have to run the HA environment locally, right? Then clone your PR's branch.

starkillerOG commented 1 year ago

@mariusz-schimke could you run the following script for me and post the output here? I want to check two new commands of the Trackmix: GetPtzCurPos and GetPtzTraceSection

_LOGGER = logging.getLogger(__name__)
logging.basicConfig(level="INFO")

IP = '192.168.1.FILL_THIS_IN'
username = 'FILL_THIS_IN'
password = 'FILL_THIS_IN'

async def asyncio_demo(loop):
    host = api.Host(host=IP, username=username, password=password)

    # Obtain/cache NVR or camera settings and capabilities, like model name, ports, HDD size, etc:
    await host.get_host_data()
    await host.get_states()

    body = [({"cmd": "GetPtzCurPos", "action": 0, "param": {"channel": 0}})]
    print(await host.send(body))
    body = [({"cmd": "GetPtzCurPos", "action": 0, "param": {"channel": 1}})]
    print(await host.send(body))
    body = [({"cmd": "GetPtzTraceSection", "action": 0, "param": {"channel": 0}})]
    print(await host.send(body))
    body = [({"cmd": "GetPtzTraceSection", "action": 0, "param": {"channel": 1}})]
    print(await host.send(body))

    await host.logout()

if __name__ == "__main__":
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    loop.run_until_complete(asyncio_demo(loop))
mariusz-schimke commented 1 year ago

@starkillerOG, sure, here you are!

[{'cmd': 'GetPtzCurPos', 'code': 1, 'error': {'detail': 'not exist', 'rspCode': -1}}]
[{'cmd': 'GetPtzCurPos', 'code': 1, 'error': {'detail': 'not exist', 'rspCode': -1}}]
[{'cmd': 'GetPtzTraceSection', 'code': 1, 'error': {'detail': 'not exist', 'rspCode': -1}}]
[{'cmd': 'GetPtzTraceSection', 'code': 1, 'error': {'detail': 'not exist', 'rspCode': -1}}]
starkillerOG commented 1 year ago

@mariusz-schimke thanks!

mariusz-schimke commented 1 year ago

@starkillerOG, I'm sorry, but I think I won't be able to test it. I can't set up the Home Assistant environment on a Silicon Mac, getting the following error while running script/setup. I was trying to find a solution for a while, with no luck. Maybe it's something obvious, but I'm not a Python developer, and it's makes it harder to solve it.

ImportError: dlopen(home-assistant/venv/lib/python3.9/site-packages/ciso8601.cpython-39-darwin.so, 0x0002): tried: 'home-assistant/venv/lib/python3.9/site-packages/ciso8601.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), 'home-assistant/venv/lib/python3.9/site-packages/ciso8601.cpython-39-darwin.so' (no such file), 'home-assistant/venv/lib/python3.9/site-packages/ciso8601.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
mariusz-schimke commented 1 year ago

@starkillerOG, if you don't mind me going off topic for a bit... I was trying to use the PlateRecognizer HA add-on together with that camera, so when it detects a vehicle, I run an automation that uses this add-on to send the current image from the camera to a plate recognition API. The problem is, however, that the view from cameras is not refreshed in real time, and when the camera detects a vehicle, the automation sends an outdated image. I can't find a way to trigger a camera refresh. Is it something that should be triggered by Home Assistant, or would it be possible to create a service in your integration, calling which would force the camera entity to refresh its image?

starkillerOG commented 1 year ago

@mariusz-schimke the PR https://github.com/home-assistant/core/pull/89554 has been merged, so the next major release on April 5th will support the second lens channel.

starkillerOG commented 1 year ago

@starkillerOG, if you don't mind me going off topic for a bit... I was trying to use the PlateRecognizer HA add-on together with that camera, so when it detects a vehicle, I run an automation that uses this add-on to send the current image from the camera to a plate recognition API. The problem is, however, that the view from cameras is not refreshed in real time, and when the camera detects a vehicle, the automation sends an outdated image. I can't find a way to trigger a camera refresh. Is it something that should be triggered by Home Assistant, or would it be possible to create a service in your integration, calling which would force the camera entity to refresh its image?

Have you tried the service: homeassistant.update_entity or the service: camera.snapshot services? The reolink integration only provides the stream adresses a string to HomeAssistant, the rest is done by the build in stream integration, so unfortunetly I can not add a extra service to handle this.

starkillerOG commented 1 year ago

@mariusz-schimke I just got another response from Reolink, apperently the URL for the second lens stream is not: "rtsp://192.168.100.30:554/Preview_02_main" and "rtsp://192.168.100.30:554/Preview_02_sub" But it schould apperently be: "rtsp://192.168.100.30:554/Preview_01_autotrack"

But now I am fully and utterly confused...

Could you try:

_LOGGER = logging.getLogger(__name__)
logging.basicConfig(level="INFO")

IP = '192.168.1.FILL_THIS_IN'
username = 'FILL_THIS_IN'
password = 'FILL_THIS_IN'

async def asyncio_demo(loop):
    host = api.Host(host=IP, username=username, password=password)

    # Obtain/cache NVR or camera settings and capabilities, like model name, ports, HDD size, etc:
    await host.get_host_data()
    await host.get_states()

    body = [({"cmd": "GetRtspUrl", "action": 0, "param": {"channel": 0}})]
    print(await host.send(body))
    body = [({"cmd": "GetRtspUrl", "action": 0, "param": {"channel": 1}})]
    print(await host.send(body))

    await host.logout()

if __name__ == "__main__":
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    loop.run_until_complete(asyncio_demo(loop))

Also do you have VLC media player installed on any PC by any change? If so could you try which of the following URL work and what each stream displays using "Media" -> "Open Network Stream": "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_01_main" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_02_main" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_01_sub" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_02_sub" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_01_autotrack" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_02_autotrack" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h264Preview_01_main" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h264Preview_02_main" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h264Preview_01_sub" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h264Preview_02_sub" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h265Preview_01_main" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h265Preview_02_main" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h265Preview_01_sub" "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h265Preview_02_sub"

Because at this point I just don't know anymore what is what.....

mariusz-schimke commented 1 year ago

Have you tried the service: homeassistant.update_entity or the service: camera.snapshot services? The reolink integration only provides the stream adresses a string to HomeAssistant, the rest is done by the build in stream integration, so unfortunetly I can not add a extra service to handle this.

Thanks for the suggestions! I'll have a closer look once again, but I have an impression that it doesn't force the camera entities to refresh. Still thanks, I didn't know about these services.

mariusz-schimke commented 1 year ago

@starkillerOG, here's the response from the camera:

[{'cmd': 'GetRtspUrl', 'code': 0, 'value': {'rtspUrl': {'channel': 0, 'mainStream': 'rtsp://192.168.100.30:554/Preview_01_main', 'subStream': 'rtsp://192.168.100.30:554/Preview_01_sub'}}}]
[{'cmd': 'GetRtspUrl', 'code': 0, 'value': {'rtspUrl': {'channel': 1, 'mainStream': 'rtsp://192.168.100.30:554/Preview_02_main', 'subStream': 'rtsp://192.168.100.30:554/Preview_02_sub'}}}]

I'd personally stick to these streams :P, but I'll check the URLs for you in a while too ;).

mariusz-schimke commented 1 year ago
  1. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_01_main" ✅
  2. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_02_main" ✅
  3. rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_01_sub" ✅
  4. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_02_sub" ✅
  5. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_01_autotrack" ✅
  6. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/Preview_02_autotrack" ❌
  7. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h264Preview_01_main" ✅
  8. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h264Preview_02_main" ✅
  9. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h264Preview_01_sub" ✅
  10. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h264Preview_02_sub" ✅
  11. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h265Preview_01_main" ✅
  12. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h265Preview_02_main" ✅
  13. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h265Preview_01_sub" ❌
  14. "rtsp://USERNAME:PASSWORD@192.168.100.30:554/h265Preview_02_sub" ❌

Preview_01_autotrack is an alias for the tracking stream Preview_02_main (yes 2, not 1), where the object being tracked is focused and closed up at (I just verified it by moving in front of the camera and comparing these two streams). Maybe the autotrack stream is just an extra name so that the users can have an explicit identifier for it, that indicates it is the tracking one. Otherwise they'd have to guess, but maybe that's a naive explanation :).

starkillerOG commented 1 year ago

@mariusz-schimke thats a relieve, thank you for checking! I was worried that Preview_02_main/Preview_02_sub would not be working and that only the Preview_01_autotrack would work, since it is just a allies, we can safely ignore it. The current implementation of PR https://github.com/home-assistant/core/pull/89554 will than indeed work to get the autotracking streams into HomeAssistant.

starkillerOG commented 1 year ago

@mariusz-schimke I have checked HA 2023.4 beta with my TrackMix, and the tracking stream is now available in HomeAsssistant. I have made some additional bug fixes and added some features for the TrackMix.

Closing this now. If you experiance any other issues, please make a new PR.

starkillerOG commented 1 year ago

@home-assistant close