FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: A.Harrenberg am 01 November 2015, 18:42:26

Titel: InternalTimer - Wo werden die Funktionen gestartet?
Beitrag von: A.Harrenberg am 01 November 2015, 18:42:26
Hallo,

ich versuche gerade zu verstehen was bei Verwendung von "InternalTimer" eigentlich passiert und hänge schon gleich beim Einstieg...
In der Funktion InternalTimer werden die Parameter (Zeit, Funktionsname, Argument und ) in (globale ?) Variablen ($intAt und $intAtCnt) geschrieben:
  $intAt{$intAtCnt}{TRIGGERTIME} = $tim;
  $intAt{$intAtCnt}{FN} = $fn;
  $intAt{$intAtCnt}{ARG} = $arg;
  $intAtCnt++;


Allerdings kann ich im gesamten Code keine Funktion finden die wieder auf diese Information zugreift und die Funktion dann entsprechend aufruft.
Kann mich bitte mal jemand in die richtige Richtung schubsen wo diese Timer dann abgearbeitet werden?

Vielen Dank schon mal,
Andreas.

Titel: Antw:InternalTimer - Wo werden die Funktionen gestartet?
Beitrag von: herrmannj am 01 November 2015, 18:49:37
büddeschön:

http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/fhem.pl#l2679

vg
joerg
Titel: Antw:InternalTimer - Wo werden die Funktionen gestartet?
Beitrag von: A.Harrenberg am 01 November 2015, 19:35:19
Hi,

dankeschön! Da hatte ich wohl Tomaten auf den Augen, ist ja direkt über der InternalTimer-Funktion. Hatte dummerweise nach der gesamten Defintion "$intAt{$intAtCnt}{TRIGGERTIME}", aber der counter ist da irgendwie anders gelöst.

Ich schau dann mal weiter...

Danke,
Andreas.
Titel: Antw:InternalTimer - Wo werden die Funktionen gestartet?
Beitrag von: betateilchen am 01 November 2015, 19:52:48
Zitat von: A.Harrenberg am 01 November 2015, 19:35:19

aber der counter ist da irgendwie anders gelöst.


Ja, mit einem foreach() in dem der gesamte hash %intAt sortiert abgearbeitet wird.