Hauptmenü

Verschachtelte If-Abfrage

Begonnen von Ned, 22 April 2020, 22:12:59

Vorheriges Thema - Nächstes Thema

Ned

Hallo zusammen

ich übe gerade meine ersten Schritte und komme mit einer verschachtelten If-Abfrage in einem notify nicht weiter:
define notify no2 FTS_Tagschalter:BI if (isday() ) ( if ([test] eq "on") (set test off) ELSE (set test on) )

FTS_Tagschalter ist ein Taster an einem Eltako FTS14EM und es soll bei jedem Tastendruck der dummy test ein oder ausgeschaltet werden

dieser code ohne isday() funktioniert schon ohne Probleme:
define notify no1 FTS_Tagschalter:BI if ([test] eq "on") (set test off) ELSE (set test on)

Aber sobald ich isday() einfüge passiert am dummy test nichts mehr.
Tagsüber sollte dann doch der dummy test umgeschaltet werden aber Nachts sollte keine Umschaltung erfolgen.

Hat jemand einen Tipp für mich?


Viele Grüße
Ned
FHEM auf PI3B + Bullseye, KNXD, EBUSD & eBus V5 Adapter an Vailant Heizung, Alexa-Connector

Beta-User

Ich wage zu behaupten, dass auch die angebliche Fassung nicht funktioniert, da ist if und IF gemischt.

Empfehlung: rein Perl-if verwenden, sonst kommst du nur mit der Syntax dauernd ins Schleudern. Basis wäre hier zu finden: https://wiki.fhem.de/wiki/Trick_der_Woche#Struktur_von_.22else_if.22_Verzweigungen

Da du eine "UND"-Logik für die beiden Eingangsbedingungen haben willst, kannst du das so schreiben:

define notify no2 FTS_Tagschalter:BI if (isday() && ReadingsVal("test","state","off") eq "on") { fhem("set test off") } else { fhem("set test on") }
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Otto123

#2
Du verwendest FHEM IF!
Die Bedingung ist falsch, so sollte die Bedingung richtig sein:
(isday() and [test] eq "on")

Ob allerdings isday() wirklich in einem FHEM IF funktioniert weiß ich nicht, dann besser die Perl Version nehmen.
Doch geht :)
https://forum.fhem.de/index.php/topic,74056.msg657533.html#msg657533

Du hast nicht verschachtelt und Du brauchst ein "und" :)

Gruß Otto
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