In einem schon älteren Artikel ging es um die Integration von AVM-Thermostaten in OpenHAB. Damals sogar noch mit OpenHAB 2.1.

Nun vor etwas kürzerer Zeit habe ich erneut einen Artikel zum Thema smartes Heizen geschrieben, den ich dir an dieser Stelle auch nochmal ans Herz legen möchte.

Warum ich dir das alles erzähle? Weil es in diesem Beitrag wieder um Thermostate im Smart Home gehen wird. Doch in diesem Beitrag möchte ich dir nicht erklären, wie du deine Wohnung beheizen kannst. Viel mehr möchte ich dir erklären, wie du deine OpenHAB Thermostate in den Amazon Echo * bekommst.

Wie wir alle bereits wissen, sind Sprachassistenten eine tolle Ergänzung für das Smart Home. Doch viele nutzen sie bislang nur dafür, um ihre Lampen und Steckdosen zu schalten. Dabei lässt sich auch die Raumtemperatur ideal darüber regeln.

 

Meine Vorstellung der Steuerung

 

Amazon Echo OpenHAB Thermostate

Ich sage aktuell Alexa, schalte Wohnzimmerlampe ein. Das funktioniert super gut und auch die Farben lassen sich „trotz“ OpenHAB sehr gut einstellen. Da ich allerdings nicht nur meine Lampen kontrollieren möchte, möchte ich dieses Vorgehen auf die Thermostate übertragen. Dabei ist es oft schwierig, wenn man keine Produkte zu Hand hat, die explizit mit dem Amazon Echo zusammenarbeiten.

Doch über OpenHAB besteht die Möglichkeit, sämtliche Geräte für den Sprachassistenten greifbar zu machen. Wieso also nicht auch die Thermostate?

Mein Gedanke dahinter war, dass ich auch beim Filmeabend ohne Probleme die Temperatur meiner OpenHAB Thermostate ändern kann. Gerade jetzt, wo es doch nochmal etwas kühler geworden ist, sind manchmal 1 Grad Unterschiede doch enorm.

 

Kennst du schon die wichtigsten Social-Media-Accounts? Folge Hobbyblogging und bleibe auf dem neuesten Stand der Technik!

FacebookTwitterInstagramPinterest

 

Abbilden von Thermostaten für Alexa

 

Alexa ist inzwischen so intelligent, dass sie weiß, was ein Thermostat ist. Wahnsinn, oder?

Doch damit deine OpenHAB Thermostate auch funktionieren können, musst du einzelne Items zusammenfassen und diese mit speziellen Eigenschaften ausstatten. Diese Eigenschaften sagen dem Echo, was dieses Gerät kann und wofür es gedacht ist. Ohne diese Eigenschaften ist es für Alexa * nicht möglich zu verstehen, was sie mit diesem Gerät machen soll.

Um deine Thermostate nun mit dem Sprachassistenten koppeln zu können, benutze ich die folgenden drei Eigenschaften:

 

  • TemperatureSensor.temperature
  • ThermostatController.lowerSetpoint
  • ThermostatController.upperSetpoint

 

Die erste Eigenschaft legt fest, dass die aktuelle Temperatur an den Echo übergeben wird. Eigenschaften zwei und drei legen jeweils den unteren bzw. oberen Wert fest. Wozu das gut ist, wirst du gleich sehen.

 

Warum du nun textbasiert arbeiten musst

 

Sofern du deine Items bislang immer über die PaperUI eingerichtet hast, dann pausiere bitte nach diesem Abschnitt und überführe deine Items zuerst in Textdateien. Diese legst du in der Ordnerstruktur deines OpenHAB-Servers ab, damit diese in das System integriert werden.

Für dieses Vorgehen eignet sich Visual Studio Code sehr gut. Hier siehst du durch sogenanntes Syntax-Highlighting sofort, ob alles in Ordnung ist.

Der Hintergrund für dieses komplizierte Vorgehen ist, dass du diese Eigenschaften nicht über die PaperUI setzen kannst. Bitte korrigiere mich, sofern ich falsch liege.

