Radio-Sender per Alexa in openHAB automatisch starten

Amazon hat die Alexa-API etwas aufgeräumt und einige Funktionen abgekündigt. Die Funktion die ich für das Abspielen von Radio-Sendern genutzt hat, ist leider auch dabei.

Das betrifft aber nicht nur openHAB, sondern auch andere SmartHome-Systeme bzw. auf auf alexa.amazon.de ist die Funktion nicht mehr zur Verfügung. Das Problem wird im Forum hier besprochen

In der AmazonEchoControl-Binding-Dokumentation kann man die Details dazu lesen. Hier wird beschrieben das man nun den textCommand-Channel für diese Varianten nutzen muss:

  • AmazonMusicTrackId
  • AmazonMusicPlayListId
  • AmazonMusic

Ob auch die RadioStationId betroffen ist, kann ich aus der Dokumentation nicht genau lesen. Ggf. wurde das in der Dokumentation vergessen oder hier gibt es noch ein anderes Problem.

Aufräumen der aktuellen Installation

Folgende Elemente kann man also aus seine Items-Datei entfernen:

/*String Echo_Child_AmazonMusicTrackId    "Amazon Music Track Id"               (Alexa) {channel="amazonechocontrol:xxx:xxx:xxx:amazonMusicTrackId"}
String Echo_Child_AmazonMusicPlayListId "Amazon Music Playlist Id"              (Alexa) {channel="amazonechocontrol:xxx:xxx:xxx:amazonMusicPlayListId"}
Switch Echo_Child_AmazonMusic           "Amazon Music"                          (Alexa) {channel="amazonechocontrol:xxx:xxx:xxx:amazonMusic"}*/
In der Sitemap können damit auch folgende Zeilen gelöscht werden:
//Text    item=Echo_MultiRoom_Groundfloor_AmazonMusicTrackId
//Selection    item=Echo_MultiRoom_Groundfloor_AmazonMusicPlayListId  mappings=[ ''='Off', 'Heavy Metal'='Heavy Metal', 'Hardrock'='Hardrock' ]
//Switch  item=Echo_MultiRoom_Groundfloor_AmazonMusic

Integration des neuen Ablaufs

In der Items-Datei kann der Channel wie folgt integriert werden:
String Echo_Office_TextCommand           "Text Command"                          (Alexa_Office) {channel="amazonechocontrolxxx:xxx:xxx:textCommand"}

Dann kann über eine Regel ein Radio-Sender oder ein beliebiger Befehl wie folgt ausgeführt werden:

rule "TEST"
when
    Item Licht_xxx received update ON
then
    //Echo_Office_TextCommand.sendCommand("Spiele TOP FM auf TuneIn")
    //Echo_Office_TextCommand.sendCommand("Spiele ROCK ANTENNE auf TuneIn")
    //Echo_Office_TextCommand.sendCommand("Stopp")
end

Damit kann auch in die Sitemap in Kombination mit der Regel wieder alles in die Oberfläche integriert werden.

Fazit

Mit dieser kleinen Änderung in openHAB bzw. im Amazon Echo Control Binding ist ein Aufruf der Radio-Sender direkt aus openHAB wieder möglich. 

Die Anpassung ist zwar etwas umständlicher, da jetzt zusätzlich eine Regel erstellt werden muss, aber in meinem Fall nicht so schlimm, da ich fast keine Radiosender höre. 😉

openHAB 3.3.0 ist auf dem Weg …

Am 01.02.2022 wurde der Milestone 1 von openHAB 3.3.0 veröffentlicht. Den Dowonload der jeweils aktuellen Version findet ihr hier. Am 03.03.2020 wurde dann auch noch der Milestone 2 veröffentlicht.

Damit starten die openHAB-Entwickler mit dem ersten Build (bzw. zweiten) in das Jahr 2022. Der Zyklus mit einem Release grob pro Monat soll gleich bleiben d.h. es wird wieder grob im Sommer eine Release-Version von openHAB 3.3.0 geben.

Den Diskussions-Beitrag über die frühe 3.3.0 Version findet ihr im Community-Forum. Hier geht es um Rückmeldungen an die Entwicklung und Austausch mit den anderen openHAB-Enthusiasten.

