Erste Schritte mit OpenHAB Home Automation auf Raspberry Pi

Erste Schritte mit OpenHAB Home Automation auf Raspberry Pi / Intelligentes Zuhause

OpenHAB ist eine ausgereifte Open-Source-Plattform für die Hausautomation, die auf einer Vielzahl von Hardware ausgeführt wird und protokollunabhängig ist. Das bedeutet, dass sie mit nahezu jeder Hausautomationshardware auf dem heutigen Markt verbunden werden kann. Wenn Sie mit der Anzahl herstellerspezifischer Apps, die Sie nur zur Steuerung Ihrer Leuchten einsetzen müssen, frustriert waren, dann habe ich großartige Neuigkeiten für Sie: OpenHAB ist die Lösung, nach der Sie gesucht haben - es ist das flexibelste intelligente Zuhause hub Welcher Smart Hub für Heimautomation ist für Sie am besten? Welcher Smart Hub für Heimautomation ist für Sie am besten? Für eine Weile hielten die Leute die Idee für nichts anderes als eine Spielerei, aber die jüngsten Produktversionen haben gezeigt, dass die intelligente Hausautomation ihren Versprechen entspricht. Lesen Sie mehr, was Sie jemals finden werden.

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

Leider ist dies in etwa so weit, wie Sie es von verbraucherfreundlichen Einrichtungen tun können - aber wie immer ist MakeUseOf hier genau das Richtige für Sie: Wir zeigen Ihnen, wie Sie mit dem ultimativen Smart-Home-System Geld verdienen können, das Sie nicht kaufen müssen (weil OpenHAB es ist) 100% kostenlos - liefern Sie einfach die Hardware).

Der erste Teil dieses Handbuchs befasst sich speziell mit der Einrichtung eines OpenHAB-Setups mit einem Raspberry Pi 2. Die Tutorials und Ratschläge können jedoch auch überall dort angewendet werden, wo OpenHAB installiert ist.

Dieses Handbuch behandelt drei einführende Themen und ein etwas fortgeschrittenes.

  • Installieren von OpenHAB auf dem Pi und Installieren der Demo House-Konfiguration, um zu überprüfen, ob Kernsysteme funktionieren.
  • Hinzufügen von Bindungen und Profilen für Geräte Ich werde mit Philips Hue arbeiten.
  • Aktivieren des Fernzugriffs und Verbinden mit IFTTT.
  • Hinzufügen eines DIY-Präsenzsensors über Bluetooth und Einführung in die REST-Schnittstelle.
  • Konfigurieren der OpenHAB Mobile App.

Was du brauchen wirst

Zumindest benötigen Sie einen Raspberry Pi (v2, vorzugsweise) und einen Ethernet- oder Wireless-Adapter (bevorzugt Ethernet). Dieses Handbuch enthält keine Anweisungen, damit Ihr Wi-Fi-Adapter funktioniert. Einrichten eines drahtlosen Netzwerks auf Ihrem Raspberry Pi Einrichten eines drahtlosen Netzwerks auf Ihrem Raspberry Pi Nahezu jedes Raspberry Pi-Projekt erfordert eine Netzwerkverbindung. Durch das Ignorieren des Ethernet-Anschlusses zugunsten eines drahtlosen USB-Dongles kann eine beträchtliche Flexibilität erreicht werden. Weitere Informationen). Alles andere ist optional. Beachten Sie, dass OpenHAB auch auf dem ursprünglichen Raspberry Pi ausgeführt werden kann. Es besteht jedoch ein bekanntes Problem mit langsamerer Verarbeitung und Z-Wave-Geräten. Wenn Sie Z-Wave nicht benötigen, können Sie diese Warnung ignorieren und mit einem Raspberry Pi-Modell B oder B + weitermachen, da alles andere gut zu funktionieren scheint. Sie können jederzeit auf den neuesten Pi aktualisieren, wenn Sie Z-Wave hinzufügen.

