Seite 1 von 1

HABpanel - Formatierung der Item-Werte

Verfasst: 18. Mai 2021 22:24
von ErrPunktErr
Hallo zusammen,

ich habe mittlerweile meine komplette Heimsteuerung in HABpanel abgebildet und dafür auch ein paar eigene Widgets gebastelt. Allerdings schaffe ich es nicht dass die in openHAB eingestellet Formatierung (Item -> Metadata -> State Description) auch in den Widgets angezeigt wird.

Konkret: Die State Description wird ignoriert, und manchmal sehen die Werte so aus.
Bildschirmfoto vom 2021-05-16 23-10-06.png
Das tritt aber NUR bei meinen eigenen Widgets auf. Bei den HABpanel eigenen Widgets kann man ja meist einen Haken setzen "Nutze Server Formatierung" oder so ähnlich. Wie mache ich das denn in einem custom widget?

Mein Code sieht so aus:

Code: Alles auswählen

...
<span class="itemValue">{{itemState(config.itemHumidity)}}</span>
...
Laut "Doku" (soweit man das überhaupt so bezeichnen kann) sollte itemState automatisch die Serverformatierung übernehmen und bietet nur einen optionalen Parameter wenn man die Daten Raw haben möchte. Aber selbst wenn ich itemState(config.itemHumidity, false) oder itemState(config.itemHumidity, true) verwende, ändert sich nichts an der Ausgabe. Hat hier vielleicht jemand einen Tip für mich?

Re: HABpanel - Formatierung der Item-Werte

Verfasst: 19. Mai 2021 10:30
von oh73
ja, in den selbst erstellten Widget wird die Formatierung nicht übernommen, aber es geht mit

Code: Alles auswählen

{{'%.0f Mhz' | sprintf:itemValue('pi3_cpu')}} 

Re: HABpanel - Formatierung der Item-Werte

Verfasst: 19. Mai 2021 20:47
von ErrPunktErr
Das hatte ich auch schon irgendwo gefunden und ausprobert. Hat aber leider nur dazu geführt dass gar keine Verarbeitung mehr stattfand und der Code direkt ausgegeben wurde. Somit dachte ich das sei veraltet. (itemValue ist ja selbst schon legacy Code).

Code: Alles auswählen

{{'%.0f' | sprintf:itemState(config.itemHumidity)}}
führt zu
Bildschirmfoto vom 2021-05-19 20-46-31.png
Und auch mit itemValue funktioniert es nicht.

Re: HABpanel - Formatierung der Item-Werte

Verfasst: 19. Mai 2021 20:54
von ErrPunktErr
Ach Mensch... kaum geantwortet, schon durchfuhr mich der Geistesblitz. :D

Das Item liefert einen String mit Einheit. In diesem Fall z.B. "52,00000000001 %".
%.0f erwartet aber eine Fließkommazahl.

So gehts:

Code: Alles auswählen

{{'%.1f %%' | sprintf:itemState(config.itemHumidity).split(' ')[0]}}
Danke für die Hilfe.