Im ersten Überblick ergeben sich folgende Neuerungen und Anpassungen:

  • Neue Add-Ons
  • Erweiterungen und Bug Fixes der Runtime-Umgebung
  • Diverse Enhancements und Bug Fixes in den bestehenden Add-Ons
  • Anpassungen am User Interface

Habt Ihr eure Test-Umgebungen schon auf openHAB 3.3.0 aktualisiert? Wie sind eure Erfahrungen mit der neuen Version? Welche Funktionserweiterung ist für euch wichtig?

 

Regeln in openHAB manuell ausführen

Trotz aller Automatismen und Regeln gibt es im SmartHome immer mal die Notwendigkeit eines manuellen Eingriffs in die Automatik. Wir hatten den Fall bei uns mit der automatischen Schaltung der Weihnachtsbeleuchtung. Hier ist aktuell eine feste Zeitregel hinterlegt (und keine Schaltung anhand von Astro-Daten). In manchen Fällen soll dann die Beleuchtung bereits etwas früher geschalten werden oder nicht an den genau hinterlegten Zeiten aktiviert werden.

In diesem Beitrag habe ich den Ansatz für eine Lösung gefunden – LINK. Auch wenn ich es nicht als schöne Lösung, sondern eher als Workaround sehe.

Items in openHAB

Im ersten Schritt wird ein virtuelles Item für das Schalten der Lichter in der Item-Datei erstellt.

Switch      Weihnachtsbeleuchtung_Manuell          "Lichter manuell schalten"

Rules in openHAB

Dieses virtuelle Item muss in alle notwendigen Regeln entsprechend eingebaut werden (hier ein Beispiel aus einer Regeldatei).

rule "Weihnachtsbeleuchtung Morgen Ein"
    when
        Time cron "0 30 5 * * ?" or
        Item Weihnachtsbeleuchtung_Manuell changed from OFF to ON or
        Item Weihnachtsbeleuchtung_Manuell received command ON
    then
        // Weihnachtsbeleuchtung Aktionen ausführen ...
end

Sitemap in openHAB

Im letzten Schritt muss das manuelle Schalten noch in die eigene Sitemap integriert werden.

        Text label="Weihnachtsbeleuchtung" icon="garden" {
            Frame {
                Switch item=Weihnachtsbeleuchtung_Manuell mappings=[ON="Ein"]
                Switch item=Weihnachtsbeleuchtung_Manuell mappings=[OFF="Aus"]
            }
        }

Fazit

Nun kann ich über die openHAB-App bzw. über die Weboberfläche beliebig die hier hinterlegten Regeln manuell aktivieren. Habt Ihr eine bessere Idee, um Regeln in openHAB manuell zu starten?

Für 2022 werde ich über den Sonnenaufgang und den Sonnenuntergang im Astro-Binding die Zeiten noch etwas optimieren. Die Vorbereitungen sind schon getroffen. 🙂

Update auf openHAB 3.2

Ende Dezember 2021 habe ich von openHAB 3.1.0 auf 3.2.0 aktualisiert. Damit wäre die Log4j-Sicherheitslücke auch in unserem SmartHome geschlossen (obwohl das System nicht von Extern erreichbar ist). Im letzten Beitrag hatte ich schon die Neuerungen von openHAB 3.2.0 dargestellt.

Update 3.1.0 auf 3.2.0

Ich habe mein System von 3.1.0 auf 3.2.0 ohne größere Probleme wie folgt umstellen können. Im ersten Schritt habe ich mit der integrierten Backup-Funktion eine Sicherung erstellt:

sudo $OPENHAB_RUNTIME/bin/backup
/var/lib/openhab/backups/

Danach habe ich noch die Dateien manuell gesichert und eine Komplettsicherung als Image erstellt.

Danach dann das eigentliche Update durchführen (vor dem Update musste ich noch das aktuelle Repository einfügen – dies wird hier beschrieben):

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

Und im Nachgang wurde dann noch der Cache geleert und das System neu gestartet:

sudo systemctl stop openhab.service
sudo openhab-cli clean-cache
sudo shutdown -r now

Breaking Changes kontrollieren

Während des Setups werden die “Breaking Changes” des Updates visuell dargestellt. In meinem Fall musste ich nur das Homematic-Binding kontrollieren, aber die geänderte Funktion wird in unserem System nicht benutzt.

Testen, Testen, Testen!