Diese kleine Sache kann der beste Smart Home Hub sein, den Sie jemals hatten!

Zum Zeitpunkt des Schreibens ist die neueste stabile Version von OpenHAB die 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 weitere Funktionen aufweisen. Version 2 ist derzeit auch als sehr frühe Alpha-Vorschau verfügbar, hat jedoch eine grundlegend andere Architektur als die OpenHAB 1-Serie: Dieses Handbuch ist nicht mit Version 2 kompatibel.

Ich empfehle Ihnen dringend, diesen Leitfaden langsam und methodisch durchzugehen - Versuchen Sie nicht, am tiefen Ende zu springen und alles auf einmal hinzuzufügen. Ja, es ist eine lange Anleitung - OpenHAB ist ein schwieriges System, das häufig an Ihre Bedürfnisse angepasst werden muss. Der beste Weg zum Erfolg ist, langsam zu arbeiten und Stück für Stück abzuschließen.

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

OpenHAB installieren

Es gibt kein vorkonfiguriertes Image für OpenHAB, daher erfolgt die Installation auf herkömmliche Weise über eine Befehlszeile. Ich schlage vor, Sie arbeiten mit dem RPi ohne Kopf - der Aufwand für die Verwaltung einer GUI, die Sie selten verwenden, ist es nicht wert.

Beginnen Sie mit dem neuesten (vollständigen) Raspbian-SD-Image (nicht dem “lite” Version, diese enthalten nicht die Java Virtual Machine). Schließen Sie Ihr Netzwerkkabel an, starten Sie das System und navigieren Sie durch SSH. Lauf:

sudo raspi-config

Erweitern Sie das Dateisystem. und ändern Sie im erweiterten Menü die Speicheraufteilung in 16. Wenn Sie fertig sind, starten Sie den Computer neu und führen Sie ein vollständiges Update durch

Sudo Apt-Get Update Sudo Apt-Get Upgrade

Die einfachere Installation der OpenHAB-Laufzeit erfolgt ü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-Laufzeit Sudo Update-rc.d openhab-Standardeinstellungen

Seltsamerweise wurde alles im Besitz von installiert “Wurzel”. 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 vereinfacht die Installation von Add-Ons und die Remote-Änderung der Sitemap.

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

Ändern Sie ggf. den Arbeitsgruppennamen, aktivieren Sie andernfalls die WINS-Unterstützung:

gewinnt support = ja

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

Fügen Sie dann im Abschnitt mit den Freigabedefinitionen Folgendes hinzu (bis ganz nach unten in die lange Datei blättern):

[OpenHAB Home] comment = OpenHAB-Home-Pfad = / usr / share / openhab browseable = Ja writeable = Ja Nur guest = Nein Erstellungsmaske = 0777 Verzeichnismaske = 0777 Public = Nein [OpenHAB Config] Kommentar = OpenHAB-Site-Konfigurationspfad = / etc / openhab browseable = Ja writeable = Ja nur guest = no create mask = 0777 Verzeichnismaske = 0777 public = no

Ich habe auch den Bereich Drucker auskommentiert. Ich habe zwei Freigaben gemacht, da die Konfigurationsdateien tatsächlich getrennt von 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 vorschlagen “Openhab” als Passwort nur für die Benutzerfreundlichkeit, aber es spielt keine Rolle.

Dank Leser David L - es scheint, dass sich die Methode des Neustarts von Samba im neuesten Raspian geändert hat. Hier ist die aktualisierte Anleitung:

sudo update-rc.d smbd aktivieren sudo update-rc.d nmbd aktivieren sudo-service smbd neu starten

Nach dem Neustart von Samba (ältere Installationen verwenden) Sudo-Dienst Samba neu starten), können Sie auf das freigegebene Laufwerk zugreifen. Es wird auf einem Mac möglicherweise nicht automatisch erkannt. aber du kannst das benutzen Finder -> Gehen -> Verbinden zum Server und die Adresse

smb: //[email protected]

