NEWS
Mit FLOT oder Rickshaw andere Daten aus DB anzeigen
-
Hallo
besteht irgendwie die Möglichkeit mit den beiden Adaptern (Float oder Rickshaw) fremde Daten anzuzeigen? Also Daten die nicht ioBroker historisiert?
Die Daten befinden sich auf dem gleichen MYSQL Server nur in unterschiedlichen Datenbanken. Es handelt sich hierbei um Daten die vom volkszähler gesammelt werden (Strom und Gas. Wasser kommt dann noch dazu)
Oder hat von euch jemand eine Idee wie man solche Daten mit den Adaptern anzeigen könnte?
Danke schon mal
Gruß
Adrian
-
Über die gleiche Frage bin ich die Tage auch gestolpert … Würde es neben SQL auf auf InfluxDB erweitern
Am Ende müsste man ja "nur" in der Edit-Seite die Option haben den Select-Teil der Query anstelle der Object-ID-Auswahl eingeben zu können ...
Das wäre cool
-
Ja das wäre sehr geil! Vielleicht kann Bluefox sowas einbauen!?
Gesendet von meinem iPhone mit Tapatalk
-
Also ich habe mal gerschaut …
Die wohl einfachste Variante wäre bei den ganzen Adaptern die "GetHistory"-Funktion zu erweitern das man anstelle einer ID auch zwei Query-Teile (den zu selektierenden Spalte mit pot. Funktionen wie MIttelwert, min, max oder so und den Tabellennamen, pot. noch den Datenbanknamen (falls das icht per Tabellenname geht). Und wenn das gesetzt ist wird das anstelle der ID genutzt. Als ID könnte man etwas übergeben um das zu erkennen (z.B. "custom-query" oder so).
In Flot/Rickshow müsste man den Support für diese neuen Parameter einbauen das das durchgeschleift wird und so
Das fühlt sich alles etwas hackig an, aber wäre das was "einfach" geht.
Etwas komplizierter wäre es eine neue Funktion in den History-Adaptern zu schaffen wie "GetCustomData" oder so ... Die müsste man in Anlehnung an GetHistory implementieren (heisst code duplizieren oder refactorn was bei beiden gebraucht wird) und in den Anzeige-Adaptern erkennen was gewollt ist und entweder die eine oder die andere Funktion aufrufen ...
@Bluefox/Andere: Was denkst Du?
-
Also ich habe mal gerschaut …
Die wohl einfachste Variante wäre bei den ganzen Adaptern die "GetHistory"-Funktion zu erweitern das man anstelle einer ID auch zwei Query-Teile (den zu selektierenden Spalte mit pot. Funktionen wie MIttelwert, min, max oder so und den Tabellennamen, pot. noch den Datenbanknamen (falls das icht per Tabellenname geht). Und wenn das gesetzt ist wird das anstelle der ID genutzt. Als ID könnte man etwas übergeben um das zu erkennen (z.B. "custom-query" oder so).
In Flot/Rickshow müsste man den Support für diese neuen Parameter einbauen das das durchgeschleift wird und so
Das fühlt sich alles etwas hackig an, aber wäre das was "einfach" geht.
Etwas komplizierter wäre es eine neue Funktion in den History-Adaptern zu schaffen wie "GetCustomData" oder so ... Die müsste man in Anlehnung an GetHistory implementieren (heisst code duplizieren oder refactorn was bei beiden gebraucht wird) und in den Anzeige-Adaptern erkennen was gewollt ist und entweder die eine oder die andere Funktion aufrufen ...
@Bluefox/Andere: Was denkst Du?
`
Ich denke die zweite Lösung ist besser und zwar es sollte in Adapter-Einstellungen gemacht werden:-
Wie heißt DB,
-
wie heist die Tabelle,
-
was für ein Feld für Zeit
-
und ob das Sekunden oder UTC sind
-
Wie heißt Fled für das Wert
Das Problem bleibt bei ID. Es wird wohl nicht automatisch gehen, dass man die IDs aus DB irgendwie auf Namen mappen kann und man wird wohl mit IDs wie 5, 6, 347932457 arbeiten müssen.
Die Aufgabe ist aber bei mir gar nicht auf der Liste. :!:
-
-
Ich denke die zweite Lösung ist besser und zwar es sollte in Adapter-Einstellungen gemacht werden:
-
Wie heißt DB,
-
wie heist die Tabelle,
-
was für ein Feld für Zeit
-
und ob das Sekunden oder UTC sind
-
Wie heißt Feld für das Wert `
Einiges davon würde ich eher flexibel lassen … oder man verfolgt ne ganz andere Idee die mir gerade gekommen ist:
Man baut zwei neue Adapter (also "Query"-Adapter für SQL+Influx) die nur die "GetCustomData" anbieten und per Instanz bestimmte Daten, wie oben geschrieben, konfiguriert haben. Dann könnten die Anzeigeadapter (Flot/Riskshaw) sogar anhand der "Adaptertypen/namen entscheiden ob es ein "GetHistory"-Zugriff oder ein "GetCustomData" ist und auch die Oberfläche könnte auf die Instanzauswahl reagieren ...
Dann könnte man einige Sachen von Dir oben wirklich in der Adapterkonfig machen weil man weitere DB einfach per neuer Instanz macht. Oder man macht nur einiges konfigurierbar und den rest als Parameter.
Das Problem bleibt bei ID. Es wird wohl nicht automatisch gehen, dass man die IDs aus DB irgendwie auf Namen mappen kann und man wird wohl mit IDs wie 5, 6, 347932457 arbeiten müssen. `
Namen für die Anzeige? Könnte man als Parameter konfigurierbar machen - ich habe gesehen das jetzt schon ein Basis-handling drin ist wenn die ID nicht als Objekt gefunden wurde …
Die Aufgabe ist aber bei mir gar nicht auf der Liste. :!: `
Das dachte ich mir … ich will mich da vllt bei Zeit (vorher kommen noch paar andere Dinge von meiner Liste) mal reindenken und was versuchen. Ich fürchte das ich aber spätestens bei der "Edit-Maske" mit meinen Kenntnissen nicht mehr weiterkomme. Da brauche ich dann ggf von jemanden Support. Aber ich denke den reinen Adapterteil und vllt sogar "data.js" der Anzeigeadapter könnte ich hinbekommen
Aber mehr dann wenn ich dazu komme.
-