Erste Schritte mit OpenHAB Home Automation auf Raspberry Pi

OpenHAB ist eine ausgereifte, Open-Source-Plattform für die Heimautomatisierung, die auf einer Vielzahl von Hardware läuft und protokollunabhängig ist, was bedeutet, dass sie mit nahezu jeder auf dem Markt befindlichen Hausautomatisierungs-Hardware verbunden werden kann.

OpenHAB ist eine ausgereifte, Open-Source-Plattform für die Heimautomatisierung, die auf einer Vielzahl von Hardware läuft und protokollunabhängig ist, was bedeutet, dass sie mit nahezu jeder auf dem Markt befindlichen Hausautomatisierungs-Hardware verbunden werden kann.
Werbung

OpenHAB ist eine ausgereifte, Open-Source-Plattform für die Heimautomatisierung, die auf einer Vielzahl von Hardware läuft und protokollunabhängig ist, was bedeutet, dass sie mit nahezu jeder auf dem Markt befindlichen Hausautomatisierungs-Hardware verbunden werden kann. Wenn Sie frustriert sind über die Anzahl an herstellerspezifischen Apps, die Sie nur zur Steuerung Ihrer Lampen benötigen, dann habe ich gute Neuigkeiten für Sie: OpenHAB ist die Lösung, nach der Sie gesucht haben - es ist das flexibelste Smart Home Hub Welcher Smart Hub für die Heimautomatisierung ist das Beste für Sie? Welcher Smart Hub für die Heimautomatisierung ist das Beste für Sie? Für eine Weile hielten die Leute die Idee für nichts weiter als ein Gimmick, aber die jüngsten Produkt-Releases haben gezeigt, dass Smart-Home-Automation beginnt, ihre Versprechen zu halten. Lesen Sie mehr, die Sie jemals finden werden.

Dieser Leitfaden kann als kostenloses PDF heruntergeladen werden. Laden Sie jetzt die Einführung in OpenHAB Home Automation auf Raspberry Pi herunter . Fühlen Sie sich frei zu kopieren und teilen Sie dies mit Ihren Freunden und Familie.

Leider ist es so weit wie möglich, wenn Sie verbraucherfreundlich sind - aber wie immer kommt hier MakeUseOf ins Spiel: Wir zeigen Ihnen, wie Sie mit dem ultimativen Smart-Home-System, das Sie nicht kaufen müssen, loslegen können (weil OpenHAB ist) 100% kostenlos - nur die Hardware liefern).

Der erste Teil dieses Leitfadens konzentriert sich speziell darauf, wie man OpenHAB mit einem Raspberry Pi 2 einrichten kann, aber die Tutorials und Ratschläge können auch überall dort angewendet werden, wo OpenHAB installiert ist.

Dieser Leitfaden enthält drei einführende Themen und einen etwas weitergehenden.

  • OpenHAB auf dem Pi laufen zu lassen und die Demo-Haus-Konfiguration zu installieren, um Core-Systeme zu überprüfen, funktioniert.
  • Wie Sie Bindungen und Profile für Geräte hinzufügen. Ich werde mit Philips Hue arbeiten.
  • Fernzugriff aktivieren und Verbindung zu IFTTT herstellen.
  • Hinzufügen eines DIY-Präsenzsensors über Bluetooth und eine Einführung in die REST-Schnittstelle.
  • Konfigurieren der OpenHAB Mobile App

Was du brauchen wirst

