NEWS
Auf Historische Werte zugreifen
-
Hey,
Ich bin noch recht neu in der Adapter Entwicklung und ich habe mich gefragt, wie es möglich ist auf Vergangene Werte zugreifen zu können (Z.B für Graphen). Ich weiß, das es hierfür verschiedene Adapter wie sql und History gibt. Ich weiß auch, wie ich diese Adapter ansprechen kann mit Scripten, jedoch habe ich bis jetzt noch nicht explizit herausgefunden, wie ich das in einem eigenen Adapter machen kann.
Falls noch Ungenauigkeiten vorhanden sind, einfach nochmal schreiben.
Ansonsten schonmal danke Voraus.
LG -
@mor15euro naja, in einem eigenem Adapter müsstest du halt auf jede Änderung eines Wertes triggern und diesen mit einem Zeitstempel versehen wegschreiben ...
Und wenn du einen Wert einer bestimmten Zeit haben willst muss du dir dann das anhand deiner Daten raussuchen.Nichts anderes machen die von dir erwähnten Adapter. Deren Quelltext übrigens verfügbar ist, jeder Adapter hat eine GitHub-Seite und du kannst dir im Quellcode ansehen wie die das gemacht haben.
Selbstverständlich darfst du das Rad neu erfinden (so lernt man), es läuft halt darauf hinaus das du deine eigene Logik zum speichern und zum wieder abrufen entwickeln musst. SQL hat den Charme das jeder geschriebene Wert sowieso mit einem Zeitstempel versehen wird, da kann man dann einfach die Logik der SQL-Engine nutzen.
Im History-Adapter (der - wie ich meine - das als Textdatei abspeichern, ggf. JSON) könntest du dir einen Ansatz für eine solche Lösung ansehen.Willst du von einem Adapter aus einen anderen Adapter ansprechen so läuft das in der Regel genauso wie du es in einem einfachen Script oder Blockly machen würdest - per
sendTo
. Damit kannst du Anfragen austauschen - z.B. mit dem SQL-Adapter das er bitte einen Wert schreiben oder holen oder folgende SQL-Abfrage ausführen soll. Beispiele findest du auf der GitHub-Seite des SQL Adapters https://github.com/ioBroker/ioBroker.sql im unteren Bereich