Visual Studio als Code-Editor für openHAB

Mit dem Update 2.2.0 von openHAB ist es jetzt auch möglich Visual Studio anstatt dem Eclipse SmartHome Designer zu verwenden.

Es muss mindestens openHAB 2.2.0 (Build #1065) verwendet werden, da mit dieser Version erst das Language Server Protocol (LSP) implementiert wurde. Aus meiner Sicht der wichtigste Vorteil ist jetzt ein besserer Syntax-Check des generierten Codes.

Bei onesmarthome.de habe ich dazu eine gute Einführung gefunden.

Installation und Basis-Konfiguration

  • Installation von Microsoft direkt starten (64 Bit User Installer verwendet)
  • Die Installation wird mit den Standard-Parametern durchgeführt
  • Visual Studio Code wird gestartet
  • Danach kann man direkt im Willkommens-Bildschirm noch das Deutsche Sprachpaket aktivieren
  • Nun wird die openHAB Extension installiert:
    • Extensions – openHAB eingeben und mit Install bestätigen
  • VS neu starten
  • Über „Open Folder“ wird der Pfad zum conf-Verzeichnis angegeben
  • IP-Adresse des openHAB-Rechners anpassen:
    • Zahnrad – Einstellungen – openHAB Configuration – openhab.host anpassen (wenn Ihr eine andere IP / Namen habt)

Fazit

Nun könnt Ihr anstatt dem Eclipse SmartHome Designer auch Visual Studio Code für die Anpassungen in openHAB verwenden. Momentan habe ich keine größeren „Customizings“ – ich werde dann im Laufe der Zeit dazu etwas schreiben.

Anpassungen nach Aktualisierung auf openHAB 2.3

Nachdem der erste Funktionscheck nach dem openHAB 2.3 Update durchgeführt wurde, musste noch alle Änderungen in den jeweiligen Release Notes (2.1.0, 2.2.0, 2.3.0) kontrolliert werden.

Folgende Anpassungen wurden vorgenommen:

  • In der PaperUI under Add-ons / Bindings das KNX Binding 2.x deinstallieren (ich nutze das KNX 1.x weiter, bis ich etwas Zeit für die Migration finde – beide dürfen nicht parallel installiert sein)
  • Aus dem Update 2.1.0 müssen die Group-Items von „Group MyLights“ auf „Group:Switch MyLights“ angepasst werden
  • Außerdem muss beim Update 2.1.0 das „Astro Binding“ ggf. angepasst werden (altitude wandert jetzt als Parameter in die geolocation)
  • Sprachsteuerung per Alexa war nicht funktionsfähig (im Update 2.2.0 müssen die Geräte gelöscht und neu in der Alexa-App gesucht werden)
  • Außerdem mußten beim Update 2.2.0 die Regeln und das Inbox auto-approval kontrolliert werden
  • Im Update 2.3.0 war nur eine Aktualisierung der Charts und des AVM Fritz Bindings für Powerline notwendig (diese beiden Komponenten habe ich nicht verwendet)

Nach den Anpassungen und weiteren Funktionstests läuft die Installation wieder „rund“ und es kann nun mit der Einrichtung der neuen Funktionen begonnen werden.

Aktualisierung openHAB 2.0 auf 2.3

Die Datensicherung vor der Aktualisierung unserer Haussteuerung openHAB habe ich im vorherigen Artikel schon einmal kurz beschrieben. Eine Aktualisierung von Version 2.0 auf 2.3 sollte eigentlich ganz einfach sein (leider hat in meinem Fall die Ausnahme wieder die Regel bestätigt).

Versionshistorie

Ablauf Update

Diese Aktualisierung sollte direkt von Version 2.0 auf 2.3 aktualisieren:

  • wget -qO – ‚https://bintray.com/user/downloadSubjectPublicKey?username=openhab‘ | sudo apt-key add –
  • sudo apt-get install apt-transport-https
  • sudo vi /etc/apt/sources.list.d/openhab2.list | echo ‚deb https://dl.bintray.com/openhab/apt-repo2 stable main‘
  • sudo apt-get update
  • sudo apt-get upgrade

Leider war nach dem Update (das lief ca. 30 Minuten) die Software noch auf dem Stand 2.0.

Nach ein paar Recherchen habe ich gesehen, dass ich ursprünglich das Paket „openhab2-offline“ installiert hatte (das war die damalige Empfehlung). Dieses Paket gibt es aber aktuell nicht mehr.

Ich habe damit die Installation noch einmal wie folgt gestartet:

  • sudo apt-get install openhab2

Damit wird das vorhandene Paket „openhab2-offline“ deinstalliert und durch das neue Paket ersetzt.

Am Ende habe ich noch einen Neustart mit „sudo shutdown -r now“ vorgenommen und die Log-Dateien auf Fehler kontrolliert.

 

Backup einer openHAB 2.x Installation erstellen

Meine Haussteuerung basiert momentan auf openHAB 2.0.0 und wurde schon seit Anfang 2017 nicht mehr aktualisiert. Für ein Update war dann im Urlaub doch etwas Zeit da. Ich beschreibe das Update nach meiner Installation. Wenn Ihr Fragen habt, könnt Ihr euch auch gerne bei mir melden!

Es gibt bei openHAB bereits drei neue Major-Releases. Aber wie vor jedem Update soll erst einmal ein Backup erstellt werden. Auf dieser Seite findet Ihr Informationen wie Ihr am besten einen RaspberyPi sichert.

Ich habe das Vorgehen für mich wie folgt umgesetzt:

  • Win32 Disk Imager auf einem Windows 10 PC installiert
  • Raspberry Pi per „sudo shutdown -h now“ herunterfahren
  • Stromzufuhr entfernen
  • SD-Karte aus dem RaspberryPi in den Rechner mit Kartenleser einlegen
  • Win32 Disk Imager öffnen und den Speicherort der img-Datei auswählen
  • Mit „Lesen“ den Sicherungsvorgang starten (hat bei 16 GB ca. 5 Minuten benötigt)

Damit hatte ich schon einmal eine komplette Sicherung der SD-Karte.

Danach habe ich noch das conf- und das userdata-Verzeichnis manuell einmal gesichert (damit ich auch eine lesbare Kopie meiner Konfigurationsdateien habe).

Damit habe ich für die folgenden Updates schon einmal ein besseres Gefühl …

Weitere HomeMatic-Lichtschalter in unserem Haus – jetzt kommt die Präsenzmeldung :-)

