Neues Modul: 70_ZoneMinder, 71_ZM_Monitor

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

Vorheriges Thema - Nächstes Thema

delMar

Zitat von: MadMax-FHEM am 04 August 2019, 17:08:00
EDIT: eine Frage habe ich dann doch noch. Jetzt wo ich das Monitoring-Device habe :) habe ich dort mal das mit der Stream-Anzeige aktiviert (Attribut showLiveStreamInDetail). Jetzt steht aber "oben" in FhemWeb (dort wo wahrscheinlich das Live-Bild sein könnte) "Streaming disabled". Ich mach ja noch nicht lange mit ZoneMinder rum, muss ich "dort" irgendwas einstellen, damit das funktioniert?
Also eigentlich musst du nur darauf achten, dass monitorFunction nicht None ist und motionDetectionEnabled muss auf 1 stehen.
Dann sollte es funktionieren.

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,

neues Update ins SVN gedrückt.
ich drück uns allen die Daumen, dass es jetzt passt

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.

MadMax-FHEM

Hallo Martin,

danke und danke!

Wird aber leider verm. bis zum WE warten müssen bis ich zum Ausprobieren komme... :-|

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

mahil

Hallo Martin,

Zitat von: delmar am 12 August 2019, 17:09:04
ich hoffe, das ist nachvollziehbar

wenn das soooo langsam wird macht das keinen Sinn. Unter https://stackoverflow.com/questions/22875358/speed-of-decoding-and-encoding-json-in-perl habe ich zur Performance des JSON Moduls einen Hinweis gefunden:

Zitat
JSON (the module) is not a parser/encoder. It's merely a front-end for JSON::XS (very fast) or JSON::PP (not so much). JSON will use JSON::XS if it's installed, but defaults to JSON::PP if it's not. You might see very different numbers depending on whether you have JSON::XS installed or not.

Könnte die schlechte Performance vielleicht damit zusammen hängen?

Habe deinen Update von gestern eingespielt und meine Kamera wird nun erkannt. Vielen Dank für den Update!

Viele Grüße
Marcus
Raspberry Pi4; CUL_MAX: MAX! Heizkörperthermostat basic; Zigbee über Deconz ConBee II: Xiaomi (Thermostate, Fenstersensoren, Bewegungsmelder), Ikea (Bewegungsmelder, Repeater, Leuchtkörper); Shelly: Dimmer, Schalter; Tasmota: Steckdosen, Rollladenschalter

delMar

Hallo
Zitat von: mahil am 13 August 2019, 07:59:14
Könnte die schlechte Performance vielleicht damit zusammen hängen?
Danke für die Info. Das könnte tatsächlich der Fall sein.
Ich habe jetzt keinen Vergleich zu JSON:XS, aber meine Regex scheint schnell genug zu sein.
Und am wichtigsten: es gibt keine Abhängigkeit zu einer bestimmten Lib, was das Einrichten stark vereinfacht.

Zitat von: mahil am 13 August 2019, 07:59:14
Habe deinen Update von gestern eingespielt und meine Kamera wird nun erkannt. Vielen Dank für den Update!
Danke für das Feedback! Freut mich, wenns nun endlich funktioniert.


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.

MadMax-FHEM

Zitat von: mahil
Habe deinen Update von gestern eingespielt und meine Kamera wird nun erkannt. Vielen Dank für den Update!

Zitat von: delmar am 14 August 2019, 16:33:54
Danke für das Feedback! Freut mich, wenns nun endlich funktioniert.

Das bringt mich ja jetzt echt in Zugzwang ;)

Aber am WE komme ich dazu! :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

obi

#96
Hallo Martin,

ich habe einen kleinen Feature Wunsch, welcher ich auch direkt umgesetzt habe:
Beim ZM_Monitor bei "set alarmState" zusätzlich/optional noch den cause und notes mit angeben welche in ZoneMinder in der Übersicht direkt angezeigt werden.

Ist dann folgendermaßen aufrufbar:
set <device> alarmState on-for-timer 10 cause="test" notes="weitere notizen"
set <device> alarmState on cause="test" notes="weitere notizen"

Dafür sind nur ein paar kleine Änderungen an den beiden Modulen notwendig. (Komplette Dateien sind nochmal im Anhang)

71 Zeile 223:
##Obi - Start
  ##Change for optional parameters: cause="Text" notes="Text"
  my ($unnamedParams, $namedParams) = parseParams(join(' ', @args));
  my $cause = "fhem";
  my $notes = "";
  if(defined($namedParams->{'cause'})) { $cause = $namedParams->{'cause'}; }
  if(defined($namedParams->{'notes'})) { $notes = $namedParams->{'notes'}; }
  ##Obi - End
  my $arguments = {
        method => 'changeMonitorAlarm',
        zmMonitorId => $hash->{helper}{ZM_MONITOR_ID},
        ##zmAlarm => $arg ##Obi - Change for optional parameters: cause="Text" notes="Text"
zmAlarm => $arg, ##Obi - Change for optional parameters: cause="Text" notes="Text"
zmCause => $cause, ##Obi - Change for optional parameters: cause="Text" notes="Text"
zmNotes => $notes ##Obi - Change for optional parameters: cause="Text" notes="Text"
      };


70 Zeile 466:
##Obi - Start
##Change for optional parameters: cause="Text" notes="Text"
my $zmCause = $arguments->{zmCause};
my $zmNotes = $arguments->{zmNotes};
##Log3 $name, 4, "ZoneMinder ($name) method: $method, monitorId:$zmMonitorId, Alarm:$zmAlarm";
    ##return ZoneMinder_Trigger_ChangeAlarmState($hash, $zmMonitorId, $zmAlarm);
Log3 $name, 4, "ZoneMinder ($name) method: $method, monitorId:$zmMonitorId, Alarm:$zmAlarm , Cause:$zmCause, Notes:$zmNotes";
    return ZoneMinder_Trigger_ChangeAlarmState($hash, $zmMonitorId, $zmAlarm, $zmCause, $zmNotes);
##Obi - End


70 Zeile 580:
  ##my ( $hash, $zmMonitorId, $zmAlarm ) = @_; ##Obi - Change for optional parameters: cause="Text" notes="Text"
  my ( $hash, $zmMonitorId, $zmAlarm, $zmCause, $zmNotes ) = @_; ##Obi - Change for optional parameters: cause="Text" notes="Text"
  my $name = $hash->{NAME};

  my $msg = "$zmMonitorId|";
  if ( 'on' eq $zmAlarm ) {
    ##DevIo_SimpleWrite( $hash, $msg.'on|1|fhem', 2 ); ##Obi - Change for optional parameters: cause="Text" notes="Text"
DevIo_SimpleWrite( $hash, $msg.'on|1|'.$zmCause.'|'.$zmNotes, 2 ); ##Obi - Change for optional parameters: cause="Text" notes="Text"
  } elsif ( 'off' eq $zmAlarm ) {
    ##DevIo_SimpleWrite( $hash, $msg.'off|1|fhem', 2); ##Obi - Change for optional parameters: cause="Text" notes="Text"
DevIo_SimpleWrite( $hash, $msg.'off|1|'.$zmCause.'|'.$zmNotes, 2); ##Obi - Change for optional parameters: cause="Text" notes="Text"
  } elsif ( $zmAlarm =~ /^on\-for\-timer/ ) {
    my $duration = $zmAlarm =~ s/on\-for\-timer\ /on\ /r;
    ##DevIo_SimpleWrite( $hash, $msg.$duration.'|1|fhem', 2); ##Obi - Change for optional parameters: cause="Text" notes="Text"
DevIo_SimpleWrite( $hash, $msg.$duration.'|1|'.$zmCause.'|'.$zmNotes, 2); ##Obi - Change for optional parameters: cause="Text" notes="Text"
  }


Wäre schon wenn du das entsprechend in die Module integrieren könntest. Eventuell brauch ja jemand anders auch diese Funktion.

MfG Sebastian (Obi)

MadMax-FHEM

Zitat von: MadMax-FHEM am 12 August 2019, 18:03:43
Hallo Martin,

danke und danke!

Wird aber leider verm. bis zum WE warten müssen bis ich zum Ausprobieren komme... :-|

Gruß, Joachim

Hallo Martin,

kaum ist WE ;)

Gerade eingespielt und getestet...
...sieht erst mal sehr gut aus!

Vielen Dank!

Jetzt muss ich nur noch etwas klarer mit Zoneminder selbst kommen ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

delMar

Zitat von: obi am 17 August 2019, 18:37:51
Wäre schon wenn du das entsprechend in die Module integrieren könntest. Eventuell brauch ja jemand anders auch diese Funktion.
Vielen Dank, nehme ich gern rein.
Gib mir ein paar Tage

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

Zitat von: delmar am 18 August 2019, 22:58:20
Vielen Dank, nehme ich gern rein.
Gib mir ein paar Tage

Schöne Grüße
Martin
Hi Sebastian,

ich hab deinen Vorschlag jetzt eingebunden und ins SVN gepusht. Sollte also bald übers fhem update verfügbar sein.

