Dezember 7

Shelly Vintage über PaperUI und MQTT in openHAB konfigurieren

Als ich meine Wohnung etwas mit Shellys 2.5 smart gemacht habe, bemerkte ich schnell, dass ich einen Dimmer hätte einbauen sollen, da das Licht abends sehr hell sein kann. Jedoch hatte ich keine Lust erneut die Leiter anzustellen, die Verkabelung neu zu machen und neue Geräte zu kaufen.

So entschloss ich mich die Shelly Vintage Glühbirne in die bestehende Umgebung einzubinden und auszuprobieren. Die Glühbirne über das Shelly Binding in openHAB zu integrieren war nicht möglich, da diese nicht unterstützt wurde. Also habe ich versucht die Glühbirne über MQTT auszulesen und zu steuern. Jedoch stieß ich hier an meine Grenzen und las zahlreiche Forenbeiträge und verfasste selbst einen Beitrag in einer Gruppe. Viele Einträge sowie mein Beitrag enthielten letztendlich, dass dies über Dateien und Mappings konfiguriert wurde und nicht über die PaperUI. Ich wollte jedoch nicht so leicht aufgeben und dachte mir, alles was eine Datei kann, soll auch die PaperUI können…

Voraussetzungen:

  • Funktionstüchtiges MQTT (Binding, Kommunikation) (Kann und sollte mit MQTT.fx getestet werden)
  • Shelly Vintage konfiguriert für MQTT
  • Erstelltes und verknüpftes Thing und Item der Glühbirne
  • Installiertes JSONPath Transformation Add-on (Add-ons -> Transformations)

Umsetzung:

Hier eine Übersicht des Things mit den verknüpften Items

Zuerst die „Power“-Konfiguration zum Ein- und Ausschalten sowie Anzeige des aktuellen Status der Glühbirne

MQTT State Topic: Hier wird der MQTT Befehl für die Statusabfrage konfiguriert. Ich habe mich hierfür für […]/light/0 entschieden, da hier nur die Werte on und off übergeben werden. Bei […]/light/0/status wird {„ison“: true, […]} übergeben und müsste somit geparst werden.

MQTT Command Topic: Hier wird der MQTT Befehl für das Ausführen der Befehle konfiguriert.

Incoming Value Transformations: Da uns bereits die Werte on und off über die Statusabfrage übergeben werden, müssen wir diese nicht verändern.

Outgoing Value Transformations: Da wir die Werte on und off auch als Ausgabe verwenden können, müssen wir diese ebenfalls nicht verändern.

Outgoing Value Format: Hier wird das Ausgabeformat festgelegt. Da die Glühbirne nur das JSON-Format {„turn“: „on“} und {„turn“: „off“} erlaubt, müssen wir dies anpassen und übergeben den gewünschten Parameter mit %s : {„turn“: „%s“}.

Nun zur Dimmfunktion:

Absolute Minimum: Hier wird der Wertebereich der Helligkeit in Prozent angegeben. Offiziell ist der Bereich von 1 bis 100 definiert. Jedoch hat dieser Bereich die Folge, dass in openHAB Dezimalzahlen und keine Ganzzahlen angezeigt werden und somit ggf. die Anzeige zerstört. Deswegen die Werte 0 bis 100.

Absolute Maximum: Hier wird der Maximalwert eingetragen.

Incoming Value Transformations: Über die Statusabfrage wird der Wert der Helligkeit nicht direkt übergeben sondern muss aus mehreren Werten aus einer JSON-Ausgabe herausgefiltert werden.

Outgoing Value Transformations: Da wir die Werte 0 bis 100 auch als Ausgabe verwenden können, müssen wir diese nicht verändern.

Outgoing Value Format: Hier wird das Ausgabeformat festgelegt. Da die Glühbirne nur das JSON-Format {„brightness“: 42} erlaubt, müssen wir dies anpassen und übergeben den gewünschten Parameter mit %s : {brightness: %s}.

Weitere Dokumentation:

Die MQTT-Übersicht von Shelly findet man hier.
Die MQTT-Übersicht von openHAB findet man hier.


Schlagwörter: , , ,
Copyright 2020. All rights reserved.

Veröffentlicht7. Dezember 2020 von JanPhilip in Kategorie "Smart Home

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.