Hallo Zusammen,
da ich noch nicht so tief in Openhab/Programmierung drin hänge mal eine Frage.
Vielleicht für den Ein oder Anderen ein klaks
Ich bekomme von den Luftreinigern von Vesync die Werte 1-5 übergeben. Ich fände es nun schön,
wenn statt Luftqualität 1 da nun ein Sehr gut stehen würde, bei 2 gut, 3 mäßig etc ...
Heißt, wie kriege ich die numerischen Zahlen in "Wörtern" angezeigt.
Kann man das irgendwie realisieren ? (auch so, das ich es verstehe )
Schonmal vielen Dank im voraus
Frank
Vesync Binding Werte umwandeln
Moderator: seppy
- udo1toni
- Beiträge: 14034
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Vesync Binding Werte umwandeln
Das geht sehr einfach, dafür gibt es den Map Transformation Service (Add-on Store - Other Addons - Transformation Add-ons).
Bis einschließlich openHAB3.4.5 musste die Zuordnung in einer Datei erfolgen (Name z.B. luftguete.map):
oder wie auch immer und die Datei musste im Ordner /etc/openhab/transform/ gespeichert sein.
Seit openHAB 4 kannst Du die Zuordnung auch direkt in der UI eingeben (Einstellungen - Configuration - Transformations - weißes plus in blauem Kreis - MAP auswählen, Unique ID z.B. auf luftguete setzen, Label z.B. auf Luftgüte, Sprache auf deutsch und Create wählen.
Im Texteditor anschließend die Zuordnungen eintragen (genau wie oben gezeigt)
Ganz unten ganz rechts (unterhalb des Textbereichs) gibt es dann noch einen sehr unscheinbaren blauen Pfeil nach oben, mit dem man die Metadaten des Mappings einblenden kann - mitsamt dem Hint, wie das Mapping verwendet wird.
Damit in der UI der Text statt der Zahl angezeigt wird, musst Du noch in der State Description (Item Metadaten) im Pattern eintragen.
Alternativ kannst Du die Werte auch direkt in der State Description unter Options eintragen (genau wie oben als Liste der Zuordnungen), wenn es um ein einzelnes Item geht, ist das der schnellere Weg. Wenn man aber mehrere gleichartige Items hat, wird es schnell lästig, dass man die Zuordnungen bei jedem Item einzeln einfügen muss (auch wenn man die Transformation ja auch von Hand vornehmen muss...).
Das Item behält weiterhin den Zahlwert, es bleibt also auch ein Number Item. Alternativ kannst Du auch ein String Item definieren und die Transformation zu Text im Profile erledigen, dann ist aber der Text im Status, nicht die Zahl.
Die drei letzten Zuordnungen in der Liste oben sorgen dafür, dass auch im Fehlerfall ein definierter (deutscher) Text erscheint.
Bis einschließlich openHAB3.4.5 musste die Zuordnung in einer Datei erfolgen (Name z.B. luftguete.map):
Code: Alles auswählen
1=sehr gut
2=gut
3=befriediegend
4=ausreichend
5=mangelhaft
6=ungenügend
-=-
NUDEF=ungültig
NULL=leer
Seit openHAB 4 kannst Du die Zuordnung auch direkt in der UI eingeben (Einstellungen - Configuration - Transformations - weißes plus in blauem Kreis - MAP auswählen, Unique ID z.B. auf luftguete setzen, Label z.B. auf Luftgüte, Sprache auf deutsch und Create wählen.
Im Texteditor anschließend die Zuordnungen eintragen (genau wie oben gezeigt)
Ganz unten ganz rechts (unterhalb des Textbereichs) gibt es dann noch einen sehr unscheinbaren blauen Pfeil nach oben, mit dem man die Metadaten des Mappings einblenden kann - mitsamt dem Hint, wie das Mapping verwendet wird.
Damit in der UI der Text statt der Zahl angezeigt wird, musst Du noch in der State Description (Item Metadaten) im Pattern
Code: Alles auswählen
MAP(config:map:luftguete:de):%s
Alternativ kannst Du die Werte auch direkt in der State Description unter Options eintragen (genau wie oben als Liste der Zuordnungen), wenn es um ein einzelnes Item geht, ist das der schnellere Weg. Wenn man aber mehrere gleichartige Items hat, wird es schnell lästig, dass man die Zuordnungen bei jedem Item einzeln einfügen muss (auch wenn man die Transformation ja auch von Hand vornehmen muss...).
Das Item behält weiterhin den Zahlwert, es bleibt also auch ein Number Item. Alternativ kannst Du auch ein String Item definieren und die Transformation zu Text im Profile erledigen, dann ist aber der Text im Status, nicht die Zahl.
Die drei letzten Zuordnungen in der Liste oben sorgen dafür, dass auch im Fehlerfall ein definierter (deutscher) Text erscheint.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet
-
- Beiträge: 5
- Registriert: 9. Okt 2023 22:23
Re: Vesync Binding Werte umwandeln
Danke Dir,
habs so hinbekommen
Man lernt immer dazu !
Gruß
Frank
habs so hinbekommen
Man lernt immer dazu !
Gruß
Frank