Open Source im professionellen Einsatz
Linux-Magazin 07/2016
© Steven Cukrov, 123RF

© Steven Cukrov, 123RF

Fernschalter smart programmieren und betreiben

Klick-klack

Mit dem Webservice "If This then That" klickt der User einfach Home-Automation-Komponenten zusammen, statt sie mühselig selbst programmtechnisch zu integrieren. Heimautomations-Pionier Mike Schilli ist begeistert, legt aber trotzdem selbst Hand an.

514

Fahren bei einem aufziehenden Gewittersturm wie von Geisterhand am Haus die Außenjalousien hoch, ist klar: Aha, da ist Home-Automation am Werk [2]. Leider ist es aber gar nicht so einfach, die einzelnen Komponenten in einem Smarthome zu einem stimmigen Gesamtsystem zu integrieren, da viele Hersteller gerne ihr eigenes Süppchen kochen, das absichtlich geschmacklich nicht zu dem der Konkurrenz passt.

Online PLUS

Im Screencast demonstriert Michael Schilli das Beispiel: http://www.linux-magazin.de/Ausgaben/2016/07/plus

Neulich kaufte ich aus einer Laune heraus den Switch der Firma Wemo (Abbildung 1, [3]), der sowohl mechanisch als auch mit mobiler Telefon-App elektrische Verbraucher entweder übers heimische WLAN oder gar übers offene Internet ein- und ausschaltet.

Abbildung 1: Der Wemo-Switch verspricht schnurloses Einschalten von Elektrogeräten mittels App.

Registrierungsfrei

Zur Installation erzeugt der Fernschalter nach dem Einstöpseln in die Steckdose sein eigenes WLAN mit der Kennung »WeMo-xxx« . Lädt der User dann die mobile App für I-OS (Abbildung 2) oder Android aufs Smartphone herunter und nordet dessen WLAN auf das temporäre Wemo-WLAN ein, verbindet sich die App mit dem Fernschalter und fordert danach den User auf, die SSID und das Passwort des heimischen WLAN einzugeben. Die App schickt die Daten an den Minicomputer im Schalter, der daraufhin über das heimische WLAN aufs Internet zugreift und sich selbstständig beim Belkin-Wemo-Service anmeldet.

Abbildung 2: Die App bedient den Schalter übers WLAN oder Web.

Keinerlei Registrierung per E-Mail ist erforderlich, alles läuft anonym ab. Die App kommuniziert mit dem Fernschalter entweder übers WLAN oder, falls das Mobiltelefon außerhalb dessen Reichweite ist, über den Belkin-Service auf dem offenen Internet (Abbildung 3).

Abbildung 3: Über einen Server im offenen Internet kommunizieren die Smartphone-App und der hinter einer Firewall befindliche Wemo-Switch miteinander.

Statt nun bloß mechanisch auf der Telefon-App herumzutippen, bietet es sich an, den Schalter per Skript auszulösen. Wer nimmt schon gerne die Hände von der Tastatur, nur um das Licht anzumachen? Aber im Ernst: Erst durch die Verknüpfung des Schalters mit Sensoren im Haus und etwas Logik entsteht ein so genanntes Smarthome, das zum Beispiel nur dann das Licht im Carport anschaltet, wenn es dunkel ist und das Bluetooth-Signal des Smartphones des Hausherrn sich nähert.

Kommando Ein/Aus

Der Wemo-Schalter betreibt einen kleinen Webserver im WLAN, den ein einfaches Perl-Skript wie Listing 1 durch HTTP-Abfragen zum Umlegen des mechanischen Schalters überreden kann. Dazu nutzt es das CPAN-Modul Power:: Outlet::WeMo, dessen Konstruktor die IP-Adresse des Schalters im WLAN entgegennimmt und anschließend mit den Methoden »on()« und »off()« hinter den Kulissen als HTTP-Client mit dem lokalen Server redet.

Listing 1

wemo-onoff

01 #!/usr/bin/perl -w
02 use strict;
03 use Power::Outlet::WeMo;
04
05 my $lamp = Power::Outlet::WeMo->new(
06     host => "192.168.1.139" );
07
08 $lamp->on;
09 sleep 1;
10 $lamp->off;

Zudem unterstützt das Modul die Methoden »switch()« (zum Umschalten in den entgegengesetzten Zustand) sowie »query()« zur Abfrage des aktuellen Zustands. Das Ganze ließe sich auch recht einfach über einen simplen Webclient erledigen, aber das Modul abstrahiert die zugrunde liegenden URLs und erlaubt so bequeme und saubere Programmierung.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Perl-Snapshot

    Ein in den Diagnose-Port von Michael Schillis Auto(s) gestöpselter Stecker sendet an das mitreisende Mobiltelefon per Bluetooth aktuelle Informationen wie Geschwindigkeit, Beschleunigung, Benzinverbrauch. Eine App und ein programmierbares API lesen die Daten aus und stellen sie ansprechend dar.

  • Bitparade

    Immer mehr Anwender arbeiten in der Cloud und jonglieren mit Accounts bei verschiedenen Anbietern. Diese Bitparade stellt vier Lösungen vor, um Webdienste mit einfachen bedingten Anweisungen zu verbinden und so Aufgaben und Workflows zu automatisieren.

  • Snapshot

    Ein Stromausfall lässt die Intelligenz eines Smart Home schlagartig absacken. Eine Notstromversorgung und ein Skript auf der Smartthings-Plattform verhindern Schlimmeres und informieren den Hausherrn. Der polyglotte Perlmeister macht in dieser Ausgabe einen Ausflug in die Skriptsprache Groovy.

  • Snapshot

    Ab diesem Monat bewegt sich Michael Schilli auch mal fernab der gewohnten Perl-Pfade und zeigt im Video, wie sich mit Groovy smarte Dinge anfangen lassen.

  • Perl-Snapshot 2016/07

    Mit dem Webservice "If This then That" klickt der User einfach Home-Automation-Komponenten zusammen, statt sie mühselig selbst programmtechnisch zu integrieren. Heimautomations-Pionier Mike Schilli ist begeistert, legt aber trotzdem selbst Hand an.

comments powered by Disqus

Ausgabe 04/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.