In Teil 3 unserer Serie wollen wir uns nun mit “Pimatic” beschäftigen und damit die Zentrale dazu bringen, einige Aufgaben ganz von allein zu erledigen. Wichtig ist, dass ihr bereits “Pilight” aus Teil 2 unserer Serie installiert und eingerichtet habt. Pimatic wird eure Konfigurierten Steckdosen aus Pilight übernehmen können, sodass wir nicht bei 0 beginnen müssen. Ziel in diesem Teil soll es sein, eure Anwesenheit zu überprüfen. Dafür nutzen wir einen Trick, denn was trägt man immer bei sich? Richtig, das Smartphone. Wenn dieses also im W-Lan angemeldet ist, können wir davon ausgehen, ihr seit Zuhause.
Was ist Pimatic?
Pimatic ist eine in node.js geschriebene Heimautomatisierungs Software von Oliver Schneider. Es handelt sich um ein Open Source Projekt und wurde vor kurzem auf Version 0.8 aktualisiert. Pimatic ist also immer noch im Beta Stadium.
Die verwendete Programmiersprache node.js lässt sich sehr einfach durch Module erweitern. In Zukunft wird es also sicher noch mehr Möglichkeiten geben wie andere Funkstandards oder innovative Automatismen. Schon jetzt gibt es eine Reihe von Möglichkeiten mit Pimatic: Es kann mit einem Arduino kombiniert werden, das Licht entsprechend der Sonnenauf- und untergangszeiten schalten oder Push Nachrichten ans Smartphone senden, um nur Einige zu nennen. Das Potential ist also groß und die Performance schon jetzt sehr ansprechend. Was andere Hersteller für viel Geld verkaufen bekommt man hier mit etwas Aufwand umsonst.
Die Installation von Pimatic
- Als erstes über SSH auf dem Raspberry Pi anmelden
- Node JS installieren
1wget http://nodejs.org/dist/v0.10.24/node-v0.10.24-linux-arm-pi.tar.gz -P /tmp1cd /usr/local1sudo tar xzvf /tmp/node-v0.10.24-linux-arm-pi.tar.gz --strip=1 - Es sollte die aktuelle Version von NODE angezeigt werden “v0.10.24”
1/usr/bin/env node --version - Ins Nutzerverzeichnis wechseln
1cd /home - Verzeichnis für Installation erstellen
1mkdir pimatic-app - In das Verzeichnis installieren
1npm install pimatic --prefix pimatic-app --production - In den Installationsordner wechseln
1cd pimatic-app - Standard Konfiguration kopieren
1cp ./node_modules/pimatic/config_default.json ./config.json - Damit wir Pimatic immer über die Konsole starten können und nicht jedes mal in den Installationsordner müssen, machen wir es global:
In den richtigen Ordner wechseln
1cd /home/pimatic-app/node_modules/pimatic - Und damit systemweit zugänglich machen (dauert etwas länger)
1sudo npm link - Als letztes packen wir die Anwendung noch in den Autostart vom Raspberry Pi, dazu laden wir als erstes ein Startscript, dieses gibt es schon fertig:
In den Nutzerordner wechseln
1cd /home - Das Script downloaden
1wget https://raw.github.com/pimatic/pimatic/master/install/pimatic-init-d - Das Script in den Autostartordner schieben
1sudo cp pimatic-init-d /etc/init.d/pimatic - Das Script bekommt 1. die richtigen Nutzerrechte und wird 2. in die Autostartkonfiguration geladen.
1sudo chmod +x /etc/init.d/pimatic1sudo chown root:root /etc/init.d/pimatic1sudo update-rc.d pimatic defaults - Die Konfigurationsdatei öffnen "username": "" und "password": "" ausfüllen (für das login im Webinterface Speichern mit Strg-X,(y)es,Enter
1nano /home/pimatic-app/config.json
Das War es auch schon. Wir können nun über “sudo service pimatic start” testen ob alles läuft. Im Terminal sollte ein OK erscheinen und Pimatic wurde gestartet. Nun werden erst einmal viele Module installiert, das dauert. Was gerade passiert kann man verfolgen mit:
1 |
tail -f /home/pimatic-app/pimatic-daemon.log |
Wen es nicht interessiert, der wartet einfach 30 Minuten. Ihr solltet, wenn alles fertig ist, nun über den Browser und die IP des Raspberry Pis darauf zugreifen können. “http://ip_des_RPi:8080” (Als Beispiel, bei mir lautet die komplette Adresse “http://192.168.100.109:8080”)
Via “sudo service pimatic stop” wird es wieder beendet. Das sollte immer dann passieren, wenn die Konfiguration bearbeitet wird.
Konfiguration der Software
Wie oben beschrieben, muss Pimatic an dieser Stelle unbedingt erst einmal beendet werden. Wir installieren als erstes ein paar Plugins, welche wir im Tutorial nutzen und brauchen. Eine Liste aller Plugins gibt es hier.
- In das Terminal schreiben wir:
1cd /home/pimatic-app - Diese Pakete werden für die Plugins benötigt und hier installiert
1sudo apt-get update1sudo apt-get install make1sudo apt-get install build-essential g++ - Damit werden die Plugins installiert
1sudo npm install pimatic-pilight1sudo npm install pimatic-ping - Die Konfigurationsdatei öffnen. In der Kategorie “"plugins": [“ hinzufügen:
1sudo nano /home/pimatic-app/config.json123456{"plugin": "ping"},{"plugin": "pilight"}
1234567{"id": "daniel_n5","name": "my smartphone","class": "PingPresence","host": "192.168.100.119","interval": 10000}Speichern mit Strg-X,(y)es,Enter
- Pimatic starten
1sudo service pimatic start
Die interaktive Weboberfläche
Pimatic kann nun via Weboberfläche bedient werden. Aktuell sehen wir dort noch nicht viel, aber das wird sich ändern. In der Konfiguration haben wir bereits unser Smartphone als Variable (anwesend oder nicht anwesend) erstellt und die Steckdose(n) aus Pilight sollten nun auch automatisch importiert werden. In einem kleinen Video möchte ich euch nun durch die Oberfläche führen:
[youtube url="http://youtu.be/lSLLdCcafFw" autohide="1" hd="1"]Regeln und Variablen für die Automatisierung
Der Menüpunkt "Rules" und "Variablen" ist sozusagen der Kern von Pimatic. Hier kann der Anwender selbst kleine Programme schreiben, wenn man so will. Verwendet werden können alle Ein- und Ausgaben unserer Hardware, welche mit der Raspberry verbunden ist. In unserem Beispiel ist die Verfügbarkeit des Smartphones im W-Lan schon der erste Sensorwert. Uns stehen auch die Steckdosen über Funk als Aktoren bereit. Indirekt können wir genauso gut eine Uhrzeit als Auslöser für ein Event nutzen. Die komplette Dokumentation des Entwicklers HIER.
Ich habe mir als erstes das Beispiel der Anwesenheit zu Nutze gemacht. Wenn ich nach 19 Uhr ankomme, soll das Licht angehen:
1 |
if my smartphone is present and it is after 19:00 then turn Licht on |
Ein nettes Feature: Es gibt eine Autovervollständigung. Das kennen viele vom Smartphone, hier geht es um den Programmcode. Es werden bereits Möglichkeiten angezeigt, wie das Programm weiter gehen kann. Auch hier ein Beispiel: Hinter Licht kann nur on oder off stehen. Alles andere ergibt wenig Sinn.
Wie gehts weiter?
Die Grundlagen haben wir mit Teil 3 geschafft. Jetzt geht es darum, das Raspberry Pi systematisch zu erweitern. Im nächsten Teil soll es um die Installation eines Temperaturfühlers gehen. Diesen könnt ihr dann für Aktionen verwenden. Ein gutes Beispiel ist sicher die Heizungssteuerung. Wer noch nicht genug hat, kann sich den blog von Oliver (dem Entwickler von Pimatic) anschauen. Dort gibt es ein paar interessante Anleitungen zum nachbauen.
Bei Fragen komm doch bitte in unser Forum. Ich versuche dort weitestgehend zu helfen.
Die Installation von Raspbian und der Einstieg in Linux
Do It Yourself – Folge 1 – Raspberry Pi als Low Budget Smart Home Zentrale
Hardware Installation und die Fernsteuerung von Funksteckdosen über das Smartphone
Do It Yourself – Folge 2: Pilight – Raspberry Pi als Low Budget Smart Home Zentrale
Zusätzliche Komponente Temperatur für Pimatic
Do It Yourself – Folge 4: Temperatursensor – Raspberry Pi als Low Budget Zentrale
Push und Heizungssteuerung
DIY – Folge 5: Push und Heizungssteuerung – Raspberry Pi Zentrale