2018.03.11 22:21:46 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 99030) line 1.
2018.03.11 22:21:46 3: eval: {my @a = split(/\./,ReadingsNum($name,"temperature","none")); "$a[0] Komma $a[1]"}
Listing vom device:
Internals:
CFGFN
CHANGED
DEF 28
IODev jeelinkcross
LASTInputDev jeelinkcross
LaCrosse_lastRcv 2018-03-11 22:31:03
MSGCNT 3548
NAME Thermo_Balkon
NR 63
STATE T: 15.4 H: 67
TYPE LaCrosse
addr 28
battery_new 0
corr1 0
corr2 0
jeelinkcross_MSGCNT 3548
jeelinkcross_RAWMSG OK 9 40 1 4 130 67
jeelinkcross_TIME 2018-03-11 22:31:03
previousH 67
previousT 15.4
sensorType 0=T(H)
Helper:
DBLOG:
humidity:
fhemlogDB:
TIME 1520802823.41327
VALUE 67
temperature:
fhemlogDB:
TIME 1520800838.41588
VALUE 15.4
READINGS:
2018-03-11 22:31:03 battery ok
2018-03-11 22:31:03 humidity 67
2018-03-11 22:13:43 state T: 15.4 H: 67
2018-03-11 22:31:03 temperature 15.4
2018-03-11 22:31:03 ttstemp 15 Komma 4
Attributes:
DbLogInclude .*
IODev jeelinkcross
event-on-change-reading battery,humidity,temperature
room Wetter
userReadings ttstemp {my @a = split(/\./,ReadingsNum($name,"temperature","none")); "$a[0] Komma $a[1]"}
Das Ergebnis ist jedenfalls korrekt.
Kein Beitrag zu Deiner eigentlichen Frage, aber war das bei Dir auch so, dass manche zahlen komisch angesagt werden?
fünf komma einen Grad
War bei mir manchmal so und da habe ich das userreadings umgestellt:
{ my $val = ReadingsVal($name,"temperature","Fehler"); $val =~ s/\./,/; $val;}
Jetzt wird in 99% der fälle alles ordentlich gesagt ;D
Gruß Otto
Moin Otto,
die Ansagen hab ich noch nicht eingerichtet, wollte erst mal die Grundlage mit Komma statt Punkt irgendwie realisieren. Werde Deinen Ansatz aber mal probieren, sieht ganz gut aus. Aber müsste nicht ReadingNum statt ReadingVal gesetzt werden?
Gruß
Arthur
Moin Arthur,
Ich sage mal ja...
Aber bei mir ist es egal, es ist nur eine Zahl. ReadingsNum würde bei 9.8 % die 9.8 zurückliefern, ReadingsVal liefert die 9.8 %
Ich glaube bei 9.8 ohne was ist da Ergebnis ReadingsNum oder ReadingsVal gleich.
Gruß Otto
stimmt, letztendlich kommt es nur darauf an das es halbwegs korrekt angesagt wird :D
Hallo Otto,
da niemand ne Lösung für meinen Ansatz hat, hab ich mal Deine Lösung übernommen. TTS kommt damit anscheinend gut zurecht 8)
Gruß
Arthur
Arthur,
ich hatte Deine Variante bis vor einiger Zeit auch. Das lief seit 2015 genau so gut. Irgendwann voriges Jahr hatte ich immer mal das Gefühl, ich habe mich verhört. Dann hab ich das umgebaut. Gestern habe ich sogar beim schreiben den Code mit etwas neuem Wissen noch etwas kürzer gemacht.
Das ist schon ne gute Variante. Warum der Fehler kam - die Lösung ist philosophisch. Da kommen neue Aufgaben. ;D
Gruß Otto