Erste Schritte mit OpenHAB Home Automation auf Raspberry Pi

Erste Schritte mit OpenHAB Home Automation auf Raspberry Pi
Diese Anleitung steht als kostenloses PDF zum Download bereit. Laden Sie diese Datei jetzt herunter . Fühlen Sie sich frei, dies zu kopieren und mit Ihren Freunden und Ihrer Familie zu teilen.

OpenHAB ist eine ausgereifte Open-Source-Heimautomatisierungsplattform, die auf einer Vielzahl von Hardware läuft und protokollunabhängig ist, was bedeutet, dass sie sich mit fast jeder heute auf dem Markt erhältlichen Heimautomatisierungshardware verbinden kann. Wenn Sie die Anzahl der herstellerspezifischen Apps frustriert haben, die Sie nur zur Steuerung Ihrer Lichter ausführen müssen, 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, den Sie jemals finden werden.





Leider ist es so weit wie möglich von Verbraucherfreundlichkeit – aber wie immer kommt MakeUseOf ins Spiel: Wir zeigen Ihnen, wie Sie mit dem ultimativen Smart-Home-System loslegen und es nicht für Geld kaufen müssen (denn OpenHAB ist 100% kostenlos – liefern Sie einfach die Hardware).





Der erste Teil dieses Handbuchs konzentriert sich speziell darauf, wie Sie die OpenHAB-Einrichtung mit a Raspberry Pi 2 , aber darüber hinaus können die Tutorials und Ratschläge überall angewendet werden, wo OpenHAB installiert ist.





Dieser Leitfaden behandelt drei einführende Themen und ein etwas fortgeschritteneres.

  • OpenHAB auf dem Pi zum Laufen bringen und die Demo-Haus-Konfiguration installieren, um zu überprüfen, ob die Kernsysteme funktionieren.
  • So fügen Sie Bindungen und Profile für Geräte hinzu. Ich arbeite mit Philips Hue.
  • Aktivieren des Fernzugriffs und Herstellen einer Verbindung mit IFTTT.
  • 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, diese Anleitung enthält keine Anweisungen zum Funktionieren Ihres Wi-Fi-Adapters). Alles andere ist optional. Beachten Sie, dass OpenHAB auch auf dem ursprünglichen Raspberry Pi läuft, aber es gibt ein bekanntes Problem mit langsamerer Verarbeitung und Z-Wave-Geräten. Wenn Sie Z-Wave nicht benötigen, können Sie diese Warnung getrost ignorieren und mit einem Raspberry Pi Modell B oder B+ fortfahren, denn alles andere scheint gut zu funktionieren. Sie können jederzeit auf den neuesten Pi upgraden, wenn Sie Z-Wave hinzufügen.



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 in Kürze erwartet, und alles in diesem Handbuch sollte weiterhin relevant sein, obwohl bestimmte Bindungen möglicherweise mehr Funktionen haben. Version 2 ist derzeit auch als sehr frühe Alpha-Vorschau erhältlich, übernimmt jedoch eine grundlegend andere Architektur als die OpenHAB-1-Serie: Dieses Handbuch ist nicht mit Version 2 kompatibel.





Ich empfehle Ihnen dringend, dieser Anleitung langsam und methodisch zu folgen – Versuchen Sie nicht, ins tiefe Ende zu springen und alles auf einmal hinzuzufügen. Ja, es ist eine lange Anleitung – OpenHAB ist ein schwieriges System, das oft an Ihre Bedürfnisse angepasst werden muss, und der beste Weg, um den Erfolg sicherzustellen, besteht darin, langsam zu arbeiten und Stück für Stück fertig zu werden.

Die gute Nachricht ist, dass es, wenn es einmal funktioniert, eine grundsolide Erfahrung und unglaublich lohnend ist.





OpenHAB installieren

Es gibt kein vorkonfiguriertes Image für OpenHAB, daher erfolgt die Installation auf altmodische Weise über eine Befehlszeile. Ich schlage vor, dass Sie kopflos auf dem RPi arbeiten - der Aufwand für die Verwaltung einer GUI, die Sie selten verwenden werden, ist es nicht wert.

