Frage: Einbindung zoneminder

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

Vorheriges Thema - Nächstes Thema

delMar

so, ich glaub ich habs.
aber noch nicht implementiert.

kannst du im ZoneMinder device mal 'updateMonitors' aufrufen? dort sollte das monitor aufrufen funktionieren

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

Hallo zusammen!

Neues Update auf GitHub; sollte eine Menge Probleme mit autocreate, etc. beheben
Danke an @Braakhekke für die vielen Informationen.

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

#92
Hallo Martin,

vielen Dank für Deine Arbeit. Ein bisschen mehr funktioniert es jetzt. Ein 'updateMonitors' legt, bei mir, zwar noch kein 'ZM_Monitor_zm_x' an, aber nach ein Trigger auf der entsprechender Monitor wird das Device und das entsprechende LOG-File angelegt.
Leider aber ist der erzeugte Pfade zu 'eventImageUrl' etc. noch nicht korrekt.

Internals:
   DEF        1
   IODev      zm
   NAME       ZM_Monitor_zm_1
   NR         610
   STATE      idle
   TYPE       ZM_Monitor
   READINGS:
     2018-09-15 03:43:16   alert           off
     2018-09-15 03:43:16   eventImageUrl   http://192.168.178.x/            ?mode=single&scale=100&maxfps=30&buffer=1000&monitor=1&user=xxxx&pass=Xxxxxx
     2018-09-15 03:43:16   eventStreamUrl  http://192.168.178.x/            ?source=event&mode=jpeg&event=0&frame=1&scale=100&rate=100&maxfps=30&replay=gapless&user=xxxx&pass=Xxxxxx
     2018-09-15 03:43:16   lastEventId     0
     2018-09-15 03:43:16   lastEventTimestamp 1536975796
     2018-09-15 03:45:39   state           idle
     2018-09-15 03:41:34   streamUrl       http://192.168.178.x/            ?mode=jpeg&scale=100&maxfps=30&buffer=1000&monitor=1&user=xxxx&pass=Xxxxxx
   helper:
     ZM_MONITOR_ID 1
Attributes:
   room       ZM_Monitor


zur Info. Bei mein Zoneminder sieht der Pfad zu ein 'eventStreamUrl' wie folgt aus:

http://192.168.178.x/zm/cgi-bin/nph-zms?source=event&mode=jpeg&event=83&frame=1&scale=100&rate=100&maxfps=30&replay=single&auth=fad90bb4f0fa8386b68153378f1c0fe6&connkey=144936&rand=1536977121


anbei auch noch das 'list zm'


Internals:
   APILoginStatus 200
   DEF        192.168.178.x
   DeviceName 192.168.178.x:6802
   FD         43
   HTTPCookies ZMSESSID=emp4qjkiaoean8ns2b84g1ppn3; zmCSS=flat; zmSkin=classic
   NAME       zm
   NR         607
   PARTIAL   
   STATE      opened
   TYPE       ZoneMinder
   HTTPCookieHash:
     ZMSESSID:
       Options    path=/
       Value      emp4qjkiaoean8ns2b84g1ppn3
     zmCSS:
       Options    expires=Mon, 24-Jul-2028 01:45:43 GMT; Max-Age=311040000
       Value      flat
     zmSkin:
       Options    expires=Mon, 24-Jul-2028 01:45:43 GMT; Max-Age=311040000
       Value      classic
   READINGS:
     2018-09-15 03:45:39   ZMConsoleUrl    http://192.168.178.x/zm/index.php?username=xxxx&password=Xxxxxx&action=login&view=console
     2018-09-15 03:46:04   state           opened
   helper:
     ZM_AUTH_HASH_SECRET     
     ZM_AUTH_KEY f3320cc18862b6400945b368af737e39
     ZM_HOST    192.168.178.x
     ZM_LOGIN_METHOD old
     ZM_PASSWORD Xxxxx
     ZM_PATH_ZMS             
     ZM_USERNAME xxxx
     ZM_WEB_URL http://192.168.178.9/zm
Attributes:


Danke und 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

ZM_PATH_ZMS in den internals von zm ist leer.
das ist genau der Teil, der in der streaming url fehlt.
sind die folgenden settings in zoneminder aktiv?
OPT_USE_API
PATH_ZMS
AUTH_HASH_SECRET
AUTH_HASH_LOGINS

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,

bei mir sieht es so aus:

OPT_USE_API : x
PATH_ZMS : /zm/cgi-bin/nph-zms
AUTH_HASH_SECRET : FHEM
AUTH_HASH_LOGINS : x

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

hm. Vielleicht gibts durch die zm version ein Problem.
ich werde mal an besserem logging etc arbeiten, um dem Problem auf die spur zu kommen

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.

