Frage: Einbindung zoneminder

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

Vorheriges Thema - Nächstes Thema

delMar

#75
Zitat von: afloria am 02 September 2018, 21:54:57Wenn ein Event geschrieben wird, Info in Fhem, und dann ein Download des Events. z.B. Image(s) bzw. Video, dass mann dann z.B. per Telegram bekommt

Änderungen mit dem letzten Update auf GitHub:

  • in den Monitor devices wird jetzt eventStreamUrl bzw pubEventStreamUrl geschrieben. Mit dieser URL kann man die Aufnahme des letzten Events streamen. Sich also zB den Link per Telegramm schicken lassen :-)
  • Bei Verbindungsabbruch zu ZoneMinder wird nun alle 60 Sekunden ein reconnect versucht (das ist Standard DevIO Verhalten)

Der Verbindungsabbruch betrifft nur den Event-Port. Für API Aufrufe wird ohnehin jedesmal ein eigener HTTP-Request gemacht. Die sind per Definition stateless.

Feedback willkommen.

Als sinnvollen nächsten Schritt würde ich das senden von Events zu ZoneMinder sehen.
Welches Trigger-Verhalten stellt ihr euch vor?
Ich denke an "set <monitor> alarm on,off,on-for-timer <sec>"

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 Martin,

nach ein paar Tagen habe die letzte Version von GitHub geladen und frisch installiert.
Nach ein ein Trigger bekomme ich folgender Meldung:

2018.09.13 05:44:17 1: ERROR: >ZM_Monitor_zm_1< returned by the ZM_Monitor ParseFn is invalid, notify the module maintainer
2018.09.13 05:44:40 1: ERROR: >ZM_Monitor_zm_1< returned by the ZM_Monitor ParseFn is invalid, notify the module maintainer

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

Hallo Ben,

Danke fürs Testen! Ich werde mal versuchen, das zu reproduzieren.
Die Meldung kommt aus dem FHEM Code selber, ich weiß noch nicht, was dazu führt.

ZM_Monitor_zm_1 wäre der Name eines Monitors, den FHEM automatisch vergeben hat.
Kanns sein, dass es das mal gegeben hat, aber zb umbenannt wurde?

Taucht die Meldung auch auf, wenn du das ZoneMinder device und alle ZM_Monitor devices mal löschst und das ZoneMinder device nochmal neu anlegst? (am besten einfach 'raw device definition' unten im Detailscreen kopieren). die ZM_Monitor devices sollten dann ja automatisch neu angelegt werden.

Also ich selber hab auch einige ZM_Monitor devices umbenannt, diese Meldung ist mir aber noch nie aufgefallen. (was nix heißen muss)



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

#78
Hallo Martin,

Danke für Deine Hilfe. ich habe soeben alle ZM-Devices gelöscht und das ZM-Device neu angelegt.

defmod zm ZoneMinder 192.168.178.9 xxxx Xxxxxxx

setstate zm opened
setstate zm 2018-09-13 18:47:39 ZMConsoleUrl http://192.168.xxx.9/zm/index.php?username=xxxx&password=Xxxxxxx&action=login&view=console
setstate zm 2018-09-13 18:47:39 state opened


danach die gleiche Meldung


2018.09.13 18:48:39 1: ERROR: >ZM_Monitor_zm_1< returned by the ZM_Monitor ParseFn is invalid, notify the module maintainer
2018.09.13 18:49:01 1: ERROR: >ZM_Monitor_zm_1< returned by the ZM_Monitor ParseFn is invalid, notify the module maintainer


Grüße und nochmal Danke für Deine Hilfe,

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

Sehr seltsam.
Kannst du mal bitte verbose auf 5 stellen? beim zm device und den monitoren?
Und dann alles, was von diesen devices so drin steht hier posten?
Vielleicht bringt auch ein 'list zm' und ein list von den monitoren licht in die sache?

danke
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

guten Morgen Martin,

die Monitore werden nicht angelegt. Im Log (mit verbose 5) entsteht folgendes:


2018.09.14 07:16:54 5: zm: dispatch event:1|on|1536902214|66
2018.09.14 07:16:54 2: autocreate: define ZM_Monitor_zm_1 ZM_Monitor 192.168.178.x xxxx Xxxxxx 1
2018.09.14 07:16:54 2: ZM_Monitor (ZM_Monitor_zm_1) - Wrong syntax: define <name> ZM_Monitor <ZM_URL> <ZM_MONITOR_ID>
2018.09.14 07:16:54 1: define ZM_Monitor_zm_1 ZM_Monitor 192.168.178.x xxxx Xxxxxx 1: ZM_Monitor (ZM_Monitor_zm_1) - Wrong syntax: define <name> ZM_Monitor <ZM_URL> <ZM_MONITOR_ID>
2018.09.14 07:16:54 1: ERROR: ZM_Monitor (ZM_Monitor_zm_1) - Wrong syntax: define <name> ZM_Monitor <ZM_URL> <ZM_MONITOR_ID>
2018.09.14 07:17:17 5: zm: dispatch event:1|off|1536902237|66
2018.09.14 07:17:17 2: autocreate: define ZM_Monitor_zm_1 ZM_Monitor 192.168.178.x xxxx Xxxxxx 1
2018.09.14 07:17:17 2: ZM_Monitor (ZM_Monitor_zm_1) - Wrong syntax: define <name> ZM_Monitor <ZM_URL> <ZM_MONITOR_ID>
2018.09.14 07:17:17 1: define ZM_Monitor_zm_1 ZM_Monitor 192.168.178.x xxxx Xxxxxx 1: ZM_Monitor (ZM_Monitor_zm_1) - Wrong syntax: define <name> ZM_Monitor <ZM_URL> <ZM_MONITOR_ID>
2018.09.14 07:17:17 1: ERROR: ZM_Monitor (ZM_Monitor_zm_1) - Wrong syntax: define <name> ZM_Monitor <ZM_URL> <ZM_MONITOR_ID>


ein List von zm bringt:


Internals:
   APILoginStatus 200
   DEF        192.168.178.x xxxx Xxxxxx
   DeviceName 192.168.178.x:6802
   FD         42
   HTTPCookies ZMSESSID=0pnajof0e2o3nmt0qv7in5uot0; zmCSS=flat; zmSkin=classic
   NAME       zm
   NR         607
   PARTIAL   
   STATE      opened
   TYPE       ZoneMinder
   HTTPCookieHash:
     ZMSESSID:
       Options    path=/
       Value      0pnajof0e2o3nmt0qv7in5uot0
     zmCSS:
       Options    expires=Sun, 23-Jul-2028 05:16:09 GMT; Max-Age=311040000
       Value      flat
     zmSkin:
       Options    expires=Sun, 23-Jul-2028 05:16:09 GMT; Max-Age=311040000
       Value      classic
   READINGS:
     2018-09-14 07:16:09   ZMConsoleUrl    http://192.168.178.x/zm/index.php?username=xxxx&password=Xxxxxx&action=login&view=console
     2018-09-14 07:16:09   state           opened
   helper:
     ZM_AUTH_HASH_SECRET     
     ZM_AUTH_KEY b266139e940e84edd60b1f7750fa0e70
     ZM_HOST    192.168.178.x
     ZM_LOGIN_METHOD old
     ZM_PASSWORD Xxxxxx
     ZM_PATH_ZMS             
     ZM_USERNAME xxxx
     ZM_WEB_URL http://192.168.178.x/zm
Attributes:
   verbose    5


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

Braakhekke

Hallo Martin,

wenn ich den Monitor manuel anleg mit:


define ZM_Monitor_zm_1 ZM_Monitor 192.168.178.x 1

(ohne Login und Passwort) und ein Ereignis auslös, entstehen nach list "ZM_Monitor_zm_1"

