openHAB 2.5.9 veröffentlicht

Am 20.09.2020 wurde ein neues Update für openHAB veröffentlicht.

Die Version 2.5.9 ist wieder komplett kompatibel zu den vorherigen  2.5.x Versionen.

Es gab mit der neuen Version 25 neue Add-ons und ca. 60 Erweiterungen und Bugfixes der bestehenden Plugins.In den Release Notes werden die Änderungen kurz und im GitHub dann im Detail beschrieben.

Diese Version soll eine der letzten im Zweig 2.5.x sein. Bei sicherheitsrelevanten Themen soll ggf. noch eine Version erscheinen. Ansonsten konzentriert sich jetzt die komplette Entwicklung auf den neuen 3er Zweig.

Kein Login von Alexa in openHAB möglich

Ende August ist mir aufgefallen, dass aktuell mit dem AmazonEchoControl-Binding 2.5.4 kein Login mehr bei Amazon möglich ist. Es wurde immer angezeigt, dass der Benutzername / Passwort nicht richtig ist. Mein komplette Sprachsteuerung hat aber komischerweise weiterhin funktioniert.

Im openHAB-Forum bin ich dann auf diesen Beitrag aufmerksam geworden. Dort wird die letzten Wochen ein ähnliches Verhalten beschrieben. Scheinbar hat Amazon die API aktualisiert.

Ich konnte meine Alexas wie folgt wieder komplett in Betrieb nehmen:

  • AmazonEchoControl-Binding über die Oberfläche deinstallieren
  • openHAB-Dienst beenden
  • openHAB 2.5.8 SNAPSHOT Binding einspielen
  • Account-ID des Amazon-Accounts bei den zugehörigen Things ändern
  • Optional: Passwort des Amazon-Accounts aktualisiert
  • openHAB-Dienst gestartet

Nach dem Einspielen des SNAPSHOT-Bindings konnte ich mich wieder mit der neuen 2-Faktor-Authentifizierung anmelden. Ich denke auch dieses Security-Thema ist der Auslöser des Problems gewesen.

Habt Ihr ähnliche Probleme mit eurer Alexa-Integration in openHAB festgestellt?

openHAB 2.5.8 veröffentlicht

Am 23.08.2020 wurde ein neues Update für openHAB veröffentlicht.

Die Version 2.5.8 ist wieder komplett kompatibel zu den vorherigen  2.5.x Versionen.

Es gab mit der neuen Version 5 neue Add-ons und ca. 40 Erweiterungen und Bugfixes der bestehenden Plugins.

In den Release Notes werden die Änderungen kurz und im GitHub dann im Detail beschrieben.

Habt Ihr die Version 2.5.8 bei euch schon installiert? Gibt es schon Erfahrungswerte?

openHAB 2.5.7 veröffentlicht

Am 23.07.2020 wurde ein neues Update für openHAB veröffentlicht.

Die Version 2.5.7 ist wie komplett kompatibel zur den vorherigen  2.5.x Versionen. Auch der monatliche Release-Zyklus spielt sich sehr gut ein. 🙂

Es gab mit der neuen Version 8 neue Add-ons und ca. 60 Erweiterungen und Bugfixes der bestehenden Plugins.

In den Release Notes werden die Änderungen kurz und im GitHub dann im Detail beschrieben.

Ich hänge aktuell noch ein paar Minor-Releases zurück, aber es waren für unser SmartHome auch keine großartigen Neuerungen dabei. Immer im Fokus „Never change a running system!“.

Habt Ihr die Version 2.5.7 bei euch schon installiert? Gibt es schon Erfahrungswerte?

Die Karaf-Console mit openHAB

Wenn man sich etwas mehr mit openHAB beschäftigt, dann liest / hört man immer etwas von der Karaf-Console.

Karaf ist ein Enterprise-Framework von Apache und wird in OSGi-Umgebungen eingesetzt.

Zur Verwaltung der openHAB-Laufzeitumgebung ist die Karaf-Console ein sehr gutes Tool. Die Dokumentation zu dem Hilfsmittel findet Ihr auf der Hilfe-Seite.

