NEWS
SQL - Wert per Script speichern
-
@bahnuhr sagte in SQL - Wert per Script speichern:
@fastfoot sagte in SQL - Wert per Script speichern:
Abfrage mit getHistory
Was ist damit gemeint ?
@apollon77 sagte in SQL - Wert per Script speichern:
https://github.com/ioBroker/ioBroker.flot/blob/master/src/js/data.js#L445
Ich finde diese Datei weder unter "...iobroker-data" als auch unter "...node_modules"
Folglich weiß ich nun nicht wo etwas zu ändern ist.Das läuft wohl anders als bei herkömmlichen Adaptern. Die Datei ist kaum lesbar(minified?). Ich habe sie bei mir geändert indem ich die Prüfung auf viel kleinere Werte geändert habe. Danach habe ich auch Werte in Flot gesehen, allerdings war das Datum um 1 Monat verschoben und in der DB musste der ts trotzdem in Sekunden eingetragen sein.
Fazit:
Ich glaube das ist zu hoch für mich.
Würde dies ja gerne hinbekommen; klappt aber nicht.Mein Fazit: Das ist zu hoch für uns, zuviele Komponenten die da wohl am Datum rumhacken, zu wenig Ahnung von der Materie, fehlende Tools (und Ahnung davon) um den Adapter Flot Source vernünftig zu ändern. Zu alledem habe ich Probleme mich überhaupt in Flot zurecht zu finden. Ich habe Flot wieder gelöscht und gebe auf, das dauert wohl noch eine Zeit lang bis ich da wirklich mitmischen kann
Mit getHistory() war wohl die Abfrage sendTo("sql.0", "getHistory",....) gemeint.
-
@fastfoot
Danke trotzdem für deine Hilfe.Jetzt kann man nur hoffen, dass @apollon77 oder jemand anders sich diesem bug einmal annimmt.
Wäre doch gut, wenn flot dies richtig anzeigen würde. -
@bahnuhr, @apollon77 ich habe jetzt doch noch einen Workaround gefunden, bis jemand mit Ahnung einen Fix bereitstellen kann
- sendTo('sql.2', 'storeState',{}) weiterhin mit ts / 1000 ausführen
- in node_modules/iobroker.sql/main.js die Zeilen 1859-1861 auskommentieren
- in node_modules/iobroker.flot/www/js/flot.js
=1e3*t[a].ts
durch=1e0*t[a].ts
ersetzen - SQL Adapter neu starten
- Für Flot einen Upload durchführen
Mit meinen Testdaten funktioniert das nur mit Art=Bei Änderung
-
@fastfoot sagte in SQL - Wert per Script speichern:
in node_modules/iobroker.flot/www/js/flot.js =1e3t[a].ts durch =1e0t[a].ts ersetzen
Nach dieser Änderung hat bei mir flot nichts mehr angezeigt. Nur noch der drehende Kreis.
Fazit:
hat bei mir nicht geklappt. -
@bahnuhr sagte in SQL - Wert per Script speichern:
@fastfoot sagte in SQL - Wert per Script speichern:
in node_modules/iobroker.flot/www/js/flot.js =1e3t[a].ts durch =1e0t[a].ts ersetzen
Nach dieser Änderung hat bei mir flot nichts mehr angezeigt. Nur noch der drehende Kreis.
Fazit:
hat bei mir nicht geklappt.dann hast du mit dem Editor(welcher??) die Datei zerschossen. Ich hatte es mit VS Code und Notepad++ gemacht
-
-
-
@fastfoot sagte in SQL - Wert per Script speichern:
so Rückinfo:
deine Datei kopiert per winscp ins Verzeichnis www/js/...
dann upload bei flotPer Script Werte der ID gelöscht.
Dann Wert neu geschrieben und überprüft ob dieser in sql angekommen ist.
Ist er:
Dann flot im edit aufgerufen. Und aktualisiert.
Wert ist per 30.06.1999 nicht angekommen:
-
@bahnuhr mit diesen Einstellungen?
-
@bahnuhr Upload meinte dieses
-
du Teufelskerl
Ich hatte nicht auf "Änderung" gestellt.
Jetzt sehe ich die Punkte auch.Vielleicht liest ja @apollon77 mit.
Denn ansonsten ist bei der nächsten Aktualisierung ja wieder alles weg.Danke.
-
@bahnuhr sagte in SQL - Wert per Script speichern:
du Teufelskerl
Ich hatte nicht auf "Änderung" gestellt.
Jetzt sehe ich die Punkte auch.Vielleicht liest ja @apollon77 mit.
Denn ansonsten ist bei der nächsten Aktualisierung ja wieder alles weg.Danke.
Evtl. ist das mit dem Rückgängig machen des Hacks gar nicht so einfach, obwohl ich denke dass der nie funktioniert hat. Habe da aber auch zu wenig Einblick. Jedenfalls ist mein Post nicht die Lösung sondern nur ein Workaround. So oft wird sich aber der SQL Adapter als auch Flot nicht ändern. Mir ging es hauptsächlich darum apollon77 zu zeigen dass er Recht hatte mit seinen Vermutungen. Für einen PR reicht es leider noch nicht, kommt aber auch noch irgendwann
-
Was ist PR ?
-
@bahnuhr sagte in SQL - Wert per Script speichern:
Was ist PR ?
Pull Request, das wäre eine Lösung auf Github bereit zu stellen, so dass die Entwickler sie nur noch akzeptieren und einpflegen könnten. Da ich aber weder weiss wie das konkret funktioniert, noch die sonstigen Auswirkungen einer solchen Änderung abschätzen kann, wage ich mich da nicht heran. Apollon wird schon irgendwann die Zeit finden, sich das genau anzuschauen. Mit den hier gemachten Änderungen dürfte es jedenfalls nicht getan sein
-
ALs überflogen habt Ihr das gemacht wa sich gesagt habe oder ?! Die Änderung und Flot macht aus dem "*1000" einfach ein "*1" - also das gleiche wie das rausnehmen.
Bitte schaut das es GitHub issues gibt - am besten bei flot, history. sql und influxdb (
) ... muss an die eh die Tage alle ran
-
@apollon77 sagte in SQL - Wert per Script speichern:
ALs überflogen habt Ihr das gemacht wa sich gesagt habe oder ?! Die Änderung und Flot macht aus dem "*1000" einfach ein "*1" - also das gleiche wie das rausnehmen.
genau, ohne deinen Input hätte ich das ja nicht gefunden
Die Änderung in Flot war für mich so am einfachsten da das ja kein 'normales' Sourcecodefile ist. Ich hatte es nichtmal geschafft da ein console.log() reinzubringen
Bitte schaut das es GitHub issues gibt - am besten bei flot, history. sql und influxdb (
) ... muss an die eh die Tage alle ran
Das überlasse ich gerne @bahnuhr. Dennoch, soll das issue beim SQL Adapter auch das Schreiben in die DB beinhalten? Da wird ja in Zeile 1547 auch mit 1000 multipliziert, was in meinen Augen auch nicht wirklich Sinn macht. Hatte hier schon gefragt aber du bist nicht darauf eingegangen
-
@fastfoot sagte in SQL - Wert per Script speichern:
Da wird ja in Zeile 1547 auch mit 1000 multipliziert, was in meinen Augen auch nicht wirklich Sinn macht. Hatte hier schon gefragt aber du bist nicht darauf eingegangen
Naja da wird versucht "am ende alles gleich" zu machen ... ich muss mal schauen wo sowas alles gemacht wird ...
-
@apollon77 sagte in SQL - Wert per Script speichern:
@fastfoot sagte in SQL - Wert per Script speichern:
Da wird ja in Zeile 1547 auch mit 1000 multipliziert, was in meinen Augen auch nicht wirklich Sinn macht. Hatte hier schon gefragt aber du bist nicht darauf eingegangen
Naja da wird versucht "am ende alles gleich" zu machen ... ich muss mal schauen wo sowas alles gemacht wird ...
ja schon, aber wenn der ts auch nur eine ms kleiner ist wird mit 1000 multipliziert was das Datum in eine Zukunft katapultiert welche wir alle nicht erleben. Wenn da aus Sekunden Millisekunden werden sollen dann wäre eher eine Prüfung auf < 946681200 Sek sinnvoll nicht auf <946681200000 Millisekunden. Aber schau halt mal
-
@apollon77 sagte in SQL - Wert per Script speichern:
Bitte schaut das es GitHub issues gibt - am besten bei flot, history. sql und influxdb ( ) ... muss an die eh die Tage alle ran
sind alle angelegt mit Verweis nach hier
-
Hallo @apollon77
der "Fehler" besteht immer noch.
Habe mal ein neues issue angelegt (das alte war abgelaufen).