Hauptmenü

Ein IF im DOIF

Begonnen von mlrtimbf, 20 August 2018, 11:28:04

Vorheriges Thema - Nächstes Thema

mlrtimbf

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

Damian

([RPIPin15:"on"]) ({fhem("set LetzteBewegung ".time())}, set JemandZuhause ja, IF($hour >= 7 and [HomeStatus:state] != 4 ) (set HomeStatus 1))
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

mlrtimbf

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.

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mlrtimbf

Soll da ein hin oder nicht? Im Moment ist dort keins...

amenomade

ZitatIm Moment ist dort keins
Konzequenz
Unknown command IF($hour
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

chq

if Unknown command IF($hour Leertaste rein;
So einfach wie möglich, so kompliziert wie nötig

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

amenomade

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?  ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Otto123

Naja: IF kann mit Leerzeichen umgehen - aber eben nicht ohne Leerzeichen  ;D ;D ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF