Bitte ersten Post dieses Threads lesen...
Eventuell stehe ich auf dem Schlauch, ich sehe aber in diesem Post keine Hinweise, warum php und nicht python verwendet wird.Habe beim Suchen nach eine besseren Lösung für den Empfang und die Bearbeitung von Events (Anläuten, FingerPrint, Türöffnen, etc.) meiner VTO2000A die Dahua-JSON-Debug-Console entdeckt.
Nach einigen Anpassungen des Entwicklers (Vielen Dank an bashis) funktioniert das Script auch an VTO's mit aktueller Firmware 4.3.
Auf Basis dessen startet ich meine Forschungen und konnte schnell einen Erfolg verbuchen. User philipp900 programmierte das Script dann in PHP nach und passte es unseren Wünschen an - Vielen Dank Philipp!
Ich habe noch einige kleine Erweiterungen vorgenommen, rausgekommen ist das hier: DahuaEventHandler.php
Jeder kann nun recht einfach Aktionen starten (z.b. Email schicken, Relais Schalten, etc.).
#! /bin/sh
### BEGIN INIT INFO
# Provides: dahuaEventHandler
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: DahuaEventHandler
# Description: DahuaEventHandler
# Installation:
# Copy this file to /etc/init.d/ (no file extension allowed)
# chmod +x this
# sudo update-rc.d <myservice> defaults 91 // because it must start after mysql
### END INIT INFO
NAME=dahuaEventHandler
DESC="DahuaEventHandler"
PIDFILE="/var/run/${NAME}.pid"
LOGFILE="/var/log/${NAME}.log"
DAEMON="/usr/bin/php"
DAEMON_OPTS="/home/pi/Documents/DahuaEventHandler.php"
RUN_AS=pi
START_OPTS="--start --background --chuid ${RUN_AS} --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ${DAEMON_OPTS}"
STOP_OPTS="--stop --pidfile ${PIDFILE}"
. /lib/lsb/init-functions
test -x $DAEMON || exit 0
set -e
do_start()
$handle = fopen ($store_s.$logname, "a+");
fwrite ($handle, $logdate." ".$text."\r\n");
.....