Bewegungserkennung IN7011HD

Hallo

ich bin gerade dabei eine bewegungsgesteuerte Aufzeichnung mit Zoneminder und meinen 4 IN7011HD-PoE zu konfigurieren. Ich möchte dazu die Bewegungserkennung der Kameras nutzen. Diese sollen die Aufzeichnung seitens Zoneminder triggern. Dazu gibt es auf seiten von Zoneminder ein entsprechendes Trigger-Script, welches die Aufnahme einer zugeordneten Kamera steuert.

Zur korrekten Ansteuerung des Triggerscripts habe ich ein winziges PHP-Script geschrieben, welches einen HTTP-Aufruf annimmt und das Triggerscript mit den korrekten Parametern anspricht:

<?php
  //camid is the camera id and recti the time in seconds the recording is taken
  //the command will be echoed into the telnet session to trigger the perl script
  //for external motion detection
  //e.g. http://$IP:$PORT/zm/camtrig.php?camid=4&recti=30
    exec("{ echo $_REQUEST[camid]\|on+$_REQUEST[recti]\|1\|External_Motion\|External_Motion; sleep 1; } | telnet localhost 6802");
?>

In den IN7011HD habe ich den Alarmserver konfiguriert, sodass in dem HTTP GET String die korrekte URL steht: http://$IP:$PORT/zm/camtrig.php?camid=4&recti=30
Laut Systemlog wurde sowohl eine Bewegung erkannt als auch der Alarmserver kontaktiert:

[2017/07/12 11:55:45] Event: Motion Detection (Area 1)
[2017/07/12 11:55:47] Event: Motion Detection (Area 1)
[2017/07/12 11:55:49] Event: Motion Detection (Area 1)
[2017/07/12 11:55:51] Event: Motion Detection (Area 1)
[2017/07/12 11:55:53] Event: Motion Detection (Area 1)
[2017/07/12 11:55:54] Alarm server has been contacted

Zoneminder hat aber nichts aufgezeichnet, als ob KEIN Aufruf stattgefunden hat.

Wenn ich nun in einem Browser das Script aufrufe (http://$IP:$PORT/zm/camtrig.php?camid=4&recti=30) zeichnet Zoneminder 30 Sekunden die Kamera mit ID4 auf.

Grundsätzlich funktioniert es also. Ich habe nur den Eindruck als würde die Kamera zwar behaupten, dass sie den Server kontaktiert, es aber faktisch nicht tut.

Hat jemand ähnliche Erfahrungen gemacht bzw. noch ne Idee? Mir sind sie nach langem rumprobieren ausgegangen.

P.S. Die Zoneminderbewegungserkennung für 4 Kameras sprengt meine kleine „Server“-CPU.
P.P.S:
Kamera Firmware:3.1.2.64 | WebUI: 1.16(620)
Zoneminder Version: 1.30.4

Beste Grüße

Die Lösung, falls andere das auch so machen möchten:

Nachdem ich das Offensichtliche also am Ende doch gemacht und mir mal das apache log angesehen habe, durfte ich feststellen, dass der GET request der Kamera auch beim Apache ankommt. Da aber Zoneminder auf HTTPS rewrited und SSL forced scheint das Ganze nicht mehr zu funktionieren. Ich bin nicht so der große Apache-Experte, kann das aber nicht wirklich nachvollziehen, da ich davon ausgehen würde, dass ein redirect (genau wie aus dem Browser raus) funktioniert, auch wenn die Kamera den request per HTTP absetzt. Ist aber nicht so…

Lösung:

Im zoneminder.conf die rewrite conditions ergänzen um (in meinem Fall; falls das Script ander heißt, anpassen):

RewriteCond %{REQUEST_URI} !^/zm/camtrig\.php.*

Damit wird der Rewrite für das php-Script nicht durgeführt.

Dann noch SSLRequireSSL auskommentieren und fertig ist die Laube.

Ja, ich fände es auch schöner, wenn der SSL-force funktionieren würde aber mir fehlt an der Stelle das Expertenwissen um das ggf. besser „hinzubasteln“. Liebe Experten, bessere Lösungen sind gerne gesehen…

@INSTAR: Wie wäre es, kameraseitig auch HTTPS / SSL beim Alarmserver zu unterstützen?

closed