FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: seule3008 am 24 November 2017, 15:24:38

Titel: stateFormat errechneten wert ohne Nachkommastellen und mit Einheit anzeigen?
Beitrag von: seule3008 am 24 November 2017, 15:24:38
Hallo

ich habe ein HM-sen-wa-od in meiner Zisterne hängen und der gibt mir eine Prozentualen wert aus. Diesen möchte ich allerdings in Litern angezeigt bekommen. Soweit so gut, die Literzahl berechnen hat geklappt mit einer Formel die ich hier gefunden habe und auf mich abgeändert habe, aber je nach Wert habe ich da Nachkommastellen die bei einer Zisterne einfach überflüssig sind. Außerdem habe ich es nicht hinbekommen eine einfache Einheit wie Liter dazu zu schreiben. Dazu habe ich jetzt ein webcmd ohne Funktion erstellt was aber ja bestimmt nicht im sinne des Erfinders ist. Vielleicht kann mir einer von euch Helfen denn was Pearl angeht bin ich nicht sehr bewandert.

Hier meine jetzige Formel:

{ ReadingsVal("Zisterne","level",0)*3431/100;; }

Sie soll auf ganze zahlen runden und die Einheit dahinter haben wie macht man das?

Danke schonmal im Voraus

Christian




Titel: Antw:stateFormat errechneten wert ohne Nachkommastellen und mit Einheit anzeigen?
Beitrag von: CoolTux am 24 November 2017, 15:35:55
Du kannst round(), int() verwenden, oder printf

printf("%.2f\n", 123.0000);
Titel: Antw:stateFormat errechneten wert ohne Nachkommastellen und mit Einheit anzeigen?
Beitrag von: JensS am 24 November 2017, 17:36:36
Wenn du zuvor ein eigenes Reading "Inhalt" erzeugst, kannst du das später für evtl. DOIFs gebrauchen.
attr Zisterne userReadings Inhalt {sprintf "%i" , (ReadingsVal("Zisterne","level",0)*3431/100)}
Die Liter hängst du für die Ansicht mit stateFormat dran.
attr Zisterne stateFormat Inhalt l

Gruß Jens
Titel: Antw:stateFormat errechneten wert ohne Nachkommastellen und mit Einheit anzeigen?
Beitrag von: seule3008 am 24 November 2017, 20:22:29
Vielen Dank Funktioniert super.