FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: golmic am 14 November 2016, 11:30:27

Titel: DOIF - Fehler bei der Abfrage von Werten / Format umwandeln
Beitrag 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?
Titel: Antw:DOIF - Fehler bei der Abfrage von Werten / Format umwandeln
Beitrag von: Damian am 14 November 2016, 18:07:43
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



Titel: Antw:DOIF - Fehler bei der Abfrage von Werten / Format umwandeln
Beitrag von: golmic am 14 November 2016, 22:44:51
Tausend Dank. :)