Danke für den Umsetzungsvorschlag, meine Arbeit hat sich neben dem Einbinden aufs Testen und die Doku beschränkt :-)

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

#100
Hallo ,
brauche mal Eure Hilfe .
Zoneminder läuft auf meinem Pi ( nicht das Modul in Fhem ) schon seit Monaten stabil und fehlerfrei.
Es wird benutzt um Kameras mit RTSP über das IPCAM Modul in Fhem einzubinden .
Bisher habe ich dann bei einem Event ( Türklingel) ein Standbild über Telegram versendet.

Nun habe ich mir einen Conbee 2 zugelegt um Xiaomi Sensoren in Fhem zu nutzen .
Funktioniert auch .
Komischerweise bekomme ich nun , beim Auslösen meiner Türklingel ,noch den Benachrichtigungstext über Telegramm , aber kein Bild mehr .
Nach langem Suchen habe ich schon einmal herausgefunden, das der Webserver von Zoneminder ( 192.168.x.x/zm) nicht mehr erreichbar ist .
Eine Kontrolle über SSH mit
systemctl status zoneminder.service
sagt mir das der Service läuft .

Parallel habe ich das 70_ZoneMinder Modul mal auf ein Backup ( andere Speicherkarte ) zusätzlich zu installiert .
Funktioniert auch .
Sobald ich aber den Conbee über SSH installiere , läuft nach einem reboot auch da der Webserver nicht mehr .
Im Log von Fhem steht folgendes :


2019.08.27 12:29:59 1: ZoneMinder (zm) - (?^:"Name":"ZM_PATH_ZMS","Value":") NOT found. Please report, this is a problem.
2019.08.27 12:29:59 1: ZoneMinder (zm) - (?^:"Name":"ZM_AUTH_HASH_SECRET","Value":") NOT found. Please report, this is a problem.
2019.08.27 12:29:59 1: ZoneMinder (zm) - (?^:"load":\s*\[) NOT found. Please report, this is a problem.
2019.08.27 12:29:59 1: ZoneMinder (zm) - (?^:"version":\s*") NOT found. Please report, this is a problem.
2019.08.27 12:29:59 1: ZoneMinder (zm) - (?^:"apiversion":\s*") NOT found. Please report, this is a problem.


Der Aufruf des Websevers endet so :

This is not the page you are looking for

The file /zm/index.php couldn't be found.


Könnt Ihr mir weiterhelfen?

Danke

MadMax-FHEM

Welche Software hast du installiert, um den Conbee zu betreiben?

Ich hab einen PI mit RaspBee und DeCONZ.
Da wird auch ein Webserver installiert!

So kommt z.B. das HUE-Bridge Modul drauf (glaube ich) bzw. kann man so auch per Web-Browser steuern...

2 Webserver auf Port 80 geht nat. nicht!

Also entweder einen umbiegen oder eben auf einem anderen Rechner installieren...

Aber erst mal nur "geraten"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sky

Hallo Joachim ,
erstmal Danke für Deine schnelle Antwort .
Erster Schritt war folgendes über SSH :

sudo apt-get install wget
wget http://www.dresden-elektronik.de/rpi/deconz/deconz-latest.deb
sudo dpkg -i deconz-latest.deb
sudo apt install -f
sudo nano /boot/config.txt
enable_uart=1
sudo nano /boot/cmdline.txt
sudo reboot
sudo systemctl enable deconz
sudo service deconz start


Zweiter Schritt war in Fhem :

define deCONZ HUEBridge ip.vom.deconz.gateway
attr deCONZ httpUtils 1


Wobei ich festgestellt habe , daß nach dem ersten Schritt der Zoneminder Webserver nicht mehr erreichbar war .
Da ich ungern einen zweiten Rechner nehmen würde , ist die Frage wie ,,umbiegen ,,

delMar

Hast du schon mal ins ZoneMinder log geschaut? Dort sollte Information sein, warums nicht funktioniert

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.

MadMax-FHEM

Ich sag's noch mal:

deCONZ hat einen Webserver auf Port 80

Zoneminder hat einen Webserver auf Port 80

-> 2 sind einer zuviel!

Entweder deCONZ oder Zoneminder auf einen anderen Port stellen...
...deCONZ sollte gehen zumindest kann man beim HUE-Modul den Port (falls nicht 80) mit angeben (wenn ich mich nicht täusche)...

Wie das bei Zoneminder ist: keine Ahnung
Und was dann das Zonemindermodul dazu sagt: keine Ahnung

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)