Codeschnipsel – Pi-Kamera mit Meldern aus homematic verbinden

Veröffentlicht am Veröffentlicht in Code Schnipsel

Die Zwölfte. Hat man eine Hausautomatisierung und externe Hardware, welche beispielsweise Kameraaufnahmen macht, möchte man vielleicht beide Systeme verbinden. Ist die Hausinstallation auf Basis FHEM und die externe Hardware auf Basis eines Raspberry Pi, dann kann man wie in diesem Artikel vorgehen.

Wie eine Überwachung mittels Pi-Cam und motion-Paket geht, haben wir ja im letzten Code-Schnipsel gezeigt. Jetzt soll der Pi nach wie vor als Aufnahmegerät dienen, getriggert wird das Ganze aber nun durch einen homematic-Bewegungsmelder. Nehmen wir an, Softwarebasis und Firmware des Kleinrechners sind aktuell und es steht die Pi-Kamera zur Verfügung, dann müssen wir uns darum nicht mehr kümmern.

Also zuerst zur FHEM-Software. Die einfachste Art der Verbindung ist eine Dateischnittstelle. Also legen wir uns eine Subroutine (Perl) im Modul 99_myUtils.pm an, welche bei Aufruf ein Kennzeichen „B“ in die Übergabedatei (hier: beweglog.txt auf dem Server, wo FHEM läuft) schreibt.

sub
beweglog
{
my $text = „B“;
my $status = system(„echo ‚$text‘ > /home/pi/scripts/beweglog.txt“);
}

Jetzt muss festgelegt werden, unter welchen Umständen geschrieben werden soll. Nämlich dann, wenn am Bewegungsmelder eine Bewegung erkannt wird.

Jetzt muss festgelegt werden, unter welchen Umständen geschrieben werden soll. Nämlich dann, wenn am Bewegungsmelder eine Bewegung erkannt wird:

define Bewegungsmelder_Aussen_move notify Bewegungsmelder_Aussen:motion {\
{beweglog()}\
}

Wie zu sehen, heißt unser Melder „Bewegungsmelder_Aussen“ und dazu haben wir nun das Skript „Bewegungsmelder_Aussen_move“ kreiert, was bei einem „notify“ (erkannte Bewegung) unser Perl-Modul „beweglog“ aufruft…

Und weiterlesen bei unseren Codeschnipseln auf: http://www.smartewelt.de/sw4/?q=node/158
 

Swen Hopfe

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Blue Captcha Image
Refresh

*