Internals:
   CFGFN     
   DEF        192.168.178.x 1
   IODev      zm
   LASTInputDev zm
   MSGCNT     2
   NAME       ZM_Monitor_zm_1
   NR         705
   STATE      idle
   TYPE       ZM_Monitor
   zm_MSGCNT  2
   zm_TIME    2018-09-14 07:29:23
   READINGS:
     2018-09-14 07:29:23   alert           off
     2018-09-14 07:29:23   eventImageUrl   http://192.168.178.x/            ?mode=single&scale=100&maxfps=30&buffer=1000&monitor=1&user=xxxx&pass=Xxxxxx
     2018-09-14 07:29:23   eventStreamUrl  http://192.168.178.x/            ?source=event&mode=jpeg&event=68&frame=1&scale=100&rate=100&maxfps=30&replay=gapless&user==xxxx&pass=Xxxxxx
     2018-09-14 07:29:23   lastEventId     68
     2018-09-14 07:29:23   lastEventTimestamp 1536902963
     2018-09-14 07:29:23   state           idle
     2018-09-14 07:28:40   streamUrl       http://192.168.178.x/            ?mode=jpeg&scale=100&maxfps=30&buffer=1000&monitor=1&user==xxxx&pass=Xxxxxx
   helper:
     ZM_HOST    192.168.178.x
     ZM_MONITOR_ID 1
Attributes:


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

Ok, das define command stimmt nicht.
Ich hab aber nochmal den Code auf GitHub gecheckt, dort wird es richtig aufgebaut.
Bist du sicher sicher, dass du die aktuelle Version verwendest?

Weil - genau wie von dir richtig manuell angelegt - das ZM_Monitor device username und passwort garnicht mitkriegt.
Und ich hab auch die History gecheckt, username und passwort waren nie Parameter für ZM_Monitor...

Sämtliche Kommunikation, wofür diese Parameter benötigt werden, läuft über das eltern-device (ZoneMinder).

Also, Code, der sich selber verändert, hab ich noch nie geschrieben.
Entweder, ich habs geschafft, oder es war jemand anderer...  :-\
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

#83
Hallo Martin,