Authentifizieren Sie sich mit dem Benutzernamen openhab und Ihrem gewählten Passwort und öffnen Sie dann beide Freigaben, um sich umzusehen. Sie sollten sogar in der Lage sein, http: //raspberrypi.local: 8080 / in Ihrem Webbrowser zu öffnen. Es wird jedoch ein Fehler angezeigt, da wir noch keine Sitemap erstellt haben. Das ist normal.

Jetzt ist es an der Zeit, den Befehl zu lernen, das OpenHAB-Protokoll zu beenden, um Fehler zu überwachen.

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

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

Installieren Sie das Demo House

Bevor wir uns mit den Feinheiten von Konfigurationsdateien befassen, Geräte und Bindungen hinzufügen, usw .; Lassen Sie uns überprüfen, ob alles funktioniert, indem Sie den Demo-Inhalt hinzufügen. Du wirst es finden “Demo-Setup” unter dem Downloadbereich von OpenHAB.org.

Nach dem Entpacken gibt es zwei Ordner: Addons und Konfigurationen.

Kopieren Sie die Netzwerkfreigaben Konfigurationen zum OpenHAB-Konfig den vorhandenen Ordner freigeben und überschreiben. Kopieren Addons zu den anderen OpenHAB-Startseite Freigeben, die vorhandenen Ordner wieder überschreiben. Wenn Sie nicht aufgefordert werden, etwas zu überschreiben, machen Sie es falsch. Wenn Sie die Debug-Protokolldatei im Auge behalten, sollten Sie ein Flattern der Aktivitäten sehen, da sie die neuen Bindungen und das Wirren in Aktion erkennt. Öffnen Sie raspberrypi.local: 8080 / openhab.app? Sitemap = Demo, um die Demo anzuzeigen.

Es ist ein wenig grundlegend für den Moment, aber die offene Natur von OpenHAB bedeutet, dass wir später ein schönes neues Thema oder eine alternative Benutzeroberfläche 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 Ihre Sensoren - nur die Benutzeroberfläche, um sie anzuzeigen. Jeder Teil davon ist vollständig anpassbar. Um zu sehen, wie diese erstellt wurde, öffnen Sie die sitemaps / demo.sitemap Datei auf der OpenHAB Config-Freigabe.

Es ist ziemlich beängstigend, aber meistens werden Sie Codefragmente aus anderen Quellen kopieren, um Ihre eigene Benutzeroberfläche zu erstellen. Hier ist der technische Überblick über alle möglichen Sitemap-Elemente, aber jetzt reicht es aus, nur darüber nachzudenken, welche Art von Schnittstelle Sie erstellen und welche Informationen Sie anzeigen möchten.

Während du dort bist, mach auf items / demo.items auch. Wieder sieht es beängstigend aus, aber hier erstellen Sie Elemente zur Steuerung und zum Definieren der zu verfolgenden Sensoren.

Wie funktioniert OpenHAB??

Nachdem Sie nun den Sitemap- und den Artikelordner schnell durchgelesen haben, lassen Sie uns genau erklären, was diese Dateien sind, und die anderen Hauptkomponenten von OpenHAB, die Ihr gesamtes Smart Home zusammenstellen. Im freigegebenen OpenHAB Config-Ordner finden Sie für jedes dieser Verzeichnisse Unterverzeichnisse.

Artikel ist ein Inventar jedes Steuergeräts, Sensors oder Informationselements, das Sie in Ihrem System wünschen. Es muss sich auch nicht um ein physisches Gerät handeln - Sie definieren möglicherweise eine Webquelle wie Wetter oder Aktienkurse. Jedes Element kann benannt, mehreren Gruppen (oder keiner) zugewiesen und mit einer bestimmten Bindung verbunden werden. (Einsteigertipp: Kapitalisierung ist wichtig, wenn es um Bindungen geht.) Ich habe lange versucht, herauszufinden, warum meine “Farbton” Glühbirnen funktionierten nicht; es war, weil sie hätten sein sollen “Farbton” stattdessen).

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 angeordnet und Informationen angezeigt werden sollen. Sie können für jeden Raum Ihres Hauses Top-Level-Gruppen definieren. Wenn Sie auf jedes Gerät klicken, wird eine Liste aller Geräte in diesem Raum angezeigt. Oder Sie möchten lieber Gruppen für jeden Gerätetyp anzeigen: eine Taste für die Beleuchtung, eine andere für Steckdosen. Möglicherweise verwenden Sie einige Geräte so oft, dass Sie direkt auf dem Startbildschirm einen Schalter dafür benötigen.

