stateFormat errechneten wert ohne Nachkommastellen und mit Einheit anzeigen?

Begonnen von seule3008, 24 November 2017, 15:24:38

Vorheriges Thema - Nächstes Thema

seule3008

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





CoolTux

Du kannst round(), int() verwenden, oder printf

printf("%.2f\n", 123.0000);
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

JensS

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
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

seule3008