NEWS
Zwischenspeichern von Werten im Adapter
-
Hallo zusammen,
ich arbeite noch nicht lange mit ioBroker und fuchse mich gerade in die Adapter-Entwicklung hinein.
Die Basics kriege ich inzwischen hin, allerdings stehe ich im Moment vor einem Problem, bei dem ich nicht weiß, wie es am besten zu lösen ist.Ich möchte gerne über den Tag verteilt Werte eines Datenpunkts auslesen und darüber einen Mittelwert bilden. Dafür brauche ich aber sowohl die bisherige Summe der Werte sowie auch die Anzahl der ausgelesenen Werte. Diese muss ich irgendwo zwischenspeichern, möchte das aber eigentlich nicht in sichtbaren Datenpunkten tun, weil der Adapter-Anwender damit gar nichts anfangen kann.
Beispiel:
Ich lese die aktuelle Außentemperatur aus. Nun möchte ich die durchschnittliche Temperatur über den Tag verteilt errechnen.
Ich brauche daher die Anzahl der Auslesevorgänge sowie die Summe aller Auslesewerte. Ein Datenpunkt dafür ist irgendwie blöd. Eine Variable auch, denn die wäre beim Adapter-Neustart dann wieder zurückgesetzt.Kann mir da jemand den richtigen Weg aufzeigen?
Herzlichen Dank
Marius -
-
@sigi234 Danke, aber wenn ich das richtig sehe, speichert das Skript sogar eine Liste aller Werte in einem Datenpunkt. Das wollte ich vermeiden. Dann hätte ich je nach Polling-Intervall vielleicht einige Tausend Werte in einem Array.
-
@StrathCole das sinnvollste ist das du ein Array in eine Datei schreibst. So ist es nur für den Adapter Sichtbar, auch bei einem Neustart noch vorhanden.
-
@Jey-Cee Okay, danke. Das wäre eine Notlösung. Schreibe und lese ungern alle paar Sekunden eine Datei
Werd aber drauf zurückgreifen, wenn ich keine andere Lösung finde.
-
@StrathCole sagte:
Eine Variable auch, denn die wäre beim Adapter-Neustart dann wieder zurückgesetzt.
... Schreibe und lese ungern alle paar Sekunden eine DateiEs würde genügen, bei Instanz-Stop / Kill das Array in eine Datei zu schreiben und diese bei Instanz-Start einzulesen.
-
@paul53 sagte in Zwischenspeichern von Werten im Adapter:
@StrathCole sagte:
Eine Variable auch, denn die wäre beim Adapter-Neustart dann wieder zurückgesetzt.
... Schreibe und lese ungern alle paar Sekunden eine DateiEs würde genügen, bei Instanz-Stop / Kill das Array in eine Datei zu schreiben und diese bei Instanz-Start einzulesen.
Wunderbare Idee. Bin ich nicht drauf gekommen
Danke.