[gelöst] Regel mit IF feuert nicht?

Begonnen von united-networking, 22 Dezember 2016, 17:34:18

Vorheriges Thema - Nächstes Thema

united-networking

Hi,

wir probierten erstmals, eine einfache Regel aufzustellen:
Bei geöffnetem Fenstersensor soll eine Lampe blinken.

Nach den Beispielen in der FHEM-Referenz zu IF schrieben wir also analog:
define check +00:01 IF ([Fenster1:STATE] eq "open") (set Aktor1 toggle)
Warteten 1 Minute, und es tat sich nichts. Im Event log fand sich auch nichts dazu.
Wir probierten in der Eigenschaftenseite von check dann noch an der Zeitdefinition zu ändern, versuchten
13:51:00 und sogar periodisch {00:10}
Aber die Lampe blieb aus.
Manuell schalten durch set Aktor1 toggle dagegen ging einwandfrei.
Auch der State von Fenster1 funktionierte sichtbar.

Fällt euch da vielleicht schon ein Anfängerfehler auf?
Für Tipps wären wir dankbar.

kumue

eigentlich hätte es beim anlegen schon eine fehlermeldung geben müssen.
welches modul den benutzt werden ? at ?

kumue

#2
define check at +00:01 IF ([Fenster1:STATE] eq "open") (set Aktor1 toggle)

PS:
bei +00:01 wird es nur einmal ausgeführt, 1min nach der initialisierung.
soll es immer ausgeführt werden im minutenabstand... +*00:01

united-networking

Hi,

nun, Fehler beim Anlegen von check sahen wir nicht.

Stimmt, Zeit war zunächst gemeint "in 1 Minute", danach konkrete Zeit, schließlich "alle 10s".

Aber wir wollen morgen mal den Rat aus der Anfängerberatung (https://forum.fhem.de/index.php/topic,16311.0.html) befolgen und stacktrace anschalten und verbose aufdrehen. Vielleicht hilft das ja schon.

Puschel74

Zitat von: united-networking am 22 Dezember 2016, 18:13:20
Hi,

nun, Fehler beim Anlegen von check sahen wir nicht.


Wenn die fhem.cfg direkt bearbeitet wird gibt es mWn auch keine Syntaxprüfung.

Ob IF in einem at klappt weiß ich nicht da ich nur if in einem at verwende.
Achtung: IF != if
FHEM ist case-sensitiv

Was die Frage im HM-Bereich zu tun hat weiß ich aber auch nicht.
Sieht mir eher nach einem typischen Anfängerfehler aus  ;)
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.

kumue

Zitat von: Puschel74 am 22 Dezember 2016, 20:19:23
Ob IF in einem at klappt weiß ich nicht da ich nur if in einem at verwende.

Laut commandref zu IF ja, mit Beispiel..

Puschel74

Stimmt - danke für den Hinweis.
Bei den Beispielen in der commandref finde ich 2 mit STATE und die werden mit &STATE abgefragt.
Ob das wohl nicht so seinen Sinn hat  ???
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.

united-networking

Hi,

vielen Dank für die Tipps!
Wir haben das für den Moment wie folgt gelöst, was sich etwas einfacher schreibt und sogar funktioniert:
define i_F1open_A1blink_3s at +*00:00:03 IF ([Fenster1] eq "open") (set Aktor1 toggle)
Oder mit anderen Worten: Fenster1 offen, dann bitte alle 3s Lampe umschalten.