FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: klausw am 13 Mai 2014, 19:10:11

Titel: StateFn verzögert aufrufen
Beitrag von: klausw am 13 Mai 2014, 19:10:11
Hallo zusammen,

ich habe folgendes Problem:
Die StateFn in meinem Modul wird ausgeführt, bevor meine Hardware fertig initialisiert ist (es ist ein I2C Baustein, der erst auf das iodev warten muss und danach einige Register entsprechend der Attibute beschreibt)
Gibt es eine Möglichkeit die StateFn danach aufzurufen?

Grüße
Klaus
Titel: Antw:StateFn verzögert aufrufen
Beitrag von: rudolfkoenig am 13 Mai 2014, 19:27:25
Sowas darfst Du selbst implementieren: in StateFn die Daten sammeln, und wenn die Initialisierung fertig ist, das Gesammelte abarbeiten. Oder (nicht empfohlen) beim define solange warten, bis die Initialisierung abgeschlossen ist.
Titel: Antw:StateFn verzögert aufrufen
Beitrag von: klausw am 13 Mai 2014, 19:51:50
Zitat von: rudolfkoenig am 13 Mai 2014, 19:27:25
Sowas darfst Du selbst implementieren: in StateFn die Daten sammeln, und wenn die Initialisierung fertig ist, das Gesammelte abarbeiten. Oder (nicht empfohlen) beim define solange warten, bis die Initialisierung abgeschlossen ist.
Ok danke, dann mache ich das mal.

Kann ich auch in der StateFn einfach die Readings laden und nach der initialisierung die Werte aus den Readings an die Hardware schreiben?

Sonst würde ich das erstmal in den hash packen
Titel: Antw:StateFn verzögert aufrufen
Beitrag von: rudolfkoenig am 13 Mai 2014, 21:32:31
Das bleibt alles Dir ueberlassen, muesste aber auch ganz ohne StateFn gehen.
Titel: Antw:StateFn verzögert aufrufen
Beitrag von: klausw am 14 Mai 2014, 22:28:02
Zitat von: rudolfkoenig am 13 Mai 2014, 21:32:31
Das bleibt alles Dir ueberlassen, muesste aber auch ganz ohne StateFn gehen.
ohne StateFn? Du meinst die alten Readings laden?

Sind alle Attribute schon zum Zeitpunkt zu dem StateFn aufgerufen wird geladen?
Titel: Antw:StateFn verzögert aufrufen
Beitrag von: betateilchen am 14 Mai 2014, 22:43:07
Reihenfolge:

1. Lesen der Konfiguration: Zuerst das Define, dann die Attribute zum Device
2. Lesen des Statefile: Erst dabei wird eine eventuell vorhandene StateFn aufgerufen.