Beginnen Sie mit dem neuestes (vollständiges) Raspbian SD-Image (nicht die 'Lite'-Version, diese enthalten nicht die Java Virtual Machine). Stecken Sie Ihr Netzwerkkabel ein, booten Sie dann und navigieren Sie durch SSH. Lauf:

sudo raspi-config

Erweitern Sie das Dateisystem; und ändern Sie im erweiterten Menü die Speicheraufteilung auf 16. Wenn Sie fertig sind, starten Sie neu und führen Sie als bewährte Vorgehensweise ein vollständiges Update durch.

sudo apt-get update
sudo apt-get upgrade

Der einfachere Weg, die OpenHAB-Runtime zu installieren, 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 als Eigentum 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 installieren wir Samba und geben die Konfigurations- und Benutzerordner frei – dies erleichtert die Installation von Add-Ons und die Änderung der Sitemap aus der Ferne.

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

Ändern Sie bei Bedarf den Arbeitsgruppennamen, aber aktivieren Sie andernfalls die WINS-Unterstützung:

wins support = yes

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

Fügen Sie dann Folgendes zum Abschnitt mit den Freigabedefinitionen hinzu (scrollen Sie ganz nach unten 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 den Abschnitt Drucker auskommentiert. Ich habe zwei Freigaben gemacht, da die Konfigurationsdateien eigentlich getrennt von den Add-Ons gespeichert werden.

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

sudo smbpasswd -a openhab

Ich würde 'openhab' als Passwort nur aus Gründen der Benutzerfreundlichkeit vorschlagen, aber es spielt keine Rolle.

Danke an Leser David L - es scheint, dass sich die Methode zum Neustart von Samba im neuesten Raspian geändert hat. Hier ist die aktualisierte Anleitung:

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 neustart ), testen Sie, ob Sie auf die geteilte Ablage zugreifen können. Auf einem Mac wird es möglicherweise nicht automatisch erkannt. aber du kannst das benutzen Finder -> gehen -> Verbinden zum Server und die Adresse

smb://openhab@raspberrypi.local

Authentifizieren Sie sich mit dem Benutzernamen openhab und Ihrem gewählten Passwort, öffnen Sie dann Ihre beiden Freigaben, um sich umzusehen. Sie sollten sogar http://raspberrypi.local:8080/ in Ihrem Webbrowser öffnen können, aber Sie erhalten eine Fehlermeldung, da wir noch keine Sitemap erstellt haben. Das ist normal.

Jetzt wäre ein guter Zeitpunkt, um den Befehl zum Tailing des OpenHAB-Protokolls zu lernen, damit Sie Fehler im Auge behalten können.

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

Lassen Sie das laufen und öffnen Sie es jederzeit in einem separaten SSH-Fenster, während Sie mit der Anleitung fortfahren.

Installieren Sie das Demohaus

Bevor wir uns mit den Feinheiten von Konfigurationsdateien, dem Hinzufügen von Geräten und Bindungen usw. befassen; Lassen Sie uns überprüfen, ob alles funktioniert, indem Sie den Demo-Inhalt hinzufügen. Sie finden 'Demo Setup' im Download-Bereich von OpenHAB.org.

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

Kopieren Sie mithilfe der Netzwerkfreigaben Konfigurationen zum OpenHAB-Konfiguration den vorhandenen Ordner freigeben und überschreiben. Kopieren Addons zu den anderen OpenHAB-Startseite share, wieder die vorhandenen Ordner überschreiben. Wenn Sie nicht aufgefordert werden, etwas zu überschreiben, machen Sie es falsch. Wenn Sie die Debug-Protokolldatei im Auge haben, sollten Sie eine Flut von Aktivitäten sehen, da sie die neuen Bindungen bemerkt und in Aktion tritt. Öffnen Sie raspberrypi.local:8080/openhab.app?sitemap=demo, um die Demo zu sehen.

