[openhab2 und myopenhab] einrichten

Ist man unterwegs und möchte zu Hause evtl. eine Lampe einschalten, so gibt es drei Möglichkeiten um auf openhab zuzugreifen. Zum einen könnte man über Dienste wie dyndns auf das heimische Netzwerk zugreifen, in der Firewall muss der entsprechende Port weitergeleitet werden. Alternativ kann zunächst über VPN ein Tunnel in das heimische Netzwerk aufgebaut werden und im Anschluss erfolgt der Zugriff auf openhab.
Die eleganteste Lösung finde ich ist myopenhab.
Zunächst muss unter der Paperui Addons=>Misc der openhab cloud connector installiert werden.

Nun wird noch für die Registrierung auf http://www.myopenhab.org die uuid und das secret benötigt.

Die Angaben befinden sich in den Folgenden Dateien:

/var/lib/openhab2/uuid
/var/lib/openhab2/openhabcloud/secret

Nach der Registrierung und Installation muss openhab neugestartet werden. Im Anschluss kann auch außerhalb des heimischen Netzwerks über die openhab App auf die Hausautomation zugegriffen werden.

Myopenhab wir auch für die integration in Amazon Echo benötigt.

[openhab2] Licht an wenn es dunkel ist

Damit das Licht eingeschaltet wird wenn es dunkel ist, gibt es mehrere Möglichkeiten.
Unter anderem gibt es die Berechnung von Sunrise bzw. Sunset oder es gibt diverse Sensoren im Hausautomationbereich die eingebunden werden können.

Wer im Besitz einer Überwachungkamera ist kann zum Beispiel Abfragen ob die Infrarod LED eingeschaltet wurde.

In diesem Fall wird der Status der LED einer Foscam Kamera abgefragt.
In der items Datei muss nur ein entsprechendes Item angelegt werden:
String Foscam_Carport_led „LED Carport Camera “ (camera,Status,Test) { http=“<[http://ip:88/cgi-bin/CGIProxy.fcgi?cmd=getDevState&usr=Benutzer&pwd=Passwort:4000:REGEX(.*?(.*?).*)]" }

In einer Regel kann der Status mit folgender Zeilg abgefragt werden:

if ( Foscam_Carport_led.state == "1"){

[openhab2] Anwesenheitserkennung

Durch einen Defekt auf einer SD Karte musste ich openhab neu installieren und bin auf die Version 2.1 umgestiegen. Um zu prüfen welche Handys sich WLAN befinden gibt es nun gegenüber openhab1 eine Änderung. Die alte Regel aus dem Artikel kann weiterhin genutzt werden, jedoch müssen die Items anders abgefragt werden.

Zunächst muss unter der Paperui das Network–Binding installiert werden.

Unter dem Ordner things wurde die Datei mobil.things mit dem folgenden Inhalt erstellt.

network:device:handy1 [ hostname="192.168.2.37", port="0", retry="1", timeout="5000", refresh_interval="60000", use_system_ping="true", dhcplisten="false" ]
network:device:handy2 [ hostname="192.168.2.34", port="0", retry="1", timeout="5000", refresh_interval="60000", use_system_ping="true", dhcplisten="false" ]

Die Datei mobil.items in dem Verzeichniss items ist wie folgt aufgebaut.

Group:Switch gMobiles

Switch Presence (fstest)
Switch Handy1 (gMobiles) { channel="network:device:handy1:online" }
Switch Handy2 (gMobiles) { channel="network:device:handy2:online" }

[openhab2] welches Item hat als letztes den Status geändert

In dem Artikel http://www.itbasic.de/openhab2-und-homematic/ wurde eine Regel erstellt die eine E-Mail sendet sobald sich der Zustand des Kontakts geändert hat.
Nutzt man mehrere Kontakte, so ist es recht umständlich für jeden Kontakt eine Regel zu erstellen.

Die folgende Regel sendet eine E-Mail, sobald ein Item der Gruppe den Zustand geändert hat. In der E-Mail wird der Name des Items und der Zustand mit angegeben.
Damit die Regel genutzt werden kann, muss unter Paperui => Addons => Persistence das Addon RRD4j Persistence installiert werden.

rule kontakrgruppestatus
when
Item kontakte received update
then
val dings = kontakte.members.sortBy[lastUpdate].last
sendMail("E-Mail Adresse", "Hausautomation - Kontakt", dings.label + " ist " + dings.state)
end

openhab2 und homematic

Als Gateway für Homematic wurde das Modul https://www.elv.de/homematic-funkmodul-fuer-raspberry-pi-bausatz.html zusammengelötet und Raspberrymatic auf einem Raspberry 2 installiert.

Nachdem das System mit aufgesetzem Modul hochgefahren wurde konnte über die URL http://homematic-raspi auf die Webgui zugegriffen werden. Über die Oberfläche können diverse Einstellungen vorgenommen und neue Aktoren angelernt werden.

Damit die Geräte im Openhab genutzt werden können, muss in der Paperui unter das Homematic Binding hinzugefügt werden. Im Anschuss unter Configuration => Thing das Homematic Lan Gateway hinzufügen. Wenn openhab eine Verbindung zum Lan-gateway herstellen konnte, wird das Gateway mit dem Status grün(online) dargestellt und bereits eingebundene Homematic Sensoren werden in der Inbox aufgeführt.

Der Sensor kann nun über Add Thing eingebunden werden und über das angelegte Thing können einzelne Items angelegt werden.

Ich ziehe jedoch das bearbeiten und Verwalten der Items in einer Datei vor.

Die Items Datei sieht bei mir wie folgt aus:
Group kontakte
Contact Wintergarten_Tuer "Wintergarten Tür[MAP(kontakte.map):%s]" <contact> (kontakte){channel="homematic:HM-Sec-SCo:63f2dc68:NEQ0941168:1#STATE"}

Damit der Zustand des Kontakts in der Sitemap auf deutsch dargestellt wird, wurde die Datei kontakte.map angelegt.
CLOSED=geschlossen
OPEN=offen
TILTED=gekippt
undefined=unbekannt
NULL=keine Daten
-=keine Daten

Mit einer einfachen Regel kann man per Mail darüber informiert werden, wenn sich der Status ändert.

rule kontaktestatus
when
Item Wintergarten_Tuer changed
then

sendMail("emailadresse", "betreff", "Wintergarten Tür " + Wintergarten_Tuer.state)
end