Regeln Hier kommt der Aspekt der Hausautomation ins Spiel, in dem Sie Zeitpläne oder Bedingungen definieren können, unter denen eine Aktion ausgeführt werden soll. Einfache Ereignisse wie das Einschalten der Schlafzimmerbeleuchtung um 22 Uhr in warmem Rot; oder eine komplexere Logik wie das Einschalten einer Raumheizung, wenn die Temperatur unter 0 liegt und sich jemand in diesem Raum befindet. Sie finden auch eine Skripte Ordner, der eine ähnliche Funktionalität 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 die Persistenz definiert Daten, über die Sie eine Aufzeichnung führen möchten. Standardmäßig zeigt OpenHAB nur den aktuellen Status von etwas. Wenn Sie diesen Wert über einen längeren Zeitraum verfolgen möchten, müssen Sie eine Persistenzdefinition für diese Datenquelle einrichten. Hier legen Sie Dinge fest, wie oft ein Datenpunkt gemessen werden soll oder wann alte Datenpunkte verworfen werden sollen. Außerdem müssen Sie angeben, welche Art von Persistenz-Engine verwendet werden soll, z. B. MySQL oder die einfache Protokollierung in einer Datei.

Verwandeln enthält Zuordnungen für Datenwerte zu Labels. Zum Beispiel die humidex.scale Datei definiert einen Bereich von Feuchtigkeitsindexwerten und wie diese auf Englisch angezeigt werden sollen: 29-38 ist “etwas Unbehagen”.

Das Seitenverzeichnis und Artikel Dateien sind für die Ausführung von OpenHAB unerlässlich. Der Rest ist optional. Sie können über mehrere Sitemaps und Elemente verfügen, sodass Sie den Demo-Inhalt jederzeit behalten und jederzeit darauf zurückgreifen können oder ein neues Layout für Ihre Heimsteuerungsschnittstelle ausprobieren können. Machen Sie sich keine Sorgen, wenn dies alles jetzt etwas überwältigend erscheint. Wir teilen es in überschaubare Teile auf. Ich verspreche Ihnen, dass Sie am Ende dieses Handbuchs sicher sein können, Ihr eigenes OpenHAB-Setup zu erstellen.

Als Nächstes führen wir Sie durch, indem Sie ein allgemeines Smart Home-Kit hinzufügen, und zwar von Grund auf in einer neuen Sitemap. In jedem Abschnitt werden einige grundlegende Konzepte wie das Installieren von Bindungen und Elementdefinitionen vorgestellt. Ich empfehle Ihnen dringend, diese Anweisungen durchzulesen Auch wenn Sie diese Geräte nicht besitzen.

Beginnen Sie mit dem Erstellen eines neuen (leeren) home.items Datei und eine neue home.sitemap Datei in den entsprechenden Verzeichnissen. Aufmachen home.sitemap und fügen Sie den folgenden Code ein. Dies dient nur als grundlegendes Skelett, zu dem wir später Bits hinzufügen werden.

sitemap home label = "Mein Zuhause"  

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

Aktivieren Sie den Debug-Modus

