StateFn verzögert aufrufen

Begonnen von klausw, 13 Mai 2014, 19:10:11

Vorheriges Thema - Nächstes Thema

klausw

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
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

rudolfkoenig

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.

klausw

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
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

rudolfkoenig

Das bleibt alles Dir ueberlassen, muesste aber auch ganz ohne StateFn gehen.

klausw

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?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!