Neues Modul: 70_ZoneMinder, 71_ZM_Monitor

Begonnen von delMar, 07 Oktober 2018, 18:45:04

Vorheriges Thema - Nächstes Thema

delMar

Weiter oben hast du mal folgende Log-Line gezeigt.
error while requesting http://192.168.xxx.xx/zm/index.php?username=XXX&password=%23YYYYYY%23&action=login&view=console - 192.168.178.33: Connection refused (111)
Kriegst du die immer noch?
Kannst du die bitte mal genau so in den Browser kopieren? Am besten in ein Incognito Fenster, ansonsten wird natürlich eine bereits existierende ZM-Console Session verwendet.
Wenn die Zeile nicht mehr kommt, dann dürfte der Login an sich jetzt funktionieren.

Dann wäre die nächste Frage, warum die Werte nicht gefunden werden.
Kannst du für diesen Zweck bitte mal 'Verbose' auf 5 stellen?
Das Log wird dann ziemlich explodieren, aber ich hoffe, dass es dann klarer wird.

Danke!
schöne Grüße
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

Sky

#121
Hallo Martin ,

der Login mit

http://192.168.xxx.xx/zm/index.php?username=Xxx&password=%23Xxxxxx%23&action=login&view=console


funktioniert nicht

delMar

Zitat von: Sky am 02 September 2019, 12:10:56
der Login mit

http://192.168.xxx.xx/zm/index.php?username=Xxx&password=%23Xxxxxx%23&action=login&view=console

funktioniert nicht
Stimmt, denn eigentlich müsste hier ja der Port 90 noch mit dabei stehen.
Der ist ja im "publicAddress" Attribut definiert, richtig?
Und mittels "usePublicUrlForZmWeb" sollte dann eigentlich die publicAddress verwendet werden, statt der Adresse im Define.

Ist die URL aus deinem letzten Post aus dem aktuellen Log? Oder nur von meiner Nachricht rauskopiert?

Und stell bitte noch "Verbose" auf 5, dann sollten auch die Antworten von ZoneMinder im Detail im Log stehen.

schöne Grüße
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

Sky

Aktuell sieht es so aus :


Ist die URL aus deinem letzten Post aus dem aktuellen Log? Oder nur von meiner Nachricht rauskopiert?


2019.09.02 13:41:45 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/70_ZoneMinder.pm line 189.
2019.09.02 13:41:45 3: ZoneMinder (zm) - login status:
2019.09.02 13:41:45 0: error while requesting http://192.168.178.33/zm/index.php?username=Sky&password=%23TDM900%23&action=login&view=console - 192.168.178.33: Connection refused (111)


Setze gleich mal "Verbose" auf 5

Danke für Deine Hilfe

Sky

Mit "Verbose" auf 5 liefert der Log folgendes :


2019.09.02 13:57:24 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/70_ZoneMinder.pm line 189.
2019.09.02 13:57:24 3: ZoneMinder (zm) - login status:
2019.09.02 13:57:24 0: error while requesting http://192.168.178.33/zm/index.php?username=Sky&password=%23TDM900%23&action=login&view=console - 192.168.178.33: Connection refused (111)
2019.09.02 13:57:24 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4751.

Sky

Habe gerade folgendes in der ZoneMinder Konsole entdeckt ...

Weiß leider nicht genau was dies zu bedeuten hat ?

Sky

Meine aktuelle Definition sieht so aus ....

delMar

Zitat von: Sky am 02 September 2019, 13:56:30
Aktuell sieht es so aus :


Ist die URL aus deinem letzten Post aus dem aktuellen Log? Oder nur von meiner Nachricht rauskopiert?


2019.09.02 13:41:45 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/70_ZoneMinder.pm line 189.
2019.09.02 13:41:45 3: ZoneMinder (zm) - login status:
2019.09.02 13:41:45 0: error while requesting http://192.168.178.33/zm/index.php?username=Sky&password=%23TDM900%23&action=login&view=console - 192.168.178.33: Connection refused (111)


