(gelöst) Problem mit einem if Befehl

Begonnen von Roli1606, 13 Juni 2014, 13:44:48

Vorheriges Thema - Nächstes Thema

Roli1606

Hallo FHEM´ler

Ich habe ein Problem mit der if Bedingung in folgendem Code

define WohnungstuerVonMoBisSaentriegeln at *13:36 {if (($wday == 1) || ($wday == 2) || ($wday == 3) ||($wday == 4) || ($wday == 5) || ($wday == 6)) {fhem("set Tuerschloss unlock  if (Value('Anwesenheit') eq 'present');; set WDonoff on;; trigger Anwesenheit") }}

Die Tür wird aufgeschlossen obwohl der Dummy Anwesenheit auf absent steht. ich nehme an der Fehler liegt an den '
Hat jemand eine Idee wie es funktionieren könnte?

Gruß Roland
Cubietruck mit Stefanius Image
FHEM 5.8
HMLAN
und CUL

betateilchen

1. Wenn nicht Sonntag ist, ist Montag-Samstag, Du kannst die Abfrage also auf <> 7 beschränken und brauchst keine sechs Abfragen.
2. falsche Klammersetzung bei Verwendung eines zusätzlichen if.



{
fhem("set Tuerschloss unlock")  if (Value('Anwesenheit') eq 'present');;
fhem("set WDonoff on");;
fhem("trigger Anwesenheit")
}



3. könnte ich mir vorstellen, dass beim trigger noch ein Parameter fehlt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Puschel74

Hallo,

wday sollte sich auch so
(!(wday==7))
eingrenzen lassen.

Wobei es auf das gleiche raus kommt wie betateilchens Vergleich  8)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Roli1606

Danke für die schnelle Antwort.
Habe die Abfrage so gestaltet weil ich insgesamt 4 Zeitschaltuhren so gebastelt habe und die alle an unterschiedlichen Tagen laufen sollen, und so sind alle im gleichen Schema. Die Klammern waren wirklich der Fehler.

Herzlichen Dank Roland
Cubietruck mit Stefanius Image
FHEM 5.8
HMLAN
und CUL

rudolfkoenig

Laut commandref bzw. "perldoc -f localtime" kann wday Werte zw. 0 und 6 aufnehmen, sollte also meist ungleich 7 sein. :)

Puschel74

Hallo,

äh ja.
Dann wäre wohl in diesem Fall
(!(wday==0))
richtig  ::)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

betateilchen

Zitat von: rudolfkoenig am 13 Juni 2014, 17:39:07
Laut commandref bzw. "perldoc -f localtime" kann wday Werte zw. 0 und 6 aufnehmen

Ich hatte keine Lust, nachzuschauen und habe geraten. Meine Chance war 50:50 8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!