49_SSCam: Fragen, Hinweise, Neuigkeiten und mehr rund um dieses Modul

Begonnen von DS_Starter, 14 Dezember 2015, 16:19:08

Vorheriges Thema - Nächstes Thema

Dracolein

Zitat von: DS_Starter am 28 Februar 2021, 12:21:55
Das wäre gut möglich. Obwohl es "nur" mjpeg ist sollte auch die Netzwerkverbindung (WLAN ?) hinreichend schnell sein.

Das Ding ist per LAN Schnittstelle über einen DLAN-Adapter via Steckdose an mein NEtzwerk angeschlossen, aktuell lt Adapter 30-50 Mbit/s Bandbreite.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

DS_Starter

DLAN-Adapter ... ich habe solche Dinge nicht im Einsatz, aber es könnte sein dass das LAN-Interface 50MBit schnell ist, jedoch über das Stromnetz Störungen auftreten die die Verbindungsgeschwindigkeit zwischen den beiden Adaptern reduzieren bzw. Wiederholungen von Datenpaketübetragungen verursachen.
Aber das ist jetzt reine Spekulation, wenn m.M. nach durchaus möglich.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Dracolein

Das führt in diesem Thread auch zu weit.
Izwischen ist mein WLAN im Hause weitaus professioneller, vielleicht wäre das mal wieder eine Alternative zum Test.
Aber irgendwie fühlt sich der Raspi voll ausgelastet aus, wenn ich den STream im Chromium nutze. Glaube nicht, dass es mangelnde Bandbreite ist, sondern eher mangelnde Leistung
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

DS_Starter

ZitatIzwischen ist mein WLAN im Hause weitaus professioneller, vielleicht wäre das mal wieder eine Alternative zum Test.
Ja, würde ich machen.

Mal eine Frage aus eigenem Interesse ... welche DS hast du dir zugelegt ?
Meine DS 415+ ist nun schon etwas in die Jahre gekommen. Würde mich freuen wenn du ein paar Erfahrungen teilen würdest.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Dracolein

Ich habe meine DS213j nach 5 Jahren durch eine DS720+ ersetzt. Meine Erfahrungen sind relativ zu betrachten, mir fehlt es an Vergleichen, zumal der hier genannte Vergleich bei mir persönlich "dramatisch" ist.
Die DS213 ist seit Jahren völlig am Limit bzgl. CPU & RAM, bot wg. veraltetem ARM Prozessor keine Optionen auf Pakete wie z.B. Docker & Co.
Ich wollte zuerst eine DS218+, entschied mich dann für eine DS220+ aufgrund nicht all zuviel Aufpreis & erheblich moderner, aber wurde letztlich trotz nochmaligen Aufpreises bei der DS720+ schwach. 4 Prozessorkerne, Option auf m.2 SSDs (brauche ich nicht) und Option auf erheblich mehr RAM lassen mich hoffen, dass die Kiste wieder mind. 5 Jahre sorgenfrei durchhält.

Der Performanceunterschied ist (erwartungsgemäß) _krass_
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Dracolein

Zitat von: DS_Starter am 28 Februar 2021, 12:42:23
Ja, würde ich machen.

Tja, was soll ich angesichts Deiner Kompetenz noch sagen....
Der Raspi läuft jetzt per integr. WLAN Schnittstelle, den Ethernet-Port habe ich ausgestöpselt und der mjpeg Stream läuft
a.) flüssig
b.) ohne nennenswerte Leistungseinbußen

Ich habe seit 12/2020 mein gesamtes Haus auf Ubiquiti Hardware umgestellt, inzwischen in jeder Etage einen eigenen AP und wo überall möglich, Netzwerkkabel verlegt. Die angesprochenen DLAN-Anbindung des Raspis war noch aus Zeiten davor, als an dessen Standort überhaupt kein Wireless Signal (bzw. viel zu wenig) ankam. Der neue AP steht 3 Meter Luftlinie entfernt.
Geil. Ein weiterer DLAN-Adapter, der rausfliegen wird.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Dracolein

Zitat von: DS_Starter am 27 Februar 2021, 21:41:13
Jo, viele Wege sind möglich.  :) Komisch allerdings warum du Kerberos nicht hinbekommen hast.
Mit HLS Stream wüßte ich es nicht. Mit dem Streamin Device und einem MJPEG Stream könnte man simpel "set <> popupStream" nutzen.
Innerhalb Touch UI geht das aber nicht ganz so easy, oder?
Ich habe:
popupWindowSize width="1000" height="610"
popupStreamTo 5
genericStrmHtmlTag <img $HTMLATTR src="http://192.168.178.10:32782" onClick="FW_okDialog('<img src=http://192.168.178.10:32782 $PWS>')">

definiert - innerhalb FHEMWeb klappt es auch - in Tablet UI erhalte ich beim Klick auf das Livebild eine Fehlermeldung
ZitatReferenceError: FW_okDialog is not defined

Naja, werde mich demnächst reindenken, die Fehlermeldung ist nachvollziehbar. Ich glaube, ich muss das Popup Widget dafür nutzen ( https://wiki.fhem.de/wiki/FTUI_Widget_Popup ), nur fehlt mir derzeit noch der Gedanke, wie ich das Popup mit einem größeren Livebild fülle. Ich kann ja nicht das gleiche Streaming Device dort definieren, sonst wäre es gleich groß.
Muss ich ein weiteres, identisches Streaming Device anlegen und per htmlattr die BIldgröße modifizieren? 
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

DS_Starter

#2242
Zitat
Der Raspi läuft jetzt per integr. WLAN Schnittstelle, den Ethernet-Port habe ich ausgestöpselt und der mjpeg Stream läuft
a.) flüssig
b.) ohne nennenswerte Leistungseinbußen
Das freut mich  :)
Ubiquiti AP's habe ich inzwischen überall bei mir im Einsatz. Läuft einwandfrei. Die Verwaltungssoftware läuft bei mir auch auf einem Dockercontainer auf der Syno.

ZitatMuss ich ein weiteres, identisches Streaming Device anlegen und per htmlattr die BIldgröße modifizieren? 
Mit FTUI bin ich nicht so vertraut, nutze Dashboard.
Aber was du sagst klingt plausibel. Vllt. probier ich auch mal was auf meiner Spielwiese. Wenn wir etwas sinnvolles erarbeitet habe, könnte es mit ins Wiki.

Edit: gerade das Widget im Wiki angeschaut. Es gibt dort Parameter für die Größe des Popups. Sollte also mit einem Streaming Dev gehen.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Dracolein

Zitat von: DS_Starter am 28 Februar 2021, 14:36:00
Das freut mich  :)
Ubiquiti AP's habe ich inzwischen überall bei mir im Einsatz. Läuft einwandfrei. Die Verwaltungssoftware läuft bei mir auch auf einem Dockercontainer auf der Syno.
Mit FTUI bin ich nicht so vertraut, nutze Dashboard.
Aber was du sagst klingt plausibel. Vllt. probier ich auch mal was auf meiner Spielwiese. Wenn wir etwas sinnvolles erarbeitet habe, könnte es mit ins Wiki.

Edit: gerade das Widget im Wiki angeschaut. Es gibt dort Parameter für die Größe des Popups. Sollte also mit einem Streaming Dev gehen.

Bei mir läuft der Unifi Controller auf einem Cloud Key Gen 1 (wie gesagt, hatte bis dato keine Diskstation, die das hätte leisten können).

Das Popup kriege ich bestimmt hingebastelt, aber dessen Inhalt, ist mein Gedanke korrekt? Ein WEITERES Streaming-Device innerhalb FHEM, um dort dann per htmlattr andere Bildgrößen festlegen zu können
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

DS_Starter

Ja, kann man machen. Ich habe bei mir auch etliche Streaming devs mit unterschiedlichen Einstellungen. Aber wie gesagt bin ich bzgl. Ftui nicht die erste Adresse.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Dracolein

Okay, done. Ich habe also eine Kopie eines existenten Streaming Devices angelegt, davon im zweiten Schritt ein generic Stream Device erzeugt mit sämtlichen Anpassungen (width / height) darin vorgenommen.
Der HTML Codeschnipsel, der bei Mausklick (Fingertipp bei Touchdisplay) ein Popup für 15 Sekunden erzeugt und alternativ über meine Haustürklingel ebenfalls geöffnet wird, sieht so aus:


<!-- Box Cam Carport -->
    <li data-row="2" data-col="3" data-sizex="7" data-sizey="2" class="container round">
        <header class="container round">Livebild Carport</header>
        <!-- Popup Bereich zum klicken-->
         <div data-type="popup" data-return-time="20" data-height="750px"  data-width="1100px" data-device="dummy_Haustuerklingel" data-get-on="on">
            <div data-type="sscamstrm" data-device="SSCamSTRM.CamCarport.generic" class="center"></div>
                <!-- Popup Inhalt -->
                <div class="dialog">
                    <header>Kamera Carport</header>
                    <div data-type="sscamstrm" data-device="SSCamSTRM.CamCarportBig.generic" class="center"></div>
                </div>
        </div>
    </li>


Das ist eine komplett fertige Kachel für das FTUI-Layout Gridster.


Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

DS_Starter

Ich habe da so ein Spiel FTUI. Probiere ich dort mal mit aus und ergänze das Wiki. Da freuen sich bestimmt auch andere User drüber.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

juemuc

Zitat von: DS_Starter am 28 Februar 2021, 12:42:23
Mal eine Frage aus eigenem Interesse ... welche DS hast du dir zugelegt ?
Meine DS 415+ ist nun schon etwas in die Jahre gekommen. Würde mich freuen wenn du ein paar Erfahrungen teilen würdest.

LG,
Heiko

Hallo Heiko,

bei mir steht seit ein paar Tagen eine DS920+. Saturn hatte ein Angebot  8) Dazu 4x10 TB  :D

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

DS_Starter

Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

SeppiDeluxe

#2249
Hallo Heiko,

habe heute ein wenig Zeit investiert und mit DSM 7 probiert. Vor einigen Tagen lief es kurz aktuell bekomme ich es nicht mehr zum Laufen.  Testen mit simu_SVSversion bringt nur unterschiedliche Fehler zwischen 103 / 400. Der 400 mit User oder Passwort falsch geht nicht habe X mal neu angelegt und über die Oberfläche (DSM) erfolgreich probiert. Verbose 5 bring leider keine Klarheit.

Im Zentrum bleibt scheinbar die API und wie die unter DSM7 angesteuert wird. Kann ich ggf. noch Infos liefern, damit du Vermutungen anstellen kannst?

Danke Sebastian

PS: Device habe ich inzwischen komplett neu angelegt

2021.03.20 16:41:33 2: SeppiSurvi - WARNING - add "sscam" to attribute "iconpath" of FHEMWEB device "WEB" to get the SSCam control icons
2021.03.20 16:41:33 4: SeppiSurvi - ####################################################
2021.03.20 16:41:33 4: SeppiSurvi - ###    start cam operation gethomemodestate
2021.03.20 16:41:33 4: SeppiSurvi - ####################################################
2021.03.20 16:41:33 4: SeppiSurvi - --- Start getApiSites ---
2021.03.20 16:41:33 5: SeppiSurvi - HTTP-Call will be done with httptimeout-Value: 20 s
2021.03.20 16:41:33 4: SeppiSurvi - API imported:
$VAR1 = {
          'EVENT' => {
                       'NAME' => 'SYNO.SurveillanceStation.Event'
                     },
          'AUTH' => {
                      'NAME' => 'SYNO.API.Auth'
                    },
          'PTZ' => {
                     'NAME' => 'SYNO.SurveillanceStation.PTZ'
                   },
          'PRESET' => {
                        'NAME' => 'SYNO.SurveillanceStation.PTZ.Preset'
                      },
          'SNAPSHOT' => {
                          'NAME' => 'SYNO.SurveillanceStation.SnapShot'
                        },
          'SVSINFO' => {
                         'NAME' => 'SYNO.SurveillanceStation.Info'
                       },
          'CAM' => {
                     'NAME' => 'SYNO.SurveillanceStation.Camera'
                   },
          'INFO' => {
                      'VER' => 1,
                      'PATH' => 'query.cgi',
                      'NAME' => 'SYNO.API.Info'
                    },
          'VIDEOSTM' => {
                          'NAME' => 'SYNO.SurveillanceStation.VideoStreaming'
                        },
          'VIDEOSTMS' => {
                           'NAME' => 'SYNO.SurveillanceStation.VideoStream'
                         },
          'STM' => {
                     'NAME' => 'SYNO.SurveillanceStation.Stream'
                   },
          'EXTREC' => {
                        'NAME' => 'SYNO.SurveillanceStation.ExternalRecording'
                      },
          'HMODE' => {
                       'NAME' => 'SYNO.SurveillanceStation.HomeMode'
                     },
          'REC' => {
                     'NAME' => 'SYNO.SurveillanceStation.Recording'
                   },
          'LOG' => {
                     'NAME' => 'SYNO.SurveillanceStation.Log'
                   },
          'AUDIOSTM' => {
                          'NAME' => 'SYNO.SurveillanceStation.AudioStream'
                        },
          'CAMEVENT' => {
                          'NAME' => 'SYNO.SurveillanceStation.Camera.Event'
                        },
          'EXTEVT' => {
                        'NAME' => 'SYNO.SurveillanceStation.ExternalEvent'
                      }
        };


2021.03.20 16:41:33 4: SeppiSurvi - Call-Out now: http://surveillance.intranet.lan:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.SurveillanceStation.Event,SYNO.API.Auth,SYNO.SurveillanceStation.PTZ,SYNO.SurveillanceStation.PTZ.Preset,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.Camera,SYNO.API.Info,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.VideoStream,SYNO.SurveillanceStation.Stream,SYNO.SurveillanceStation.ExternalRecording,SYNO.SurveillanceStation.HomeMode,SYNO.SurveillanceStation.Recording,SYNO.SurveillanceStation.Log,SYNO.SurveillanceStation.AudioStream,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.ExternalEvent
2021.03.20 16:41:33 3: SeppiSurvi - Polling now: 16:41:33 , next Polling: 16:45:03
2021.03.20 16:41:34 5: SeppiSurvi - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
          'data' => {
                      'SYNO.SurveillanceStation.SnapShot' => {
                                                               'minVersion' => 1,
                                                               'requestFormat' => 'JSON',
                                                               'maxVersion' => 1,
                                                               'path' => 'entry.cgi'
                                                             },
                      'SYNO.SurveillanceStation.Recording' => {
                                                                'requestFormat' => 'JSON',
                                                                'maxVersion' => 6,
                                                                'path' => 'entry.cgi',
                                                                'minVersion' => 1
                                                              },
                      'SYNO.API.Auth' => {
                                           'maxVersion' => 7,
                                           'path' => 'entry.cgi',
                                           'minVersion' => 1
                                         },
                      'SYNO.SurveillanceStation.PTZ' => {
                                                          'minVersion' => 1,
                                                          'requestFormat' => 'JSON',
                                                          'path' => 'entry.cgi',
                                                          'maxVersion' => 6
                                                        },
                      'SYNO.SurveillanceStation.ExternalEvent' => {
                                                                    'maxVersion' => 1,
                                                                    'requestFormat' => 'JSON',
                                                                    'path' => 'entry.cgi',
                                                                    'minVersion' => 1
                                                                  },
                      'SYNO.SurveillanceStation.VideoStream' => {
                                                                  'minVersion' => 1,
                                                                  'path' => 'SurveillanceStation/videoStreaming.cgi',
                                                                  'maxVersion' => 1
                                                                },
                      'SYNO.SurveillanceStation.PTZ.Preset' => {
                                                                 'maxVersion' => 1,
                                                                 'requestFormat' => 'JSON',
                                                                 'path' => 'entry.cgi',
                                                                 'minVersion' => 1
                                                               },
                      'SYNO.API.Info' => {
                                           'maxVersion' => 1,
                                           'requestFormat' => 'JSON',
                                           'path' => 'entry.cgi',
                                           'minVersion' => 1
                                         },
                      'SYNO.SurveillanceStation.HomeMode' => {
                                                               'path' => 'entry.cgi',
                                                               'requestFormat' => 'JSON',
                                                               'maxVersion' => 1,
                                                               'minVersion' => 1
                                                             },
                      'SYNO.SurveillanceStation.Log' => {
                                                          'minVersion' => 1,
                                                          'requestFormat' => 'JSON',
                                                          'path' => 'entry.cgi',
                                                          'maxVersion' => 3
                                                        },
                      'SYNO.SurveillanceStation.AudioStream' => {
                                                                  'maxVersion' => 2,
                                                                  'path' => 'SurveillanceStation/audioStreaming.cgi',
                                                                  'minVersion' => 1
                                                                },
                      'SYNO.SurveillanceStation.Camera' => {
                                                             'minVersion' => 1,
                                                             'requestFormat' => 'JSON',
                                                             'path' => 'entry.cgi',
                                                             'maxVersion' => 9
                                                           },
                      'SYNO.SurveillanceStation.Camera.Event' => {
                                                                   'minVersion' => 1,
                                                                   'maxVersion' => 1,
                                                                   'requestFormat' => 'JSON',
                                                                   'path' => 'entry.cgi'
                                                                 },
                      'SYNO.SurveillanceStation.VideoStreaming' => {
                                                                     'minVersion' => 1,
                                                                     'requestFormat' => 'JSON',
                                                                     'maxVersion' => 1,
                                                                     'path' => 'entry.cgi'
                                                                   },
                      'SYNO.SurveillanceStation.Info' => {
                                                           'minVersion' => 1,
                                                           'requestFormat' => 'JSON',
                                                           'path' => 'entry.cgi',
                                                           'maxVersion' => 8
                                                         },
                      'SYNO.SurveillanceStation.Event' => {
                                                            'minVersion' => 1,
                                                            'path' => 'entry.cgi',
                                                            'requestFormat' => 'JSON',
                                                            'maxVersion' => 5
                                                          },
                      'SYNO.SurveillanceStation.Stream' => {
                                                             'minVersion' => 1,
                                                             'path' => 'entry.cgi',
                                                             'requestFormat' => 'JSON',
                                                             'maxVersion' => 1
                                                           },
                      'SYNO.SurveillanceStation.ExternalRecording' => {
                                                                        'minVersion' => 1,
                                                                        'requestFormat' => 'JSON',
                                                                        'maxVersion' => 3,
                                                                        'path' => 'entry.cgi'
                                                                      }
                    }
        };