Zumindest benötigen Sie einen Raspberry Pi (vorzugsweise v2) und einen Ethernet- oder Wireless-Adapter (Ethernet bevorzugt, dieses Handbuch enthält keine Anweisungen zur Einrichtung Ihres WLAN-Adapters Einrichten von Wireless-Netzwerken auf Ihrem Raspberry Einrichten eines kabellosen Netzwerkes auf Ihrem Raspberry Pi Nahezu jedes Raspberry Pi Projekt benötigt eine Netzwerkverbindung, und durch Ignorieren des Ethernet Anschlusses kann ein beträchtlicher Spielraum für einen drahtlosen USB Dongle erreicht werden. Alles andere ist optional. Beachten Sie, dass OpenHAB auch auf dem ursprünglichen Raspberry Pi läuft, aber es gibt ein bekanntes Problem mit langsamer Verarbeitung und Z-Wave-Geräten. Wenn Sie kein Z-Wave benötigen, können Sie diese Warnung ignorieren und mit einem Raspberry Pi Modell B oder B + fortfahren, da alles andere gut zu funktionieren scheint. Sie können jederzeit auf das neueste Pi upgraden, wenn Sie Z-Wave hinzufügen.

Photo of Raspberry Pi 2 being used as OpenHAB controller
Dieses kleine Ding kann der beste Smart Home Hub sein, den Sie je hatten!

Zum Zeitpunkt des Schreibens ist die neueste stabile Version von OpenHAB Version 1.71; Version 1.8 wird bald erwartet, und alles in diesem Handbuch sollte immer noch relevant sein, obwohl bestimmte Bindungen mehr Funktionen haben können. Version 2 ist derzeit auch als sehr frühe Alpha-Vorschau verfügbar, verwendet aber eine grundlegend andere Architektur als die OpenHAB 1-Serie: Dieses Handbuch ist nicht kompatibel mit Version 2.

Ich schlage vor, dass Sie diesem Handbuch langsam und methodisch folgen - versuchen Sie nicht, am tiefen Ende hineinzuspringen und alles auf einmal hinzuzufügen. Ja, es ist eine lange Anleitung - OpenHAB ist ein schwieriges System, das oft Anpassungen für Ihre Bedürfnisse erfordert, und der beste Weg, um Erfolg zu gewährleisten, ist, langsam zu arbeiten und Stück für Stück fertig zu stellen.

Die gute Nachricht ist, dass es, sobald es funktioniert, eine felsenfeste Erfahrung und unglaublich lohnend ist.

Installieren von OpenHAB

Es gibt kein vorkonfiguriertes Image für OpenHAB, daher wird die Installation wie üblich über eine Befehlszeile durchgeführt. Ich schlage vor, Sie arbeiten kopflos auf dem RPi - der Overhead der Verwaltung einer GUI, die Sie selten verwenden wird, ist es nicht wert.

Beginnen Sie mit dem neuesten (vollständigen) Raspbian SD-Image (nicht die "Lite" -Version, diese enthalten nicht die Java Virtual Machine). Lassen Sie Ihr Netzwerkkabel angeschlossen, booten Sie hoch und navigieren Sie durch SSH. Lauf:

sudo raspi-config 

Erweitern Sie das Dateisystem. und ändern Sie aus dem erweiterten Menü die Speicheraufteilung auf 16. Wenn Sie fertig sind, starten Sie den Neustart und führen Sie ein vollständiges Update aus

 sudo apt-get update sudo apt-get upgrade 

Der einfachste Weg zur Installation der OpenHAB-Laufzeit ist über apt-get, aber zuerst müssen wir einen sicheren Schlüssel und das neue Repository hinzufügen:

 wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add - echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list sudo apt-get update sudo apt-get install openhab-runtime sudo update-rc.d openhab defaults 

Seltsamerweise wurde alles im Besitz von "root" installiert. Wir müssen das mit den folgenden Befehlen beheben.

 sudo chown -hR openhab:openhab /etc/openhab sudo chown -hR openhab:openhab /usr/share/openhab 

Als nächstes werden wir Samba installieren und die Konfigurations- und Benutzerordner freigeben - dies wird es einfacher machen, Add-ons zu installieren und die Sitemap remote zu ändern.

 sudo apt-get install samba samba-common-bin sudo nano /etc/samba/smb.conf 

Ändern Sie bei Bedarf den Namen der Arbeitsgruppe, aktivieren Sie andernfalls die WINS-Unterstützung:

 wins support = yes 

(Sie müssen die Zeile auskommentieren und Nein zu Ja ändern)

Fügen Sie dann dem Abschnitt mit den Freigabedefinitionen Folgendes hinzu (scrollen Sie bis zum Ende der langen Datei):

 [OpenHAB Home] comment= OpenHAB Home path=/usr/share/openhab browseable=Yes writeable=Yes only guest=no create mask=0777 directory mask=0777 public=no [OpenHAB Config] comment= OpenHAB Site Config path=/etc/openhab browseable=Yes writeable=Yes only guest=no create mask=0777 directory mask=0777 public=no 

Ich habe auch die Druckerabteilung auskommentiert. Ich habe zwei Freigaben gemacht, da die Konfigurationsdateien tatsächlich separat zu den Add-Ons gespeichert werden.

Speichern und schließen. Wir müssen endlich ein Samba-Passwort für den openhab-Benutzer festlegen:

 sudo smbpasswd -a openhab 

Ich würde "openhab" als das Passwort nur für die Benutzerfreundlichkeit vorschlagen, aber es ist nicht wirklich wichtig.

Dank Leser David L - es scheint, die Methode, Samba neu zu starten, hat sich im letzten Raspian geändert. Hier sind die aktualisierten Anweisungen:

 sudo update-rc.d smbd enable sudo update-rc.d nmbd enable sudo service smbd restart 

Nach dem Neustart von Samba (ältere Installationen verwenden sudo service samba restart ) können Sie auf das freigegebene Laufwerk zugreifen. Es wird möglicherweise nicht automatisch auf einem Mac entdeckt. aber Sie können den Finder verwenden -> Go -> Connect to Server und die Adresse

 smb://[email protected] 

Authentifizieren Sie sich mit dem Benutzernamen openhab und dem von Ihnen gewählten Passwort und öffnen Sie dann beide Ihre Freigaben, um sich umzusehen. Sie sollten sogar in Ihrem Webbrowser http: //raspberrypi.local: 8080 / öffnen können, aber Sie werden einen Fehler bekommen, weil wir noch keine Sitemap erstellt haben. Das ist normal.

error on first launch openhab

Jetzt ist es an der Zeit, den Befehl zu lernen, das OpenHAB-Protokoll zu beenden, damit Sie Fehler im Auge behalten können.

 tail -f /var/log/openhab/openhab.log 

Lassen Sie das Programm ständig laufen und öffnen Sie es in einem separaten SSH-Fenster, während Sie mit dem Handbuch fortfahren.

Installieren Sie das Demo-Haus

Bevor wir uns mit den Feinheiten von Konfigurationsdateien beschäftigen, fügen wir Geräte und Bindungen hinzu usw .; Lassen Sie uns überprüfen, ob alles funktioniert, indem Sie den Demo-Inhalt hinzufügen. Sie finden "Demo Setup" unter dem Download-Bereich von OpenHAB.org.

Sobald Sie es entpackt haben, gibt es zwei Ordner: Addons und Konfigurationen .

openhab Demo-Inhalt

Verwenden Sie die Netzwerkfreigaben, kopieren Sie Konfigurationen in die OpenHAB Config- Freigabe und überschreiben Sie den vorhandenen Ordner. Kopieren Sie die Addons wieder in die andere OpenHAB Home- Freigabe und überschreiben Sie die vorhandenen Ordner. Wenn Sie nicht aufgefordert werden, etwas zu überschreiben, machen Sie es falsch. Wenn Sie die Debug-Protokolldatei im Auge behalten, sollten Sie ein gewisses Maß an Aktivität feststellen, wenn die neuen Bindungen erkannt und in Aktion gesetzt werden. Öffnen Sie raspberrypi.local: 8080 / openhab.app? Sitemap = demo, um die Demo zu sehen.

OpenHAB demo house web interface screenshot

Es ist ein bisschen grundlegend, wenn man sich den Moment ansieht, aber die offene Natur von OpenHAB bedeutet, dass wir später ein schönes neues Thema oder eine alternative Schnittstelle installieren können. Für den Moment mussten wir nur wissen, dass alles funktioniert. Beachten Sie, dass das, was wir betrachten, eine Sitemap ist (nichts, was mit einer Website- Sitemap zu tun hat). Eine Sitemap beschreibt die Benutzeroberfläche - nicht die tatsächlichen Geräte in Ihrem Netzwerk oder Sensoren - nur die Benutzeroberfläche, um sie anzuzeigen. Jeder Teil davon ist vollständig anpassbar. Um zu sehen, wie dieser erstellt wurde, öffnen Sie die Datei sitemaps / demo.sitemap in der OpenHAB Config-Freigabe.

Sitemap Demo Beispieldatei

Es ist ziemlich entmutigend, aber in den meisten Fällen werden Sie Code-Fragmente aus anderen Beispielen kopieren, um Ihre eigene benutzerdefinierte Schnittstelle zu erstellen. Hier ist der technische Überblick über alle möglichen Sitemap-Elemente, aber im Moment wird es genügen, nur darüber nachzudenken, welche Art von Schnittstelle Sie erstellen möchten und welche Informationen Sie anzeigen möchten.

Während du dort bist, öffne auch Items / demo.items . Auch hier sieht es unheimlich aus, aber hier können Sie Elemente erstellen, um Sensoren zu steuern und zu definieren.

Wie funktioniert OpenHAB?

Nachdem Sie nun den Sitemap- und Objektordner schnell durchgelesen haben, wollen wir genau aufschlüsseln, was diese Dateien sind und die anderen Hauptkomponenten von OpenHAB, die zusammen Ihr komplettes Smart Home bilden. Sie finden im gemeinsamen Ordner OpenHAB Config Unterverzeichnisse für jeden dieser Ordner.

Elemente ist ein Inventar aller Steuergeräte, Sensoren oder Informationselemente, die Sie in Ihrem System haben möchten. Es muss auch kein physisches Gerät sein - Sie können eine Webquelle wie Wetter oder Aktienkurse definieren. Jedes Element kann benannt, mehreren Gruppen zugewiesen (oder keiner) und mit einer bestimmten Bindung verbunden sein. (Anfängertipp: Großschreibung ist wichtig, wenn es um Bindungen geht. Ich habe lange versucht herauszufinden, warum meine "Hue" -Lampen nicht funktionierten; es war, weil sie stattdessen "Farbton" hätten sein sollen).

Sitemaps betrifft nur die Benutzeroberfläche, die beim Öffnen der OpenHAB Mobile- oder Web-App angezeigt wird. Sie können genau steuern, wie die Schaltflächen angelegt und Informationen dargestellt werden sollen. Sie können Gruppen auf oberster Ebene für jeden Raum Ihres Hauses definieren; Durch Klicken auf jede wird eine Liste aller Geräte in diesem Raum angezeigt. Oder Sie bevorzugen es, Gruppen für jeden Gerätetyp anzuzeigen: eine Taste für Beleuchtung, eine andere für Steckdosen. Es gibt möglicherweise einige Geräte, die Sie so oft verwenden, dass Sie nur einen Schalter für sie direkt auf dem Startbildschirm möchten.

Bei Regeln kommt der Aspekt der Heimautomatisierung zum Einsatz, bei dem Sie Zeitpläne oder Bedingungen für eine Aktion definieren können. Einfache Ereignisse wie das Einschalten der Schlafzimmerbeleuchtung um 22 Uhr in eine warme rote Farbe; oder komplexere Logik wie das Einschalten eines Heizstrahlers, wenn die Temperatur weniger als 0 ist und jemand in diesem Raum anwesend ist. Sie finden auch einen Skriptordner, der ähnliche Funktionen wie Regeln bietet, jedoch auf einer komplexeren Ebene programmierbarer Logik.

Persistenz ist ein fortgeschrittenes Thema, auf das wir in diesem Handbuch nicht eingehen werden, aber Persistenz definiert Daten, die Sie aufzeichnen wollen. Standardmäßig zeigt OpenHAB nur den aktuellen Zustand von etwas; Wenn Sie diesen Wert im Zeitverlauf verfolgen möchten, müssen Sie eine Persistenzdefinition für diese Datenquelle einrichten. Darin geben Sie beispielsweise an, wie oft ein Datenpunkt gemessen werden soll oder wann alte Datenpunkte verworfen werden sollen. Sie müssen außerdem angeben, welche Art von Persistenz-Engine verwendet werden soll, z. B. MySQL oder einfache Protokollierung in einer Datei .

Transformation enthält Zuordnungen für Datenwerte zu Beschriftungen. Zum Beispiel definiert die humidex.scale- Datei einen Bereich von Feuchtigkeitsindexwerten und wie sie in Englisch gezeigt werden sollten: 29-38 ist "etwas Unbehagen".

Die Sitemap- und Elementdateien sind für die Ausführung von OpenHAB unerlässlich. der Rest ist optional. Sie können mehrere Sitemaps und Elemente haben, so dass Sie den Demo-Inhalt behalten und jederzeit darauf zurückgreifen können, oder Sie können ein neues Layout für Ihre Home Control-Oberfläche ausprobieren. Machen Sie sich keine Sorgen, wenn das alles jetzt ein wenig überwältigend erscheint, wir werden es in überschaubare Teile aufteilen und ich verspreche Ihnen am Ende dieses Leitfadens, dass Sie sich darauf verlassen können, ein eigenes OpenHAB-Setup zu erstellen.

Im nächsten Schritt führen wir Sie durch ein neues Smart-Home-Kit, das in einer neuen Sitemap von Grund auf neu erstellt wird. Jeder wird einige grundlegende Konzepte vorstellen, wie beispielsweise das Installieren von Bindungen und Elementdefinitionen. Ich möchte Sie daher ermutigen, diese Anweisungen zu lesen, auch wenn Sie diese speziellen Geräte nicht besitzen .

Erstellen Sie zunächst eine neue (leere) home.items- Datei und eine neue home.sitemap- Datei in den entsprechenden Verzeichnissen. Öffnen Sie home.sitemap und fügen Sie den folgenden Code ein. Dies dient nur als ein Grundskelett, zu dem wir später Bits hinzufügen werden.

 sitemap home label="My Home" { } 

Es sollte eine Benachrichtigung angezeigt werden, dass OpenHAB eine neue Sitemap und eine neue Elementdatei identifiziert hat.

openhab neue Sitemap und Artikel

Aktivieren Sie den Debug-Modus

Während Sie immer noch versuchen, OpenHAB korrekt zu betreiben, kann es nützlich sein, ein ausführlicheres Debug-Protokoll zu aktivieren, das alles auflistet, und nicht nur die wichtigen Dinge. Um diesen Modus zu aktivieren, öffnen Sie den freigegebenen Ordner OpenHAB Config und bearbeiten Sie die Datei logback.xml . Ändern Sie in Zeile 40 die folgende Zeile, um DEBUG anstelle von INFO zu lesen. Sie müssen neu starten, nachdem Sie dies geändert haben.

Dies ist eine globale Änderung, so dass Sie viel mehr Informationen erhalten, sobald Sie die Protokolldatei beenden.

Hinzufügen von Philips Hue

Ich beginne mit Philips Hue Philips Hue Starter Kit Review und Giveaway Philips Hue Starter Kit Review und Giveaway Der Markt wird von Glühbirnen mit Wifi überflutet, alle mit ihren eigenen albernen mobilen App, die Sie umdrehen müssen, um sie einzuschalten . Ist die Farbe anders? Wir finden heraus. Weiterlesen . Wie bei den meisten Dingen, mit denen Sie in OpenHAB interagieren möchten, müssen Sie bei Hue-Lampen eine Bindung installieren - denken Sie an Bindungen wie an einen Gerätetreiber. Zum Zeitpunkt des Schreibens stehen für OpenHAB 1 rund 160 Bindungen zur Verfügung. Aus diesem Grund ist OpenHAB ein so leistungsfähiges System - es kann mit jeder beliebigen Schnittstelle verbunden werden und alle diese unterschiedlichen Steuerungssysteme in einer einheitlichen Oberfläche kombinieren. Hier finden Sie eine Demo und einen schnellen Überblick über die einzelnen Schritte.

Bindungen müssen zuerst heruntergeladen werden, und der einfachste Weg, dies auf dem Pi zu tun, ist die Verwendung von apt-get, dann erzwinge Besitz an den Openhab-Benutzer.

 sudo apt-get install openhab-addon-binding-hue sudo chown -hR openhab:openhab /usr/share/openhab 

Als nächstes müssen Sie OpenHAB anweisen, diese Bindung zu laden und alle benötigten Variablen zu konfigurieren. Navigieren Sie zum Konfigurationsordner und erstellen Sie eine Kopie von openhab-default.cfg mit dem Namen openhab.cfg . Öffnen Sie das, suchen Sie nach HUE und ersetzen Sie den gesamten Abschnitt durch den folgenden Code. Die einzige Sache, die Sie ändern müssen, ist der IP-Wert Ihrer Brücke - wenn Sie es nicht bereits wissen, versuchen Sie das Online-Entdeckungstool. Der geheime Wert spielt keine Rolle, es ist nur eine Art Benutzername, mit dem OpenHAB sich bei der Bridge identifiziert.

Kurztipp : Um eine Zeile zu aktivieren, entfernen Sie einfach die # von Anfang an. Standardmäßig ist die Zeile, die die IP-Adresse der Bridge angibt, deaktiviert (oder technisch "auskommentiert"). Wenn Sie eine alternative Konfiguration ausprobieren, kann es nützlich sein, einfach die vorhandene Zeile zu kopieren und ein # am Anfang als Kommentar zu setzen, damit Sie leicht zurückgehen können, wenn etwas schief läuft.

 ################################ HUE Binding ######################################### 
 # IP of the Hue bridge hue:ip=192.168.1.216 hue:secret=makeuseofdotcom hue:refresh=10000 

Openhab bindende Konfig

Speichern und schließen. Wie bei jeder Drittanbieter-Hue-Anwendung müssen Sie OpenHAB auf der Hue-Bridge freigeben, indem Sie die Taste auf der Vorderseite drücken - Sie müssen dies nur einmal tun. Wenn Sie die Protokolldatei abwarten, wird eine Meldung angezeigt, dass Sie auf die Kopplung warten müssen. Wenn Sie den Countdown jedoch vergessen oder vergessen haben, setzen Sie einfach den Pi zurück - ab der Bindung des Farbtons erhalten Sie einen 100-Sekunden-Timer wird eingeleitet. Stellen Sie sicher, dass Sie erfolgreich gepaart haben, bevor Sie fortfahren.

Öffnen Sie als Nächstes die Datei home.items, der einige Hue-Glühbirnen hinzugefügt werden. Hier ist eine Beispiel-Item-Definition:

 Color Bedroom_Hue "Bedroom Hue" (Bedroom) {hue="1"} 
  • Das Farbwort gibt an, welche Art von Kontrolle wir über diesen Gegenstand haben. RGB Hue-Lampen sind "Farbe", da wir sie vollfarbig steuern können. Andere Lichter können nur ein Schalter sein.
  • Als nächstes folgt der Codename des Elements: Ich habe Bedroom_Hue gewählt, aber im Prinzip ist alles in Ordnung - nur etwas Beschreibendes, das sich für dich natürlich anfühlt, weil du dich später daran erinnern musst, wenn du die Sitemap machst. Der Codename sollte keine Leerzeichen enthalten.
  • Zwischen den Anführungszeichen steht das Label. Unseres ist in diesem Fall einfach, aber für einige Elemente wie Temperatur oder etwas, das einen Wert meldet, fügen Sie einen speziellen Code hinzu, der besagt, wie dieser Wert angezeigt wird oder welche Transformation verwendet wird. Die Bezeichnung bezieht sich auf die Schnittstelle und kann Leerzeichen enthalten.
  • Zwischen den spitzen Klammern befindet sich der Name des Symbols. Sie finden alle verfügbaren Symbole in der OpenHAB-Freigabe im Verzeichnis webapps / images . Es gibt tatsächlich eine ganze Reihe von Farbton-Symbolen, die unterschiedliche Helligkeiten oder An / Aus darstellen. Geben Sie einfach den Namen des Basis-Symbols an - OpenHAB wird automatisch nach den verschiedenen Ein / Aus-Symbolen suchen, wenn es sich um ein geschaltetes Element handelt. Dies ist optional.
  • In den runden Klammern teilen wir den Gruppen mit, in welchen Gruppen sie sich befinden - in diesem Fall nur die Schlafzimmergruppe .
  • Schließlich und im Wesentlichen verbinden wir den Gegenstand mit der passenden Bindung mit irgendwelchen benötigten Variablen. In diesem Fall ist die Farbtonbindung und die Nummer der Glühbirne 1. Sie können die Nummer finden, indem Sie die offizielle Hue-Anwendung öffnen und die Registerkarte "Lichter" betrachten. Jede Glühbirne hat eine eindeutige Nummer.

Ich habe insgesamt vier Glühbirnen hinzugefügt, sowie eine einfache Erklärung der Gruppen, auf die wir später eingehen werden. Hier ist mein komplettes Zuhause. Artikel an dieser Stelle:

 Group Bedroom Group Office Group Kai Group Living_Room Group Cinema Group Secret 
 Group Lights 
 /* Lights */ Color Bedroom_Hue "Bedroom Hue" (Bedroom, Lights) {hue="1"} Color Office_Hue "Office Hue" (Office, Lights) {hue="2"} Color Secret_Hue "Secret Hue" (Secret, Lights) {hue="3"} Color Kai_Hue "Kai's Hue" (Kai, Lights) {hue="4"} 

Der / * Lights * / Text ist nur ein Kommentar, er hat keine andere Funktion als uns zu helfen, die Datei später zu scannen, wenn sie größer wird. Jetzt haben wir die Geräte hinzugefügt, aber das Öffnen von http: //raspberrypi.local: 8080 /? Sitemap = home führt zu einer leeren Schnittstelle - natürlich, weil wir noch keine Interface-Elemente in der Sitemap erstellt haben. Beginnen wir jetzt ganz einfach. Öffnen Sie home.sitemap .

Der Code, der zur Beschreibung der Schnittstelle verwendet wird, unterscheidet sich von den Elementen, aber im Moment werden wir einen neuen "Rahmen" erstellen und ein paar Gruppensteuerelemente zusammen mit einigen Symbolen hinzufügen.

 sitemap home label="My Home" { Frame { Group item=Lights label="All lighting" icon="hue" Group item=Bedroom label="Bedroom" icon="bedroom" Group item=Office label="Office" icon="desk" } } 

Gruppen sind ein nützliches Tool für schnelles Testen, aber in Wirklichkeit möchten Sie mehr Kontrolle darüber, wie die Elemente angezeigt werden. Für jetzt wird dies ausreichen. Speichern und laden Sie Ihre Home-Sitemap im Browser neu. Sie sollten dies sehen (oder welche Gruppen Sie auch hinzugefügt haben).

openhab erste Sitemap

Klicken Sie auf Alle Beleuchtung, um jedes Hue-Licht zu sehen, da wir sie alle als zu dieser übergreifenden Lichtergruppe gehörend definiert haben.

openhab lights group Hue demo

Beachten Sie, dass der Office-Hue-Eintrag mit einem anderen Symbol angezeigt wird - weil meine Büroleuchte bereits an ist und OpenHAB dies weiß, wenn es mit der Hue-Bridge gesprochen hat, und intelligent genug war, das Symbol auf die "Ein" -Version der Datei einzustellen. Leider spiegelt es nicht die Farbe wider, aber wenn Sie eine mobile App installiert haben, wird dies die aktuelle Farbe widerspiegeln.

Wenn Sie mehr Elemente sehen, als Sie dachten, dass Sie Fehler über mehrere Definitionen definiert oder erhalten haben, wissen Sie, dass Sie zwar nur eine Sitemap gleichzeitig auf die Seite laden können, alle Sitemaps jedoch Elemente aus allen .item-Dateien abrufen Sie haben die Demo-Items-Datei dort abgelegt. Möglicherweise haben Sie einige zusätzliche Elemente in Ihren Gruppen angezeigt. Ich würde an dieser Stelle vorschlagen, den Inhalt der Demo-Objekte zu sichern und ihn aus dem Ordner zu verschieben, um Doppelfehler zu vermeiden.

Remotezugriff und IFTTT mit My.OpenHAB

Sie müssen sich jetzt im selben lokalen Netzwerk befinden, um auf Ihr OpenHAB-System zugreifen zu können. Was aber, wenn Sie Ihre Geräte steuern und Sensoren überprüfen möchten, die außerhalb der Reichweite Ihres WLANs liegen? Dafür müssen wir den Remote-Zugriff einrichten - und wir werden es mit dem My.OpenHAB-Web-Service auf die einfache Art und Weise tun, der die Notwendigkeit von Port-Forwarding- und Router-Konfigurationen umgeht. Als Bonus hat der My.OpenHAB-Dienst auch einen IFTTT-Kanal, der Ihnen unendlich viele Möglichkeiten zur Fernsteuerung und -automatisierung bietet.

Zuerst: installiere die Bindung. Kurztipp: Wenn Sie den genauen Namen eines bestimmten Installationspakets nicht kennen, suchen Sie mit apt-cache danach.

apt-Cache-Suche

 sudo apt-get install openhab-addon-io-myopenhab sudo chown -hR openhab:openhab /usr/share/openhab 

Bevor Sie sich auf der My.OpenHAB-Site registrieren können, müssen Sie einen geheimen Schlüssel erstellen und Ihre UUID finden, die Ihre Installation eindeutig identifiziert. Überprüfen Sie unter OpenHAB Home share -> webapps -> static und Sie sollten eine UUID-Datei finden, die Ihren eindeutigen Bezeichner enthält. Zu diesem Zeitpunkt entdeckte ich, dass mein Pi eine ältere Java-Version verwendet, die den geheimen Schlüssel nicht korrekt erstellt. Art

 java -version 

überprüfen. Wenn es nicht 1, 7 oder höher heißt, haben Sie die falsche Version. Seltsamerweise, die neueste Version von Raspbian kommt mit Oracle Java 8 installiert, aber nicht als Standard festgelegt.

 sudo update-alternatives --config java 

Update der Java-Version

Wählen Sie die Option, die jdk-8-oracle angibt, und starten Sie OpenHAB neu. Bonus: Oracle Java 8 ist schneller als das Standard-OpenJDK!

Jetzt sollten Sie auch eine geheime Datei im Ordner " webapps / static " finden. Öffne sowohl das Geheimnis als auch die Uuid und sei bereit, Paste zu kopieren.

Uuid und Geheimnis

Erstellen Sie jetzt ein My.OpenHAB-Konto, verwenden Sie diese Details und kehren Sie dann zurück. Sie müssen Ihre E-Mail-Adresse auch bestätigen, bevor etwas funktioniert. Es gibt noch ein paar Schritte zu diesem. Zuerst müssen wir die Standard-Persistenz-Engine auf myopenhab einstellen (Persistenz ist etwas für eine spätere Anleitung, aber unabhängig davon müssen wir etwas Grundlegendes einrichten, um unsere Daten in den Online-Service zu "exportieren" und für IFTTT sichtbar zu machen) . Öffnen Sie dazu die Datei openhab.cfg und suchen Sie nach der Variablen Persistenz: default = und ändern Sie sie in persistence: default = myopenhab . Sparen.

Zuletzt erstellen Sie eine neue Datei im Ordner configurations / persistence namens myopenhab.persist und fügen Sie die folgende Regel ein.

 Strategies { default = everyChange } Items { * : strategy = everyChange } 

Sie müssen dies jetzt noch nicht verstehen, aber wissen Sie, dass es heißt "Speichern Sie jeden Elementstatus, wenn es sich ändert".

meine offenen Gegenstände

Um eine Verbindung mit IFTTT herzustellen, wechseln Sie zum OpenHAB-Kanal - Sie müssen sich authentifizieren und Ihrem MyOpenHAB-Konto Zugriff gewähren. Beachten Sie außerdem, dass die Elemente in IFTTT nicht in der Elementliste angezeigt werden, wenn sie nicht mindestens einmal geändert wurden. Wenn sie nicht sichtbar ist, schalten Sie sie ein und aus und laden Sie sie erneut. Herzlichen Glückwunsch, Sie haben jetzt vollständigen IFTTT-Zugriff auf alles in Ihrem OpenHAB-System!

openhab ifttt Kanal

Bluetooth Anwesenheitssensor mit REST

Vor kurzem habe ich Ihnen gezeigt, wie man ein automatisches Bürotürschloss mit Bluetooth macht. Machen Sie eine selbstsperrende Bürotür mit Smartphone Proximity Sensor Machen Sie eine selbstsperrende Bürotür mit Smartphone Proximity Sensor Wir werden ein Raspberry Pi mit einem einrichten Bluetooth-Adapter, um nach Ausschau zu halten, wenn sich Ihr Smartphone außerhalb der Reichweite befindet, und ein Relais auslösen, um die Tür zu verriegeln. Lesen Sie mehr Scannen, um die Anwesenheit des Benutzers zu erkennen - ich wollte so etwas in OpenHAB bringen.

Auf einer anderen Plattform als Raspberry Pi wäre dies dank einer vorgefertigten Bluetooth-Bindung einfach; Leider funktioniert es nicht auf Pi aufgrund einer entscheidenden Java-Datei, die für die ARM-Architektur neu kompiliert, der Bindung hinzugefügt und dann die Bindung neu erstellt werden müsste. Es genügt zu sagen, ich habe es versucht, und es war schrecklich kompliziert und hat nicht funktioniert. Es gibt jedoch eine viel einfachere Lösung, die auch als gute Einführung in die reine Erweiterbarkeit von OpenHAB dient: Wir passen unser vorheriges Python-Skript einfach so an, dass es direkt an die RESTful-Schnittstelle von OpenHAB berichtet.

Nebenbei: Eine REST-konforme Schnittstelle bedeutet, dass Sie mit einem System interagieren können, indem Sie den integrierten Webserver verwenden, indem Sie einfach URLs aufrufen und Daten übergeben oder abrufen. Sie können diese URL aufrufen, um ein einfaches Beispiel auf Ihrem eigenen Server zu sehen: http: //raspberrypi.local: 8080 / rest / items - das eine codierte Liste aller Ihrer definierten Objekte ausgibt. Dies ist unglaublich leistungsstark, da es das volle Potenzial von OpenHAB ausschöpft und Ihnen ermöglicht, benutzerdefinierte Schnittstellen zu schreiben. oder im umgekehrten Fall, um den Status von Sensoren zu melden, ohne eine spezifische Bindung zu haben. Wir verwenden diese Funktion, um das Vorhandensein eines bestimmten Bluetooth-Geräts zu melden, ohne auf die Bluetooth-Bindung zurückzugreifen.

Beginnen Sie mit dem Hinzufügen eines neuen Switch- Elements zu Ihrer home.items- Datei. Ich habe meinen "JamesInOffice" genannt, und ich habe es zu einem Schalter gemacht und nicht zu einem einfachen Ein / Aus-Kontakt, so dass ich meine Anwesenheit manuell steuern kann, falls mein Handy stirbt.

 Switch JamesInOffice "James in Office" (Office) 

Beachten Sie, dass ich kein Symbol definiert oder eine bestimmte Bindung zugeordnet habe. Es ist nur ein generischer Schalter.

Als nächstes fügen Sie einen kompatiblen USB-Bluetooth-Dongle ein und installieren Sie einige grundlegende Werkzeuge für die Interaktion mit ihm.

 sudo apt-get install bluez python-bluez python-pip sudo pip install requests hcitool dev 

Der letzte Befehl sollte Ihren Bluetooth-Adapter anzeigen. Wenn nichts aufgelistet ist, versuchen Sie einen anderen Adapter, Ihr ist nicht kompatibel mit Linux. Der nächste Schritt besteht darin, die Bluetooth-Hardwareadresse Ihres Geräts zu finden.

 wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py python inquiry.py 

Stellen Sie sicher, dass Ihr Telefon auf der Seite mit den Bluetooth-Einstellungen geöffnet ist (wodurch es in den Pairing- / öffentlichen Modus versetzt wird) und dass Bluetooth offensichtlich aktiviert ist. Sie sollten eine hexadezimale Hardware-Adresse finden.

Bluetooth identifiziert

Erstellen Sie in Ihrem Pi-Benutzerverzeichnis ein neues Python-Skript, und fügen Sie diesen Code ein.
Es gibt ein paar Dinge, die Sie bearbeiten müssen, beginnend mit Ihrer bestimmten Geräteadresse:

 result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5) 

Sowie die diese Linie, die an zwei Stellen ist (ja, das könnte wohl besser strukturiert sein). Ändern Sie JamesInOffice in den Codenamen des Schalters, den Sie definierten.

 r = requests.put("http://localhost:8080/rest/items/JamesInOffice/state", data=payload) 

Der letzte Schritt besteht darin, dieses Skript anzuweisen, es beim Booten zu starten.

 sudo nano /etc/rc.local 

Scrollen Sie bis zum Ende und fügen Sie vor dem Ausgang 0 folgende Zeilen hinzu:

 python /home/pi/detect.py & 

Das & Zeichen bedeutet "tue dies im Hintergrund". Gehen Sie voran und führen Sie das Skript aus, falls noch nicht geschehen, und öffnen Sie Ihre OpenHAB-Schnittstelle. Wenn Sie es zu einer Gruppe hinzugefügt haben, klicken Sie auf diese Gruppe. Das Aktualisieren dauert ungefähr 10 Sekunden. Je nachdem, ob das Telefon erkannt wurde oder nicht, wird das standardmäßige Glühbirnensymbol aktiviert oder deaktiviert. Überprüfen Sie die Protokolldatei, wenn nichts passiert, möglicherweise haben Sie den falschen Artikelnamen verwendet.

OpenHAB Mobile App