Die Konsole kann hautsptsächlich für die Analyse von Log-Dateien in Echtzeit, zur Verwaltung der openHAB-Elemente und zur Ausführung von Befehlen zur Laufzeit verwendet werden.

An- und Abmeldung

Ihr könnt euch direkt per SSH nach einem Login auf dem Rechner wie folgt in die Karaf-Console einwählen:

ssh openhab@localhost -p 8101

Das zu verwendende Passwort könnt Ihr in der Dokumentation einsehen und sollte natürlich geändert werden.

Nach der Sitzung kann man sich wie folgt vom System abmelden:

logout

Überblick verschaffen

In der Console ist ein gutes Hilfe-System integriert d.h. mit diesen Befehlen könnt Ihr euch schnell eine Übersicht verschaffen:

help
help smarthome
help smarthome:things

Befehle ausführen

Mit den list-Parameter könnt Ihr euch eure Items oder die Inbox etwas genauer ansehen:

smarthome:things list
smarthome:inbox list

Fazit

Durch das OSGi-Framework ist eine einfache Verwaltung der Elemente in einem openHAB-System möglich.

Ich hatte den Anwendungsfall um doppelte HomeMatic-Elemente entsprechend zu entfernen (das geht auch mit den „remove“ Parametern).

Nutzt Ihr die Karaf-Console in eurem openHAB-Umfeld? Welche Funktionen nutzt Ihr davon?

Telegram als Binding in openHAB integrieren

Eine meiner ersten Aktionen mit openHAB war die Integration für mobile Benachrichtungen mit Telegram. In meinem ersten Anwendungsfall wurde Telegram per Action angebunden und eine kleine Anleitung habe ich hier abgelegt.

Seit ein paar Versionen gibt es nun ein Telegram Binding. Mit diesem Binding ist auch ein einfacheres Verschicken von Nachrichten an Gruppen möglich. Es ist also höchste Zeit meine bestehende Umgebung zu aktualisieren / anzupassen.

Vorbereitung und Struktur

Weiterführende Informationen zu dem Thema findet Ihr hier. Einen Telegram-Bot habe ich bereits erzeugt, wenn Ihr dies noch benötigt, findet Ihr hier eine Anleitung.

Folgende Gruppen habe ich mir in Telegram erstellt für unser SmartHome erstellt:

  • Eidelsburger SmtartHome (für allgemeine Nachrichten z.B. Wetterwarnungen, Müllkalender, Statusmeldungen, Rauchmelder)
  • Eidelsburger SmartHome – Admin (für technische Nachrichten z.B. Neustart des Systems)
  • Eidelsburger SmartHome – Test (für Testnachrichten und neue Konfigurationen)

Damit kann ich für mich persönlich und für die ganze Familie die jeweiligen Nachrichten entsprechen kanalisieren und priorisieren.

Gruppen-ID’s aus Telegram

  • alle gewünschten Gruppen in Telegram für die weitere Verwendung erstellen
  • in der Telegram-App eine neue Gruppe erstellen und die notwendigen Benutzer hinzufügen (den Bot hatte ich bereits für die Nachrichten erstellt)
  • am Desktop-PC die URL https://web.telegram.org/ aufrufen
  • mit der zugehörigen Telefonnummer anmelden
  • den von Telegram verschickten Code vom mobilen Endgerät am Desktop-PC eingeben
  • nun die notwendige Gruppe auswählen
  • die URL in der Adressleiste sieht wie folgt aus: https://web.telegram.org/#/im?p=g1234567
  • die eindeutige Gruppen-ID befindet sich nach dem „p=g“ (in diesem Beispiel: 1234567)
  • da alle Gruppen-Nummern in Telegram negativ sind, wäre die zu verwendende Nummer aus dem Beispiel: -1234567

openHAB-Binding

Hier gibt es ein paar Informationen über die Technik:

