FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mlrtimbf am 20 August 2018, 11:28:04

Titel: Ein IF im DOIF
Beitrag von: mlrtimbf am 20 August 2018, 11:28:04
Hi,

leider bekomme ich es nicht hin eine If-Abfrage in einem DOIF zu schreiben.

Folgendes DOIF habe ich (Bewegungsmelder):
([RPIPin15:"on"]) (
{ fhem("set LetzteBewegung ".time()) }
{ fhem("set JemandZuhause ja")  }

IF($hour >= 7 and [HomeStatus:state] != 4 ) {
              { fhem("set HomeStatus 1")  }
}

)


Ist bestimmt ganz einfach, aber wo ist der Fehler? Wie mache ich die If-Abfrage richtig?

Danke
Titel: Antw:Ein IF im DOIF
Beitrag von: Damian am 20 August 2018, 12:42:16
([RPIPin15:"on"]) ({fhem("set LetzteBewegung ".time())}, set JemandZuhause ja, IF($hour >= 7 and [HomeStatus:state] != 4 ) (set HomeStatus 1))
Titel: Antw:Ein IF im DOIF
Beitrag von: mlrtimbf am 20 August 2018, 18:10:36
Danke für die Antwort. Funktioniert nur leider nicht.

Es kommt:
IF($hour >= 7 and [HomeStatus:state] != 4 ) ( set HomeStatus 1 ): Unknown command IF($hour, try help.
Titel: Antw:Ein IF im DOIF
Beitrag von: amenomade am 20 August 2018, 18:23:56
Leerzeichen nach IF ?
Titel: Antw:Ein IF im DOIF
Beitrag von: mlrtimbf am 20 August 2018, 18:41:18
Soll da ein hin oder nicht? Im Moment ist dort keins...
Titel: Antw:Ein IF im DOIF
Beitrag von: amenomade am 20 August 2018, 20:18:35
ZitatIm Moment ist dort keins
Konzequenz
Unknown command IF($hour
Titel: Antw:Ein IF im DOIF
Beitrag von: chq am 20 August 2018, 20:54:13
if Unknown command IF($hour Leertaste rein;
Titel: Antw:Ein IF im DOIF
Beitrag von: Otto123 am 20 August 2018, 21:06:30
Hatten wir doch gerade
https://forum.fhem.de/index.php/topic,90411.msg828644.html#msg828644
Titel: Antw:Ein IF im DOIF
Beitrag von: Damian am 21 August 2018, 08:17:20
Zur Info: IF kann durchaus mit Leerzeichen bzw Zeilenumbrüchen umgehen. Das Problem ist allerdings, wie in diesem Fall, dass FHEM den IF Befehl nicht erkennt, weil die Klammer hinter IF ohne Leerzeichen benutzt wird.
Titel: Antw:Ein IF im DOIF
Beitrag von: amenomade am 21 August 2018, 11:35:49
Zitat von: Damian am 21 August 2018, 08:17:20
Zur Info: IF kann durchaus mit Leerzeichen bzw Zeilenumbrüchen umgehen. Das Problem ist allerdings, wie in diesem Fall, dass FHEM den IF Befehl nicht erkennt, weil die Klammer hinter IF ohne Leerzeichen benutzt wird.

Naja... erinnere mich, wer es so geschrieben hat?  ;)
Titel: Antw:Ein IF im DOIF
Beitrag von: Otto123 am 21 August 2018, 11:42:26
Naja: IF kann mit Leerzeichen umgehen - aber eben nicht ohne Leerzeichen  ;D ;D ;D
Titel: Antw:Ein IF im DOIF
Beitrag von: Damian am 21 August 2018, 15:20:36
Damit IF mit ohne kann, müsste Rudi im FHEM-Parser einbauen, dass ein FHEM-Befehl nicht nur bis zum Leerzeichen geht, sondern auch bis zum Sonderzeichen z. B. Klammer auf.