Braakhekke

#96
Hallo Martin,

unter welches Distri läuft Dein Zoneminder und welche Version? Hast Du ein gute Installprezedur (Link reicht)?
Ich setztze gern einen neuen Container auf.

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

ubuntu 14 mit letzter stable zm 1.30.4

läuft schon ewig, weiß leider nicht mehr wie ichs aufgesetzt hab
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,

nach dem ich eine komplett neuer Server (Ubuntu 14.04.5 LTS) mit Zoneminder (v1.30.4) aufgesetzt habe, funktioniert Dein Modul einwandfrei.
Es muß somit was mit der alte Version zu tun gehabt haben.

Nochmal vielen Dank für Deine Hilfe und das tolle Modul.

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

Freut mich zu hören

Die Ubuntu Version kann auch eine aktuellere sein.
Ich bin sicher, dass es an der ZoneMinder Version lag.

Es wird sicher noch etwas Arbeit nötig sein, aber dein Input hat mir geholfen, viele Kleinigkeiten zu verbessern.

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.

delMar

Hallo zusammen.
Hier das Update zum Sonntag, zu haben auf GitHub:

Die Internals ZM_VERSION und ZM_API_VERSION zeigen nun die Werte, die getVersion liefert (https://zoneminder.readthedocs.io/en/stable/api.html#api-version).
Ich bin am überlegen, die API-Funktionalitäten daran fest zu machen. Wenn eine andere ZM_VERSION als 1.30.x verwendet wird, würde nur die OPT_TRIGGERS Funktionalität zur Verfügung stehen.
Wie der regelmäßige Leser festgestellt hat, funktionieren weder 1.29 noch 1.31.
Derzeit ist dieses Limit aber noch nicht eingebaut.

Und: das Triggern eines Alarms in ZoneMinder ist jetzt möglich: set ZM_Monitor_x Alarm on|off|on-for-timer <sekunden>
'on-for-timer' kann man zwar durch aufruf von 'set' verwenden, allerdings zeigt FHEMWEB noch kein Textfeld zur Eingabe der Sekunden.
Falls jemand weiß, wie man das macht, bitte Bescheid geben.

Einen Bug hab ich auch gefixt: das ändern von Function und Enabled war kaputt, funktioniert jetzt aber wieder.

Noch etwas Doku:
Ich habs nie explizit erwähnt, aber das Versenden eines Live-Bildes oder -Streams ist seit längerem möglich.
Auf ein Alert-Event kann man sich eine notification senden, die dann entweder die Inhalte der Readings pubEventImageUrl oder pubEventStreamUrl enthält.
Diese liefern einen Link zu Bild/Stream des letzten Events.

Wer ein Live-Bild oder einen Live-Stream haben will (also von 'jetzt', unabhängig davon, obs gerade ein Event gibt oder nicht), kann auf pubImageUrl und pubEventUrl zurückgreifen.
Man muss also nicht extra ein Event generieren, um aktuelles Material zu kriegen.

@afloria's Use-case hab ich somit bei mir schon am laufen.
Zitat von: afloria am 02 September 2018, 21:54:57
Wenn 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 :D

Download eines Live-Bildes auf Basis eines Events werde ich hier wohl nicht implementieren, da ich ja schon die URL bereitstelle.
Mir wärs lieber, fertige Download Funktionalität nutzen zu können, die man als Teil der Notification konfiguriert.

Tja, mit dem Triggern von Events wird das Teil hier fertiger und fertiger.
Nächste Schritte sind die commandref, das Wiki um Use-Cases erweitern (wie eben hier zB beschrieben) und schlussendlich dann auch mal Code aufräumen (ja, doch).

Ich überlege außerdem, ZM-Events als eigene fhem-devices einzubinden. Ein Event wäre dann ein eigenes device, allerdings mit einer Limitierung auf zb 10...
Muss ich mir Ressourcentechnisch mal überlegen.
Sinn wäre, zb pro Event infos wie 'schon gesehen' zu speichern und dann auch in Tablet UI schön eine Liste anzuzeigen, etc.

Genug gequatscht: schöne Woche euch allen.

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

#101
Hallo Martin,

vielen Dank für die Erweiterungen von Dein Modul. Ich habe die neue Version installiert und es funktioniert wunderbar.

Meiner Meinung nach ist ein Textfeld für "set ZM_Monitor_x Alarm on-for-timer x" nicht nötig weil diese Funktion meisten mittels ein Ereignis (z.B. Notify nach einen Event von ein Bewegungsmelder) aufgerufen wird.

Ein paar andere Wünsche hätte ich aber schon noch  :)
Wenn ein Event von ein Bewegungsmelder ausgelöst wird, werden bei mir mittels das Modul "IPCAM" x Bilder in ein Abstand von 2 Sekunden erstellt. Diese Bilder werden anschließend im "Tablet UI" dargestellt.

