Kein Problem
UoM -> Units of Measurement -> Messwert wird mitsamt der Einheit gehalten. Momentan ist das noch optional, wird aber in kommenden Versionen obligatorisch sein. Wenn ein Channel den Wert mitsamt Einheit liefert, muss das Item dann den Wert auch mit Einheit weiterverarbeiten.
Mittlerweile stellen fast alle Bindings Messwerte als QuantityType zur Verfügung (QuantityTpe ist der Datentyp für UoM, so wie Float für Fließkommazahlen oder Integer für ganze Zahlen) und an vielen Stellen kann man es nachrüsten (z.B. mqtt oder http, dort gibt es in
number Channels immer auch den Parameter
unit).
UoM beschert dem Anwender zusätzliche Arbeit, weil man nun immer die Einheit mitdenken muss (insbesondere in Rules).
Auf der anderen Seite bringt UoM aber auch Vorteile, z.B.: der Channel liefert eine Ganzzahl, diese steht für die Temperatur, allerdings mit einer Nachkommastelle, statt 22,5 °C wird also 225 als Zahl gesendet. Ich füge als Einheit nun "D°C" und schon verschiebt openHAB das Komma um eine Stelle, ganz ohne zusätzliche Funktionen. Will ich die Temperatur nun darstellen, möchte ich dies vielleicht in °F machen, kein Thema, als stateDescription setze ich "%.1f °F" und schon steht die Temperatur in °F mit einer Nachkommastelle da (und die Umrechnung ist ja durchaus nicht ganz so eingängig...)
Und vielleicht möchte die Werte später aus der Persistence in eine wissenschaftliche Anwendung übernehmen, also sorge ich dafür, dass der Messwert in Kelvin gespeichert wird, also fix die Unit des Items auf K stellen und schon landet der Wert in Kelvin in der Datenbank, ganz ohne zusätzliche Berechnungen.
Ein typisches UoM Item:
Code: Alles auswählen
Number:Temperature Temp_Aussen "Außentemperatur" <temperature> (gAussen) ["Measurement","Temperature"] {channel="uid:des:channels", unit="°C", stateDescription=""[pattern="%.1f °C"]}
Vorne der Typ, dann der Name und das Label (alles wie gehabt), das icon und die Gruppe(n), dann die Tags, hier handelt es sich um einen Messwert vom Typ Temperatur, abschließend der Link zum Channel, mitsamt Definition der Unit und des Patterns, welches sowohl in der Main UI als auch in Basic UI verwendet wird (man muss es also nicht mehr zum Label dazu schreiben).
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet