DOIF: Unterschied zwischen den Versionen

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
K (→‎Entwicklungshistorie: Link ergänzt)
Zeile 47: Zeile 47:
===Entwicklungshistorie===
===Entwicklungshistorie===


* {{Link2Forum|Topic=69392|LinkText=Forenthread}} neue Features: Wochentage mit Namen, Überarbeitung für indirekte Timer
* {{Link2Forum|Topic=68705|LinkText=Forenthread}} DOIF für Perlprogrammierer
* {{Link2Forum|Topic=68705|LinkText=Forenthread}} DOIF für Perlprogrammierer
* {{Link2Forum|Topic=67367|LinkText=Forenthread}} Ausblick: akkumulierte Abfrage, Aggregationsfunktion
* {{Link2Forum|Topic=67367|LinkText=Forenthread}} Ausblick: akkumulierte Abfrage, Aggregationsfunktion

Version vom 21. März 2017, 09:53 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 neue Features: Wochentage mit Namen, Überarbeitung für indirekte Timer
  • Forenthread DOIF für Perlprogrammierer
  • Forenthread Ausblick: akkumulierte Abfrage, Aggregationsfunktion
  • Forenthread neue Features: Perlcode ohne runde Klammern und ohne Semikolon-Dopplung
  • 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