Während Sie immer noch versuchen, OpenHAB richtig zum Laufen zu bringen, kann es nützlich sein, ein ausführlicheres Debug-Protokoll zu aktivieren, das alles und nicht nur das Wichtige auflistet. Um diesen Modus zu aktivieren, öffnen Sie den freigegebenen Ordner OpenHAB Config und bearbeiten Sie den Ordner logback.xml. Ändern Sie in Zeile 40 die folgende Zeile, um DEBUG anstelle von INFO zu lesen. Nach dem Ändern müssen Sie neu starten.

Dies ist eine globale Änderung. Sie erhalten also viel mehr Informationen, wenn Sie die Protokolldatei abschließen.

Hinzufügen von Philips Hue

Ich fange mit Philips Hue an. Wie die meisten Dinge, mit denen Sie in OpenHAB interagieren möchten, benötigen Hue-Lampen die Installation einer Bindung - Stellen Sie sich Bindungen wie einen Gerätetreiber vor. Zum Zeitpunkt des Schreibens stehen rund 160 Bindungen für OpenHAB 1 zur Verfügung. Aus diesem Grund ist OpenHAB ein so leistungsfähiges System - es kann mit allem zusammenarbeiten und alle unterschiedlichen Steuerungssysteme in einer einzigen einheitlichen Schnittstelle kombinieren. Hier ist eine Demo und ein kurzer Überblick über die Schritte.

Bindungen müssen zuerst heruntergeladen werden, und der einfachste Weg, dies auf dem Pi zu tun, ist die Verwendung von apt-get, Erzwingen Sie dann den Besitz des openhab-Benutzers.

sudo apt-get installieren 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 die erforderlichen Variablen zu konfigurieren. Navigieren Sie zum Konfigurationsordner und erstellen Sie eine Kopie davon openhab-default.cfg, es benennen openhab.cfg. Mach das auf, 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 dies noch nicht wissen, probieren Sie das Online-Discovery-Tool aus. Der geheime Wert spielt keine Rolle, es ist nur eine Art Benutzername, den OpenHAB verwenden wird, um sich an der Bridge zu identifizieren.

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

############################## HUE-Bindung ################ ##########################
# IP des Hue-Bridge-Farbtons: 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 an der Vorderseite genehmigen. Sie müssen dies nur einmal tun. Sie sehen eine Nachricht über Warten darauf, gepaart zu werden Wenn Sie die Protokolldatei abschließen, den Countdown jedoch vergessen oder vergessen haben, setzen Sie einfach den Pi zurück. Sie erhalten einen 100-Sekunden-Timer ab dem Beginn der Farbtonbindung. 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-Lampen hinzufügen. Hier ist ein Beispiel für eine Elementdefinition:

Farbe Bedroom_Hue "Bedroom Hue"  (Schlafzimmer) hue = "1"
  • Das Farbe word gibt an, welche Art von Kontrolle wir über diesen Artikel haben. RGB-Farbtonbirnen sind “Farbe”, da haben wir volle Farbkontrolle über sie. Andere Lichter können nur ein Schalter sein.
  • Als nächstes ist der Codename des Artikels: Ich habe gewählt Bedroom_Hue, Aber wörtlich 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. Unseres ist in diesem Fall einfach, aber für einige Elemente wie Temperatur oder etwas, das einen Wert meldet, fügen Sie speziellen Code hinzu, der angibt, wie dieser Wert angezeigt oder was verwendet werden soll verwandeln. Die Beschriftung 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 unter der Webapps / Bilder Verzeichnis. Es gibt tatsächlich eine ganze Reihe von Farbtonsymbolen, die unterschiedliche Helligkeiten oder Ein / 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 wird angegeben, zu welchen Gruppen ein Teil gehören soll - in diesem Fall nur die Gruppe Schlafzimmer Gruppe.
  • Schließlich und entscheidend verbinden wir das Element mit den erforderlichen Variablen mit der entsprechenden Bindung. In diesem Fall ist die Farbton verbindlich, und die Nummer der Glühlampe ist 1. Sie können die Nummer finden, indem Sie die offizielle Hue-Anwendung öffnen und die Registerkarte "Lichter" betrachten. Jede Birne hat eine eindeutige Nummer.

