Einheiten von Items richtig konfigurieren und anzeigen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
oh3twh
Beiträge: 20
Registriert: 26. Jan 2021 15:26
Answers: 0

Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von oh3twh »

Hi liebes Forum,

ich habe mal eine Frage, wie man Einheiten (Temperaturen in °C oder Preise in €) für Items konfiguriert.

Konkret habe ich das Problem bei meinem KM200 Binding (Buderus Connector). Bei einigen Werten haben die Items keine "°C" Einheiten.
Und ich kann nicht erkennen, wie man das ändert.

Hier im Beispiel: Vorlauf vs. Sollwert
temps.png
Ich bin die Items und Things und Channels sukzessive durchgegangen. Vielleicht habe ich generell etwas falsch verstanden, aber ich kann keine Konfig finden in der ich dem Item, Thing, Channel, etc die "Unit °C" ergänzen kann.

Könnt ihr mir auf die Sprünge helfen?

grüße
\thomas
von Darkwin101 » 1. Feb 2021 10:27
füge Metadata bei deinem Item ein, unter Pattern %.1f Einheit
Gehe zur vollständigen Antwort
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Detlef
Beiträge: 189
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von Detlef »

Hallo

ich habe gerade ein Temperatur Idem bearbeitet. Bei mir ist es ein "Number" . Bei mir war es so:
Idem / Edit dann Type: " Number " auf und "Number und Dimensionen" Temperatur auswählen eingerichtet.
Bei mir wurde dann Grad am Idem angezeigt. Aber Vorsicht bei mir läuft eine Rules was die Werte vom Idem ausliest.
Meine Rules macht nun Probleme, weil jetzt das Idem keine reine Zahl mehr ist?
Mit freundlichen Grüße aus Recklinghausen

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von Darkwin101 »

füge Metadata bei deinem Item ein, unter Pattern %.1f Einheit

Anbeku
Beiträge: 213
Registriert: 12. Nov 2020 10:26
Answers: 4

Re: Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von Anbeku »

Detlef hat geschrieben: 1. Feb 2021 10:25 Meine Rules macht nun Probleme, weil jetzt das Idem keine reine Zahl mehr ist?
So wird es sein. Dann musst du dem Vergleichswert auch eine Einheit geben

oh3twh
Beiträge: 20
Registriert: 26. Jan 2021 15:26
Answers: 0

Re: Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von oh3twh »

Darkwin101 hat geschrieben: 1. Feb 2021 10:27 füge Metadata bei deinem Item ein, unter Pattern %.1f Einheit
OK perfekt!! Das war der missing link in meinem Verständnis. VIELEN DANK!!!

Sind die Metadata-Konfigurationen irgendwo im OH3 Docu dokumentiert?

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von sihui »

oh3twh hat geschrieben: 1. Feb 2021 10:41 Sind die Metadata-Konfigurationen irgendwo im OH3 Docu dokumentiert?

https://www.openhab.org/docs/configurat ... esentation

Code: Alles auswählen

Number    Livingroom_Temperature   "Temperature [%.1f °C]"             // e.g. "23.5 °C"
String    Livingroom_TV_Channel    "Now Playing [%s]"                  // e.g. "Lorem ipsum"
DateTime  Livingroom_TV_LastUpdate "Last Update [%1$ta %1$tR]"         // e.g. "Sun 15:26"
Number    Livingroom_Clock_Battery "Battery Charge [%d %%]"            // e.g. "50 %"
Location  My_Location              "My Location [%2$s°N %3$s°E %1$sm]" // e.g. "49.26°N 123.19°E 0m"
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

starbright
Beiträge: 71
Registriert: 16. Jan 2023 19:27
Answers: 0

Re: Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von starbright »

Hab versucht die Unit per GUI einzustellen. Laut Doku gibt es sowohl % als auch ppm. Möchte ich für Luftfeuchte und CO2 Konzentration nutzen. Ok, das zweite ist speziell aber das es für Luftfeuchte nichts vorderfiniertes gibt ist komisch (openHAB 3.4)
https://v34.openhab.org/docs/concepts/u ... t-of-units
Ich kann aber nur number.dimensionless auswählen und dann wird "one" als Einheit angezeigt?!?
Oder wie bekomme ich das hin?

(Das ist eine MQTT channels sind die alle als Numbers definiert. Eines als Number.temperature - das funktioniert, die anderen als Number.dimensionless - weil was passendes gibt es da nicht)

Benutzeravatar
udo1toni
Beiträge: 13986
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von udo1toni »

Number:Dimensionless ist korrekt, Du musst anschließend die Unit aber noch auf % setzen, denn Dimensionless kann halt beides sein. Die Unit muss einmal in den Metadaten als Unit gesetzt werden und zusätzlich noch in der State Description im Pattern, z.B. %.1f %% für Prozent mit einer Nachkommastelle.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

starbright
Beiträge: 71
Registriert: 16. Jan 2023 19:27
Answers: 0

Re: Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von starbright »

Dankeschön - wie immer ein super Tip! Tatsächlich reicht in Metadata/State description/pattern (wie in deinem Beispiel). Andererseits gibt in den ChannelData/Configuration/advanced es einen Eintrag vom man Unit direkt eintragen kann, aber das führte nicht zum Erfolg.

Benutzeravatar
udo1toni
Beiträge: 13986
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Einheiten von Items richtig konfigurieren und anzeigen

Beitrag von udo1toni »

Nein, wenn Du openHAB4 einsetzt, ist der Unit-Parameter NICHT optional (leider ist er aber über die Metadaten realisiert, Du wirst also nicht gezwungen, ihn zu setzen).

Der Unit Parameter im UoM Item bestimmt, in welchem Format der Wert im Item vorliegt.

Beispiel:
Ein Channel liefert die Temperatur als Integerzahl in zehntel Grad Celsius (und weil ich es mir einfach mache, handelt es sich um einen mqtt Channel).
Du setzt im Channel selbst den Unit Parameter auf "d°C", also Dezigrad Celsius, womit der Wert als Grad Celsius mit einer Nachkommastelle im System landet, eine "eigene" Umrechnung ist also unnötig.
Du möchtest den Wert gerne in Kelvin speichern, weil Du Wissenschaftler bist ;) und trägst deshalb in der Item Unit "K" ein. Außerdem möchtest Du den Wert in °F mit einer Nachkommastelle anzeigen lassen und setzt entsprechend das State Description Pattern auf "%.1f °F".

Und weil das Item persistiert wird, bekommst Du im zugehörigen Chart den Messwert in K ausgegeben, denn die Persistence nutzt den Zahlenwert, so wie er im Item vorliegt (ohne Unit). Beim Auslesen der Persistence wiederum orientiert sich die Persistence ebenfalls am Unit-Parameter des Items, weshalb der Wert dann in einer Rule fehlerfrei als QuantityType mit welcher Einheit auch immer (solange es eine unterstützte Temperatureinheit ist) verwendet werden kann.

Ganz wichtig: die Item Unit wird nur einmalig gesetzt. Änderungen an dieser Stelle führen zu Fehlinterpretation aller bereits persistierten Daten (weil sich ja nun der Umrechnungsfaktor geändert hat, in der Datenbank wird die Einheit nicht gespeichert, schon gar nicht pro Messwert).
Das gleiche gilt (wenn als Option vorhanden) auch für den Unit Parameter im Channel, aber der ist ohnehin nicht frei wählbar, sondern abhängig vom real gelieferten Zahlenwert.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten