sprintf mit Auslesen Heizungswerte EBUS bringt Fehlermeldung

Begonnen von bmwfan, 14 Juli 2017, 21:08:42

Vorheriges Thema - Nächstes Thema

bmwfan

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
Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd