Moin,
Ich habe festgestellt, das event-on-change-reading Zahlenwerte in Exponent-Schreibweise verfälscht.
define td dummy
attr td event-on-change-reading .*:0.2
set td 12
Ergebnis: td 12
set td 1.2324568e05
Ergebnis: td 1.232456805
set td 3.456789e-05
Ergebnis: td 3.456789-05
PERL WARNING: Argument "3.456789-05" isn't numeric in subtraction (-) at fhem.pl line 3769.
Bei großen Werten ab 19 Stellen bzw bei kleinen Werten kleiner 1/10000 wird in die Exponenten Schreibweise umgeschaltet:
{ my $a = ( 30000000 * 866421444444 ) ;; fhem("set td $a") }
fhem> dummy td 2.59926433333219
Sollte 2.599264333332e19 heißen.
Schuld ist folgende Zeile in fhem.pl:
Zitat$value =~ s/[^\d\.\-]//g; # We expect only numbers here.
In dieser Zeile habe ich jetzt mal das "e" mit reingenommen, damit ist es aber nur ein oberflächlicher Test.
Gesendet von meinem GT-I9295