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
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
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.
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
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.
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!