NEWS
Iobroker Message-System und viele Daten?!
-
Hey Bluefox,
ich plane aktuell (wie Du ja weisst) einen History-zu-InfluxDB-COnverter zu bauen und am Ende sehe ich da drei Möglichkeiten:
1. Extra Skript was die Daten parst und dann das ganze nur als Messages an eine InfluxDB-Adapter-Instanz sendet. Das wären aber ne ganze Menge Daten in ggf kurzer Zeit.
2. Die Schreibfunktionen im Adapter als "Lib" auslagern und ein Extra Skript nehmen was dann die Daten direkt unter Nutzung der Lib und ggf Konfig der InfluxDB-Instanz reinpumpt. Also nicht über den Adapter aber mit den Adapter-Funktionen
3. Was ganz separates als Skript was direkt InfluxDB-Lib anspricht.
Wie würdest Du es denn machen?
Bei Variante 1 könnte das Message-System mal zeigen wie robust es ist … aber weiss gerade nicht ob man das damit wirklich "austesten" möchte
Meinungen? Erfahrungen?
-
Ich habe schon ein paar Gedanken darüber:
- Es sollte in der Adapter-Konfig-Dialog (z.B. in history) noch eine Lasche sein (Data-Transfer)
Transfer to: Select Instanz From: Start Datum To: End Datum (now preselected) IDs: '*' Button "Transfer"
Wenn man Knopf Transfer drückt, dann werden von Adapter sendTo Pakete a 100 bis 1000 Werte gesendet mit callback. Jedes weiteres Paket wird nur gesendet, wenn Callback von letztem Paket kommt.
Das wird sehr Universal sein und jedes Adapter muss nur so ein Message abarbeiten können. Das kann man einfach über Adapter kopieren.
-
Hey, ok, das ist recht gross … und wenn ich ehrlich bin bin ich nicht sicher ob da eine generische Lösung echt nötig ist ... wie oft braucht man sowas?!
Ich denke ich baue erstmal was für History-zu-InfluxDB im ersten Schritt, aber ich sende Messages. Die größenbeschränkung auf 1000 Datensätze pro Message sollte ja umsetzbar sein.
Dann kann man das später als Grundlage nehmen um das umzubauen.
-
Hey, die Idee an sich bringt mich zu einer Frage: Wie sieht ein Skript aus was an bestimmte Instanzen Nachrichten senden kann?
Ich habs versucht als selber Adapter mit "–setup" zu machen aber dann passieren komische DInge weil ich glaube das der "Setup-Prozess" immer als Adapter-Instanz 0 läuft und dann geht das Nachrichten kram irgendwie schieff.
Als Code fällt mir nur das ein wie es der "js-controller setup.js" macht ... aber das müsste man dann nachbauen (weil immer per Exec ist auch blöd).
Oder wie wäre der beste Weg?
-
Ich habe das Problem erst einmal anders gelöst und lasse das "importer"-skript nicht unter "InfluxDB" laufen sondern unter Histoyr (also History sendet seine Daten an InfluxDB … macht auch sinn so rum). Und damit ist das Problem vorläufig gelöst das ein Adapter an sich selbst Messages sendet