DOIF
DOIF | |
---|---|
Zweck / Funktion | |
Do ... if ... | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Automatisierung/DOIF |
Modulname | 98_DOIF.pm |
Ersteller | Damian |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
(ausgeprochen: du if, übersetzt: tue wenn) ist ein universelles Modul, welches ereignis- und zeitgesteuert in Abhängigkeit definierter Bedingungen Anweisungen ausführt.
Das Modul DOIF stellt eine eigene Benutzer-Schnittstelle zur Verfügung ohne Programmierkenntnisse in Perl unmittelbar vorauszusetzen. Mit diesem Modul ist es möglich, sowohl Ereignis- als auch Zeitsteuerung mit Hilfe logischer Abfragen miteinander zu kombinieren. Damit können komplexere Problemstellungen innerhalb eines DOIF-Moduls gelöst werden, ohne Perlcode in Kombination mit anderen Modulen programmieren zu müssen.
Voraussetzungen
keine
Anwendung
Define
Siehe Commandref Define
Attribute
Siehe Commandref Attribute
Kurzreferenz
Siehe Commandref Kurzreferenz
Anwendungsbeispiele
Der Modulautor hat im deutschen Teil der Commandref eine Vielzahl von einfachen und auch komplexeren Beispielen zur Nutzung von DOIF aufgenommen. Darum wird hier auf weitere Beispiele zu DOIF verzichtet. Ausführliche Code-Beispiele zu DOIF bitte gegebenenfalls als eigene Wiki-Seite unter Code Snippets aufnehmen.
Links
- DOIF/Einsteigerleitfaden, Grundfunktionen und Erläuterungen
- DOIF/Tools und Fehlersuche
- DOIF/Tipps zur leichteren Bedienung Erstellung, Bearbeitung, Syntaxhervorhebung, Klammerprüfung, Suchen&Ersetzen, Zeileinnummerierung, uvm. (nicht nur) von DOIF
- DOIFtools Das Modul zum DOIF als Download im Forenthread
- DOIF/Labor - ausführbare, praxisnahe Beispiele als Problemlösung zum Experimentieren
- DOIF/Import von Code Snippets
- DOIF/Operatorenrangfolge
- DOIF/Ein- und Ausgabe in FHEMWEB und Tablet-UI am Beispiel einer Schaltuhr
- DOIF/Mehrfachnutzung eines Tasters
- DOIF/Zeitgeber Wecker, Kurzzeitwecker, Tageszeitgeber
- DOIF/Zeitspanne zwischen zwei Terminen schalten
- DOIF/do always Alternative am Beispiel einer Rollladenautomatik
- DOIF/Zeitspanne im DOIF und disabledForIntervals im Vergleich
- DOIF/partielle Deaktivierung der Befehlsausführung, Zurücksetzen eines Wait-Timers mit $SELF oder IsDisabled verhindern, im Vergleich
- DOIF/Verwenden von sunrise / sunset in Zeitintervall im Forenthread
Entwicklungshistorie
- Forenthread Ausblick: akkumulierte Abfrage, Aggregationsfunktion
- Forenthread neue Features: set <DOIF_Modul> <beliebiger Ausdruck>
- Forenthread neue Features: checkall: timer|event|all, timertrigger, timerintervall
- Forenthread neue Features: Ereignisfilter, Attribut checkall, setList, readingList
- Forenthread Stati, Readings in Zeitfunktionen, set enable
- Forenthread neue Features: disablecondition, Stati bei Zeitfunktionen (Anm.: disablecondition nicht eingeführt)
- Forenthread Möglichkeit auf passende Events zu beschränken
- Forenthread Neue Features - $SELF, $self, cmd-Reading, timerevent, selftrigger ...
- Forenthread DOIF als endlicher Automat (finite state maschine)
- Forenthread serialisierte Timer
- Forenthread neue Features: Generalisierung, $DEVICE, $EVENT, Attribut notexist
- Forenthread Attribut repeatcmd
- Forenthread unabsichtliche Loops unterbunden
- Forenthread wait als sleep Alternative
- Forenthread mehrere DOIF-Zweige (Anm.: nicht eingeführt)
- Forenthread neue Zeit-Features
- Forenthread Zeitraster
- Forenthread indirekten Zeitangaben, readingFnAttributes
- Forenthread indirekten Zeitangaben
- Forenthread relative Zeitangaben, Attribute: do resetwait, cmdpause, repeatsame, uvm.
- Forenthread zur Entstehung dieses Moduls