DOIF: Unterschied zwischen den Versionen

Aus FHEMWiki
(→‎Entwicklungshistorie: Thread zugefügt)
(→‎Links: Link uiTable)
Zeile 34: Zeile 34:
* [[DOIFtools]] Tools für DOIF, Eventanalyse für Alle
* [[DOIFtools]] Tools für DOIF, Eventanalyse für Alle
* [[DOIF/Labor - ausführbare, praxisnahe Beispiele als Problemlösung zum Experimentieren]]
* [[DOIF/Labor - ausführbare, praxisnahe Beispiele als Problemlösung zum Experimentieren]]
* [[DOIF/uiTable]]
* [[DOIF/Import von Code Snippets]]
* [[DOIF/Import von Code Snippets]]
* [[DOIF/Operatorenrangfolge]]
* [[DOIF/Operatorenrangfolge]]

Version vom 22. Oktober 2017, 10:50 Uhr

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!


Helper doif.png (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

Entwicklungshistorie

  • Forenthread neues Attribut uiTable für tabellarische Benutzeroberfläche
  • Forenthread neue Features: Attribut myReadings
  • Forenthread Neue Features: Aggregationsfunktion, Filtern nach Zahl mit Nachkommastellen
  • Forenthread neue Features: Wochentage mit Namen, Überarbeitung für indirekte Timer
  • Forenthread DOIF für Perlprogrammierer
  • Forenthread neue Features: Perlcode ohne runde Klammern und ohne Semikolon-Dopplung
  • Forenthread neue Features: set <DOIF_Modul> cmd_<NR>, Zeitvariablen $md $ymd
  • 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