[gelöst] Addition DOIF: condition c01: Argument "" isn't numeric in addition (+)

Begonnen von Gunther, 13 Dezember 2017, 19:50:33

Vorheriges Thema - Nächstes Thema

Gunther

Ich bekomme die folgende Fehlermeldung bei meinem DOIF:

condition c01: Argument "" isn't numeric in addition (+)

Ich verstehe die Fehlermeldung nur bedingt. Was ist ""?

Do sieht das DEF des DOIF aus:
([eg_ku_Kuehlschrank:temperature] >= [eg_ku_Kuehlschrank_solltemp:STATE] + [eg_ku_Kuehlschrank_difftemp:STATE])
(set kuehlwarnung an)
(setreading kuehlwarnung device Kühlschrank Küche)
DOELSEIF
([eg_ku_Kuehlschrank:temperature] <= [eg_ku_Kuehlschrank_solltemp:STATE] + [eg_ku_Kuehlschrank_difftemp:STATE])
(set kuehlwarnung aus)
(deletereading kuehlwarnung device)
DOELSE
(set kuehlwarnung aus)
(deletereading kuehlwarnung device)


Ich habe hier schon mit verschiedenen Klammern []{}(), Leerstellen und state/STATE experimentiert. Leider ohne Erfolg. Stehe irgendwie auf dem Schlauch.
Sollte nicht ein Wert zurückgegeben werden, wenn ich in die FHEM-Komandozeile z. B. folgendes eingebe:
{[eg_ku_Kuehlschrank_solltemp:STATE]}

Die beiden Dummys die ich zusammenrechnen möchte sehen so aus:

Internals:
   NAME       eg_ku_Kuehlschrank_difftemp
   NR         4001
   STATE      2
   TYPE       dummy
   READINGS:
     2017-12-13 18:53:50   state           2
Attributes:
   group      Kuehlschrank
   room       Logik
   setList    state:slider,-25,0.5,12
   webCmd     state


Internals:
   NAME       eg_ku_Kuehlschrank_solltemp
   NR         4000
   STATE      -2
   TYPE       dummy
   READINGS:
     2017-12-13 19:38:15   state           -2
Attributes:
   group      Kuehlschrank
   room       Logik
   setList    state:slider,-25,0.5,12
   webCmd     state


Freue mich über einen Tipp :-)
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Gunther

oh, danke für die schnelle Info.

war auch noch ein Klammerproblem drin.

Hatte es gerade erfolgreich mit folgendem DEF zum Laufen bekommen:
([eg_ku_Kuehlschrank:temperature] >= ([eg_ku_Kuehlschrank_solltemp:state]+[eg_ku_Kuehlschrank_difftemp:state]))
(set kuehlwarnung an)
(setreading kuehlwarnung device Kühlschrank Küche)
DOELSEIF
([eg_ku_Kuehlschrank:temperature] <= ([eg_ku_Kuehlschrank_solltemp:state]+[eg_ku_Kuehlschrank_difftemp:state]))
(set kuehlwarnung aus)
(deletereading kuehlwarnung device)
DOELSE
(set kuehlwarnung aus)
(deletereading kuehlwarnung device)
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Per

Bevor das nächste Problem kommt, lass um das Plus Platz (Leerzeichen). Sonst bekommst du mal sowas wie 2+-1, was Perl nicht auflösen kann...

Gunther

FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden