Anzeige von Temperaturen
-
- Beiträge: 36
- Registriert: 17. Sep 2020 15:03
Anzeige von Temperaturen
Hallo zusammen,
ich habe in meinem System aktuell 3 Temperaturmesser von Aqara laufen. Diese laufen auch soweit gut, jedoch macht Openhab hin und wieder die Anzeige sehr komisch und nicht passend zum Anzeige Pattern?
Nach Pattern sollte die Anzeige so formatiert werden: %.1f %unit%
Anzeige springt aber bei allen drei immer mal wieder auf so etwas: 14.50000000000001 °C Das Item ist vom Type Number, hat die Dimension Temperatur mit der Unit °C und ist als Semantic Class Point. Das sieht für den Anwender in der Anzeigeoberfläche natürlich bescheiden aus. Kann ich das unterbinden?
Gruß
Happy
ich habe in meinem System aktuell 3 Temperaturmesser von Aqara laufen. Diese laufen auch soweit gut, jedoch macht Openhab hin und wieder die Anzeige sehr komisch und nicht passend zum Anzeige Pattern?
Nach Pattern sollte die Anzeige so formatiert werden: %.1f %unit%
Anzeige springt aber bei allen drei immer mal wieder auf so etwas: 14.50000000000001 °C Das Item ist vom Type Number, hat die Dimension Temperatur mit der Unit °C und ist als Semantic Class Point. Das sieht für den Anwender in der Anzeigeoberfläche natürlich bescheiden aus. Kann ich das unterbinden?
Gruß
Happy
Ich mach das auch nur mit "try and error". Aber ich hab mir mal das widget angeschaut und diesen Ausdruck eingearbeitet.
Ergebnis:
Das UoM-Item sieht so aus:
Vielleicht klappt's mit dieser Version.
Hier noch der ganze Yaml-Code:
Den Namen der uid des widgets kannst du ja selbst anpassen.
Gehe zur vollständigen AntwortCode: Alles auswählen
label: '= (props.tmp_label ? props.tmp_label + " " : "") +
(items[props.tmp_item].displayState || items[props.tmp_item].state) + (props.tmp_suffix ? " " + props.tmp_suffix :
"")'
Hier noch der ganze Yaml-Code:
Code: Alles auswählen
uid: z_testTemperatureHumidity
tags:
- humidity
- standalone
- temperature
props:
parameters:
- description: Title of the cell.
label: Title
name: title
required: true
type: TEXT
groupName: title
- context: item
description: The state of this item will be displayed as temperature.
label: Temperature item
name: tmp_item
required: true
type: TEXT
groupName: items
- context: item
description: The state of this item will be displayed as humidity.
label: Humidity item
name: hum_item
required: true
type: TEXT
groupName: items
- context: item
description: The display state of this item will be displayed as last update
timestamp. Use an item with the timestamp as state and set the pattern
of the "State Description" metadata to format the timestamp.
label: Last update item
name: update_item
required: false
type: TEXT
groupName: items
- description: Label to be displayed in front of the temperature.
label: Temperature Label
name: tmp_label
required: false
type: TEXT
groupName: labels
- description: Suffix to be displayed after the temperature.
label: Temperature Suffix
name: tmp_suffix
required: false
type: TEXT
groupName: labels
- description: Label to be displayed in front of the humidity.
label: Humidity Label
name: hum_label
required: false
type: TEXT
groupName: labels
- description: Suffix to be displayed after the humidity.
label: Humidity Suffix
name: hum_suffix
required: false
type: TEXT
groupName: labels
- description: Label to be displayed in front of the last update timestamp.
label: Last Update Label
name: update_label
required: false
type: TEXT
groupName: labels
parameterGroups:
- name: title
label: Title
- name: items
label: Items
- name: labels
label: Labels
timestamp: Dec 18, 2024, 7:47:19 PM
component: oh-label-cell
config:
action: analyzer
actionAnalyzerItems: =[props.hum_item, props.tmp_item]
expandable: false
footer: '= (props.update_item ? (props.update_label ? props.update_label :
"") + " " + items[props.update_item].displayState : "")'
header: = props.title
icon: oh:temperature
label: '= (props.tmp_label ? props.tmp_label + " " : "") +
(items[props.tmp_item].displayState || items[props.tmp_item].state) + (props.tmp_suffix ? " " + props.tmp_suffix :
"")'
subtitle: '= (props.hum_label ? props.hum_label + " " : "") +
items[props.hum_item].state + (props.hum_suffix ? " " + props.hum_suffix :
"")'
trendItem: = props.tmp_item
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 489
- Registriert: 30. Apr 2021 13:13
Re: Anzeige von Temperaturen
Moin,
schau mal bitte ob es beim Item unter Metadata wirklich ein Eintrag "State Description" gibt. Dieser sollte folgenden Wert haben
schau mal bitte ob es beim Item unter Metadata wirklich ein Eintrag "State Description" gibt. Dieser sollte folgenden Wert haben
Code: Alles auswählen
%.2f %unit%
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Anzeige von Temperaturen
Welche Version von openHAB nutzt Du?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 36
- Registriert: 17. Sep 2020 15:03
Re: Anzeige von Temperaturen
Hi,
Aktuell nutze ich die Version 4.3.0!
Ja ich habe eine StateDesciption in der der Pattern gesetzt ist: Mir ist jetzt noch aufgefallen, in der ItemAnzeige selbst werden immer nur 2 Nachkommastellen angezeigt. in Der Itemlist aber dann schon nicht mehr. Gruß
Happy
Aktuell nutze ich die Version 4.3.0!
Ja ich habe eine StateDesciption in der der Pattern gesetzt ist: Mir ist jetzt noch aufgefallen, in der ItemAnzeige selbst werden immer nur 2 Nachkommastellen angezeigt. in Der Itemlist aber dann schon nicht mehr. Gruß
Happy
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- lenschith
- Beiträge: 313
- Registriert: 11. Dez 2020 22:36
Re: Anzeige von Temperaturen
das ist richtig so. einmal ist der Wert geändert mit den Pattern und das in der Übersicht ist der tatsächliche Wert.
in den Widgets
https://www.openhab.org/docs/ui/widget- ... ables.html
Gruß Lenschi
in den Widgets
ist der tatsächliche Wert und.state
zeigt den manipulierten Wert, also den den du über die Pattern rundest..displayState
https://www.openhab.org/docs/ui/widget- ... ables.html
Gruß Lenschi
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED
-
- Beiträge: 36
- Registriert: 17. Sep 2020 15:03
Re: Anzeige von Temperaturen
ok, in rules, oder einer BasicUI Datei könnte ich dann anstatt .state auf .diplayState gehen. Aber wie mache ich das an der Oberfläche wenn ich in einer Page ein Widget konfiguriere. Da gebe ich ja nur das anzuzeigende Item an.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Anzeige von Temperaturen
Was ist denn das für ein Widget ? Wenn es ein Custom-Widget ist, müsstest du ggf. am Code etwas ändern.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 36
- Registriert: 17. Sep 2020 15:03
Re: Anzeige von Temperaturen
Ist im Add-On Store als User Interface drin.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- lenschith
- Beiträge: 313
- Registriert: 11. Dez 2020 22:36
Re: Anzeige von Temperaturen
Das widget findest du nach der Installation in den Entwickler Tools/Widgets und dort kannst du das anpassen. Im Quellcode steht dort
.state
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED
-
- Beiträge: 36
- Registriert: 17. Sep 2020 15:03
Re: Anzeige von Temperaturen
Danke für die Info, habe es angepasst. Jetzt werden mir die Werte mal angezeigt und ganz oft als undefined angezeigt.
Ich habe das widget dann nochmal gelöscht und neu installiert, dann waren die Werte wieder sichtbar. Dann wieder state durch displayState ersetzt und wieder undefined.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.