Ich habe insgesamt vier Glühbirnen hinzugefügt sowie eine einfache Erklärung der Gruppen, die wir später erweitern werden. Hier ist meine komplette home.items An diesem Punkt:

Gruppenschlafzimmer Gruppenbüro Gruppe Kai Group Living_Room Gruppenkino Gruppengeheimnis
Gruppenlichter
/ * Lights * / Color Bedroom_Hue "Schlafzimmerfarbton"  (Schlafzimmer, Lichter) hue = "1" Farbe Office_Hue "Office Hue"  (Office, Lights) hue = "2" Farbe Secret_Hue "Secret Hue"  (Secret, Lights) hue = "3" Farbe Kai_Hue "Kai's Hue"  (Kai, Lights) hue = "4"

Das /* Beleuchtung */ Text ist nur ein Kommentar, er hat keine andere Funktion als die Überprüfung der Datei, 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 Oberflächenelemente in der Sitemap erstellt haben. Fangen wir jetzt ganz einfach an. Aufmachen home.sitemap.

Der Code, der zur Beschreibung der Schnittstelle verwendet wird, unterscheidet sich von Elementen, aber für jetzt erstellen wir einen neuen “Rahmen” und fügen Sie ein paar Gruppensteuerelemente zusammen mit einigen Symbolen hinzu.

sitemap home label = "Mein Zuhause" Frame Group item = Lights label = "Alle Leuchten" icon = "hue" Gruppenelement = Schlafzimmeretikett = "Schlafzimmer" icon = "Schlafzimmer" Gruppenartikel = Büroetikett = "Büro" -Symbol = "Schreibtisch"

Gruppen sind ein nützliches Werkzeug für schnelle Tests. In Wirklichkeit sollten Sie jedoch mehr Kontrolle darüber haben, wie die Elemente angezeigt werden. Für den Moment reicht das aus. Speichern und laden Sie Ihre Home-Sitemap im Browser. Sie sollten dies sehen (oder welche Gruppen Sie hinzugefügt haben).

Klicke auf Alle Beleuchtung jedes Hue-Licht zu sehen, da wir sie alle als zu dieser übergeordneten Leuchtengruppe gehörig definiert haben.

Beachten Sie, dass das Office-Farbton-Element mit einem anderen Symbol angezeigt wird. Dies liegt daran, dass meine Bürolampe bereits eingeschaltet ist. OpenHAB weiß dies, wenn es mit der Hue-Brücke sprach, und war schlau genug, das Symbol anzupassen “auf” Version der Datei. Leider spiegelt es nicht die Farbe wider, aber wenn Sie eine mobile App installiert haben, spiegelt dies die aktuelle Farbe wider.

Wenn Sie mehr Elemente sehen, als Sie gedacht haben, oder wenn Sie Fehler in Bezug auf mehrere Definitionen erhalten, sollten Sie wissen, dass Sie jeweils nur eine Sitemap auf die Seite laden können Alle Sitemaps ziehen Elemente aus allen .item-Dateien, Wenn Sie also die Datei mit den Demo-Objekten dort gelassen 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 Doppelfehler zu vermeiden.

Fernzugriff und IFTTT mit My.OpenHAB

Im Moment müssen Sie sich im selben lokalen Netzwerk befinden, um auf Ihr OpenHAB-System zugreifen zu können. Was aber, wenn Sie Ihre Geräte steuern und die Sensoren überprüfen möchten, wenn Sie sich außerhalb des WLAN-Bereichs befinden? Dafür müssen wir den Fernzugriff einrichten - und zwar ganz einfach mit dem My.OpenHAB-Webdienst, der die Möglichkeit der Portweiterleitung und der Routerkonfigurationen umgeht. Als Bonus verfügt der My.OpenHAB-Dienst auch über einen IFTTT-Kanal, der Ihnen unendlich viele Möglichkeiten für die Fernsteuerung und Automatisierung bietet.