2021.03.20 16:41:34 4: SeppiSurvi - installed SVS version is:
2021.03.20 16:41:34 4: SeppiSurvi - ------- Begin of adaption section -------
2021.03.20 16:41:34 4: SeppiSurvi - ------- End of adaption section -------
2021.03.20 16:41:34 4: SeppiSurvi - ------- Begin of simulation section -------
2021.03.20 16:41:34 4: SeppiSurvi - SVS version 815xxxx-simu will be simulated
2021.03.20 16:41:34 4: SeppiSurvi - Version of SYNO.SurveillanceStation.Camera adapted to: 9
2021.03.20 16:41:34 4: SeppiSurvi - Version of SYNO.API.Auth adapted to: 6
2021.03.20 16:41:34 4: SeppiSurvi - Version of SYNO.SurveillanceStation.ExternalRecording adapted to: 3
2021.03.20 16:41:34 4: SeppiSurvi - Version of SYNO.SurveillanceStation.PTZ adapted to: 5
2021.03.20 16:41:34 4: SeppiSurvi - ------- End of simulation section -------
2021.03.20 16:41:34 4: SeppiSurvi - API completed after retrieval and adaption:
$VAR1 = {
          'REC' => {
                     'VER' => 6,
                     'PATH' => 'entry.cgi',
                     'NAME' => 'SYNO.SurveillanceStation.Recording',
                     'MOD' => 'no'
                   },
          'LOG' => {
                     'PATH' => 'entry.cgi',
                     'NAME' => 'SYNO.SurveillanceStation.Log',
                     'MOD' => 'no',
                     'VER' => 3
                   },
          'AUDIOSTM' => {
                          'PATH' => 'SurveillanceStation/audioStreaming.cgi',
                          'NAME' => 'SYNO.SurveillanceStation.AudioStream',
                          'MOD' => 'no',
                          'VER' => 2
                        },
          'CAMEVENT' => {
                          'MOD' => 'no',
                          'NAME' => 'SYNO.SurveillanceStation.Camera.Event',
                          'PATH' => 'entry.cgi',
                          'VER' => 1
                        },
          'EXTEVT' => {
                        'MOD' => 'no',
                        'NAME' => 'SYNO.SurveillanceStation.ExternalEvent',
                        'PATH' => 'entry.cgi',
                        'VER' => 1
                      },
          'PARSET' => 1,
          'STM' => {
                     'PATH' => 'entry.cgi',
                     'NAME' => 'SYNO.SurveillanceStation.Stream',
                     'MOD' => 'no',
                     'VER' => 1
                   },
          'EXTREC' => {
                        'PATH' => 'entry.cgi',
                        'NAME' => 'SYNO.SurveillanceStation.ExternalRecording',
                        'MOD' => 'yes',
                        'VER' => '3'
                      },
          'HMODE' => {
                       'MOD' => 'no',
                       'NAME' => 'SYNO.SurveillanceStation.HomeMode',
                       'PATH' => 'entry.cgi',
                       'VER' => 1
                     },
          'VIDEOSTMS' => {
                           'VER' => 1,
                           'MOD' => 'no',
                           'NAME' => 'SYNO.SurveillanceStation.VideoStream',
                           'PATH' => 'SurveillanceStation/videoStreaming.cgi'
                         },
          'EVENT' => {
                       'VER' => 5,
                       'MOD' => 'no',
                       'NAME' => 'SYNO.SurveillanceStation.Event',
                       'PATH' => 'entry.cgi'
                     },
          'AUTH' => {
                      'MOD' => 'yes',
                      'NAME' => 'SYNO.API.Auth',
                      'PATH' => 'entry.cgi',
                      'VER' => '6'
                    },
          'PTZ' => {
                     'VER' => '5',
                     'PATH' => 'entry.cgi',
                     'NAME' => 'SYNO.SurveillanceStation.PTZ',
                     'MOD' => 'yes'
                   },
          'PRESET' => {
                        'VER' => 1,
                        'PATH' => 'entry.cgi',
                        'NAME' => 'SYNO.SurveillanceStation.PTZ.Preset',
                        'MOD' => 'no'
                      },
          'SNAPSHOT' => {
                          'VER' => 1,
                          'MOD' => 'no',
                          'NAME' => 'SYNO.SurveillanceStation.SnapShot',
                          'PATH' => 'entry.cgi'
                        },
          'SVSINFO' => {
                         'VER' => 8,
                         'MOD' => 'no',
                         'NAME' => 'SYNO.SurveillanceStation.Info',
                         'PATH' => 'entry.cgi'
                       },
          'CAM' => {
                     'MOD' => 'yes',
                     'NAME' => 'SYNO.SurveillanceStation.Camera',
                     'PATH' => 'entry.cgi',
                     'VER' => '9'
                   },
          'INFO' => {
                      'VER' => 1,
                      'MOD' => 'no',
                      'NAME' => 'SYNO.API.Info',
                      'PATH' => 'entry.cgi'
                    },
          'VIDEOSTM' => {
                          'PATH' => 'entry.cgi',
                          'NAME' => 'SYNO.SurveillanceStation.VideoStreaming',
                          'MOD' => 'no',
                          'VER' => 1
                        }
        };

