Frage: Einbindung zoneminder

Begonnen von deune, 02 März 2015, 17:41:16

Vorheriges Thema - Nächstes Thema

Florian_GT

Hi,

läuft bei mir jetzt soweit stabil, außer das ich öfter, z.B. beim setzen der Functions timeouts habe. Bin noch auf der Suche, woran das liegt.

Außerdem wäre ein reconnectdelay nicht schlecht:
2018.10.04 23:51:16.166 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:17.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:18.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:19.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:20.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:20.673 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:21.000 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:21.697 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:22.000 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:23.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:24.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:25.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:25.441 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:25.502 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:25.503 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:26.000 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:27.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:27.852 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:27.873 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:27.875 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:28.000 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:28.029 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:28.052 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:28.053 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:29.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:29.880 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:29.899 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:29.901 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:30.000 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:30.926 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:30.928 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:31.000 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:31.123 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:31.124 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:32.001 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:32.872 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
2018.10.04 23:51:32.888 3: ZoneMinder (zm) - reconnect to ZoneMinder successful
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

delMar

Danke Florian!

Das mit dem Reconnect ist mir auch aufgefallen.
Ich weiß auch nicht genau, wann und warum das reconnect dann aufhört, weil eigentlich sollte bei erfolg kein weiteres reconnect mehr stattfinden.

Komisch eigentlich, weil ich hier nur das default-verhalten per copy/paste implementiert habe.
Ich hoffe, dass ich am Wochenende wieder Zeit habe (inkl commandref und wiki)

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.

Florian_GT

Hi,

ich habe noch ein Problem debugged. Unzwar bekomm ich nach einiger Zeit keine Änderungen in ZM mehr durchgeführt. z.B. Function. Ich habe auf meinem ZM Server im error.log vom Apache dann nur solche Fehlermeldungen gesehen:
[Fri Oct 05 15:07:40.816339 2018] [:error] [pid 4255] [client 192.168.0.34:45348] PHP Warning:  file_put_contents(/tmp/zmlogs/cake_err
or.log) [<a href='http://php.net/function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or d
irectory in /usr/share/zoneminder/www/api/lib/Cake/Log/Engine/FileLog.php on line 142
[Fri Oct 05 15:07:40.821309 2018] [:error] [pid 4255] [client 192.168.0.34:45348] PHP Warning:  file_put_contents(/var/log/zmerror.log
) [<a href='http://php.net/function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: Permission denied in /u
sr/share/zoneminder/www/api/lib/Cake/Log/Engine/FileLog.php on line 142


Ich habe daraufhin den fehlenden Ordner unter /tmp/ angelegt, und auf das /var/log 777 gesetzt. Die Fehlermeldung ist nun weg, und die Files können geschrieben werden. Ein Konfigurationsparameter in ZM habe ich vergeblich gesucht. Halb fertige Api ? WTF haben die ZM Entwickler da gemacht...

In beiden Dateien dann folgender Inhalt:
2018-10-05 15:16:36 Error: [UnauthorizedException] Not Authenticated
Request URL: /zm/api/monitors/18.json
Stack Trace:
#0 /usr/share/zoneminder/www/api/app/Controller/MonitorsController.php(21): AppController->beforeFilter()
#1 /usr/share/zoneminder/www/api/lib/Cake/Event/CakeEventManager.php(243): MonitorsController->beforeFilter(Object(CakeEvent))
#2 /usr/share/zoneminder/www/api/lib/Cake/Controller/Controller.php(677): CakeEventManager->dispatch(Object(CakeEvent))
#3 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(189): Controller->startupProcess()
#4 /usr/share/zoneminder/www/api/lib/Cake/Routing/Dispatcher.php(167): Dispatcher->_invoke(Object(MonitorsController), Object(CakeRequest))
#5 /usr/share/zoneminder/www/api/app/webroot/index.php(107): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#6 {main}


Es gibt also noch ein Auth Problem, nach einiger Zeit. Und es ist schwer zu finden, weil die ZM API an der Stelle "komisch" ist...
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

delMar

Ja, ich hab hier auch sehr komisches Verhalten.
Im ZM-Log (im webui) steht plötzlich "insufficient privileges", wenn ich ein event mit der FHEM-URL streamen will.
Die Live-Stream URL aus FHEM funktioniert aber.
Direkt in der ZoneMinder Web UI funktionierts aber...

Ich werd mir jetzt aber mal das reconnect problem ansehen.
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.

delMar

reconnect verhalten sollte jetzt passen.
die X_Ready Methode muss einen positiven Wert zurückgeben, wenn der reconnect erfolgreich war.
Das hatte ich nicht gemacht.
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.

delMar

So, und das seltsame Event Stream Verhalten hatte ich deswegen, weil mein API user keine Stream Rechte hatte.
Zumindest soweit funktioniert das Rechtesystem in ZM wie erwartet...
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.

Florian_GT

Zitat von: delmar am 05 Oktober 2018, 23:27:29
So, und das seltsame Event Stream Verhalten hatte ich deswegen, weil mein API user keine Stream Rechte hatte.
Zumindest soweit funktioniert das Rechtesystem in ZM wie erwartet...

Ich hatte gestern dein Update eingespielt, und heute konnten dann wieder keine Änderungen gesetzt werden: [UnauthorizedException] Not Authenticated
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

delMar

Zitat von: Florian_GT am 06 Oktober 2018, 17:59:31
Ich hatte gestern dein Update eingespielt, und heute konnten dann wieder keine Änderungen gesetzt werden: [UnauthorizedException] Not Authenticated

Das war mit den älteren Versionen ja nicht so, oder?
Scheint, als hätte ich da etwas verschlimmbessert...
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.

delMar

Zitat von: Florian_GT am 06 Oktober 2018, 17:59:31
Ich hatte gestern dein Update eingespielt, und heute konnten dann wieder keine Änderungen gesetzt werden: [UnauthorizedException] Not Authenticated
Ich hab jetzt versucht, das zu reproduzieren.
Meine FHEM Instanz läuft seit ca 4 Tagen. Function setzen mach ich zwar nicht regelmäßig, funktioniert aber auch nach 4 Tagen noch.

Es wird außerdem alle 60 Minuten der API-Login durchgeführt, damit der Cookie für die HTTP-Session nicht abläuft.
Kannst du mal schauen, wann das CPU-Load Reading im ZoneMinder device zum letzten Mal aktualisiert wurde?
Function und CPU-Load nutzen die selben Cookies.
Dh wenn CPU-Load holen funktioniert, sollte auch Function setzen funktionieren.

Hast du in den Internals vom ZoneMinder device verdächtige Werte für APILoginStatus oder einen Eintrag für APILoginError?

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.

delMar

SVN commit erfolgt.
Bitte in Zukunft hier https://forum.fhem.de/index.php/topic,91847.msg843494.html weiterfragen.

Danke für eure Unterstützung!

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.

Florian_GT

Zitat von: delmar am 07 Oktober 2018, 10:58:18
Ich hab jetzt versucht, das zu reproduzieren.
Meine FHEM Instanz läuft seit ca 4 Tagen. Function setzen mach ich zwar nicht regelmäßig, funktioniert aber auch nach 4 Tagen noch.

Es wird außerdem alle 60 Minuten der API-Login durchgeführt, damit der Cookie für die HTTP-Session nicht abläuft.
Kannst du mal schauen, wann das CPU-Load Reading im ZoneMinder device zum letzten Mal aktualisiert wurde?
Function und CPU-Load nutzen die selben Cookies.
Dh wenn CPU-Load holen funktioniert, sollte auch Function setzen funktionieren.

Hast du in den Internals vom ZoneMinder device verdächtige Werte für APILoginStatus oder einen Eintrag für APILoginError?

schöne Grüße
Martin

Konnte seit dem letzten restart kein Problem mehr erkennen!
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

AlexGfX

Hallo Leute :)

ich versuche seit Tagen zum laufen zu bringen aber klappt nicht
list ausgabe:

Internals:
   APILoginError Invalid username or password.
   APILoginStatus 200
   DEF        192.168.1.120 fhem fhem
   DeviceName 192.168.1.120:6802
   FD         99
   NAME       zm
   NOTIFYDEV  global
   NR         261
   PARTIAL   
   STATE      opened
   TYPE       ZoneMinder
   READINGS:
     2018-12-18 13:29:05   state           opened
   helper:
     ZM_HOST    192.168.1.120
     ZM_PASSWORD fhem
     ZM_USERNAME fhem

und anderer versuch mit admin login:

   APILoginError Invalid username or password.
   APILoginStatus 200
   DEF        192.168.1.120 admin admin
   DeviceName 192.168.1.120:6802
   FD         97
   NAME       Zoneminder
   NOTIFYDEV  global
   NR         260
   PARTIAL   
   STATE      opened
   TYPE       ZoneMinder
   READINGS:
     2018-12-18 13:15:09   CPU_Load        error
     2018-12-18 13:29:05   state           opened
   helper:
     ZM_HOST    192.168.1.120
     ZM_PASSWORD admin
     ZM_USERNAME admin


habe schon mit Zoneminder einstellungen "gespielt" aber leider immer das selbe
jemand ein Tipp?

Grüße
Alex

delMar

Servus Alex,

welche ZoneMinder Version hast du denn?
Ich rate mal: 1.32 aufwärts?

Noch was anderes: wir sind hier im Codeschnipsel Bereich unterwegs.
Es gibt für ZoneMinder auch einen Thread im Bereich für die offiziellen Module: https://forum.fhem.de/index.php/topic,91847.msg843494.html
Das ist jetzt aber nicht wirklich ein Problem, ist einfach nur Teil der Forums-Hygiene :-)

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.