Im Moment ist es ein wenig grundlegend, aber die offene Natur von OpenHAB bedeutet, dass wir später ein schönes neues Thema oder eine völlig alternative Schnittstelle installieren können. Im Moment mussten wir nur wissen, dass alles funktioniert. Beachten Sie, dass das, was wir betrachten, als a . bezeichnet wird Seitenverzeichnis (nichts mit einer Website-Sitemap zu tun). Eine Sitemap beschreibt die Benutzeroberfläche – nicht die tatsächlichen Geräte in Ihrem Netzwerk oder Sensoren – sondern nur die Oberfläche, um sie anzuzeigen. Jeder Teil davon ist vollständig anpassbar. Um zu sehen, wie dieser erstellt wurde, öffnen Sie die Sitemaps/demo.sitemap Datei auf der OpenHAB Config-Freigabe.

Es ist ziemlich entmutigend, aber zum größten Teil werden Sie Codefragmente aus Beispielen an anderer Stelle kopieren und einfügen, um Ihre eigene benutzerdefinierte Schnittstelle zu erstellen. Hier ist die technische Übersicht aller möglichen Sitemap-Elemente, aber für den Moment reicht es aus, nur darüber nachzudenken, welche Art von Schnittstelle Sie erstellen und welche Informationen Sie anzeigen möchten.

Während du drin bist, öffne dich items/demo.items auch. Auch hier sieht es beängstigend aus, aber hier erstellen Sie Elemente zum Steuern und Definieren von Sensoren zum Verfolgen.

Wie funktioniert OpenHAB?

Nachdem Sie nun die Sitemap und den Ordner 'Items' kurz durchgesehen haben, lassen Sie uns genau aufschlüsseln, was diese Dateien und die anderen Hauptkomponenten von OpenHAB sind, die zusammen Ihr komplettes Smart Home erstellen. Für jedes dieser Verzeichnisse finden Sie im freigegebenen Ordner OpenHAB Config Unterverzeichnisse.

Produkte ist eine Bestandsaufnahme 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 (oder keiner) zugewiesen und mit einer bestimmten Bindung verbunden werden. (Anfängertipp: Großschreibung ist wichtig, wenn es um Bindungen geht. Ich habe lange versucht herauszufinden, warum meine 'Hue'-Glühbirnen nicht funktionieren, sondern weil sie stattdessen 'hue' hätten sein sollen).

Sitemaps betrifft nur die Oberfläche, die Sie sehen, wenn Sie die OpenHAB-Mobil- oder Web-App öffnen. Sie können genau steuern, wie die Schaltflächen angeordnet und die Informationen dargestellt werden sollen. Sie könnten für jeden Raum Ihres Hauses Top-Level-Gruppen definieren; Wenn Sie auf jedes klicken, wird eine Liste aller Geräte in diesem Raum angezeigt. Oder Sie möchten Gruppen für jeden Gerätetyp anzeigen: eine Taste für Licht, eine andere für Steckdosen. Es kann sein, dass Sie einige Geräte so oft verwenden, dass Sie nur einen Schalter direkt auf dem Startbildschirm wünschen.

Regeln Hier kommt der Aspekt der Hausautomation ins Spiel, wo Sie Zeitpläne oder Bedingungen für die Durchführung einer Aktion definieren können. Einfache Ereignisse wie das Einschalten der Schlafzimmerbeleuchtung um 22 Uhr auf eine warme rote Farbe; oder komplexere Logik wie das Einschalten einer Raumheizung, wenn die Temperatur unter 0 liegt und sich jemand in diesem Raum aufhält. Sie finden auch a Skripte Ordner, der ähnliche Funktionen wie Regeln bietet, jedoch auf einer komplexeren Ebene der programmierbaren Logik.

Beharrlichkeit ist ein fortgeschrittenes Thema, das wir in diesem Handbuch nicht behandeln werden, aber Persistenz definiert Daten, die Sie protokollieren möchten. Standardmäßig zeigt OpenHAB nur den aktuellen Status von etwas an; Wenn Sie diesen Wert im Zeitverlauf verfolgen möchten, müssen Sie eine Persistenzdefinition für diese Datenquelle einrichten. Darin legen Sie beispielsweise fest, wie oft ein Datenpunkt gemessen werden soll oder wann alte Datenpunkte verworfen werden sollen – Sie müssen auch angeben, welche Art von Persistenz-Engine verwendet werden soll, z .

Verwandeln enthält Zuordnungen für Datenwerte zu Labels. Zum Beispiel die humex.waage Datei definiert eine Reihe von Feuchtigkeitsindexwerten und wie sie im Englischen angezeigt werden sollen: 29-38 ist 'etwas Unbehagen'.

Die Seitenverzeichnis und Produkte Dateien sind für die Ausführung von OpenHAB unerlässlich; der Rest ist optional. Sie können mehrere Sitemaps und Elemente haben, sodass Sie den Demo-Inhalt behalten und jederzeit darauf zurückgreifen können, oder ein neues Layout für Ihre Haussteuerungsoberfläche ausprobieren. Machen Sie sich keine Sorgen, wenn Ihnen das alles im Moment etwas überwältigend erscheint, wir werden es in überschaubare Teile aufteilen und ich verspreche, dass Sie am Ende dieses Handbuchs sicher sein werden, Ihr eigenes OpenHAB-Setup zu erstellen.

Als Nächstes führen wir Sie durch das Hinzufügen einiger gängiger Smart-Home-Kits, beginnend bei Null in einer neuen Sitemap. Jeder wird einige Kernkonzepte vorstellen, wie z. B. das Installieren von Bindungen und Elementdefinitionen, daher empfehle ich Ihnen dringend, diese Anweisungen durchzulesen auch wenn Sie diese speziellen Geräte nicht besitzen .

Beginnen Sie mit der Erstellung eines neuen (leeren) home.items Datei und ein neues home.sitemap Datei in den entsprechenden Verzeichnissen. Aufmachen home.sitemap und fügen Sie den folgenden Code ein. Dies dient nur als Grundgerüst, dem wir später Bits hinzufügen werden.

sitemap home label='My Home'
{

}

Sie sollten einen Hinweis sehen, dass OpenHAB eine neue Sitemap und eine neue Artikeldatei identifiziert hat.

aligncenter size-large wp-image-496593

Debug-Modus aktivieren

Während Sie immer noch versuchen, OpenHAB richtig zum Laufen zu bringen, kann es nützlich sein, ein ausführlicheres Debug-Log zu aktivieren, das alles auflistet und nicht nur die wichtigen Dinge. Um diesen Modus zu aktivieren, öffnen Sie den freigegebenen OpenHAB Config-Ordner und bearbeiten Sie die 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, sodass Sie viel mehr Informationen erhalten, wenn Sie die Protokolldatei verfolgen.

Hinzufügen von Philips Hue

Ich fange mit Philips Hue an. Wie bei den meisten Dingen, mit denen Sie in OpenHAB interagieren möchten, müssen Sie bei Hue-Lampen ein Bindung – Stellen Sie sich Bindungen wie einen Gerätetreiber vor. Zum Zeitpunkt des Schreibens sind für OpenHAB 1 etwa 160 Bindungen verfügbar, weshalb OpenHAB ein so leistungsstarkes System ist – es kann mit allem interagieren und all diese unterschiedlichen Kontrollsysteme in einer einzigen einheitlichen Schnittstelle kombinieren. Hier finden Sie eine Demo und einen schnellen Überblick über die erforderlichen Schritte.

Bindungen müssen zuerst heruntergeladen werden, und der einfachste Weg, dies auf dem Pi zu tun, ist die Verwendung von apt-get , dann erzwingen Sie das Eigentum 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 konfigurieren. Navigieren Sie zum Konfigurationsordner und erstellen Sie eine Kopie von openhab-default.cfg , benenne es openhab.cfg . Öffne das, suche nach FARBTON und ersetzen Sie den gesamten Abschnitt durch den folgenden Code. Das einzige, was Sie ändern müssen, ist der IP-Wert Ihrer Bridge – wenn Sie ihn noch nicht kennen, versuchen Sie es mit dem Online-Discovery-Tool. Der geheime Wert spielt keine Rolle, es ist nur eine Art Benutzername, den OpenHAB verwendet, um sich gegenüber der Bridge zu identifizieren.

