Formatierung für den Item Typ Number:Dimensionless
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Formatierung für den Item Typ Number:Dimensionless
Hallo Zusammen,
Ich möchte mir den Ladezustand verschiedener Batterien anzeigen lassen. So wird z. B. aktuell ein Wert von 0.98 statt 98.0 % angezeigt. Ein entsprechende Formatierung dazu habe ich noch nicht gefunden, oder muss ich das über eine Regel lösen?
Ich möchte mir den Ladezustand verschiedener Batterien anzeigen lassen. So wird z. B. aktuell ein Wert von 0.98 statt 98.0 % angezeigt. Ein entsprechende Formatierung dazu habe ich noch nicht gefunden, oder muss ich das über eine Regel lösen?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- peter-pan
- Beiträge: 2774
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Formatierung für den Item Typ Number:Dimensionless
Ich hab das mal mit drei Items getestet:
Das Ergebnis in OH3:
Wie du siehst, wird alles richtig angezeigt, sogar ohne Pattern. Was für eine Dimension verbirgt sich denn in deinem Item ? Hast du schon mal in der Konsole nachgeschaut, ob hier eine Quantity (UoM) mit gegeben wird ?
Bist du sicher, dass das Item einen Quantity-Type hat ?
Code: Alles auswählen
Number:Dimensionless OC_WaF_Current_Humidity "Aktuell Luftfeuchtigkeit [%.1f %unit%]" (gOCact) ["Measurement","Humidity"] {channel="openweathermap:onecall:bridge:local:current#humidity"}
Number:Dimensionless OC_WaF_Current_Cloudiness "Aktuell Bewölkung" (gOCact) ["Point"] {channel="openweathermap:onecall:bridge:local:current#cloudiness"}
Number:Dimensionless OC_WaF_ForecastToday_Cloudiness "Heute Bewölkung [%.1f %%]" (gOCact) ["Point"] {channel="openweathermap:onecall:bridge:local:forecastToday#cloudiness"}
Code: Alles auswählen
openhab> items list | grep -i _cloudiness
OC_WaF_Current_Cloudiness (Type=NumberItem, State=86 %, Label=Aktuell Bewölkung, Category=null, Tags=[Point], Groups=[gOCact])
OC_WaF_ForecastToday_Cloudiness (Type=NumberItem, State=83 %, Label=Heute Bewölkung, Category=null, Tags=[Point], Groups=[gOCact])
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.6 openhabian
- peter-pan
- Beiträge: 2774
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Formatierung für den Item Typ Number:Dimensionless
...einen hab ich noch. (Es hat mir keine Ruhe gelassen
) Wenn du tatsächlich einen Wert mit "Null-Komma-Irgendwas (0.68)" als Status in deinem Item stehen hast, könntest du das per Expression umrechnen.
Hier mal ein Beispiel in einer Label-Card:
Yaml-Code:
Damit wird dann nicht der Item-Status, sondern der Ausdruck, den du unter "Label" definiert hast ausgegeben.
Das sieht dann so aus:

Hier mal ein Beispiel in einer Label-Card:
Yaml-Code:
Code: Alles auswählen
component: oh-label-card
config:
item: Gosund_socket_02_VerbGesternt
title: "Batterie - Level Test "
label: =Number.parseInt(items.Gosund_socket_02_VerbGesternt.state*100)+ " %"
footer: =items.Gosund_socket_02_VerbGesternt.state
slots: null
Das sieht dann so aus:
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.6 openhabian
- udo1toni
- Beiträge: 15271
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Formatierung für den Item Typ Number:Dimensionless
ACH, das geht jetzt? Cool!
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
- peter-pan
- Beiträge: 2774
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Formatierung für den Item Typ Number:Dimensionless
Eigentlich wollte ich erst, was mit "split" und "slice" ausprobieren. Hab's aber nicht hingekriegt