Ich habe heute den letzten „konventionellen“ Lichtschalter bei uns im Haus (in der Speis) getauscht (ich glaube den Austausch im Keller stelle ich erst einmal wegen zu geringer Mehrwerte zurück). Langsam kommt in den Tausch der Lichtschalter etwas Routine rein. Ich hatte ja hier schon einmal das allgemeine Vorgehen beschrieben 🙂

Die Integration in OpenHAB und in die Alexa-Sprachsteuerung klappt mittlerweile sehr gut und schnell (wobei für mich immer der „handwerkliche“ Aufwand beim Austausch des Schalters der größere Aufwand ist).

Da jetzt alle Steckdosen und Lichtschalter per Regeln und App geschalten werden können, kann jetzt der nächste Schritt angegangen werden.

Ich möchte jetzt abhängig von der Präsenz von Personen im Haus alle Verbraucher deaktivieren können. Mein erster Ansatz war über die Mac-Adresse / IP-Adresse der Smartphones im WLAN die Präsenz im Haus zu steuern d.h. wenn keines der drei Smartphones (damit Bewohner) im WLAN ist, können automatisch alle Lichter im Haus per Regel deaktiviert werden.

Wie regelt Ihr bei euch die Präsenzmeldung? Meint Ihr die Steuerung über die Smartphones reicht aus?

Heise Developer Podcast zur Softwarearichtektur von OpenHAB und Eclipse SmartHome

Wenn jemand Interesse an ein paar Details zur Softwarearchitektur, der Historie und der Zukunft von OpenHAB hat, dann sollte er sich diesen ct-Webcast anhören (dauert ca. 1 Stunde).

Planung Update OpenHAB 2.0 auf den aktuellen Stand

Für die Haussteuerung verwende ich bei uns das OpenSource-System OpenHAB.

Momentan verwende ich die Version 2.0.0 (das ist ein schon etwas älterer Stand vom Januar 2017).

Im Juni 2017 ist dann die Version 2.1.0 erschienen. Und im Dezember 2017 wurde die Version 2.2.0 veröffentlicht.

Da ein Update des Systems doch immer etwas Testaufwand nach sich zieht und das System ja immer verfügbar sein muss (nein, ich habe hier privat keine Testumgebung) habe ich das Update noch nicht durchgeführt.

Ich würde das Update in zwei Schritten installieren und testen. Bei Version 2.1 waren größere Änderungen in den Group-Items und bei 2.2 könnte sich ggf. etwas an den Regeln geändert haben.

Habt Ihr schon ein Update von einer 2.0 auf eine 2.2 durchgeführt? Was sind eure Erfahrungen? Rechtfertigen die neuen Funktionen und Vereinfachungen ein Update (oder lieber doch noch etwas abwarten)?

Integration HomeMatic-Lichtschalter in openHAB

Im vorherigen Artikel habe ich schon einmal kurz meine Idee für den Austausch von ein paar konventionellen Lichtschaltern gegen HomeMatic-Schalter beschrieben.

Jetzt haben ein Bekannter und ich den ersten Schalter bei uns im Haus getauscht. Der N-Leiter war da, damit war der technische Tausch kein Problem.

Ich hatte für den ersten Test einen HomeMatic (HM-LC-Sw1PBU-FM) und die zugehörigen Jung-Adapterset gekauft. Das Adapterset ist abhängig von den Schaltern indem das HomeMatic-Gerät integriert werden soll.

Das Ergebnis sieht wie folgt aus und war sehr schnell umgesetzt:

Verkabelung

Wie der Schalter verkabelt wird kann man sehr gut in der Anleitung erkennen.

Zwei Punkte waren hier wichtig:

  • Wir mussten den Eingang 2 verwenden (ansonsten war der Status An / Aus vertauscht) – das war so in der Anleitung nicht ersichtlich
  • Ich habe den Schalter „auf Kopf“ eingebaut, damit man beim Drücken nach Unten einschalten und beim Drücken nach Oben ausschaltet

HomeMatic

In die HomeMatic-Bridge (CCU2) ist der Schalter wie bei allen Endgeräten recht schnell integriert.

Man wechselt auf die Weboberfläche und wechselt dort auf „Geräte anlernen“ und wählt dann „HM Geräte anlernen“ aus. Damit ist der Anlernmodus aktiv. Danach muss man den Config-Modus am Schalter mit einem spitzen Gegenstand aktivieren. Kurz danach hat man den gewünschten Schalter im Posteingang der CCU2.

Jetzt noch einen kurzen Funktionstest durchführen und optional gewünschte Einstellungen vornehmen. Bei mir sind das die folgenden Parameter:

  • „Protokolliert“ für das Gerät aktivieren
  • Benennung des Schalters und des Schaltaktors entsprechend der gewünschten Konventionen anpassen
  • Seriennummer des Endgeräts notieren

OpenHAB

Für die Integration in meine zentrale Haussteuerung muss man in der OpenHAB-Weboberfläche das PaperUI auswählen.

Danach bekommt man in der Inbox auch schon das neue HomeMatic-Item angezeigt und muss es nur bestätigen (Add as thing).

Da ich die manuelle Konfiguration aktiviert habe, muss ich nun in meiner Item-Datei folgende Konfiguration einfügen:

Switch hmLicht_EG_WC_LOWBAT "Licht EG - WC (HM-LC-Sw1PBU-FM) - Low Battery" (gEG_WC) {channel="homematic:HM-LC-Sw1PBU-FM:ccu:SERIENNUMMER:0#LOWBAT"}
Switch hmLicht_EG_WC_SIGNAL "Licht EG - WC (HM-LC-Sw1PBU-FM) - Signal Strength" (gEG_WC) {channel="homematic:HM-LC-Sw1PBU-FM:ccu:SERIENNUMMER:0#RSSI_DEVICE"}
Switch hmLicht_EG_WC_STATE "Licht WC" (gEG_WC, gLicht, gLicht_EG) [ "Lighting" ] {channel="homematic:HM-LC-Sw1PBU-FM:ccu:SERIENNUMMER:1#STATE"}