Schneller Tipp : Um eine Zeile zu aktivieren, entfernen Sie einfach das # am Anfang. Standardmäßig ist die Zeile, die die IP-Adresse der Bridge angibt, deaktiviert (oder technisch 'auskommentiert'). Auch wenn Sie eine alternative Konfiguration ausprobieren, kann es nützlich sein, einfach die vorhandene Zeile zu kopieren und ein # an den Anfang zu setzen, um sie als Kommentar zu markieren, damit Sie leicht zurückkehren können, wenn etwas schief geht.

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

Speichern und schließen. Wie bei jeder Hue-Anwendung von Drittanbietern müssen Sie OpenHAB auf der Hue Bridge durch Drücken der Taste auf der Vorderseite genehmigen – Sie müssen dies nur einmal tun. Sie sehen eine Nachricht über warten darauf gepaart zu werden Wenn Sie die Protokolldatei verfolgen, aber den Countdown vergessen oder verpasst haben, setzen Sie einfach den Pi zurück – Sie erhalten einen 100-Sekunden-Timer ab dem Zeitpunkt, an dem die Hue-Bindung initiiert wird. Stellen Sie sicher, dass Sie erfolgreich gekoppelt wurden, bevor Sie fortfahren.

Als nächstes öffnen Sie die home.items Datei, zu der wir einige Hue-Glühbirnen hinzufügen. Hier ist ein Beispiel für eine Artikeldefinition:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • Die Farbe Wort gibt an, welche Art von Kontrolle wir über dieses Element haben. RGB-Hue-Lampen sind 'Farbe', da wir die volle Farbkontrolle über sie haben. Andere Lichter können nur ein Schalter sein.
  • Als nächstes ist der Codename des Artikels: Ich habe gewählt Schlafzimmer_Farbton , aber buchstäblich ist alles in Ordnung – nur etwas Beschreibendes, das sich für Sie natürlich anfühlt, weil Sie sich später beim Erstellen der Sitemap daran erinnern müssen. Der Codename sollte keine Leerzeichen enthalten.
  • Zwischen den Anführungszeichen befindet sich das Etikett. Unsere 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 angibt, wie dieser Wert angezeigt wird oder was verwendet wird verwandeln. Die Beschriftung ist für die Schnittstelle und kann Leerzeichen enthalten.
  • Zwischen den spitzen Klammern steht der Name des Symbols. Alle verfügbaren Icons finden Sie in der OpenHAB-Freigabe unter dem Webapps/Bilder Verzeichnis. Es gibt tatsächlich eine ganze Reihe von Farbtonsymbolen, die unterschiedliche Helligkeiten oder Ein/Aus darstellen. Geben Sie einfach den Basis-Icon-Namen an – OpenHAB weiß, dass es automatisch nach den verschiedenen Ein-/Aus-Icons sucht, wenn es sich um ein umgeschaltetes Element handelt. Dies ist optional.
  • In den runden Klammern geben wir an, zu welchen Gruppen wir gehören sollen – in diesem Fall nur die Schlafzimmer Gruppe.
  • Schließlich und entscheidend verbinden wir das Element mit der entsprechenden Bindung mit allen benötigten Variablen. In diesem Fall ist die Farbton verbindlich, und die Nummer der Glühbirne ist 1. Sie können die Nummer finden, indem Sie die offizielle Hue-Anwendung öffnen und auf die Registerkarte 'Lichter' schauen. Jede Glühbirne hat eine einzigartige Nummer.

Ich habe insgesamt vier Glühbirnen hinzugefügt, sowie eine einfache Deklaration der Gruppen, auf die wir später eingehen werden. Hier ist mein komplettes home.items An diesem Punkt:

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'}

Die /* Beleuchtung */ 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 Oberfläche – natürlich, weil wir noch keine Oberflächenelemente in der Sitemap erstellt haben. Fangen wir erstmal ganz einfach an. Aufmachen home.sitemap .

Der Code, der zur Beschreibung der Benutzeroberfläche verwendet wird, unterscheidet sich von Elementen, aber jetzt erstellen wir einen neuen 'Rahmen' und fügen ein paar Gruppensteuerelemente zusammen mit einigen Symbolen hinzu.

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 Werkzeug für schnelle Tests, aber in Wirklichkeit möchten Sie mehr Kontrolle darüber haben, wie die Elemente angezeigt werden. Dies wird vorerst ausreichen. Speichern und laden Sie Ihre Home-Sitemap im Browser. Sie sollten dies sehen (oder alle Gruppen, die Sie hinzugefügt haben).

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

Beachten Sie, dass das Office Hue-Element mit einem anderen Symbol angezeigt wird – das liegt daran, dass mein Bürolicht bereits an ist und OpenHAB dies weiß, als es mit der Hue-Bridge sprach und schlau genug war, das Symbol an die 'an'-Version der Datei anzupassen. Leider spiegelt es nicht die Farbe wider, aber wenn Sie eine mobile App installiert haben, spiegelt diese die aktuelle Farbe wider.

Wenn Sie mehr Elemente sehen, als Sie gedacht hatten, oder Fehlermeldungen zu mehreren Definitionen erhalten, sollten Sie wissen, dass Sie zwar nur eine Sitemap gleichzeitig auf die Seite laden können alle Sitemaps ziehen Elemente aus allen .item-Dateien . Wenn Sie also die Demo-Elemente-Datei dort belassen haben, werden möglicherweise auch einige zusätzliche Elemente in Ihren Gruppen angezeigt. Ich würde an dieser Stelle vorschlagen, den Inhalt der Demo-Elemente zu sichern und aus dem Ordner zu verschieben, um Duplizierungsfehler zu vermeiden.

Fernzugriff und IFTTT mit My.OpenHAB

Im Moment müssen Sie sich im selben lokalen Netzwerk befinden, um auf Ihr OpenHAB-System zuzugreifen, aber was ist, wenn Sie Ihre Geräte steuern und Sensoren überprüfen möchten, wenn Sie sich außerhalb der Reichweite Ihres WLANs befinden? Dafür müssen wir den Remote-Zugriff einrichten - und das geht ganz einfach, mit dem My.OpenHAB-Webservice [Broken URL Removed], der das Herumspielen mit Portweiterleitung und Router-Konfigurationen umgeht. Als Bonus verfügt der My.OpenHAB-Dienst auch über einen IFTTT-Kanal, der Ihnen unendliche Möglichkeiten zur Fernsteuerung und Automatisierung bietet.

Zuerst: Installieren Sie die Bindung. Kurzer Tipp: Wenn Sie den genauen Namen eines bestimmten Installationspakets nicht kennen, versuchen Sie es mit apt-cache zu suchen.

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 -> statisch und Sie sollten eine UUID-Datei finden, die Ihre eindeutige Kennung enthält. An diesem Punkt entdeckte ich, dass mein Pi eine ältere Version von Java verwendet, die den geheimen Schlüssel nicht korrekt erstellt. Typ

java -version

überprüfen. Wenn nicht 1.7 oder höher angezeigt wird, haben Sie die falsche Version. Seltsamerweise wird in der neuesten Version von Raspbian Oracle Java 8 installiert, aber nicht als Standard festgelegt.

sudo update-alternatives --config java

So erstellen Sie eine ISO-Datei Windows 7

Wählen Sie die Option, die anzeigt jdk-8-orakel , dann OpenHAB neu starten. Bonus: Oracle Java 8 ist schneller als das standardmäßige OpenJDK!

Jetzt sollten Sie auch eine geheime Datei im Webapps/statisch Mappe. Öffnen Sie beide Geheimnis und uuid , und seien Sie bereit zum Kopieren und Einfügen.

Erstellen Sie nun mit diesen Angaben ein My.OpenHAB-Konto und kommen Sie dann zurück – Sie müssen auch Ihre E-Mail bestätigen, bevor alles funktioniert. Dazu sind noch ein paar Schritte erforderlich. Zuerst müssen wir die Standard-Persistenz-Engine auf myopenhab setzen (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-Dienst zu 'exportieren' und für IFTTT sichtbar zu machen). . Öffnen Sie dazu openhab.cfg und suchen Sie die Variable mit der Aufschrift Persistenz:Standard= und ändere es in Persistenz:default=myopenhab . Speichern.

Erstellen Sie zuletzt eine neue Datei im Konfigurationen/Persistenz Ordner namens myopenhab.persist , und fügen Sie die folgende Regel ein.

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

Sie müssen dies im Moment nicht verstehen, aber wissen Sie, dass es heißt 'jeden Artikelstatus speichern, wenn er sich ändert'.

Um eine Verbindung mit IFTTT herzustellen, gehen Sie zum OpenHAB-Kanal – Sie müssen sich authentifizieren und ihm Zugriff auf Ihr MyOpenHAB-Konto gewähren. Beachten Sie auch, dass Ihre Artikel erst nach mindestens einer Änderung in der Artikelliste auf IFTTT angezeigt werden. Wenn es also nicht sichtbar ist, schalten Sie etwas ein und aus und laden Sie es dann neu. Herzlichen Glückwunsch, Sie haben jetzt vollständigen IFTTT-Zugriff auf alles in Ihrem OpenHAB-System!

Bluetooth-Präsenzsensor mit REST

Vor kurzem habe ich euch gezeigt, wie man mittels Bluetooth-Scannen ein automatisches Türschloss baut, um die Anwesenheit des Benutzers zu erkennen – so etwas wollte ich in OpenHAB einbringen.

Auf jeder anderen Plattform als Raspberry Pi wäre dies dank einer vorgefertigten Bluetooth-Anbindung einfach; Leider funktioniert es nicht auf Pi aufgrund einer wichtigen 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, dass ich das versucht habe, 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 Erweiterbarkeit von OpenHAB dient: Wir passen unser vorheriges Python-Skript einfach so an, dass es direkt an die OpenHAB-RESTful-Schnittstelle berichtet.

Abgesehen davon: Eine RESTful-Schnittstelle bedeutet, dass Sie mit einem System über den integrierten Webserver interagieren können, indem Sie einfach URLs aufrufen und Daten übergeben oder abrufen. Sie können diese URL besuchen, um ein einfaches Beispiel dafür auf Ihrem eigenen Server zu sehen: http://raspberrypi.local:8080/rest/items – die eine codierte Liste aller Ihrer definierten Artikel ausgibt. Dies ist unglaublich mächtig, da es das volle Potenzial von OpenHAB enthüllt und es Ihnen ermöglicht, benutzerdefinierte Schnittstellen zu schreiben; oder umgekehrt verwendet, um den Status von Sensoren zu melden, ohne eine bestimmte 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 Schalter Artikel zu Ihrem home.items Datei. Ich habe meins 'JamesInOffice' genannt und es zu einem Schalter und nicht zu einem einfachen Ein- / Aus-Kontakt gemacht, damit ich meine Anwesenheit manuell steuern kann, falls mein Telefon ausfällt.

Switch JamesInOffice 'James in Office' (Office)

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

Stecken Sie als Nächstes einen kompatiblen USB-Bluetooth-Dongle ein und installieren Sie einige grundlegende Tools für die Interaktion damit.

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 aufgeführt ist, versuchen Sie es mit einem anderen Adapter, da Ihrer nicht mit Linux kompatibel ist. 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 Bluetooth-Einstellungsseite geöffnet ist (wodurch es in den Kopplungs-/Öffentlichkeitsmodus versetzt wird) und dass Bluetooth offensichtlich aktiviert ist. Sie sollten eine hexadezimale Hardwareadresse aufgelistet finden.