Das Binding ist über die Oberfläche wie folgt schnell und einfach installiert:

  • PaperUI – Add-ons – ACTIONS – Telegram Action (1.14.0) – bereits installiert, also nicht notwendig
  • PaperUI – Add-ons – ACTIONS – Telegram Binding (2.5.4) – INSTALL

Telegram.things

Im nächsten Schritt wird ein Thing entsprechend erstellt:

Thing telegram:telegramBot:HA_Bot [chatIds="-<channel main>","-<channel details>","-<channel test>", botToken="<token>", parseMode="Markdown"]

Hier ergänzt man in den chatIds die aus den Telegram-Gruppen extrahierten Nummern und passt seinen botToken entsprechend dem Bot an.

Telegram.items

Nun können die Standard-Items aus der Dokumentation hinzugefügt werden. Ich habe noch drei Variablen für die Verwendung der Telegram-ID’s erstellt (um mir etwas Tipparbeit zu sparen).

// Items for Telegram Groups
String TELEGRAM_CHANNEL_SMARTHOME "-<channel main>"
String TELEGRAM_CHANNEL_SMARTHOME_ADMIN "-<channel details>"
String TELEGRAM_CHANNEL_SMARTHOME_TEST "-<channel test>"

// Items for Telegram Groups
String telegramLastMessage "Telegram Bot Last Message" { channel = "telegram:telegramBot:HA_Bot:lastMessageText" }
String telegramLastMessageURL "Telegram Bot Last Message URL" { channel = "telegram:telegramBot:HA_Bot:lastMessageURL" }
DateTime telegramlastMessageDate "Telegram Bot Last Message Date" { channel = "telegram:telegramBot:HA_Bot:lastMessageDate" }
String telegramLastMessageName "Telegram Bot Last Message Sender" { channel = "telegram:telegramBot:HA_Bot:lastMessageName" }
String telegramLastMessageUsername "Telegram Bot Last Message Username" { channel = "telegram:telegramBot:HA_Bot:lastMessageUsername" }
String telegramLastMessageChatId "Telegram Bot Last Message chatId" { channel = "telegram:telegramBot:HA_Bot:chatId" }
String telegramLastMessageReplyId "Telegram Bot Last Message replyId" { channel = "telegram:telegramBot:HA_Bot:replyId" }

Telegram.rules

Nun kann in einem Regelwerk ganz einfach eine Nachricht an eine Telegram-Gruppe verschickt werden.

val telegramAction = getActions("telegram","telegram:telegramBot:HA_Bot")
telegramAction.sendTelegram(Long::parseLong(TELEGRAM_CHANNEL_HA_DETAILS), "%s %s", "Telegram Bot", "online")

In meinen bestehenden Rules-Dateien muss ich natürlich die vorherige Konfiguration der Telegram Action noch entsprechend suchen und aktualisieren (das wird bei den meisten Lesern nicht notwendig sein).

Fazit

Damit konnte ich mit relativ wenig Aufwand von den Telegram Actions auf das Telegram Binding wechseln. Die Action habe ich aktuell noch im System, wird aber von mir nicht mehr verwendet.

Jetzt kann ich meinen Bot auch an Gruppen einfach Nachrichten senden und die SmartHome-Funktion auf ein paar Anwender mehr verteilen.

Wie nutzt Ihr Telegram in eurem SmartHome? Habt Ihr ein anderes Nachrichtensystem verwendet? Mir würde ja noch eine Integration in Microsoft Teams sehr gut gefallen. 🙂

openHAB 2.5.6 veröffentlicht

Am 21.06.2020 wurde ein neues Update für openHAB veröffentlicht.

Die Version 2.5.6 ist komplett kompatibel zur den vorherigen  2.5.x Versionen.

Es gab mit der neuen Version 9 neue Add-ons und einige Erweiterungen und Bugfixes der bestehenden Plugins.

In den Release Notes werden die Änderungen kurz und im GitHub dann im Detail beschrieben.

Habt Ihr die Version 2.5.6 bei euch schon installiert? Wer war schon so mutig?

