Hauptmenü

Frage zu DOELSEIF

Begonnen von limats, 04 Juni 2016, 16:16:44

Vorheriges Thema - Nächstes Thema

automatisierer

bau es doch so ein wie im ersten Beispiel - renn zur Tür - mach sie auf - renn zurück - und guck obs getriggert hat...  :-\

... wenn du zu faul zum rennen bist, kannst du dir ja auch die Commandref zu DOIF durchlesen - die ist zwar eckelhaft lang, dafür steht aber auch alles drin... ;D ;D

... wenn du das ganze DOIF in den Post packst, könnte man dein Problem evtl. eher durchschauen.

limats

Das ganze DOIF steht ja 3 Posts weiter oben.
Klar kann ich versuchen durch probieren herauszufinden, wie es sich verhält aber ich wollte ja eine Expertenmeinung dazu haben.
Der Vorschlag von CoolTux bringt mir übrigens nichts - das Fragezeichen bewirkt ja, dass *nicht* getriggert wird. Ich brauche ja quasi das Gegenteil.

Ich glaub aber, ich hab meinen Denkfehler entdeckt. Wenn ich das DOELSE gegen ein DOELSEIF tausche, müsste es funktionieren. Testen kann ich es aber erst morgen :

([Markisenanforderung] eq "hoch")
    (set Markise pct 100)
DOELSEIF
([Markisenanforderung] eq "runter" and
[twilight:azimuth] > 110 and
[twilight:azimuth] < 190)
    (set Markise pct 50)
DOELSEIF
([Markisenanforderung] eq "runter" and
[twilight:azimuth] >= 190 and
[twilight:elevation] > 8 and
[wintergarten_schiebetuere] eq "open")
    (set Markise pct 37)
DOELSEIF
([Markisenanforderung] eq "runter" and
[twilight:azimuth] >= 190 and
[twilight:elevation] > 8 and
[wintergarten_schiebetuere] eq "closed")
    (set Markise pct 0)
DOELSEIF
([twilight:elevation] <= 8)
    (set Markise pct 100)
Fhem auf BBB:
HM-CFG-USB für div. HM-Sensoren, CUL+WMBUS für EnergyCam, Nanocul für IT, Arduino Mega 2560 als 1-wire-Gateway und für div. digitale Ein-/Ausgänge, Volkszähler-USB-IR-Lesekopf mit SMLUSB, Solarsteuerung über VBUS

Damian

Zitat von: limats am 09 Juni 2016, 22:56:50
Das ganze DOIF steht ja 3 Posts weiter oben.
Klar kann ich versuchen durch probieren herauszufinden, wie es sich verhält aber ich wollte ja eine Expertenmeinung dazu haben.
Der Vorschlag von CoolTux bringt mir übrigens nichts - das Fragezeichen bewirkt ja, dass *nicht* getriggert wird. Ich brauche ja quasi das Gegenteil.

Ich glaub aber, ich hab meinen Denkfehler entdeckt. Wenn ich das DOELSE gegen ein DOELSEIF tausche, müsste es funktionieren. Testen kann ich es aber erst morgen :


Der entscheidende Absatz in der Commandref ist:

ZitatDie Angaben werden immer von links nach rechts abgearbeitet. Zu beachten ist, dass nur die Bedingungen überprüft werden, die zum ausgelösten Event das dazughörige Device bzw. die dazugehörige Triggerzeit beinhalten. Kommt ein Device in mehreren Bedingungen vor, so wird immer nur ein Kommando ausgeführt, und zwar das erste, für das die dazugehörige Bedingung in der abgearbeiteten Reihenfolge wahr ist.

Bei dir ist das dann statt
Zitatvon links nach rechts
Zitatvon oben nach unten

Gruß

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

StefanD

Zitat von: limats am 04 Juni 2016, 23:57:24
Wie kriege ich hier jetzt am elegantesten ein "Tür eq egal" rein?

Wenn ich dich richtig verstehe, brauchst du nur den Trigger vom Device [wintergarten_schiebetuere], unabhängig welchen Wert state davon dann hat, korrekt?

Wenn ja, setzt du [wintergarten_schiebetuere] ohne Prüfung auf einen Wert ein, dann triggert es immer bei einer Änderung des state.
Wenn nein, habe ich die Frage nicht verstanden...  ::)

VG Stefan
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer