Bedingungen

Aus Ethersex_Wiki
Version vom 23. Juni 2009, 16:25 Uhr von Stella (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Bedingungen in Control6

Grundsätzlicher Aufbau

ON [ONCE] Bedingung DO
  Befehle
END

Das Schlüsselwort ONCE sorgt dafür, dass die Bedingung nur einmal pro Minute überprüft wird. Dies ist nützlich, wenn zum Beispiel ein Codeblock nur einmal um 6 Uhr morgens ausgeführt werden soll. Die Bedingung könnte dann ON ONCE CLOCK_MIN == 0 && CLOCK_HOUR == 6 lauten. Ohne das Schlüsselwort ONCE würde der Codeblock von 6:00 bis 6:01 ständig im Rahmen der Hauptschleife von Ethersex ausgeführt, was häufig nicht gewünscht ist :-)

Es kann jedoch nicht nur die Uhr abgefragt werden, sondern es steht auch alle übrigen Funktionen, die Rückgabewerte liefern, zur Auswahl. Beispielsweise können KTY-Temperatursensoren abgefragt werden. Um einmal pro Minute zu prüfen, ob die von Sensor 5 gemessene Temperatur unter 3,0 Grad liegt, kann Folgendes geschrieben werden:

ON ONCE KTY_GET(AussenNord) < 30
  SYSLOG("Draußen ist es sehr kalt!")
END