openHAB 2.5.5 veröffentlicht

Am 18.05.2020 wurde ein neues Update für openHAB veröffentlicht.

Die Version 2.5.5 ist komplett kompatibel zur den vorherigen  2.5.x Versionen. Mit den grob einmal pro Monat geplanten neuen Versionen hat sich der Build- und Deploy-Prozess scheinbar gut eingespielt.

Es gab mit der neuen Version 4 neue Add-ons und einige Erweiterungen und Bugfixes der bestehenden Plugins.

In den Release Notes werden die Änderungen kurz und im GitHub dann im Detail beschrieben.

Habt Ihr die Version 2.5.5 bei euch schon installiert?

Aktualisierung openHAB 2.5.1 auf 2.5.4

Ich habe hier bereits erklärt wie man von openHAB 2.4.x auf 2.5.x wechseln kann. Nun stand ein kleinerer Wechsel von openHAB 2.5.1 auf 2.5.4 an (hier handelt es sich lediglich um Bugfix-Releases).

Die Änderungen könnt Ihr hier einsehen:

Sicherung mit dem integrierten Backup

Da ich wegen den kleineren Änderungen keine komplette Image-Sicherung vornehmen wollte, habe ich die openHAB-integrierte Sicherungsfunktion wie folgt verwendet:

# openHAB stoppen
sudo systemctl stop openhab2.service
sudo $OPENHAB_RUNTIME/bin/backup

# OPTIONAL - Restore durchführen:
# sudo $OPENHAB_RUNTIME/bin/restore $OPENHAB_BACKUPS/openhab2-backup-19_01_14-17_27_42.zip

# openHAB wieder starten
sudo systemctl start openhab2.service

Das Backup wird in diesem Verzeichnis abgelegt:

/openHAB-share/openhab2-userdata/backups/

Aktualisierung der Installation

Das Update in einer Linux-Distribution auf Debian-basieren wird wie folgt durchgeführt:

sudo systemctl stop openhab2.service
sudo apt-get update
sudo apt-get upgrade

Während des „update“ Vorgangs waren Daten von raspbian nicht erreichbar. In der sources.list habe ich folgende Anpassungen vorgenommen:

sudo vi /etc/apt/sources.list

Folgenden Mirror ergänzen:
http://mirror.netcologne.de/raspbian/raspbian/

#deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://mirror.netcologne.de/raspbian/raspbian/ jessie main contrib non-free rpi

Mit dem ersten Befehl wird der openHAB-Dienst beendet. Die beiden nächsten Zeilen starten die Aktualisierung.

Mit den oben genannten Befehlen wird direkt von 2.5.1 auf 2.5.4 mit allen Abhängigkeiten aktualisiert.

Folgendes habe ich nach dem update noch durchgeführt:

# openHAB stoppen
sudo systemctl stop openhab2.service

# Cache leeren
sudo openhab-cli clean-cache

# Log-Dateien für einen sauberen Start sichern
sudo mv openhab.log openhab.log.old
sudo mv events.log events.log.old

# Neustart
sudo shutdown -r now

Funktionstest

Bei diesem update liegen keine „Breaking Changes“ vor d.h. der Funktionstest sollte recht einfach funktionieren.

Folgende Punkte habe ich nach dem Update kontrolliert:

  • Legacy Add-ons – keine Änderungen notwendig
  • Discontinued Add-ons – keine Änderungen notwendig
  • Visual Studio Code
  • Weboberflächen testen (BasicUI, ClassicUI, HabBot, PaperUI)

Danach habe ich noch alle individuellen Bindings und Funktionen aus unserem SmartHome auf Funktionsfähigkeit getestet.

Fazit

Nach ca. einer Stunde arbeit war das kleine Update auf openHAB 2.5.4 in unserem SmartHome erledigt. Großartige Neuerungen gibt es keine, aber dafür sind wieder einige Fehler gefixt worden.

Habt Ihr auch schon auf openHAB 2.5.4 aktualisiert? Hat es bei euch ohne Probleme funktioniert?