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

marvin78

Zitat von: Fredi69 am 01 Januar 2016, 23:52:47
Ich bekomme bei der Nutzung des SSCam Modul den Fehler "Camera(ID) not found in Surveillance Station".
Der Name der Cam wurde kopiert!


Das sind zu wenige Informationen, um wirklich eine qualifizierte Aussage zu treffen. Du hättest mindestens deinen Kameranamen angeben sollen, besser aber ein list von deinem SSCam Device.

Mein Tipp: Umlaute oder andere Zeichen im Namen der Kamera, die nicht erlaubt sind.

Fredi69

Hier mein List:
Internals:
   CAMNAME    WZHTIP211
   CFGFN
   DEF        192.168.0.50 5000 User Password WZHTIP211 30
   NAME       WZ_HooToo_HT_IP211
   NR         6124
   OPMODE     Enable
   RECTIME    30
   SERVERNAME 192.168.0.50
   SERVERPORT 5000
   STATE      ???
   TYPE       SSCam
   USERNAME   User
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMMAXVER 7
     APICAMPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     PASSWORD   Password
     SID        Ng0KHLTZiXarc14B0LTN409803
   Readings:
     2016-01-01 22:11:56   Availability
     2016-01-01 22:12:35   Error           Camera(ID) not found in Surveillance Station
     2016-01-01 22:12:35   Errorcode       none
     2016-01-01 22:11:56   Record          Stop
Attributes:
   room       Wohnzimmer
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

DS_Starter

Das sieht eigentlich alles normal aus.
Setze doch mal bitte für das Device den verbosemode = 5 und poste uns das Log ab "Begin Function getcamid":

...................................................
2016.01.02 12:04:11 4: CamCP1_test - --- Begin Function getcamid nonblocking ---
2016.01.02 12:04:11 4: CamCP1_test - URL-Call: http://192.168.2.10:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=7&method=List&session=SurveillanceStation&_sid="9OuBd1DV3AMe214A0MIN235902"
2016.01.02 12:04:11 5: CamCP1_test - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ), ................


Das kann ziemlich viel sein, deswegen wahrscheinlich am Besten in ein File packen und am Post anhängen.

Hast du noch weitere Cams definiert und wie sieht es bei diesen Devices aus ?

Testweise habe ich gerade eine Kamera bei mir ebenfalls so genannt wie deine (WZHTIP211) und diverse Funktionen durchgespielt ..... ohne Probleme.
ESXi@NUC+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

Fredi69

2016.01.02 13:08:42 4: WZ_HooToo_HT_IP211 - --- Begin Function getcamid nonblocking ---
2016.01.02 13:08:42 4: WZ_HooToo_HT_IP211 - URL-Call: http://192.168.0.50:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&version=7&method=List&session=SurveillanceStation&_sid="Ug9FnWdYlX6U614B0LTN409803"
2016.01.02 13:08:42 5: WZ_HooToo_HT_IP211 - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),
          'data' => {
                      'timestamp' => '1451736521',
                      'cameras' => [],
                      'delcam' => [],
                      'total' => 0,
                      'existCamMntTypeMap' => undef,
                      'keyUsedCnt' => 1
                    }
        };

2016.01.02 13:08:42 1: WZ_HooToo_HT_IP211 - ERROR - Cameraname WZHTIP211 wasn't found in Surveillance Station. Check Cameraname and Spelling.
2016.01.02 13:08:42 4: WZ_HooToo_HT_IP211 - --- End Function getcamid nonblocking with error ---
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

DS_Starter

#49
Ja , das Modul kann nichts finden weil von deiner SS auch nichts geliefert wird.

Normal sieht es so ungefähr aus (und sehr viele weitere Infos):