Und dann hab ich durch Zufall das mit "parseInt" gefunden.
Es gibt sicher auch noch andere Möglichkeiten (parseFloat), aber wer gerne Dezimalwerte mit einer bestimmten Anzahl von Nachkommastellen ausgegeben haben will, der kann auch mit diesem Ausdruck weiter kommen.
Code: Alles auswählen
=(items.Gosund_socket_02_VerbGestern.state*100).toFixed(2)+ " %"
einsch. einem bestimmten Pattern.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.6 openhabian
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: Formatierung für den Item Typ Number:Dimensionless
@peter-pan
Auf den ersten Blick habe ich mir gedacht, das könnte funktionieren - leider nein. OH3 baue ich parallel auf einer NAS im Docker auf. Da vermute ich inzwischen schon, dass verschiedene Dinge anders interpretiert werden. Per Konsole komme ich auch nur über Putty auf OH und nach Eingabe von "items list | grep -i _cloudiness" erhalte ich die Meldung "Items: Befehl nicht gefunden".
Vielleicht sollte ich auch noch erwähnen, dass ich die Items nach einem Tipp aus diesem Forum lediglich von OH2.5 nach OH 3.01 kopiert habe. Da muss allerdings auch häufig noch einmal "Hand" angelegt werden.
Gruß
Auf den ersten Blick habe ich mir gedacht, das könnte funktionieren - leider nein. OH3 baue ich parallel auf einer NAS im Docker auf. Da vermute ich inzwischen schon, dass verschiedene Dinge anders interpretiert werden. Per Konsole komme ich auch nur über Putty auf OH und nach Eingabe von "items list | grep -i _cloudiness" erhalte ich die Meldung "Items: Befehl nicht gefunden".
Vielleicht sollte ich auch noch erwähnen, dass ich die Items nach einem Tipp aus diesem Forum lediglich von OH2.5 nach OH 3.01 kopiert habe. Da muss allerdings auch häufig noch einmal "Hand" angelegt werden.
Was heißt das genau und wie kann ich den Type ermitteln?Bist du sicher, dass das Item einen Quantity-Type hat ?
Gruß
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- peter-pan
- Beiträge: 2774
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Formatierung für den Item Typ Number:Dimensionless
Mit Konsole meinte ich die Karaf-Konsole.
Also wenn du mit Putty auf deinen OH-Rechner(Shell-Konsole) gehst, musst du anschliessend in die Karaf-Konsole gehen.
und dann kannst du deine Items selektieren:
Das Standard-Passwort für die Konsole ist "habopen". Nach einer gewissen Inaktivität wirst du automatisch aus der Karaf-Konsole ausgeloggt und bist dann wieder in der Shell-Konsole. Du kannst dich aber auch aktiv aus der Karaf-Konsole mit "logout" ausloggen.
Das ist übrigens in OH2 und OH3 gleich.
Edit: Poste mal das Item
Nochmal Edit: und anstelle von "-cloudiness" musst du natürlich ein Such-Muster deines Items eingeben
Also wenn du mit Putty auf deinen OH-Rechner(Shell-Konsole) gehst, musst du anschliessend in die Karaf-Konsole gehen.
Code: Alles auswählen
hab3@hostHAB3:~ $ openhab-cli console
Logging in as openhab
Password:
_ _ _ ____
___ ___ ___ ___ | | | | / \ | __ )
/ _ \ / _ \ / _ \ / _ \ | |_| | / _ \ | _ \
| (_) | (_) | __/| | | || _ | / ___ \ | |_) )
\___/| __/ \___/|_| |_||_| |_|/_/ \_\|____/
|_| 3.1.0.M2 - Milestone Build
Use '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
To exit, use '<ctrl-d>' or 'logout'.
openhab>
Code: Alles auswählen
openhab> items list | grep -i _cloudiness
OC_WaF_ForecastDay3_Cloudiness (Type=NumberItem, State=12 %, Label=Tag 3 Bewölkung, Category=null, Tags=[Point], Groups=[gOCact])
OC_WaF_ForecastDay5_Cloudiness (Type=NumberItem, State=86 %, Label=Tag 5 Bewölkung, Category=null, Tags=[Point], Groups=[gOCact])
OC_WaF_ForecastDay4_Cloudiness (Type=NumberItem, State=36 %, Label=Tag 4 Bewölkung, Category=null, Tags=[Point], Groups=[gOCact])
OC_WaF_ForecastTomorrow_Cloudiness (Type=NumberItem, State=2 %, Label=Morgen Bewölkung, Category=null, Tags=[Point], Groups=[gOCact])
OC_WaF_Current_Cloudiness (Type=NumberItem, State=25 %, Label=Aktuell Bewölkung, Category=null, Tags=[Point], Groups=[gOCact])
OC_WaF_ForecastToday_Cloudiness (Type=NumberItem, State=97 %, Label=Heute Bewölkung, Category=null, Tags=[Point], Groups=[gOCact])
OC_WaF_ForecastDay2_Cloudiness (Type=NumberItem, State=99 %, Label=Tag 2 Bewölkung, Category=null, Tags=[Point], Groups=[gOCact])
openhab>
Das ist übrigens in OH2 und OH3 gleich.
Was sagt denn deine Binding-Beschreibung zu dem entsprechenden Channel ?
Edit: Poste mal das Item
Nochmal Edit: und anstelle von "-cloudiness" musst du natürlich ein Such-Muster deines Items eingeben

Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.6 openhabian
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: Formatierung für den Item Typ Number:Dimensionless
Hier das Item:
Code: Alles auswählen
// Item Wohnen
Number HTwohnenDeviceWifiSignal "Signalstärke" {channel="shelly:shellyht:955aae:device#wifiSignal"}
Number:Time HTwohnenDeviceUptime "Laufzeit" {channel="shelly:shellyht:955aae:device#uptime"}
Switch HTwohnenDeviceUpdateAvailable "Firmwareaktualisierung vorhanden" {channel="shelly:shellyht:955aae:device#updateAvailable"}
Number:Temperature HTwohnenSensorsTemperature "Sensors temperature" {channel="shelly:shellyht:955aae:sensors#temperature"}
Number:Dimensionless HTwohnenSensorsHumidity "Sensors humidity" {channel="shelly:shellyht:955aae:sensors#humidity"}
String HTwohnenDeviceWakeupReason "Device wakeup reason" {channel="shelly:shellyht:955aae:device#wakeupReason"}
Number:Dimensionless HTwohnenBatteryBatteryLevel "Battery level [%.1f %unit%]" {channel="shelly:shellyht:955aae:battery#batteryLevel"}
Switch HTwohnenBatteryLowBattery "Battery low battery" {channel="shelly:shellyht:955aae:battery#lowBattery"}
Number:ElectricPotential HTwohnenBatteryVoltage "Battery voltage" {channel="shelly:shellyht:955aae:battery#voltage"}
DateTime HTwohnenSensorsLastUpdate "Sensors last update" {channel="shelly:shellyht:955aae:sensors#lastUpdate"}
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- peter-pan
- Beiträge: 2774
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Formatierung für den Item Typ Number:Dimensionless
Vorab, dass mit der Konfiguration in Text-Form ist kein Problem in OH3. Ich selber habe nur Text-Items in OH3 im Einsatz. Natürlich mit den OH3-spezifischen Erweiterungen (Tags) für das semantische Modell und noch ein paar Ergänzungen für Meta-Daten z.B. für bestimmte Widgets (Stepper) und evtl. einige Patterns. Lediglich bei den Things fahre ich zweigleisig. Das habe ich aber auch schon bei OH2 gemacht (Homematic).
Ich habe leider keine Shellies im Einsatz, deshalb kann ich auch nur vermuten. Aber ich habe beim Querlesen des Bindings keinen direkten Hinweis auf Quantity-Type (UoM)-Items gefunden, lediglich, dass es sich um einen %-Wert handeln soll.
Ich nehme an, dass du dieses Item meinst:
Das sieht eigentlich vom Aufbau her soweit ganz gut aus.
Dazu gleich eine Frage! Bekommst du in OH2 einen %-Wert angezeigt, oder ist es da auch ein Dezimal-Wert zwischen 0 und 1 ?
Wie schon weiter vorne beschrieben, kannst du dir die State-Werte in der Karaf-Konsole anschauen(OH2/OH3). Das Kommando wäre in diesem Fall
Eine weitere Möglichkeit der Anzeige wäre noch REST-Api (OH2) bzw. API-Explorer (OH3).
In OH3 gäbe es auch noch eine dritte Möglichkeit, die Developer-Sidebar. Hier kannst du einfach mal den Ausdruck: in den Expression-Tester eintippen, dann würdest du den tatsächlichen "State" sehen, entweder mit UoM oder ohne.
Beispiel: Beispiel mit UoM: Das wäre jetzt mal im ersten Schritt zu klären. Welchen Wert enthält dein Item ?
Ich habe leider keine Shellies im Einsatz, deshalb kann ich auch nur vermuten. Aber ich habe beim Querlesen des Bindings keinen direkten Hinweis auf Quantity-Type (UoM)-Items gefunden, lediglich, dass es sich um einen %-Wert handeln soll.
Ich nehme an, dass du dieses Item meinst:
Code: Alles auswählen
Number:Dimensionless HTwohnenBatteryBatteryLevel "Battery level [%.1f %unit%]" {channel="shelly:shellyht:955aae:battery#batteryLevel"}
Dazu gleich eine Frage! Bekommst du in OH2 einen %-Wert angezeigt, oder ist es da auch ein Dezimal-Wert zwischen 0 und 1 ?
Wie schon weiter vorne beschrieben, kannst du dir die State-Werte in der Karaf-Konsole anschauen(OH2/OH3). Das Kommando wäre in diesem Fall
Code: Alles auswählen
items list | grep -i HTwohnenBatteryBatteryLevel
In OH3 gäbe es auch noch eine dritte Möglichkeit, die Developer-Sidebar. Hier kannst du einfach mal den Ausdruck:
Code: Alles auswählen
=items.HTwohnenBatteryBatteryLevel.state
Beispiel: Beispiel mit UoM: Das wäre jetzt mal im ersten Schritt zu klären. Welchen Wert enthält dein Item ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.6 openhabian
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: Formatierung für den Item Typ Number:Dimensionless
So, nun hab ich alles noch einmal überarbeitet, d. h. Things und Items nach der OH Doku neu geschrieben. Dabei sind einige, kleinere Änderungen entstanden. Und siehe da: es funktioniert alles wie gewünscht. Bei der Shelly-Variante "H&T" handelt es sich um Thermometer, welche die meiste Zeit offline sind. Zu einrichten muss man sie dann aufwecken, damit OH die Things bilden kann.
Grundsätzlich habe ich durch dich wieder einiges dazu gelernt, danke dafür! Eine Frage hätte ich abschließend allerdings noch an dich: kopierst du die Things und Items ebenfalls oder gibt es eine Möglichkeit zum importieren bzw. konvertieren?
Grundsätzlich habe ich durch dich wieder einiges dazu gelernt, danke dafür! Eine Frage hätte ich abschließend allerdings noch an dich: kopierst du die Things und Items ebenfalls oder gibt es eine Möglichkeit zum importieren bzw. konvertieren?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's