Installieren Sie zuerst die Bindung. Schneller Tipp: Wenn Sie den genauen Namen eines bestimmten Installationspakets nicht kennen, suchen Sie es mit apt-cache.

sudo apt-get installieren 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 suchen, die Ihre Installation eindeutig identifiziert. Überprüfen Sie unter der OpenHAB Home-Freigabe -> 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 Java-Version verwendete, die den geheimen Schlüssel nicht richtig erstellt. Art

Java-Version

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

Sudo Update-Alternativen --config Java

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

Nun sollten Sie auch eine geheime Datei in der Webapps / statisch Mappe. Öffnen Sie beide Geheimnis und uuid, und bereit sein zu kopieren einfügen.

Nun erstellen Sie ein My.OpenHAB-Konto und verwenden Sie diese Informationen. Dann kehren Sie zurück. Sie müssen Ihre E-Mail-Adresse außerdem bestätigen, bevor etwas funktioniert. Es gibt noch ein paar Schritte zu diesem. 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 “Export” unsere Daten zum Onlinedienst und machen sie für IFTTT sichtbar). Öffnen Sie dazu openhab.cfg und suchen Sie die Variable, die besagt Persistenz: default = und ändern Sie es in Persistenz: default = myopenhab. sparen.

Zuletzt erstellen Sie eine neue Datei in der Konfigurationen / Persistenz Ordner genannt myopenhab.persist, und fügen Sie in der folgenden Regel ein.

Strategien default = everyChange Elemente *: strategy = everyChange 

Sie müssen dies vorerst nicht verstehen, wissen aber, dass es sagt “Speichern Sie jeden Artikelstatus, wenn er geändert wird”.

Um sich mit IFTTT zu verbinden, gehen Sie zum OpenHAB-Kanal - Sie müssen sich authentifizieren und Zugriff auf Ihr MyOpenHAB-Konto gewähren. Beachten Sie außerdem, dass Ihre Artikel nicht mindestens einmal in der Elementliste auf IFTTT geändert werden. Wenn sie nicht sichtbar sind, schalten Sie etwas ein und aus, und laden Sie sie anschließend 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 Ihnen gezeigt, wie Sie eine automatische Bürotürsperre mithilfe von Bluetooth herstellen. Eine automatisch verriegelnde Bürotür mit einem Smartphone-Annäherungssensor erstellen Eine selbstverriegelnde Bürotür mit einem Smartphone-Annäherungssensor erstellen Wir richten einen Raspberry Pi mit ein Bluetooth-Adapter, der darauf achten soll, wenn sich das Smartphone außerhalb der Reichweite befindet, und ein Relais einschalten, um die Tür zu verriegeln. Lesen Sie mehr Scannen, um die Anwesenheit des Benutzers zu erkennen - ich wollte so etwas in OpenHAB einbringen.

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

Nebenbei: Eine RESTful-Schnittstelle bedeutet, dass Sie mit einem eingebauten Webserver mit einem System interagieren können, indem Sie einfach URLs aufrufen und Daten übergeben oder abrufen. Sie können diese URL besuchen, um ein einfaches Beispiel auf Ihrem eigenen Server zu sehen: http: //raspberrypi.local: 8080 / rest / items - gibt eine codierte Liste aller definierten Elemente aus. Dies ist unglaublich leistungsfähig, da es das volle Potenzial von OpenHAB aufdeckt und Ihnen ermöglicht, benutzerdefinierte Schnittstellen zu schreiben. oder in verwendetem Reverse, um den Status von Sensoren ohne spezifische Bindung zu melden. 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 meine angerufen “JamesInOffice”, und ich habe es eher zu einem Schalter als zu einem einfachen Ein / Aus-Kontakt gemacht, so dass ich meine Anwesenheit manuell steuern kann, falls mein Telefon stirbt.

JamesInOffice "James in Office" (Büro) wechseln

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

Stecken Sie anschließend einen kompatiblen USB-Bluetooth-Dongle ein und installieren Sie einige grundlegende Tools für die Interaktion.