vielen Dank für Deine Hilfe. ich habe es soeben noch Mal überprüft und, sicherheitshalber, gedownloaded, überspielt und FHEM neu gestartet.
Die Meldung bleibt der Gleiche.
Die verwendete Version von GitHub (https://github.com/delMar43/FHEM) ist vom 08.09.2018 13:30Uhr.

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

Ok, danke.

Kannst du mal bei dir im Editor Zeile 260 von 70_ZoneMinder.pm ansehen?
Und mit dieser vergleichen https://github.com/delMar43/FHEM/blob/master/70_ZoneMinder.pm#L260

CommandDefine(undef, "$newDevName ZM_Monitor $zmHost $monitorId");
Hier wird das Define fürs Autocreate zusammengebaut.
Du siehst, dass nur $zmHost und $monitorId übergeben werden.
Laut deinem Log Auszug von vorhin müsste hier auch noch username und password mit drin stehen.

Mal von diesem Autocreate dilemma abgesehen: funktioniert alles wie erwartet mit dem manuell angelegten ZM_Monitor device?
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 Martin,

Du glaubst es vielleicht nicht, aber diese Zeile ist Hanau wie von Dir beschrieben.
Kann es sein dass die Information irgendwo anders herkommt (Cookie)?

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

EDIT: hast du evtl zwei fhem Instanzen laufen und arbeitest irgendwie mit der falschen?
Klingt jetzt vielleicht blöd, passiert mir aber selber immer wieder mal, wenn ich zwischen meiner Dev-Instanz und der tatsächlich produktiven hin- und her wechsle

Zitat von: Braakhekke am 14 September 2018, 14:00:24
Du glaubst es vielleicht nicht, aber diese Zeile ist Hanau wie von Dir beschrieben.
Pfff, echt komisch

Zitat von: Braakhekke am 14 September 2018, 14:00:24
Kann es sein dass die Information irgendwo anders herkommt (Cookie)?
Eigentlich nicht. Zumindest kenne ich nur diese Eine Codestelle...

fhem update wird wohl auch nix ändern...
Ich werd versuchen, dass über's Wochenende mal nachzustellen.

Funktioniert das Eventing mit dem manuell angelegten Device 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.

Braakhekke

Hallo Martin,

auch ich habe bereits im Verdacht gehabt im falschen FHEM unterwegs zu sein. Leider ist es das auch nicht.
Ich habe aber vielleicht noch ein anderer Hinweis:

im ZM_Monitor_zm_1 (wo die Links übrigens nicht functionieren) steht folgendes:


Internals:
   CFGFN     
   DEF        192.168.178.x 1
   IODev      zm
   LASTInputDev zm
   MSGCNT     3
   NAME       ZM_Monitor_zm_1
   NR         1404
   STATE      idle
   TYPE       ZM_Monitor
   zm_MSGCNT  3
   zm_TIME    2018-09-14 15:20:50
   READINGS:
     2018-09-14 15:20:50   alert           off
     2018-09-14 15:20:50   eventImageUrl   http://192.168.178.x/            ?mode=single&scale=100&maxfps=30&buffer=1000&monitor=1&user=xxxx&pass=Xxxxxx
     2018-09-14 15:20:50   eventStreamUrl  http://192.168.178.x/            ?source=event&mode=jpeg&event=78&frame=1&scale=100&rate=100&maxfps=30&replay=gapless&user=xxxx&pass=Xxxxxx
     2018-09-14 15:20:50   lastEventId     78
     2018-09-14 15:20:50   lastEventTimestamp 1536931250
     2018-09-14 15:20:50   state           idle
     2018-09-14 15:20:12   streamUrl       http://192.168.178.x/            ?mode=jpeg&scale=100&maxfps=30&buffer=1000&monitor=1&user=xxxx&pass=Xxxxxx
   helper:
     ZM_HOST    192.168.178.9
     ZM_MONITOR_ID 1
Attributes:


Auf events wird reagiert, der resultierende Link "http://192.168.178.x/ ?mode=jpeg&scale=100&maxfps=30&buffer=1000&monitor=1&user=xxxx&pass=Xxxxxx" ist aber nicht korrekt.
Interressant ist das zwischen "http://192.168.178.x/" und "?mode=" ein Leerzeichen steht.

Ich werde am Wochenende ein neues Test-FHEM aufsetzen und vom Scratch testen.

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

Braakhekke

#88
Hallo Martin,

konnte es doch nicht erwarten..... und gleich eine neues FHEM in ein neuer CT (PROXMOX) erstellt.
Auch unter dieses "nackte" FHEM funktioniert es nicht und das Ergebnis ist das Gleiche.


2018.09.14 16:39:52 2: autocreate: define ZM_Monitor_zm_1 ZM_Monitor 192.168.178.x xxxx Xxxxxx 1
2018.09.14 16:39:52 2: ZM_Monitor (ZM_Monitor_zm_1) - Wrong syntax: define <name> ZM_Monitor <ZM_URL> <ZM_MONITOR_ID>
2018.09.14 16:39:52 1: define ZM_Monitor_zm_1 ZM_Monitor 192.168.178..x xxxx Xxxxxx 1: ZM_Monitor (ZM_Monitor_zm_1) - Wrong syntax: define <name> ZM_Monitor <ZM_URL> <ZM_MONITOR_ID>
2018.09.14 16:39:52 1: ERROR: ZM_Monitor (ZM_Monitor_zm_1) - Wrong syntax: define <name> ZM_Monitor <ZM_URL> <ZM_MONITOR_ID>


Das OS worunter FHEM (aktuelle Version) läuft ist Debian GNU/Linux 8. Zoneminder ist die Version v1.29.0. Beide laufen in ein eigenen Container unter PROXMOX (Virtual Environment 5.2-8).
Kann es damit was zu tun haben?

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

Irgendwas hab ich vermurkst, ich weiß nur noch nicht, was.

Ich hab alle ZoneMinder und ZM_Monitor devices aus fhem gelöscht.
Dann ein neues ZoneMinder device mit anderem Namen definiert.
Da wurden auch keine ZM_Monitor devices angelegt. Nix hat so richtig funktioniert.
Nach einem 'shutdown restart' wurden aber sofort alle Monitore richtig angelegt.

Leider hab ich auch kein ZoneMinder 1.29 zum Testen.
Ich hab die nötigen Optionen im FHEM-Wiki unter ZoneMinder dokumentiert. Kannst du mal nachlesen, ob es unter 1.29 alle Optionen gibt, die dieses Modul benötigt? (zb PATH_ZMS, denn dieser Wert fehlt bei dir beispielweise).

Also: ich hab absoluten Nachbesserungsbedarf, dein konkretes Problem konnte ich aber nicht nachstellen...

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.