Nach jedem openHAB-Update führe ich umfangreiche manuelle Tests in unserem SmartHome durch. Erst einmal kontrolliere ich das Log auf ERROR- und WARN-Meldungen. Danach werden alle Anwendungsfälle des Systems manuell getestet und ggf. Anpassungen vorgenommen.

Anpassungen nach dem Update

Nachdem das Gesamtsystem wieder vollumfänglich gelaufen ist, habe ich mit den ersten Anpassungen begonnen.

Da im Log seit dem openHAB 3.1.0 Update immer wieder WebSocket-Fehler durch das AmazonEchoControl-Binding vorhanden waren, musste das Binding aktualisiert werden. Dafür habe ich den neuen 3rd-Party-Marketplace von SmartHome/J wie folgt eingebunden und das Binding aktualisiert:

  • URL in den Einstellungen des “JSON Drittanbieter Add-Ons” wie folgt erweitert: https://download.smarthomej.org/addons.json
  • Deinstallation AmazonEchoControl-Binding Version 3.2.0
  • Installation AmazonEchoControl-Binding Version 3.2.8 aus dem 3rd-Party-Marketplace

Ein paar Kleinigkeiten wurden noch wegen neuen Endgeräten und der An- und Abwesenheitssimulation angepasst. Außerdem konnte in der HueEmulation durch das Binden an die IPv4 auch ein Fehler im Log eliminiert werden. 

Fazit

Die Updates werden aus meiner Sicht immer einfacher und stabiler (wenn man aus dem 3er-Releasezweig kommt). Hier sieht man zu den älteren Versionen deutliche Verbesserungen. 

Ich bin gespannt wie sich der Marketplace im openHAB-Ökosystem integriert und welche neuen Vorlagen dort in Zukunft zu finden sind. Viele der Neuerungen sind hauptsächlich für neue Nutzer interessant, die hauptsächlich in der GUI konfigurieren möchten (ich bewege mich hauptsächlich in der textuellen Konfiguration). 

Wie liefen eure Updates auf openHAB 3.2.0? Gibt es Anpassungen auf die Ihr gewartet habt?  

Neuerungen openHAB 3.2

Ende 2021 habe ich schon über die Beta-Versionen und Milestone-Releases von openHAB 3.2.0 geschrieben. Am 20.12.2021 wurde dann die neue Version 3.2 von openHAB als “Weihnachtsgeschenk” an die Öffentlichkeit übergeben. Mit openHAB 3.0.4 und 3.1.1 wurde auch die Log4j-Sicherheitslücke behoben – dieses Änderungen sind in 3.2 natürlich auch enthalten.

Die Ankündigung im Blog zur neuen Version findet Ihr hier. Hier könnt Ihr die aktuelle Version beziehen. Die Release Notes mit allen Details findet man im GitHub. Bitte beachtet vor allem die Breaking Changes in der Dokumentation.

Folgende Funktionen wurden in der Ankündigung benannt:

  • Log4j-Sicherheitslücke
  • 18 neue Add-Ons
  • Rule Engine Erweiterungen (Verwendung von mehreren Engines z.B. JRuby, Jython, Groovy und ECMAScript 2021 und JS Script)
  • Javascript Script Engine (Implementiert als neues openhab-js-Addon)
  • Offener Marktplatz (für Trusted Add-ons und 3rd-Party-Add-ons)
  • Rule Templates (Vorlagen wurden zu openHAB 2 ausgebaut)
  • Blocky-Integration und Block Libraries wurden erweitert
  • Direkte Integration eines openHAB Skill für Amazon Alexa
  • Internationalisierung wurde voran getrieben

Es gab natürlich auch noch viele Detailverbesserungen und Änderungen in allen Bereichen des gesamten Systems. Es gab Anpassungen und Fixes in der Runtime, den User Interfaces und den besehenden Add-ons. Also einfach einen Blick auf die Release Notes werfen. 🙂

Was sind für euch die relevanten Änderungen in openHAB 3.2? Konntet Ihr eure Systeme bereits auf die neue Software-Version umstellen?

 

Was gibt es neues im openHAB-Universum?

Anfang Dezember habe ich unser openHAB-System von 3.0.2 auf 3.1.0 aktualisiert. Die Neuerungen von openHAB 3.1 könnt ihr hier sehen. Das Update lief soweit recht gut durch und es konnten wieder einige Fehler und Snapshot-Bindings entfernt werden. 

