[Gelöst] Fehlermeldung in DOIF - Was ist falsch?

Begonnen von Jogi, 12 November 2018, 09:14:09

Vorheriges Thema - Nächstes Thema

Jogi

Hallo,
ich habe ein DOIF, welches bei Bedarf eine Zusatzheizung im Schlafzimmer einschaltet.
Letzten Winter habe ich es schon genutzt und es gab -zumindest nach meiner Erinnerung- keine Probleme.
Gestern war es so, dass es nicht korrekt funktionierte und unkontrolliert geschaltet hat.
Heute habe ich folgende Fehlermeldung gesehen:
warning         condition c02: Argument "" isn't numeric in numeric lt (<)
Warum?
Irgendwie stehe ich auf den Schlauch und sehe nicht, was da falsch ist.
Was stimmt da nicht?
War der Fehler (falls ich einen gemacht habe) schon immer drin oder gab es Veränderungen an dem Modul?

Internals:
   DEF        ([Schlafzimmer:temperature] >([$SELF:Schlafzimmer]+0.1)) (set Zusatzheizung off) DOELSEIF ([Schlafzimmer:temperature] <([$SELF:Schlafzimmer]-0.3)) (set Zusatzheizung on)
   MODEL      FHEM
   NAME       Zusatzhz
   NR         890
   NTFY_ORDER 50-Zusatzhz
   STATE      cmd_2
   TYPE       DOIF
   READINGS:
     2018-11-12 09:03:16   Device          Schlafzimmer
     2018-11-12 08:50:18   Schlafzimmer    15
     2018-11-12 08:59:12   cmd             2
     2018-11-12 08:59:12   cmd_event       Schlafzimmer
     2018-11-12 08:59:12   cmd_nr          2
     2018-11-12 08:50:18   e_Zusatzhz_Schlafzimmer 15
     2018-11-12 08:49:08   mode            enabled
     2018-11-12 08:59:12   state           cmd_2
     2018-11-12 08:59:12   warning         condition c02: Argument "" isn't numeric in numeric lt (<)

   Regex:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'Schlafzimmer','temperature') >(::ReadingValDoIf($hash,'Zusatzhz','Schlafzimmer')+0.1)
     1          ::ReadingValDoIf($hash,'Schlafzimmer','temperature') <(::ReadingValDoIf($hash,'Zusatzhz','Schlafzimmer')-0.3)
   devices:
     0           Schlafzimmer Zusatzhz
     1           Schlafzimmer Zusatzhz
     all         Schlafzimmer Zusatzhz
   do:
     0:
       0          set Zusatzheizung off
     1:
       0          set Zusatzheizung on
     2:
   helper:
     event      battery: ok,humidity: 57
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Schlafzimmer
     timerevent battery: ok,temperature: ,humidity: 57
     triggerDev Schlafzimmer
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: Schlafzimmer
       state: cmd_2
     timerevents:
       battery: ok
       temperature:
       humidity: 57
     timereventsState:
       battery: ok
       temperature:
       humidity: 57
     triggerEvents:
       battery: ok
       humidity: 57
     triggerEventsState:
       battery: ok
       humidity: 57
   internals:
   itimer:
   readings:
     0           Schlafzimmer:temperature Zusatzhz:Schlafzimmer
     1           Schlafzimmer:temperature Zusatzhz:Schlafzimmer
     all         Schlafzimmer:temperature Zusatzhz:Schlafzimmer
   trigger:
   uiState:
   uiTable:
Attributes:
   group      Zusatzheizung
   readingList Schlafzimmer
   room       91.OG
   setList    Schlafzimmer:15,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.2,22.5,23.0,23.5,24.0,24.5,25.0
   sortby     2
   webCmd     Schlafzimmer


Ich habe für mein Gartenhaus noch einmal dieselbe Schaltung. Dort funktioniert sie einwandfrei -ohne Fehlermeldung- und ich sehe keinen Unterschied:
([Gartenhaus:Temperature] >([$SELF:TempGH]+0.1)) (set Heizung_Gartenhaus off) DOELSEIF ([Gartenhaus:Temperature] <([$SELF:TempGH]-0.5)) (set Heizung_Gartenhaus on)
Aber vielleicht bin ich ja für den eigenen Fehler blind?!

Vielen Dank,
Gruß,
Jogi

Otto123

#1
Moin,

ich sehe das so, dass die temperature leer ist, also "Schlafzimmer" keine Temperaturwerte liefert.
Zitattimerevent battery: ok,temperature: ,humidity: 57
ZitattimereventsState:
       battery: ok
       temperature:
       humidity: 57

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Jogi

Zitat von: Otto123 am 12 November 2018, 09:20:10
Moin,

ich sehe das so, dass die temperature leer ist, also "Schlafzimmer" keine Temperaturwerte liefert.
Gruß Otto
Hallo Otto,
Danke für Deine schnelle Antwort, ABER "Schlafzimmer" liefert aber Temperaturwerte. Siehe List:
Internals:
   DEF        36
   IODev      myJeeLink
   IODevMissing 1
   IODevName  myLaCrosseGateway
   LASTInputDev myJeeLink
   LaCrosse_lastRcv 2018-11-12 10:39:13
   MSGCNT     10260
   NAME       Schlafzimmer
   NR         235
   STATE      T: 21 H: 57
   TYPE       LaCrosse
   addr       36
   battery_new 0
   corr1      0
   corr2      0
   myJeeLink_MSGCNT 10261
   myJeeLink_RAWMSG OK 9 54 1 4 186 57
   myJeeLink_TIME 2018-11-12 10:39:13
   previousH  57
   previousT  21
   sensorType 0=T(H)
   READINGS:
     2018-11-12 10:39:13   battery         ok
     2018-11-12 10:39:13   humidity        57
     2018-11-12 10:16:58   state           T: 21 H: 57
     2018-11-12 10:39:13   temperature     21
Attributes:
   IODev      myLaCrosseGateway
   event-aggregator temperature:900:linear:median
   group      Temperatur
   icon       scene_sleeping
   room       3.Temperatur,91.OG,LaCrosse

Ich verstehe es nicht.

Jogi

Mir ist gerade aufgefallen, dass ich in "Schlafzimmer" irgendwann testweise den Event-Aggregator eingebaut habe. Ich wollte damit die Kurve im Graphen glätten.
Ich habe die Funktion aber nie verstanden, bzw. irgendeine Veränderung beobachtet.
Dann habe ich wohl vergessen das attr wieder rauszunehmen. Habe ich gerade gemacht und ... die Fehlermeldung im DOIF ist weg.
Kann es das gewesen sein?

Gruß,
Jogi

Otto123

Ja  :D

Das Dein Device Schlafzimmer Werte hat, bedeutet ja nicht dass es bei jedem Event auch sinnvolle Werte liefert. Dein list vom DOIF oben war ganz eindeutig! Da war der temperature Wert einfach leer.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Jogi

Zitat von: Otto123 am 12 November 2018, 10:50:46
Ja  :D

Das Dein Device Schlafzimmer Werte hat, bedeutet ja nicht dass es bei jedem Event auch sinnvolle Werte liefert. Dein list vom DOIF oben war ganz eindeutig! Da war der temperature Wert einfach leer.
Vielen Dank!