Braakhekke

Hallo Alex,

was mir aufgefallen ist dass Du eine Portangabe machst. Ist dies bei Dir notwenig? Meine Definition sieht wie folgt aus.

defmod zm ZoneMinder 192.168.178.8 username passwort

Grüße,

Ben
1 x NUC mit PROXMOX (ct FHEM mit Tablet UI, ct Zoneminder v1.30.4, ct habridge) 2 x Raspberry Pi Modell 3, WLAN, HMLAN, V 1.67 nanoCUL868, nodemcu esp8266, viele HM-Komponenten, KS300, HUEDevice

delMar

Zitat von: Braakhekke am 18 Dezember 2018, 14:48:28
was mir aufgefallen ist dass Du eine Portangabe machst. Ist dies bei Dir notwenig? Meine Definition sieht wie folgt aus.
Sehr scharfes Auge :-), aber ich denke, der Eindruck täuscht.

Der Port steht nur beim Internal 'DeviceName' dabei, das ist ok und wird vom Modul automatisch hinzugefügt.
In der Definition dürfte aber ohne den Port erfolgt sein, was sich im Internal 'DEF' zeigt.

Ich sehe zwei mögliche Ursachen:
1. Die ZoneMinder Version wird nicht unterstützt (derzeit leider nur 1.31 - bei 1.32 hat sich die API auth geändert und ich hab die Zeit noch nicht gefunden, auf diese Version zu aktualisieren)
2. Dem user für die API fehlen nötige Rechte. Der user muss auf "System" das "Edit" Recht haben (ja, eine Katastrophe) und auf Stream, Events, und Monitors das Recht "View".

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.