NEWS
Bild in VIS aktualisiert nicht
-
Hallo zusammen,
nachdem es mir endlich gelungen ist, einen Speicherplatz (web/lib/img) zu finden, auf den die VIS zugreifen kann, aktualisiert sie leider nicht das Bild.
Hintergrund:
Ich speichere mir aus den echarts jede Stunde ein Bild eines Diagramms. Dabei überschreibe ich immer die vorhergehende Datei.
Das mache ich mit einem send to -> file to disk.Kann es auch einbinden, allerdings aktualisiert es nicht in der VIS oder im Browser.
Die Datei im Speicherort ist aktuell.Hat da jemand eine Idee?
Danke und Gruß
-
@thecad
Und wenn du auf F5 klickst? -
@thecad sagte in Bild in VIS aktualisiert nicht:
Dabei überschreibe ich immer die vorhergehende Datei.
So ein Thema gab's schon mal.
ich fürchte das Überschreiben war das Problem.
Damit war das kein neues Bild -
du musst writeFile verwenden.
Nur der registriert diese Datei dann im Webbrowser.
Ob das Verzeichnis so damit geht weiß ich nicht.
Ich würde in vis mit dem Filedialog ein entsprechendes Verzeichnis anlegen
und mit dem Befehl writeFile dann dort reinschreiben.
welchen Befehl verwendest du da genau send to disk ist mir so als sendto befehl nicht bekannt. kann aber natürlich durch adapter hinzugefügt worden sein. -
Mangels meiner Programmierkenntnisse hab ich es in Blockly so gelöst:
Wenn ich den writeFile einsetze würde es so aussehen, aber das mag er dann nicht:
schedule("* * * * * *", async () => {
sendTo('echarts.0', 'send', { 'preset': 'echarts.0.Gesamt', 'renderer': 'png', 'background': '#FFFFFF', 'theme': 'light', 'quality': 0.8, 'writefile': '/opt/iobroker/iobroker-data/files/web/lib/img/echarts-tmp.png' });
}); -
@sigi234
... dann hab ich einmal sinnfrei auf F5 geklickt
Das hilft leider nicht -
@thecad sagte in Bild in VIS aktualisiert nicht:
Mangels meiner Programmierkenntnisse hab ich es in Blockly so gelöst:
Müsste mit Blockly mit diesen Block gehen:
-
@shadowhunter23
hey super vielen Dank! - Problem nur: ich hab den Block gar nicht. Wo nimmst Du den her? -
@thecad sagte in Bild in VIS aktualisiert nicht:
ich hab den Block gar nicht.
welche js-Version?
steht unter Aktionen
-
@homoran
Hallo Homoran,
super - ich hatte eine alte Version.
Aber wie verbinde ich das jetzt mit dem e-chart?
ich bekomme immer den Fehler, dass data nicht definiert ist -
@thecad
Im Zweifel wirst du die Datei noch mal lesen und mit diesem Befehl writeFile noch mal schreiben müssen.Wie das in Blockly funktioniert, weiß ich nicht
-
@thecad sagte in Bild in VIS aktualisiert nicht:
ich bekomme immer den Fehler, dass data nicht definiert ist
zeig das Blockly und die exakte Meldung
-
Ich bin in blockly ja nicht so firm.Aber writeFile benötigt natürlich die bilddaten zum Schreiben, die fehlen hier. Blockly kann nicht implizit vom Vorgängerbefehl einfach so die Daten nehmen.
Der echarts sendto Befehl liefert die Daten aber auch nur als base64 url zurück, was nochmal eine Konvertierung zu png oder jpg notwendig macht.Evtl. können andere die mit blockly sich besser auskennen hiermit was anfangen.
Meine Informationen habe ich von hier
https://github.com/ioBroker/ioBroker.echarts?tab=readme-ov-file#server-side-renderingDaher am besten von echarts das Bild speichern lassen so wie er es schon hat,
Dann im Anschluss nochmal lesen und dann mit writeFile nochmal schreiben. -
Hallo ihr beiden! Erstmal besten Dank für Eure Hilfe!
Ich hab jetzt nochmal ein bisschen rumgespielt - mein größtes Problem glaub ich ist die Anzeige der Dateien.
Im Blockly unter "Datei lesen" sollte man wohl am besten aus der Liste auswählen statt einen Pfad eingeben.
Hier wird allerdings wie in der VIS nicht alles angezeigt - so weiß ich z.B. nicht ob "web" jetzt direkt in das Verzeichnis von "web" deutet oder doch in das Unterverzeichnis "lib" - rausfinden geht nicht, da hier wie in der VIS nicht alles angezeigt wird.
Im Verzeichnis liegt sie, wird aber nicht immer angezeigt.Mein Blockly sieht aktuell so aus:
die Fehlermeldung dazu so:Wenn ich jetzt in das Unterverzeichnis von "web" lese/schreibe..
sagt er, dass die Datei nicht existiert:
-
Okay ich muss etwas mehr dazu erklären.
Nur weil Dateien in einem Dateipfad liegt, weiß der Web Adapter noch nichts davon
Erst durch writeFile wird die Datei im Web Adapter registriert.
Das gilt auch für geänderte Dateien mit gleichem Dateinamen. erst durch ein erneutes writeFile wird auch die geänderte Datei dann bekannt gemacht. -
@thecad sagte in Bild in VIS aktualisiert nicht:
die Fehlermeldung dazu so:
bitte Texte immer als Text in code-tags posten, niemals Screenshots!
wer soll das entziffern?