Leider hat sich aber auch ein Fehler mit dem AmazonEchoControl-Binding eingeschlichen. Die Thematik mit dem “Web-Socket-Error” könnt ihr hier lesen.

Außerdem gab es viele neue Videos rund um openHAB auf dem zugehörigen YouTube-KanalBangerTech bringt auch gute neue Videos auf den Markt. 

Am 11.12.2021 wurden openHAB 3.0.4 und 3.1.1 wegen den log4j-Sicherheitslücken veröffentlicht. Details dazu könnt ihr hier lesen.

Aber natürlich ist Mitte Dezember dann openHAB 3.2 auf dem Weg.

Am 28.11.2021 wurde dann der openHAB 3.2 Milestone 4 veröffentlicht. Den letzten openHAB 3.2 Milestone 5 gab es dann am 05.12.2021. Wenn alles gut läuft, wird am 13.12.2021 die Codebasis eingefroren, am 17.12.2021 der RC1 erstellt und am 20.12.2021 die finale Version veröffentlicht. Und so war es dann auch: Am 20.12.2021 wurde der Blogeintrag zu openHAB 3.2 publiziert.

Welche Neuerungen sind für euch in openHAB 3.2 wichtig? Was tut sich sonst noch im openHAB-Universum?

“Smarte” Stellantriebe für die Fußbodenheizung?

Einer unserer Stellantriebe für die Fußbodenheizung hat aktuell nicht mehr funktioniert d.h. nicht mehr geschalten. Der Defekt war schnell zu identifizieren und der Stellantrieb war defekt. Es musste also ein neuer Stellantrieb für die Heizung im Bad her. Der gleiche Ersatz war schnell zu finden.

Ich habe mich dann noch einmal mit der Integration der Heizung in unser SmartHome befasst. Beim Hausbau habe ich mich bewusst gegen eine EIB / KNX Integration entschieden, da ich keinen Mehrwert erkennen konnte.

Ich würde aber immer noch gerne alle analogen Thermostate in den Räumen gegen digitale Thermostate mit Display austauschen. Dann könnte ich auch noch ein paar Regeln erstellen (diese ergeben bei uns und wegen der Trägheit der Fußbodenheizung aber häufig wenig Sinn / Mehrwert).

Aktuell würde ich auf ein HomeMatic-System wechseln. Mit folgenden Komponenten könnte ich eine komplette Integration in unser Smart Home und openHAB vornehmen:

Habt Ihr eure Fußbodenheizung im SmartHome integriert? Falls ja, welche Szenarien und Regeln nutzt Ihr dafür?

Was ist euch im Smart Home wichtig?

Ein Smart Home dient als Oberbegriff für technische Verfahren und Systeme um in Wohnräumen die Wohn- und Lebensqualität, die Sicherheit und eine effizientere Energienutzung zu sorgen.

Was ist nun in einem Smart Home enthalten:

  1. Verschiedene Produkte die untereinander kommunizieren
  2. Steuerung der oben genannten Produkte
  3. Automation von Geräten

Eine Softwarelösung zur Gebäudeautomatisierung ist openHAB. Diese Applikation verwende ich, um Geräte- und Standardübergreifend verschiedene Funktionen in unserem Haus zu steuern.

In unserem Zuhause versuche ich alle neuen Geräte direkt in openHAB einzubinden und von dort zu verwalten. Jede Hardwarelösung wird mit Regeln (soweit möglich und sinnvoll) automatisiert.

Welche Funktionen sind euch im Smart Home wichtig? Auf was legt Ihr bei der Automatisierung wert und was möchtet Ihr nicht mehr vermissen?

 

 

openHAB 3.2.0 ist auf dem Weg …

Aktuell bin ich noch in bei uns zu Hause auf openHAB 3.0. Die Version 3.1 konnte ich noch nicht testen und implementieren.

Parallel sind die openHAB-Verantwortlichen aber fleißig und erstellen die Version 3.2.0:

Zum 10.10.2021 war der Milestone 3 veröffentlicht. Ich denke eine Release-Version ist von den Entwickler wieder grob Ende 2021 geplant.

Es gibt natürlich wieder viele Neuerungen, Bugfixes und neue Add-Ons. Ich denke der Community Marketplace als Add-on Service ist die größte Neuerung des Systems.

Welche Neuerungen sind für euch in openHAB 3.2.0 wichtig? Auf welche Anpassungen freut Ihr euch schon?