Erstellen Sie aus Ihrem Pi-Benutzer-Home-Verzeichnis ein neues Python-Skript und füge diesen Code ein .

Es gibt einige Dinge, die Sie bearbeiten müssen, beginnend mit Ihrer speziellen Geräteadresse:

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

Sowie die this-Zeile, die an zwei Stellen steht (ja, das könnte man wohl besser strukturieren). Ändern Sie JamesInOffice in den Codenamen des von Ihnen definierten Schalters.

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

Der letzte Schritt besteht darin, diesem Skript mitzuteilen, dass es beim Booten gestartet werden soll.

sudo nano /etc/rc.local

Scrollen Sie nach unten und fügen Sie kurz vor der Ausfahrt 0 die folgenden Zeilen hinzu:

python /home/pi/detect.py &

Das &-Zeichen bedeutet 'tun Sie dies im Hintergrund'. Fahren Sie fort und führen Sie das Skript aus, falls Sie dies noch nicht getan haben, und öffnen Sie Ihre OpenHAB-Schnittstelle. Wenn Sie es zu einer Gruppe hinzugefügt haben, klicken Sie sich durch zu dieser Gruppe. Die Aktualisierung dauert ungefähr 10 Sekunden, aber Sie sehen, dass das Standard-Glühbirnensymbol ein- oder ausgeschaltet wird, je nachdem, ob Ihr Telefon erkannt wird oder nicht. Überprüfen Sie die Protokolldatei, wenn nichts passiert. Möglicherweise haben Sie den falschen Artikelnamen verwendet.

OpenHAB-Mobile-App

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

Weiterkommen und Hilfe bekommen

Die Menge an Anpassungsmöglichkeiten und netten Funktionen, die Sie Ihrem OpenHAB-Controller hinzufügen können, ist wirklich episch. Neben der umfangreichen Liste unterstützter Geräte mit Bindungen können Sie die RESTful-Schnittstelle, HTTP-Erweiterungen und IFTTT verwenden, um buchstäblich jede Art von IoT-Gerät zu lesen oder zu steuern, und noch mehr (probieren Sie einige unserer kreativen Beleuchtungsideen). Ja, die Installation ist mühsam, aber kein einziges kommerzielles System kann an die Leistung eines angepassten OpenHAB-Systems heranreichen.

Allerdings war die Fahrt für mich gar nicht so einfach, und genau aus diesem Grund habe ich diesen Guide geschrieben, um Ihnen den Prozess zu erleichtern. Und wenn Sie das OpenHAB-System überwältigend finden, gibt es andere Möglichkeiten, wenn es um die Raspberry-Heimautomatisierung geht – wie zum Beispiel die Verwendung von Raspberry Pi, um Ihr Garagentor zu automatisieren.

Bleiben Sie dran, MakeUseOf für eine fortgeschrittene Anleitung, die Z-Wave und andere coole Tricks behandelt, 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 zu einer anderen Bindung oder zu fortgeschrittenen Themen benötigen, die wir noch nicht behandelt haben, können Sie die offizielle OpenHAB-Foren sind ein einladender Ort.

Teilen Teilen Tweet Email 5 Tipps zum Aufladen Ihrer VirtualBox-Linux-Maschinen

Haben Sie genug von der schlechten Leistung virtueller Maschinen? Hier ist, was Sie tun sollten, um Ihre VirtualBox-Leistung zu steigern.

Weiter lesen
Verwandte Themen
  • Heimwerken
  • Intelligentes Zuhause
  • Heimautomatisierung
  • Lange Form
  • Langform-Führer
  • Intelligente Hubs
Über den Autor James Bruce(707 veröffentlichte Artikel)

James hat einen BSc in Künstlicher Intelligenz und ist CompTIA A+ und Network+ zertifiziert. Wenn er nicht als Hardware-Review-Editor beschäftigt ist, genießt er LEGO, VR und Brettspiele. Bevor er zu MakeUseOf kam, war er Lichttechniker, Englischlehrer und Rechenzentrumsingenieur.

Mehr von James Bruce

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich zu abonnieren