Stattdessen musst du diese Eigenschaften jedem Item mitgeben, welches für die Integration benötigt wird. In der textbasierten Einrichtung von Items ist das problemlos möglich, denn du musst hier nur etwas an die bestehende Definition anhängen.

 

Welche Thermostate ich nutze

 

In meinem eigenen Smart Home arbeite ich mit den Thermostaten für die FritzBox.

 

Smarte Heizungssteuerung von AVM

 

Zum einen habe ich dafür die Comect DECT *, zum anderen die Thermostate von AVM *. Anhand dieser werde ich dir die Einrichtung erklären und dir auch die notwendigen Konfigurationen an die Hand geben.

Die Thermostate für die FritzBox haben in meinen Augen den Vorteil, dass sie keine zusätzliche Bridge benötigen. Da der Router sowieso immer im aktiv ist und nicht ausgeschaltet wird, kann dieser die Steuerung übernehmen.

Um dennoch einen guten Überblick über alle Geräte und Systeme zu haben, nutze ich OpenHAB als Abstraktion. Hier werden die Geräte gebündelt und können auch gemeinsam für komplexere Schaltungen angesteuert werden.

In meinen Augen sind die Thermostate von AVM die beste Option, wenn man sie mit der FritzBox betreiben will. Funktional gesehen unterscheiden sich die Comet Thermostate kaum von ihnen, doch es zählt auch der optische und haptische Eindruck. Hier schneiden die Thermostate von AVM in meinen Augen besser ab. Du kannst jedoch beide Thermostate nach dieser Anleitung in den Amazon Echo * integrieren.

 

Lass uns beginnen

 

Kommen wir nun zu dem Bereich, der die meisten interessieren dürfte. Wir integrieren nun die Thermostate in Amazon Alexa und steuern diese dann per Sprache. Hierzu nehme ich mir als Beispiel einen Comect DECT Thermostat * zur Hand, der bereits in OpenHAB eingebunden ist.

Das bedeutet, ich kann ihn bereits über die App von OpenHAB bedienen und nach meinen eigenen Wünschen regeln. Hierfür habe ich folgende Channels integriert:

 

  • temperature: zum Auslesen der aktuellen Temperatur
  • eco_temp: zum Einstellen der Spartemperatur
  • set_temp: zum Setzen der gewünschten Solltemperatur

 

In meiner Konfiguration, der fritz.items, sieht das wie folgt aus:

Number AZ_Heizung_Temperatur "Arbeitszimmer" { channel="avmfritz:Comet_DECT:FritzBox:117950401832:temperature" }
Number AZ_Heizung_Absenktemperatur "Absenktemperatur [%.1f °C]" { channel="avmfritz:Comet_DECT:FritzBox:117950401832:eco_temp" }
Number AZ_Heizung_Solltemperatur "Solltemperatur [%.1f °C]" { channel="avmfritz:Comet_DECT:FritzBox:117950401832:set_temp" }

Hier siehst du, dass es sich um drei Number-Items handelt. Den Namen für das Item (Beispiel: AZ_Heizung_Temperatur) kannst du frei wählen. Ich empfehle dir allerdings, sinnvolle Namen hierfür zu vergeben, da du sonst sehr schnell einem Chaos gegenüber stehst.

In den geschweiften Klammern sind die Channels definiert, welche die Schnittstellen des jeweiligen Thermostats abbilden. Erfahrene OpenHAB-Nutzer kennen das sicherlich bereits.

Damit Alexa nun auch weiß, dass es sich hierbei um ein einziges Gerät und nicht unterschiedliche handelt, musst du eine Gruppe für diese Geräte anlegen. Das sieht dann aus wie folgt:

Group AZ_Thermostat "Arbeitszimmer Thermostat"
Number AZ_Heizung_Temperatur "Arbeitszimmer" (AZ_Thermostat) { channel="avmfritz:Comet_DECT:FritzBox:117950401832:temperature" }
Number AZ_Heizung_Absenktemperatur "Absenktemperatur [%.1f °C]" (AZ_Thermostat) { channel="avmfritz:Comet_DECT:FritzBox:117950401832:eco_temp" }
Number AZ_Heizung_Solltemperatur "Solltemperatur [%.1f °C]" (AZ_Thermostat) { channel="avmfritz:Comet_DECT:FritzBox:117950401832:set_temp" }