Die SERIENNUMMER im Beispiel muss gegen die richtige Nummer ersetzt werden. Der Switch muss dann noch an die eigenen Bedürfnisse angepasst werden.

Danach kann über die BasicUI ein Funktionstest durchgeführt werden. Als letzter Schritt kann man dann noch das neue Gerät in seine Sitemap zur besseren Visualisierung aufnehmen (danach empfiehlt sich ein Neustart des OpenHAB-Dienstes).

Nun ist im Web-Client und der Smartphone-App die Funktion komplett verfügbar.

Alexa

Natürlich soll das Gerät auch per Sprachsteuerung durch Amazon Alexa bedient werden können.

Dazu muss man einfach kurz die Alexa-App starten und unter „Smart Home“ die neuen „Geräte hinzufügen“. Nach ein paar Sekunden ist dann auch die Sprachsteuerung aktiviert.

Fazit

Mit den HomeMatic-Schaltern ist es sehr schnell möglich einen konventionellen Schalter gegen einen „intelligenten“ Schalter auszutauschen. Der Zeitaufwand hält sich in Grenzen und die Integration in OpenHAB oder Amazon Alexa sind nur optional notwendig.

Wichtig war nur bei der Verkabelung die „2“ zu verwenden, damit der Status richtig visualisiert wird und der richtige Einbau des Schalters.

Austausch konventionelle gegen intelligente Lichtschalter

Wir haben bei uns im Haus neben den KNW / EIB Lichtschaltern noch ein paar konventionelle Schalter z.B. Speis, Gäste-WC und Keller. Diese Lichtschalter wollte ich jetzt Schritt für Schritt gegeben schaltbare Geräte wechseln. Ich würde gerne alle Lichter mit einem Schalter im Haus deaktivieren können. Typischerweise brennt jetzt immer das Licht in der Speise oder im Keller wenn wir etwas vergessen haben 🙂

Dafür wollte ich die HomeMatic HM-LC-Sw1PBU-FM Unterputzschalter verwenden (ich habe mal einen Schalter zum Testen bei Amazon bestellt).

Nebem dem Schalter benötige ich noch die herstellerspezifischen „Wippen“ um unsere bestehenden Jung-Schalter weiterzuverwenden. Als Vorbereitung ist nur wichtig, ob an den Schaltern überall ein N-Leiter liegt (das ist bei uns aber gegeben).

Hat von euch schon jemand konventionelle Schalter gegen neue HomeMatic-Schalter getauscht? Hat jemand ein paar Tipps dazu?

Christbaum per HomeMatic und openHAB schalten

Update 24.12.2017

Nachdem das Video in den ersten Tagen ca. 50 GB Traffic generiert hat, habe ich das Video komprimiert und in einer kleineren Variante angehängt 🙂

Ergebnis

Folgendes Ergebnis wollte ich per HomeMatic-Steckdosen, Alexa und openHAB 2 umsetzen:

Konfiguration

  • Steckdose einstecken
  • Öffnen der HomeMatic UI
    • „Geräte anlernen“
    • „HM Geräte anlernen“
    • 4 Sekunden an der Steckdose den Knopf drücken
    • Steckdose wird gefunden und hinzugefügt
    • In den Einstellungen entsprechend das Gerät anpassen (bei mir waren das nur die Namen entsprechend zu ändern)
    • Funktionstext durchführen
  • Öffnen der openHAB UI
    • Eingang – Bestätigen des neuen HomeMatic-Geräts (notfalls per manueller Suche)
    • Eclipse SmartHome Designer öffnen und Items entsprechend anpassen
  • Öffnen der Alexa App
    • Suche entsprechend durchführen

Steuerung der Funktionen mit:

  • Alexa, schalte den Christbaum ein
  • Alexa, schalte den Christbaum aus