Hallo zusammen,
ich möchte meine Webcam überwachen, ob diese noch Bilder macht, die Kamera hängt sich öfter mal auf, auch wenn diese noch ping mäßig erreichbar ist.
Mit diesem Command:
find /var/WWW/Webcam1/ -amin -60
finde ich heraus, ob die letzten 60 Minuten noch Bilder gemacht wurden.
Hier ein Beispiel:
klaus@Raspberry /var/www/Webcam1/archive $ find /var/www/Webcam1/ -amin -2
klaus@Raspberry /var/www/Webcam1/archive $
oder: (wenn also die Webcam die letzten 40 Minuten Bilder gemacht hat)
klaus@Raspberry /var/www/Webcam1/archive $ find /var/www/Webcam1/ -amin -40
/var/www/Webcam1/current.jpg
/var/www/Webcam1/archive/2015-09-18/320x240/1442557328.jpg
/var/www/Webcam1/archive/2015-09-18/1442557328.jpg
Jetzt dachte ich, ich mache die Abfrage mit einem Shell-Skript gestartet via Cron, und setze dann entsprechend via:
/opt/fhem/fhem.pl 7072 'set FL.EG.anzeige.led10 led green'
mein Anzeigepanel.
Denke, so würde es auf jeden Fall funktionieren. Oder soll ich besser einen Dummy setzen, via cron ?
Das hätte dann den Vorteil, das ich den Status auch im FHEM sehe, und nicht nur über die Anzeigetafel.
Wenn ich die Abfrage via Timer im FHEM starte( also mit at), wie kann ich dann die Ausgabe des Linux Befehls auswerten ?
Bin ich da auf dem richtigen Weg ?
gruß Klaus
Nach weiteren Recherchen, müsste es doch möglich sein, ein Perl-Script zu schreiben, welches ich direkt in die 99_myutils kopieren kann oder ?
Nur blöd, dass ich keine bis wenig Ahnung von PERL habe ...
Meine persönliche Meinung: was Du zu einem "Serverdienst" direkt auf einem Server machen kannst, das gehört auch dahin. ;)
Also kleines Script per cron (oder daemon) und damit prüfen.
Damit kannst Du dann auch direkt ein Fehlerhandling abarbeiten etc. und zusätzlich gibst Du die "Ergebnisinfo" an FHEM weiter.
So funktionierts wunderbar:
#!/bin/bash
# Webcam1 Ueberwachung
# Keine Bilder die letzten 240 Minuten, dann rot
find /var/www/Webcam1/current.jpg -amin -240 | egrep '.*'
if [ $? -ne 0 ]; then
/opt/fhem/fhem.pl 7072 'set FL.EG.anzeige.led10 led red'
exit
fi
# Webcam2 Ueberwachung
find /var/www/Webcam2/current.jpg -amin -240 | egrep '.*'
if [ $? -ne 0 ]; then
/opt/fhem/fhem.pl 7072 'set FL.EG.anzeige.led10 led red'
exit
fi
/opt/fhem/fhem.pl 7072 'set FL.EG.anzeige.led10 led green'
exit
Als Cronjob alle 2 Stunden ...