2016.01.02 12:27:23 5: CamCP1_test - JSON returned: $VAR1 = {
          'data' => {
                      'delcam' => [],
                      'timestamp' => '1451734043',
                      'existCamMntTypeMap' => undef,
                      'cameras' => [
                                     {
                                       'status_flags' => 0,
                                       'blLiveviewPriv' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' ),
                                       'video_mirror' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' ),
                                       'deviceType' => 1,
                                       'setDOCap' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                       'recStatus' => 0,
                                       'autoFocus' => $VAR1->{'data'}{'cameras'}[0]{'video_mirror'},
                                       'dsPort' => 5000,
                                       'presetNum' => 0,
......................


Vermutung von mir ist, dass der von dir verwendete User im DSM nicht Mitglied der Admin-Gruppe ist bzw. er keine ensprechenden Rechte hat sich die Infos auslesen zu lassen.
Checke das mal bitte.
Und schau auch mal in die SS rein ob die Kamera dort wirklich verfügbar und funktionierend ist ..... ich weiß, ist trivial aber man weiß ja nie  ;)

In dem Wert 'total' steht die Anzahl der in SS verfügbaren Cams drin, bei dir 'total' => 0 .
ESXi@NUC+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

Fredi69

Vielen Dank, es war die fehlende Admin-Gruppe, obwohl ich mir sicher war die hinzugefügt zu haben. Habe der Gruppe nochmals den User hinzugefügt und es lief. Danke, nochmals.
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

DS_Starter

#51
Hallo zusammen,

ich habe auf meiner ToDo-Liste einen Punkt, den man mit Flexibilisierung der Aufnahmezeit beschreiben könnte.

Der Hintergrund ist, dass zur Zeit die Aufnahmezeit in den Defines festgelegt ist und man das Define ändern muß um die Aufnahmezeit zu ändern. Das ist so recht unflexibel und nicht unbedingt "state of the art".

Um das zu ändern und inspiriert durch marvin78 (danke marvin)  habe ich vor, die Nutzung der Aufnahmezeit wie folgt anzupassen:

     Wir nehmen die Rectime komplett aus dem Define raus und ersetzen "set <name> on" durch "set <name> on-for-timer <Rectime>". 
    <Rectime> ist  hier  optional  ---> d.h.  wenn die Variable nicht beim Befehl angegeben ist,  wird mit einem Standardwert gearbeitet
    den ich beim ersten Define als Attribut definiere und der kameraspezifisch vom Nutzer dauerhaft in den Attributen geändert werden kann.

    Das hat den Charme dass es sich in das FHEM Vokabular gut einreiht (on-for-timer).

    Gleichzeitig würde ich das bisherige "set <name> on"  auf eine dauerhafte Aufzeichnung umstellen, die mit "set <name> off"  wieder abgeschaltet     
    werden kann.
    Eine solche Funktion ist für den einen oder anderen Fall sicherlich auch wünschenswert zumal es sie  in der SS auch gibt.

Daneben reduziert sich das Define für die Cams, was mir für die weiteren Vorhaben in Richtung Verbannung User/Passwort von dieser Stelle sehr gefällt.

Was sagt ihr zu diesem Vorhaben bzw. dieser Änderung ?  Können wir hier gerne mal diskutieren. Nach dem Update des SSCam-Moduls müßte der Nutzer seine Cam-defines und notifies usw. anpassen.

Aber ich denke das hat Charme ....

Viele Grüße
   
     
     
ESXi@NUC+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

marvin78

Ich hatte dir ähnliches ja schon vor einiger Zeit vorgeschlagen. Die Umsetzung per on-for-timer finde ich gut. Eventuell helfen da die setExtensions von fhem.

Allerdings hätte die Passwort-Sicherheit in meinen Augen Priorität ;)

DS_Starter

Ja, baut auf deinen Vorschlägen auf  :)
An die Passwortgeschichte will ich dann auch zügig rangehen, versuche den Define-String quasi von hinten aufzuräumen.  Blöderweise habe ich zwischen Passwort und Rectime den Kameranamen drin den man nun auf jeden Fall im Define haben muß.
Hab da hin und her überlegt wie am Besten programmtechnisch angehen und fand dies als ersten Schritt eine gute Vorgehnsweise.

Die setExtensions muß ich mir mal anschauen was die machen und wie die hier nützlich sein könnten.
ESXi@NUC+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

OliS.

Guten Morgen!

Klingt für mich alles nach einem guten Plan.

Oli
FHEM in Debian VM auf DS720+, HMLAN und HMUARTLGW, RFXTRX, Conbee II, Homebridge, Alexa
Geräte: Homematic, Tradfri, Shelly, IT, ESA2000, VU+, Denon-AVR, Sonos, Fritz!Box, Harmony Hub, IP-Cams, Roborock, Automower

oli82

Hi.
Habe heute das Modul eingerichtet, da ich damit zum einen meine Kameras bei Feier ausschalten wollte und sonst als Bewegungsmelder-Ersatz nutzen wollte.
Leider ändert sich bei mir der Status von Record nicht, sondern bleibt bei "Stop".

Muss ich die Readings pollen oder aktualisieren dieses sich automatisch?

Danke für die Hilfe

DS_Starter

Hi Oli82,

für die von dir benutzten Funktionen brauchst du das Polling normalerweise nicht.
Die Readings wie Error, Errorcode, Availability, Record aktualisieren sich automatisch. Hast du "attr WEB longpoll 1" gesetzt bzw. das Attribut event-on-change-reading: Record,Error,Errorcode,LastSnapId,Availability gesetzt ?
Ändert sich denn der Status wenn du den Browser manuell aktualisierst wenn einen Aufnahme läuft ?

Kannst du näher beschreiben wie du welche Aktivität auslöst und auch ein list von einer deiner Kameras bzw. einen Auszug aus deinem Log ?

Das Problem ist für mich momentan nicht so richtig greifbar.....
ESXi@NUC+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

oli82

Danke für die schnelle Antwort
Zitat von: DS_Starter am 05 Januar 2016, 22:36:43
Hast du "attr WEB longpoll 1" gesetzt bzw. das Attribut event-on-change-reading: Record,Error,Errorcode,LastSnapId,Availability gesetzt ?
Ändert sich denn der Status wenn du den Browser manuell aktualisierst wenn einen Aufnahme läuft ?

Kannst du näher beschreiben wie du welche Aktivität auslöst und auch ein list von einer deiner Kameras bzw. einen Auszug aus deinem Log ?
Longpoll und event-on-change-reading waren bereits gesetzt

Im Moment laufe ich einfach in die Kamera und schaue auf der DS ob die Aufnahme startet.
Wenn Sie dann gestartet ist, aktualisiere ich vorsorglich die Fhem Ansicht. Lieder ändert sich dann der Status nicht.

Im Anhang die Readings, sobald ich "get Doorcam caminfoall" ausführe.

Hier das Listing:
Internals:
   CAMID      1
   CAMNAME    Doorcam
   CHANGED
   DEF        192.168.xxx.xxx xxxx xxxxxxxxx xxxxxxxxxxxx Doorcam 10
   NAME       DoorCam
   NR         271
   OPMODE     Getcapabilities
   RECTIME    10
   SERVERNAME 192.168.xxx.xxx
   SERVERPORT xxxxx
   STATE      off
   TYPE       SSCam
   USERNAME   
   Helper:
     ACTIVE     off
     APIAUTH    SYNO.API.Auth
     APIAUTHMAXVER 4
     APIAUTHPATH auth.cgi
     APICAM     SYNO.SurveillanceStation.Camera
     APICAMMAXVER 7
     APICAMPATH entry.cgi
     APIEXTREC  SYNO.SurveillanceStation.ExternalRecording
     APIEXTRECMAXVER 2
     APIEXTRECPATH entry.cgi
     APIINFO    SYNO.API.Info
     APIPTZ     SYNO.SurveillanceStation.PTZ
     APIPTZMAXVER 4
     APIPTZPATH entry.cgi
     APISNAPSHOT SYNO.SurveillanceStation.SnapShot
     APITAKESNAPMAXVER 1
     APITAKESNAPPATH entry.cgi
     OLDVALPOLLNOLOGGING 0
     PASSWORD   
   Readings:
     2016-01-05 23:00:03   Availability    enabled
     2016-01-05 23:00:03   CamIP           192.168.xxx.xxx
     2016-01-05 23:00:03   CamLiveMode     Liveview from DS
     2016-01-05 23:00:03   CamPort         80
     2016-01-05 23:00:03   CamRecShare     surveillance
     2016-01-05 23:00:03   CamRecVolume    volume1
     2016-01-05 23:00:05   CapAudioOut     0
     2016-01-05 23:00:05   CapChangeSpeed  0
     2016-01-05 23:00:05   CapPTZAbs       0
     2016-01-05 23:00:05   CapPTZAutoFocus 0
     2016-01-05 23:00:05   CapPTZDirections 0
     2016-01-05 23:00:05   CapPTZFocus     false
     2016-01-05 23:00:05   CapPTZHome      0
     2016-01-05 23:00:05   CapPTZIris      false
     2016-01-05 23:00:05   CapPTZPan       false
     2016-01-05 23:00:05   CapPTZTilt      false
     2016-01-05 23:00:05   CapPTZZoom      false
     2016-01-05 23:00:03   DeviceType      Camera
     2016-01-05 23:00:05   Error           none
     2016-01-05 23:00:05   Errorcode       none
     2016-01-05 23:00:03   LastUpdateTime  05.01.2016 / 22:04:41
     2016-01-05 22:59:57   PollState       Inactive
     2016-01-05 20:57:51   Record          Stop
     2016-01-05 23:00:03   UsedSpaceMB     0.142
Attributes:
   event-on-change-reading Record,Error,Errorcode,LastSnapId,Availability
   icon       it_camera
   room       06_Cam

DS_Starter

Ah, jetzt habe ich verstanden denke ich.

Der Ansatz für SSCam ist ein bisschen anders als von dir verwendet.  Das Modul wertet nicht aus wenn die KAMERA eine Bewegung erkennt, sondern es führt Aktivitäten wie Aufnahmen, Schnappschüsse aus, wenn Sensoren wie z.B. IR-Bewegungsmelder, Fenster / Tür -Melder eine Aktivität feststellen. Das passiert dann gewöhnlich über ein FHEM-Notify.

Es können auch diverse Aktivitäten (Aufnahme starten, Enable, Disable) über Befehle "set <name> on" usw. ausgelöst werden.
Schau dir dazu auch die commandref oder Device specific help an.

Durch das Modul sollte eben die immer wieder unbefriedigende Bewegungserkennung der Kameras durch Mechanismen der Hausautomatisisierung abgelöst werden.

Der Status solte sich also ändern wenn du die Kamera durch "set <name> disable" bzw. "set <name> enable"  deaktivierst / aktivierst.

ESXi@NUC+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

oli82

Schade.
Ich ging davon aus, dass durch die API Funktion auch der Status der Kamera permanent übergeben wird. also auch, wenn z.b. eine WLan Cam getrennt wurde usw.
Dann muss ich das anders lösen ;)

Danke trotzdem für die schnelle Hilfe und Klarstellung.