NEWS
SQL - Wert per Script speichern
-
@fastfoot sagte in SQL - Wert per Script speichern:
Ich würde meinen dass Flot hier ein Problem hat
sehe ich auch so.
Und hatte ich ja oben schon vermerkt.Ist jetzt nur die Frage, wer kann da helfen ?
@apollon77 ?? - noch ne Idee -
@bahnuhr Grmpf ... Du solltest keine Daten löschen und solltest auch nichts am Schreib.-Skript ändern. Das muss so sein. Du solltest NUR die eine Stelle in der main,.js im SQL Adapter ändern der beim Daten lesen den timestamp blöd kaputt macht
-
@apollon77 sagte in SQL - Wert per Script speichern:
@bahnuhr Grmpf ... Du solltest keine Daten löschen und solltest auch nichts am Schreib.-Skript ändern. Das muss so sein. Du solltest NUR die eine Stelle in der main,.js im SQL Adapter ändern der beim Daten lesen den timestamp blöd kaputt macht
Ich hatte das ja gemacht und es hat nichts gebracht. Beim Schreiben wird der ts ja bereits mit 1000 multipliziert(Zeile 1546) so dass Zeile 1858 eh nie wahr wird. Belässt man das Script aber mit der Teilung durch 1000, so ist der ts in der DB ja richtig, aber auch da bringt das Auskommentieren nichts. Flot erkennt auch bei mir nur Daten >= 1.1.2000
-
Hast du es denn auch mal nachvollzogen.
Wir sind offensichtlich der Meinung es liegt an flot.Kannst du da mal nachschauen.
Danke.
Wäre doch schön, wenn man die Daten < 2000 auch in flot angezeigt bekommen könnte.
P.S.
Habe eben mal ein issue erstellt im Adapter "flot" -
@bahnuhr Ok, da muss man tiefer reinschauen. ich würde ja mal testen ob den ein sendTo "getHistory" mit den richtigen Werte die Daten lieefert oder nicht - und mein Change solte sicherstellen das die Daten richtig kommen. Wenn die richtig kommen DANN ist es in Flot. Wenn die Daten nicht kommen ist es in sql.-
Ich bin aber ehrlich: meine Todo liste ist gerade übervoll und habe gerade jicht die Zeit da tief reinzuschauen. Von daher Issue ist wohl korrekt. je weiter Ihr selbst kommt umso besser ... zew .. HAHA ... https://github.com/ioBroker/ioBroker.flot/blob/master/src/js/data.js#L445
Da ist ein sch**** Interoperabilty Thema mit dem s->ms hack :-((
In meiner Welt muss in getHistory diese Zeile raus und in Flot auch
-
@apollon77 sagte in SQL - Wert per Script speichern:
In meiner Welt muss in getHistory diese Zeile raus und in Flot auch
Danke für die Erläuterung.
Ich schau es mir an und berichte dann. -
So, ich habe mal per winscp die Zeilen
in der Datei:
opt/iobroker/node-modules/iobroker.sql/main.js
auskommentiert.Dann iob komplett neu gestartet.
Danach Wert per Script geschrieben.
Es werden aber immer noch 3 x 0 angehängt.Was mache ich da falsch?
Warum wird das Script in der main.js immer noch abgearbeitet obwohl die Zeilen doch auskommentiert sind.Ich versteh es gerade nicht.
Oder hab ich die falsche Datei? -
@bahnuhr sagte in SQL - Wert per Script speichern:
@apollon77
@fastfoot
Es werden aber immer noch 3 x 0 angehängt.ich hatte es in Post 24 erklärt. Deine Änderung wirkt sich beim Lesen der Daten aus, bzw mMn nach eben nicht weil die Daten in der DB durch Zeile 1547 den 1000fachen Wert haben. Ich fürchte für mich ist das eine Nummer zu hoch.
Aber befolge doch mal was apollon rät und mache eine Abfrage mit getHistory, belasse dazu den SQL Adapter so wie du ihn geändert hast
-
@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.Fazit:
Ich glaube das ist zu hoch für mich.
Würde dies ja gerne hinbekommen; klappt aber nicht. -
@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.