Hier kam nun die Gruppe hinzu. In diese Gruppe werden die Items für OpenHAB Thermostate einsortiert, indem man den Namen der Gruppe in Klammern hinter der Beschreibung angibt. Innerhalb der Beschreibung findest du noch den Zusatz [%.1f °C]. Dieser sorgt dafür, dass die erste Stelle nach dem Komma übertragen wird. So erhältst du schön formatierte Zahlen, die außerdem noch den Zusatz °C tragen.

Nun definieren wir noch mit den Eigenschaften das Auftreten des Geräts. Hierzu ergänzen wir innerhalb der geschweiften Klammern die benötigten Eigenschaften für den Thermostat. Das sieht dann so aus:

Group AZ_Thermostat "Arbeitszimmer Thermostat" { alexa="Endpoint.Thermostat" }
Number AZ_Heizung_Temperatur "Arbeitszimmer" (AZ_Thermostat) { channel="avmfritz:Comet_DECT:FritzBox:117950401832:temperature", alexa="TemperatureSensor.temperature" [scale="Celsius"] }
Number AZ_Heizung_Absenktemperatur "Absenktemperatur [%.1f °C]" (AZ_Thermostat) { channel="avmfritz:Comet_DECT:FritzBox:117950401832:eco_temp", alexa="ThermostatController.lowerSetpoint" [scale="Celsius"] }
Number AZ_Heizung_Solltemperatur "Solltemperatur [%.1f °C]" (AZ_Thermostat) { channel="avmfritz:Comet_DECT:FritzBox:117950401832:set_temp", alexa="ThermostatController.upperSetpoint" [scale="Celsius"] }

 

Fertig sind deine OpenHAB Thermostate!

 

Smart Home Komponenten

Sehr gut. Wir haben nun einen Thermostat * für Alexa verfügbar gemacht, der eigentlich so gar nicht mit der Sprachsteuerung kompatibel ist. Wenn du die Gerätesuche gestartet hast und das Gerät gefunden wurde, kannst du es entweder auslesen oder steuern.

In meinem Fall sage ich Alexa, dass sie den Arbeitszimmer Thermostat auf 22 Grad setzen soll. In der App sieht es dann zwar so aus, als würde Alexa das Zimmer auf diese Temperatur kühlen, doch sie setzt in Wahrheit den Thermostat auf diese Einstellung.

Eine wichtige Anmerkung ist außerdem, dass Alexa deine Temperatur immer zwischen zwei Werten halten möchte. Sie zieht außerdem von deiner gewünschten Temperatur immer ein Grad ab. Das ist zwar nicht so schön, aber die Funktion ist dennoch verfügbar. Wenn du also 22 Grad haben möchtest, dann sage ihr sie soll die Temperatur auf 23 Grad stellen.

Auch in der Alexa App kannst du die OpenHAB Thermostate verändern. Damit kannst du in Zukunft deine Heizung nicht nur per Sprache steuern, sondern auch von unterwegs beeinflussen.

Wenn du übrigens nicht weißt, wie du am besten deine Items in Alexa integrierst, dann schau dir mal den OpenHAB Skill für den Amazon Echo * an. Dieser verknüpft dein Smart Home mit dem Sprachassistenten und du hast all deine Geräte verfügbar. Wichtig ist aber, dass du für jedes Gerät die Eigenschaften setzt, wenn du es mit Alexa nutzen willst.

Eine tolle Übersicht findest du in der Dokumentation von OpenHAB.

 

Was meinst du dazu? Ist die Sprachsteuerung für Thermostate sinnvoll?

Kategorien: Smart Home

Lukas

Hi, mein Name ist Lukas. Seit 2016 blogge ich auf Hobbyblogging über unterschiedliche Themen des Alltags. Schwerpunkt dabei ist das Thema Smart Home, speziell mit der Open Source Software OpenHAB. Neben dem Bloggen absolviere ich derzeit mein Master-Studium im Fachbereich Wirtschaftsinformatik und arbeite als Werkstudent im Software Engineering.

0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.