Hallo,
trotz intensiver Suche im Forum kann ich das Problem nicht lösen. Bekomme alle 5 min (Abfrageintervall der Heizung mit EBUSD) die Meldung:
2017.07.14 20:59:43.514 1: PERL WARNING: Argument "22.81;ok\n\n" isn't numeric in sprintf at (eval 14829) line 1.
Dadurch wird das LOG belastet.
Der zugehörige Wert ist:
Internals:
DEF bai00.class
IODev EBUS
NAME Temp_HeizRuecklauf
NR 1422
STATE HeizRuecklauftemp 22.8
TYPE ECMDDevice
READINGS:
2017-07-14 20:59:45 HeizRuecklauftemp 22.8
2017-07-14 20:59:45 state HeizRuecklauftemp 22.8
fhem:
classname bai00.class
cache:
specials:
%NAME Temp_HeizRuecklauf
%TYPE ECMDDevice
Attributes:
IODev EBUS
group Vaillant
icon sani_return_temp
room 3.4_Heizung
Abgefragt mit:
Internals:
COMMAND get Temp_HeizAussen VaillantAussentemp; get Temp_HeizVorlauf HeizVorlauftemp; get Temp_HeizRuecklauf HeizRuecklauftemp; get Temp_HeizVorlaufSoll HeizVorlaufSolltemp; get Temp_HeizVorlaufSollAlg HeizVorlaufSollAlgtemp; get Temp_KolVorlauf KolVorlauftemp; get Temp_KolRuecklauf KolRuecklauftemp; get Temp_SpeicherOben SpeichertempOben; get Temp_SpeicherUnten SpeichertempUnten; get PumpeWatt PumpeWatt; get SolErtrag SolarErtrag; get ZeoErtrag ZeoErtrag; get HeizKurve HeizKurve; get PosValve PosValve
DEF +*00:05 get Temp_HeizAussen VaillantAussentemp; get Temp_HeizVorlauf HeizVorlauftemp; get Temp_HeizRuecklauf HeizRuecklauftemp; get Temp_HeizVorlaufSoll HeizVorlaufSolltemp; get Temp_HeizVorlaufSollAlg HeizVorlaufSollAlgtemp; get Temp_KolVorlauf KolVorlauftemp; get Temp_KolRuecklauf KolRuecklauftemp; get Temp_SpeicherOben SpeichertempOben; get Temp_SpeicherUnten SpeichertempUnten; get PumpeWatt PumpeWatt; get SolErtrag SolarErtrag; get ZeoErtrag ZeoErtrag; get HeizKurve HeizKurve; get PosValve PosValve
NAME at_Vaillant_Messung
NR 1460
NTM 21:04:39
PERIODIC yes
RELATIVE yes
REP -1
STATE Next: 21:04:39
TIMESPEC 00:05
TRIGGERTIME 1500059079.77835
TRIGGERTIME_FMT 2017-07-14 21:04:39
TYPE at
READINGS:
2017-07-14 20:59:48 state Next: 21:04:39
Attributes:
room 3.4_Heizung,9.8.4_ats
verbose 1
Ich vermute, dass es der vorangestellte Name der Messstelle ist (HeizRuecklauftemp), die die Fehlermeldung verursacht. Habe auch gefunden, wie man nachfolgende Zeichen eliminiert (Funktion split), aber nicht wie die vorangestellten Zeichen. Hat jemand einen Tip?
Gruß Jürgen
https://users.cs.cf.ac.uk/Dave.Marshall/PERL/node56.html
LG
pah