Hm, das verstehe ich überhaupt nicht.
Ich hab jetzt auch nochmal im Code nachgesehen: wenn die beiden publicUrl Attribute gesetz sind, dann muss der Login mit der publicAddress gemacht werden. Bei dir steht aber noch die andere im Request.
Hast du FHEM mal neu gestartet in der Zwischenzeit?

Ansonsten: in 70_ZoneMinder.pm in Zeile 121 ist ein auskommentierter Log-Befehl.
Der gibt die Werte für publicAddress und usePublic aus.
Kannst du den mal aktivieren (# entfernen) und fhem neu starten?

Und 'Verbose' 5 ist dann für jene Logs interessant, wo 'NOT found. Please report, this is a problem.' gemeldet wird.
Dann sollten wir nämlich Infos dazu bekommen, welcher String überhaupt durchsucht wurde.
Solange der Login aber auf die falsche Adresse geht, bringt das noch nix.

Danke


Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

Sky

#128
 Ich habe jetzt die Zeile 121 auskommentiert


Log3 $name, 0, "ZoneMinder ($name) - publicAddress: $publicAddress, usePublic: $usePublic";


Anschließend sogar den Pi neugestartet ...

So sieht der Log danach aus :


2019.09.02 18:59:42 3: ZoneMinder - Initialize done ...
2019.09.02 18:59:42 3: Opening zm device 192.168.xxx.xx:6802
2019.09.02 18:59:42 3: zm device opened
2019.09.02 18:59:42 1: PERL WARNING: Use of uninitialized value $publicAddress in concatenation (.) or string at ./FHEM/70_ZoneMinder.pm line 121.
2019.09.02 18:59:42 0: ZoneMinder (zm) - publicAddress: , usePublic: 0


2019.09.02 18:59:51 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/70_ZoneMinder.pm line 189.
2019.09.02 18:59:51 3: ZoneMinder (zm) - login status:
2019.09.02 18:59:51 0: error while requesting http://192.168.xxx.xx/zm/index.php?username=xxx&password=%23xxxxxx%23&action=login&view=console - 192.168.xxx.xx: Connection refused (111)


2019.09.02 19:01:43 0: ZoneMinder (zm) - publicAddress: http://192.168.xxx.xx:90, usePublic: 1
2019.09.02 19:01:43 0: ZoneMinder (zm) - publicAddress: http://192.168.xxx.xx:90, usePublic: 1

delMar

Danke!

Also laut den letzten beiden Logzeilen sollte es funktionieren.
Vorher aber nicht. Keine Ahnung, warum.

Kommt immer noch 'error while requesting'?

Schöne Grüße
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

Sky

Bin gerade dabei den 2.Raspberry nochmal mit Debian Stretch und Zoneminder neu aufzusetzen .

Melde mich nochmal ....

Sky

#131
Hallo ,

ich habe jetzt den 2. Raspberry ( Modell 2 ) mit Debian und Zoneminder 1.30.4 neu aufgesetzt .
Auf meinem Haupt-Pi ( Modell 3 ) habe ich dann das Modul "70_ZoneMinder" deinstalliert .

Nach dem Neustart das Modul erneut installiert mit

define zm ZoneMinder 192.168.xxx.xx


In der Zoneminder Konsole habe ich neben dem "Admin" Zugang einen neuen Benutzer angelegt .
Über " set zm login " habe ich den neuen Benutzer mit Passwort hinzugefügt 

In Fhem wird mir nun folgendes angezeigt :

APILoginError   Invalid username or password.


Will Fhem sich auf der Zoneminder Konsole mit dem Benutzer "Pi" anmelden ?
Wenn ich in der Zoneminder Konsole die neuen Benutzerdaten eingebe , zum Login , funktioniert dies .

Nun habe ich die Definition verändert mit

DEF        192.168.xxx.xx <ZM-Username> <ZM-Password>


Ergebniss :


Internals:
   APILoginStatus 200
   DEF        192.168.xxx.xx ### ##########
   DeviceName 192.168.xxx.xx:6802
   FUUID      5d6f6f99-f33f-88d2-b374-03e0574730c710e6
   HTTPCookies ZMSESSID=1udhn4sf0625nmrnlfl2odrfn7; zmCSS=classic; zmSkin=classic
   NAME       zm
   NEXT_OPEN  1567595650.33029
   NOTIFYDEV  global
   NR         285
   PARTIAL   
   STATE      disconnected
   TYPE       ZoneMinder
   ZM_API_VERSION 1.0
   ZM_VERSION 1.30.4
   model      1.30.4
   HTTPCookieHash:
     ZMSESSID:
       Options    path=/; HttpOnly
       Value      1udhn4sf0625nmrnlfl2odrfn7
     zmCSS:
       Options    expires=Fri, 13-Jul-2029 11:11:32 GMT; Max-Age=311040000
       Value      classic
     zmSkin:
       Options    expires=Fri, 13-Jul-2029 11:11:32 GMT; Max-Age=311040000
       Value      classic
   READINGS:
     2019-09-04 13:13:24   CPU_Load        1.26,0.69,0.29
     2019-09-04 13:10:24   authHash        4d76fc6f51c418a5350516f70213e296
     2019-09-04 13:13:10   state           disconnected
   helper:
     ZM_AUTH_HASH_SECRET ...Change me to something unique...
     ZM_HOST    192.168.xxx.xx
     ZM_PASSWORD ##########
     ZM_PATH_ZMS /cgi-bin/nph-zms
     ZM_USERNAME ###
     apiInitialized 1
Attributes:
   room       Zoneminder
   verbose    5


Trotzdem verbindet er sich nicht ??

Der Login mit

2019.09.04 13:11:32 4: ZoneMinder (zm) - loginUrl: http://192.168.xxx.xx/zm/index.php?username=###&password=%23%######%23%23&action=login&view=console

funktioniert im Webbrowser ....

delMar

Hallo Sky,


'set login' verwendet nur die username/password Kombi, die beim Define verwendet wurde und triggert einen neuerlichen Login.
Es wird nicht verwendet, um username und passwort zu setzen.

Sorry, dass das (noch) so kompliziert ist, hat durchaus technische Hintergründe (verbindung mit der ZM-API und dem ZM-Trigger Port).
Ich werde das definitiv noch verbessern, derzeit gehts aber nicht anders

Der Login zur API funktioniert, das sieht man, weil die ZM Version und zB CPU usage angezeigt werden.
das 'state disconnected' bezieht sich auf den ZoneMinder Trigger-Port (6802).
Der Port wird benötigt, um Events zwischen ZM und FHEM in Echtzeit auszutauschen (per Push), ohne einen "teuren" API call machen zu müssen (was Polling wäre)

Damit das funktioniert, musst du in den Optionen von ZoneMinder noch OPT_TRIGGERS aktivieren.
Ob ZM nach dieser Änderung neu gestartet werden muss, weiß ich jetzt auch nicht.

Der Vollständigkeit halber hier auch noch der Link zur Wiki-Page zum Modul https://wiki.fhem.de/wiki/ZoneMinder (für alle anderen, die evtl durch Google hier drüberstolpern)

schöne Grüße
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

Sky

Hallo Martin ,

das habe ich doch glatt vergessen zu aktivieren  ;)

Jetzt funktioniert es endlich ...

Danke für Eure Geduld und Mithilfe  :) :)

delMar

Super wenns läuft.
Solche "Vorfälle" sind wichtig, um an den richtigen Schrauben zwecks Verbesserung drehen zu können

Dir auch danke, dass du drangeblieben bist
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.