Kommastellen begrenzen

Begonnen von stgeran, 15 April 2024, 09:47:38

Vorheriges Thema - Nächstes Thema

stgeran

Wie kann ich die Kommastellen begrenzen?
Verbrauch_korrigiert
0.215000000000146
Ich habe einen neuen Gaszähler mit 0,170m³ Anzeige
mein "Gas" zeigt
AW

CNT: 105 CUM: 508 5MIN: 4 TOP: 508

2024-04-15 09:43:03
Verbrauch_korrigiert

0.235000000000582

2024-04-15 09:43:03
basis

16014818

2024-04-14 06:49:33
cum_day

CUM_DAY: 1.895 CUM: 28452.455 COST: 0.00

2024-04-15 00:01:47
cum_month

CUM_MONTH: 254.765 CUM: 28397.170 COST: 0.00

2024-04-01 00:02:58
current

0.02

2024-04-15 09:43:03
current_cnt

4

2024-04-15 09:43:03
peak

0.0295275590551181

2024-04-15 09:43:03
peak_cnt

508

2024-04-15 09:43:03
seqno

105

2024-04-15 09:43:03
state

CNT: 105 CUM: 28453.630 5MIN: 0.020 TOP: 0.030

2024-04-15 09:43:03
total

28453.63

2024-04-15 09:43:03
total_cnt

508

2024-04-15 09:43:03
tsecs

1713166982

2024-04-15 09:43:03

Der "total"Wert stammt aus dem alten Zähler.
Dann habe ich als Tip vom Forum ein userreading eingeführt
userReadings

Verbrauch_korrigiert:total:.* {ReadingsNum($name, 'total',0) - 28453.395000000000146}
Das stimmt auch so weit, aber die vielen Kommastellen hätte ich gerne weg.

Oder wie kann ich generell bei "0" anfangen? also das alte reading "total" löschen?
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

betateilchen

Zitat von: stgeran am 15 April 2024, 09:47:38userReadings

Verbrauch_korrigiert:total:.* {ReadingsNum($name, 'total',0) - 28453.395000000000146}
Das stimmt auch so weit, aber die vielen Kommastellen hätte ich gerne weg.

Dann runde den Wert doch einfach?

Verbrauch_korrigiert:total:.* {round((ReadingsNum($name, 'total',0) - 28453.395000000000146),0)}
Zitat von: stgeran am 15 April 2024, 09:47:38Oder wie kann ich generell bei "0" anfangen? also das alte reading "total" löschen?

Entweder, das reading auf 0 setzen:

setreading <deviceName> total 0
oder das reading löschen, wenn es sonst nirgends benutzt wird:

deletereading <deviceName> total
Sowohl nach dem setreading als auch nach dem deletereading solltest Du ein "save config" ausführen, damit der neue Zustand persistiert wird.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

stgeran

FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

juemuc

Du kannst aber auch einfach das Attribut "stripnumber" verwenden, um die Anzahl der Nachkommastellen zu definieren.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

zap

Zitat von: juemuc am 15 April 2024, 13:38:24Du kannst aber auch einfach das Attribut "stripnumber" verwenden, um die Anzahl der Nachkommastellen zu definieren.

Viele Grüße
Jürgen

Sofern er HMCCU verwendet. Das wird aus dem ersten Beitrag nicht klar.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

betateilchen

Mir ist überhaupt nicht klar, was die Fragestellung mit Homematic zu tun hat.

War mir aber bei meiner Antwort auch völlig egal, das Runden und das Setzen/Löschen von readings funktioniert device-type-unabhängig  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

stgeran

@betateilchen: Sorry, ich hätte es unter SlowRF posten sollen. Trotzdem danke nochmal für die Antwort.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

betateilchen

Zitat von: stgeran am 15 April 2024, 20:41:06@betateilchen: Sorry, ich hätte es unter SlowRF posten sollen.

Den Button zum Verschieben in den richtigen Bereich findest Du unten links.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!