2021.03.20 16:41:34 4: SeppiSurvi - ####################################################
2021.03.20 16:41:34 4: SeppiSurvi - ###    start cam operation gethomemodestate
2021.03.20 16:41:34 4: SeppiSurvi - ####################################################
2021.03.20 16:41:34 3: SeppiSurvi - no session ID found - get new one
2021.03.20 16:41:34 4: SeppiSurvi - --- Begin Function login ---
2021.03.20 16:41:34 4: SeppiSurvi - Credentials read from RAM: camadm ********
2021.03.20 16:41:34 4: SeppiSurvi - HTTP-Call login will be done with httptimeout-Value: 60 s
2021.03.20 16:41:34 4: SeppiSurvi - Call-Out now: http://surveillance.intranet.lan:5000/webapi/entry.cgi?api=SYNO.API.Auth&version=6&method=Login&account=camadm&passwd=*****&session=SurveillanceStation&format="sid"
2021.03.20 16:41:39 5: SeppiSurvi - JSON decoded: $VAR1 = {
          'success' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
          'error' => {
                       'code' => 400
                     }
        };

2021.03.20 16:41:39 3: SeppiSurvi - Login of User camadm unsuccessful. Code: 400 - Invalid user or password - try again
2021.03.20 16:41:39 4: SeppiSurvi - --- Begin Function login ---
2021.03.20 16:41:39 4: SeppiSurvi - Credentials read from RAM: camadm ********
2021.03.20 16:41:39 4: SeppiSurvi - HTTP-Call login will be done with httptimeout-Value: 60 s
2021.03.20 16:41:39 4: SeppiSurvi - Call-Out now: http://surveillance.intranet.lan:5000/webapi/entry.cgi?api=SYNO.API.Auth&version=6&method=Login&account=camadm&passwd=*****&session=SurveillanceStation&format="sid"
2021.03.20 16:41:45 5: SeppiSurvi - JSON decoded: $VAR1 = {
          'success' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
          'error' => {
                       'code' => 400
                     }
        };

2021.03.20 16:41:45 3: SeppiSurvi - Login of User camadm unsuccessful. Code: 400 - Invalid user or password - try again
2021.03.20 16:41:45 4: SeppiSurvi - --- Begin Function login ---
2021.03.20 16:41:45 4: SeppiSurvi - Credentials read from RAM: camadm ********
2021.03.20 16:41:45 4: SeppiSurvi - HTTP-Call login will be done with httptimeout-Value: 60 s
2021.03.20 16:41:45 4: SeppiSurvi - Call-Out now: http://surveillance.intranet.lan:5000/webapi/entry.cgi?api=SYNO.API.Auth&version=6&method=Login&account=camadm&passwd=*****&session=SurveillanceStation&format="sid"
2021.03.20 16:41:51 5: SeppiSurvi - JSON decoded: $VAR1 = {
          'error' => {
                       'code' => 400
                     },
          'success' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        };

2021.03.20 16:41:51 3: SeppiSurvi - Login of User camadm unsuccessful. Code: 400 - Invalid user or password - try again
2021.03.20 16:41:51 4: SeppiSurvi - --- Begin Function login ---
2021.03.20 16:41:51 4: SeppiSurvi - Credentials read from RAM: camadm ********
2021.03.20 16:41:51 2: SeppiSurvi - ERROR - Login or privilege of user camadm unsuccessful
2021.03.20 16:41:52 4: SeppiSurvi - Credentials read from RAM: camadm ********
2021.03.20 16:41:52 5: SeppiSurvi - The stored value of SMTPcredentials is empty
2021.03.20 16:41:52 4: SeppiSurvi - ####################################################
2021.03.20 16:41:52 4: SeppiSurvi - ###    start cam operation getsvslog
2021.03.20 16:41:52 4: SeppiSurvi - ####################################################
2021.03.20 16:41:52 4: SeppiSurvi - get logList with params: severity => , limit => 1, matchcode =>
2021.03.20 16:41:52 3: SeppiSurvi - no session ID found - get new one
2021.03.20 16:41:52 4: SeppiSurvi - --- Begin Function login ---
2021.03.20 16:41:52 4: SeppiSurvi - Credentials read from RAM: camadm ********
2021.03.20 16:41:52 4: SeppiSurvi - HTTP-Call login will be done with httptimeout-Value: 60 s
2021.03.20 16:41:52 4: SeppiSurvi - Call-Out now: http://surveillance.intranet.lan:5000/webapi/entry.cgi?api=SYNO.API.Auth&version=6&method=Login&account=camadm&passwd=*****&session=SurveillanceStation&format="sid"
2021.03.20 16:41:54 3: SeppiSurvi - Polling now: 16:41:54 , next Polling: 16:45:24
2021.03.20 16:41:58 5: SeppiSurvi - JSON decoded: $VAR1 = {
          'error' => {
                       'code' => 400
                     },
          'success' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        };