Rechnen mit Readings "wie ist das mit Punkt vor Stirich "? ( gelöst)

Begonnen von wendeling, 28 August 2021, 10:05:56

Vorheriges Thema - Nächstes Thema

wendeling

Hallo,
stehe momentan auf dem Schlauch, habe bei mir eine Höhenmessung bei meiner Zisterne eingebaut.
D.h. um so geringer der Abstand umso mehr Wasser ist vorhanden.
habe nun folgendes versucht :

WasserVolumen {ReadingsVal("MQTT2_DVES_B5F6E6","SR04_Distance",0)-100*43 ." L"}


es wird mir zwar ein Wert berechnet, aber es müsste zuerst 100 abgezogen werden und dann mit 43 multipliziert werden, dann wäre es korrekt . Aber mit dieser Folmel funktioniert es nicht.
Was muss ich ändern ?
Habe schon einiges versucht, aber da erhalte ich einen Syntax Error.

Vielen Dank
Wendelin


MadMax-FHEM

#1
Was spricht gegen Klammern?

Also ich nehme an userReadings?

Da solltest du einen Trigger setzen!!
Ich nehme auch an, dass das userReadings beim Device MQTT2_DVES_B5F6E6 "hängt"?

Bei Rechnen mit Zahlen besser ReadingsNum statt ReadingsVal...

Das funktioniert nicht?


WasserVolumen {(ReadingsNum($name,"SR04_Distance",0)-100) * 43 ." L"}


Besser:

WasserVolumen:SR04_Distance.* {(ReadingsNum($name,"SR04_Distance",0)-100) * 43 ." L"}


EDIT: wenn es Fehler gibt, wäre es gut diese zu sehen und besser auch ein list des Devices statt mit irgendwelchen kurzen Schnipseln "rumzuwerfen" (ohne irgendeine Erläuterung worum es sich handelt etc.), sonst muss man viel raten/annehmen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

wendeling


wendeling

Hallo,
jetzt noch eine Frage , wie kann ich die Nachkommastellen weglassen ?

Gruß
Wendelin

TomLee

Mit dem vierten Parameter round in ReadingsNum, wäre eine Möglichkeit.

ZitatReadingsNum(<devicename>,<reading>, <defaultvalue>,<round>)
Gibt die erste Zahl aus dem Readingswert zurück. Falls <round> spezifiziert ist, wird sie auf diese Anzahl von Dezimalstellen gerundet und ggf. mit 0 aufgefüllt, wenn <round> größer ist als die Anzahl der Dezimalstellen.

MadMax-FHEM

Zitat von: wendeling am 29 August 2021, 13:44:25
Hallo,
jetzt noch eine Frage , wie kann ich die Nachkommastellen weglassen ?

Gruß
Wendelin

Nachkommastellen von was?

Vom Ergebnis?
(gibt es da Nachkommastellen?)
Dann mit int()

WasserVolumen {int((ReadingsNum($name,"SR04_Distance",0)-100) * 43) ." L"}


Oder vom Wert VOR den Rechnereien?
Dann ebenfalls int() oder eben wie von TomLee vorgeschlagen...

Zukünftig evtl. etwas präziser bei den Fragen mit lists der beteiligten Devices...
...damit man sieht worum es geht, was für Werte da/möglich sind und ob Einheiten dabei sind etc.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

wendeling


MadMax-FHEM

Zitat von: wendeling am 29 August 2021, 15:48:05
Danke,
funktioniert prima .
Gruß
Wendelin

Darf man erfahren welche Variante?

Schön wäre auch für andere mit diesem/ähnlichen Problemen/Fragen ein list der/des Devices etc.

Bzw. eben generell etwas mehr "preisgeben"...
...ist eben nicht nur für die Helfer besser...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)