DOIF - Fehler bei der Abfrage von Werten / Format umwandeln

Begonnen von golmic, 14 November 2016, 11:30:27

Vorheriges Thema - Nächstes Thema

golmic

Hallo!
Ich möchte in einer DOIF Abfragen einen Wert als Bedingung nutzen.
Das Reading hat einen variablen Wert z.B. "10.0 %". Damit Vergleich klappt, möchte ich diesen in einen numerischen Wert wandeln. In meinem Code steht:

...
DOELSEIF (([cyrus4in1:basicSet] > 0 and [{ReadingsNum("cyrus4in1","luminance",99)}] < 20) (
     set Lampe on
    )
....


Es kommt folgende Fehlermeldung:
"DOIF: the function "ReadingsNum("cyrus4in1","luminance",99)" must return a timespec and not 10.62.: {ReadingsNum("cyrus4in1","luminance",99)}"

Wie ist die konkrete Syntax damit der Wert nicht als Zeit sondern als Zahl interpretiert wird?

Damian

Zitat von: golmic am 14 November 2016, 11:30:27
Hallo!
Ich möchte in einer DOIF Abfragen einen Wert als Bedingung nutzen.
Das Reading hat einen variablen Wert z.B. "10.0 %". Damit Vergleich klappt, möchte ich diesen in einen numerischen Wert wandeln. In meinem Code steht:

...
DOELSEIF (([cyrus4in1:basicSet] > 0 and [{ReadingsNum("cyrus4in1","luminance",99)}] < 20) (
     set Lampe on
    )
....


Es kommt folgende Fehlermeldung:
"DOIF: the function "ReadingsNum("cyrus4in1","luminance",99)" must return a timespec and not 10.62.: {ReadingsNum("cyrus4in1","luminance",99)}"

Wie ist die konkrete Syntax damit der Wert nicht als Zeit sondern als Zahl interpretiert wird?

siehe:

http://fhem.de/commandref_DE.html#DOIF_Filtern_nach_Zahlen



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