Schön wäre es diese Funktionalität (also mehrere "eventImageUrl"s etc. mit "Delay" und Zähler) ein zu bauen.

Auch wünsch ich mir wenn es eine Funktionalität für "OPT_TRIGGERS" integriert wird.
Dies verwende ich z.B. um mittels ein externes Script mittels Telnet (weniger schön)

#!/bin/bash
temperature=$(wget -qO - "http://192.168.178.x:8083/fhem?XHR=1&cmd={ReadingsVal(%22gar_ss_Temp_WetterStation%22,%22temperature%22,0)}")
niederschlag=$(wget -qO - "http://192.168.178x:8083/fhem?XHR=1&cmd={ReadingsVal(%22gar_ss_Regen_Sensor%22,%22state%22,0)}")
echo "1|show||||Temp. $temperature C($niederschlag)" | telnet 192.168.178.y 6802


die Außentemperatur und ob es regnet oder trocken ist, in ein Monitor dar zu stellen.

viele Grüße und eine schöne Woche,

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 17 September 2018, 04:23:55
Wenn ein Event von ein Bewegungsmelder ausgelöst wird, werden bei mir mittels das Modul "IPCAM" x Bilder in ein Abstand von 2 Sekunden erstellt. Diese Bilder werden anschließend im "Tablet UI" dargestellt.
Schön wäre es diese Funktionalität (also mehrere "eventImageUrl"s etc. mit "Delay" und Zähler) ein zu bauen.
Verstehe.
Wärs nicht möglich, einfach aus dem ZM_Monitor device die Bilder über IPCAM zu holen?
IPCAM holt also die Bilder nicht direkt von der Kamera-URL, sondern vom ZM_Monitor Reading.
Kannst du ein Beispiel für die IPCAM Funktionalität hier posten?

Zitat von: Braakhekke am 17 September 2018, 04:23:55

#!/bin/bash
temperature=$(wget -qO - "http://192.168.178.x:8083/fhem?XHR=1&cmd={ReadingsVal(%22gar_ss_Temp_WetterStation%22,%22temperature%22,0)}")
niederschlag=$(wget -qO - "http://192.168.178x:8083/fhem?XHR=1&cmd={ReadingsVal(%22gar_ss_Regen_Sensor%22,%22state%22,0)}")
echo "1|show||||Temp. $temperature C($niederschlag)" | telnet 192.168.178.y 6802

Spitze, das baue ich gern ein.
Ich hab gelesen, dass man über den Trigger-Port auch Text mitgeben kann, hab aber keine ordentliche Doku dazu gefunden.

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

#103
Hallo Martin,

IPCAM kann mehrere Bilder in ein bestimmter Zeitablauf (bei mir 2 Sek.) aufnehmen und speichern. Diese stehen dann im Tablet UI dann zur Verfügung.
Ich habe das wie folgt gelöst (bitte nicht lachen, ich bin halt kein Programmierer)
Mein Bewegungsmelder "gar_ss_Beweg_Einfahrt" löst das Ereignis aus, darauf reagiert ein Notify


defmod NO_gar_ss_Bewegm2 notify gar_ss_Beweg_Einfahrt:motion {fhem "get Cam_Einfahrt image";;\
}


welches das Modul IPCAM triggert


defmod Cam_Einfahrt IPCAM 192.168.178.8
attr Cam_Einfahrt delay 1
attr Cam_Einfahrt group WebCAM
attr Cam_Einfahrt path /zm/cgi-bin/nph-zms?mode=single&monitor=1&user=admin&pass=Moritz13
attr Cam_Einfahrt room Presence
attr Cam_Einfahrt snapshots 9
attr Cam_Einfahrt storage /opt/fhem/www/images/default/webcam


und die Bilder in das entsprechende Verzeichnis speichert.

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,

da es sich beim Aufnehmen der Bilder um Funktionalität handelt, die in IPCAM schon implementiert ist, würde ich es besser finden, mein Modul so sinnvoll wie möglich mit diesem zu kombinieren.
Wenn du also zB noch ein weiteres Reading benötigst, lass es mich wissen. (zB um das 'path' attribut automatisch befüllen zu lassen)
Funktionalität duplizieren mach ich aber nicht ;-)

Bezüglich Temperatur anzeigen hab ich schon etwas research gemacht, das sollte sich eigentlich problemlos umsetzen lassen.

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.