sudo apt-get install bluez python-bluez python-pip Sudo pip Installationsanforderungen hcitool dev

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

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

Vergewissern Sie sich, dass Ihr Telefon auf der Bluetooth-Einstellungsseite geöffnet ist (wodurch sich der Pairing-Modus im öffentlichen Modus befindet). Offensichtlich ist Bluetooth aktiviert. Sie sollten eine hexadezimale Hardwareadresse auflisten.

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 jeweiligen Geräteadresse:

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

Ebenso wie diese Zeile, die an zwei Stellen liegt (ja, dies könnte wahrscheinlich besser strukturiert sein). Ändern Sie JamesInOffice in den Codenamen des von Ihnen definierten Switches.

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

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

sudo nano /etc/rc.local

Führen Sie einen Bildlauf nach unten durch und fügen Sie kurz vor dem Exit 0 die folgenden Zeilen hinzu:

python /home/pi/detect.py &

Das Zeichen & bedeutet “tun Sie dies im Hintergrund”. Führen Sie das Skript aus, falls noch nicht geschehen, und öffnen Sie die OpenHAB-Benutzeroberfläche. Wenn Sie es zu einer Gruppe hinzugefügt haben, klicken Sie zu dieser Gruppe. Die Aktualisierung dauert etwa 10 Sekunden. Je nach Erkennungszeitpunkt des Telefons wird das Standard-Glühbirnen-Symbol ein- oder ausgeschaltet. Überprüfen Sie die Protokolldatei, wenn nichts passiert. Möglicherweise haben Sie den falschen Elementnamen verwendet.

OpenHAB Mobile App

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

Vorankommen und Hilfe erhalten

Die Menge an Anpassungen und ordentlichen Funktionen, die Sie Ihrem OpenHAB-Controller hinzufügen können, ist wirklich episch. Neben der umfangreichen Liste der unterstützten Geräte mit Bindungen können Sie mit der RESTful-Schnittstelle, den HTTP-Erweiterungen und IFTTT alle Arten von IoT-Geräten lesen und steuern, und dann einige (einige unserer kreativen Beleuchtungsideen. 7 Kreative Verwendung für farbige LED-Hausautomationsbeleuchtung 7 Kreative Verwendung für farbige LED-Hausautomationsbeleuchtung Das automatische Einschalten der Beleuchtung ist zwar cool, nutzt jedoch nicht das gesamte Spektrum an Farben, die mit RGB-Beleuchtung verfügbar sind. Dazu müssen wir kreativ werden . Weiterlesen ). Ja, es ist ein absoluter Aufwand zu installieren, aber kein kommerzielles System kann der Leistungsfähigkeit eines benutzerdefinierten OpenHAB-Systems nahe kommen.

Allerdings war die Fahrt für mich nicht einfach, weshalb ich diesen Leitfaden geschrieben habe, um Ihnen den Prozess zu erleichtern. Und wenn Sie das OpenHAB-System als überwältigend empfinden, gibt es andere Möglichkeiten, wenn Sie mit Raspberry Home Automation wie mit Raspberry Pi zur Automatisierung Ihres Garagentors kommen möchten. So automatisieren Sie Ihr Garagentor mit IFTTT und Raspberry Pi Raspberry Pi In diesem Tutorial zeigen wir Ihnen, wie Sie Ihr Garagentor mit nichts weiter als einem Raspberry Pi und einem IFTTT automatisieren. Lesen Sie mehr zum Beispiel.

Bleiben Sie mit MakeUseOf auf dem Laufenden. Dort finden Sie eine erweiterte Anleitung, die sich mit Z-Wave und anderen coolen Tricks befasst, 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 bei anderen verbindlichen oder fortgeschrittenen Themen wünschen, die wir noch nicht behandelt haben, sind die offiziellen OpenHAB-Foren ein einladender Ort.

Erfahren Sie mehr über: Home Automation, Longform Guide, Smart Hubs.