Obwohl Sie natürlich die Web-Oberfläche von einem mobilen Gerät aus verwenden können, hat OpenHAB native Apps für iOS und Android - und sie sehen viel schöner aus als die Standard-Browser-Oberfläche. Geben Sie auf dem Einstellungsbildschirm die lokale URL als interne IP ein, die Sie bis jetzt verwendet haben, einschließlich der Portnummer. Geben Sie für die Remote-URL https://my.openhab.org und Ihren Benutzernamen (E-Mail-Adresse) sowie das Passwort ein, das Sie bei der Anmeldung eingegeben haben. Wenn Sie sich noch nicht für MyOpenHAB angemeldet haben, lassen Sie die Authentifizierung und die Remote-URL einfach leer, aber Sie greifen nur über Ihr lokales WLAN auf Ihr System zu.

openhab-mobil

Vorwärts gehen und Hilfe bekommen

Die Menge an Anpassungen und ordentlichen Funktionen, die Sie Ihrem OpenHAB-Controller hinzufügen können, ist wirklich episch. Neben der umfangreichen Liste unterstützter Geräte mit Bindings können Sie die RESTful-Schnittstelle, HTTP-Erweiterungen und IFTTT verwenden, um alle Arten von IoT-Geräten zu lesen oder zu steuern und dann einige (probieren Sie einige unserer kreativen Beleuchtungsideen aus. 7 Creative Uses für farbige LED-Home-Automation-Beleuchtung 7 Kreative Anwendungen für farbige LED-Home-Automation-Beleuchtung Das automatische Einschalten Ihrer Beleuchtung ist sicherlich cool, aber das volle Spektrum an Farben, die mit RGB-Beleuchtung zur Verfügung stehen, wird nicht genutzt . Weiterlesen ). Ja, es ist ein absoluter Schmerz, zu installieren, aber kein einziges kommerzielles System kommt der Leistung eines angepassten OpenHAB-Systems nahe.

Das heißt, die Fahrt war für mich überhaupt nicht leicht, und genau deshalb habe ich diesen Leitfaden geschrieben, um den Prozess für Sie zu erleichtern. Bleiben Sie auf MakeUseOf abgestimmt für eine erweiterte Anleitung, die Z-Wave und andere coole Tricks abdeckt, die Sie einrichten können.

Wenn Sie Hilfe zu einem bestimmten Teil dieses Handbuchs benötigen, fragen Sie bitte in den Kommentaren nach. Wenn Sie Hilfe mit einer anderen Bindung oder einige erweiterte Themen, die wir noch nicht behandelt haben, möchten, sind die offiziellen OpenHAB-Foren ein einladender Ort.

In this article