Seite 1 von 1

ListItem: Itemstate auf 2 Kommastellen beschränken in "Title"

Verfasst: 5. Dez 2022 07:03
von Grandlhuber
Hallo,

ich hoffe, mir kann bei meinem Kosmetikfehler einer helfen:

Ich habe (siehe Anhang) die Spannung der verschiedenen Phasen meines Smartmeters der PV-Anlage in den Titel der jeweiligen Items in einem ListItem eingebunden. Soweit so gut. Was aber stört, sieht man auf den ersten Blick auf die Anzeige: Die Spannung wird nicht auf 2 Stellen gerundet:
Leistungsanzeige.png
Die Daten kommen aus einem Number-Item, formatiert im Metadata "StateDescription" mit "%2.f Volt".

Wie schaffe ich es, die Werte in der Anzeige selbst zu runden? Gibt es da einen Trick?

Der Code zur Anzeige im ListItem lautet wie folgt:

Code: Alles auswählen

="L1 Leistung" +" ("+ items["Dummy_Modbus_Zaehler_L1_Spannung"].state + " V. )"
Bei den jeweiligen Phasen ist dann immer die Zahl nach dem "L" geändert.
Anscheinend übermittelt OH hier immer die Rohdaten (weil wegen dem .state eingeholt?) und ignoriert die Metadata :?:

Wäre ein Ansatz, es mit

Code: Alles auswählen

.state.toString().format("%.2f)
im Item des ListItems zu formatieren? Oder bin ich da mit meiner Überlegung falsch abgebogen?


Kann mir hier jemand auf die Sprünge helfen und mir zeigen, wie das behoben werden kann? Oder geht das in dieser Anzeige evtl. überhaupt nicht?

Vielen Dank,

Oli :ugeek:

Re: ListItem: Itemstate auf 2 Kommastellen beschränken in "Title"

Verfasst: 5. Dez 2022 11:40
von peter-pan
Ich denke, wenn du die Formatierung über die StateDescription vorgenommen hast, sollte es so reichen:

Code: Alles auswählen

="L1 Leistung" +" ("+ items["Dummy_Modbus_Zaehler_L1_Spannung"].displayState + " V. )"

Re: ListItem: Itemstate auf 2 Kommastellen beschränken in "Title"

Verfasst: 5. Dez 2022 14:04
von Grandlhuber
Danke danke 8-) ,

es kann so einfach sein wenn man weis, wie geht :lol: . Funzt wunderbar!

Gruß Oli :ugeek:

Re: ListItem: Itemstate auf 2 Kommastellen beschränken in "Title"

Verfasst: 5. Dez 2022 14:06
von peter-pan
...Immer gerne.