NEWS
Widget (basic-images): Veränderte Quell-Datei wird ignoriert.
-
Hallo zusammen,
ich bin vor drei Wochen von CCU.IO/dashui auf ioBroker umgestiegen und habe alle Views neu erstellt.
Bin jetzt auf dem Stand wie vorher bei CCU.IO und konnte noch einiges Neues, wie den Tankstellenadapter integrieren.
Vielen Dank für die Anleitungen, die es einem Anfänger sehr erleichtern.
Eines will jedoch nicht gelingen:
Für die Ferienwohnung soll die Belegung angezeigt werden (Bildschirmkopie aus FeWo-Programm als jpg-Datei, also nichts Aufregendes).
Bei Veränderung soll eine neue Datei mit gleichem Dateinamen die alte ersetzen.
Die View sieht so aus:
Widget: basic-images
Quelle: http://192.168.181.244:8082/vis.0/pro1/Belegung2015.JPG
Zunächst hat das Widget die Datei angezeigt. Wird die Datei jedoch durch eine neuere ersetzt, wird weiterhin die alte angezeigt.
Da hilft auch kein aktualisieren der View oder löschen des Browser-Cache.
Es funktioniert perfekt, wenn ich als Quelle ein externes Ziel angebe: http://www.ferienwohnung-xxxxxxx.de/assets/images/Belegung2015.JPG
Um nach der Ursache zu forschen fehlt mir das Wissen, wie ioBroker arbeitet. Vielleicht hab ich eine defekte Installation oder mache etwas falsch.
Vielen Dank für alle Hinweise, die mir weiterhelfen können.
Gruß,
dasi
-
Hallo zusammen,
ich bin vor drei Wochen von CCU.IO/dashui auf ioBroker umgestiegen und habe alle Views neu erstellt.
Bin jetzt auf dem Stand wie vorher bei CCU.IO und konnte noch einiges Neues, wie den Tankstellenadapter integrieren.
Vielen Dank für die Anleitungen, die es einem Anfänger sehr erleichtern.
Eines will jedoch nicht gelingen:
Für die Ferienwohnung soll die Belegung angezeigt werden (Bildschirmkopie aus FeWo-Programm als jpg-Datei, also nichts Aufregendes).
Bei Veränderung soll eine neue Datei mit gleichem Dateinamen die alte ersetzen.
Die View sieht so aus:
Widget: basic-images
Quelle: http://192.168.181.244:8082/vis.0/pro1/Belegung2015.JPG
Zunächst hat das Widget die Datei angezeigt. Wird die Datei jedoch durch eine neuere ersetzt, wird weiterhin die alte angezeigt.
Da hilft auch kein aktualisieren der View oder löschen des Browser-Cache.
Es funktioniert perfekt, wenn ich als Quelle ein externes Ziel angebe: http://www.ferienwohnung-xxxxxxx.de/ass … ng2015.JPG
Um nach der Ursache zu forschen fehlt mir das Wissen, wie ioBroker arbeitet. Vielleicht hab ich eine defekte Installation oder mache etwas falsch.
Vielen Dank für alle Hinweise, die mir weiterhelfen können.
Gruß,
dasi `
Wo ersetzt du die Datei und wie? Ich habe noch keine Funktion implementiert, die das möglich macht. -
Danke für die schnelle Antwort. Eine wichtige Erkenntnis ist auch zu wissen, wie es nicht geht. Wie hab ich's gemacht? Mit WinSCP die Datei ins Verzeichnis …/vis.0/pro1/ kopiert. Fertig! Die Anfänger schrecken vor nichts zurück. Werde den Holzweg sofort verlassen.
Gruß,
dasi
-
Das wird gehen, falls cache in iobroker.web aus ist:
Und js-controller cache auch aus ist:
in …/iobroker-data/iobroker.json
"objects" : {
"type" : "file",
"typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].",
"host" : "127.0.0.1",
"port" : 9001,
"user" : "",
"pass" : "",
"noFileCache": true,
"connectTimeout": 2000
},
Nach Restart von ioBroker wird dein Trick funktionieren. Aber es ist nicht richtig.
-
Hallo,
ich hänge mich hier einmal ran, da ich gerade mit dem selben "Problem" kämpfe. Ich will mir auf einer VIS-View eine Ünbersicht über verschiedene Verkehrskameras anzeigen lassen. Da ich bisher keine Möglichkeit gefunden habe, die Bilder der Verkehrskameras (von http://www.svz-bw.de) mit einem direkten Link auf die Internetseite einzubinden (dort wird wohl auch über JS und sonstige Methoden das Bild in die html-Seite eingebaut, so dass man nicht direkt auf die jpg-Datei verlinken kann), habe ich den Umweg über wget gewählt. Also lade ich mir alle x Minuten in einem Bash-Script (noch zu wenig Ahnung von JS um es direkt in ioBroker zu machen) die einzelnen Seiten der Kameras per Schleife mit wget auf meinen Rechner und bringe wget mit der passenden Option dazu, mir auch das verwendete jpg-Bild zu speichern. Im Anschluss benenne ich das Bild noch in einen eindeutig definierten Namen und verschiebe es in einen Ordner innerhalb von ***/iobroker/iobroker-data/files/vis.0/. Diese Bilder will ich nun auch mit dem Static Image Widget anzeigen. Und auch ich habe eben das Problem, dass ich die geänderte JPG-Datei nicht dargestellt bekomme, sondern immer die erste Version nach einem Neustart von ioBroker.
Mit der Änderung in iobroker.json klappt es erst einmal, aber du schreibst ja, dass es nicht richtig ist . Gibt es eine Möglichkeit, dass richtig zu machen ? Eventuell irgendein Shell-Befehl, der innerhalb des Scripts dann ebenfalls alle x Minuten den FileCache mit aktualisiert? Oder wäre das auch nur halbrichtig?
Danke
-
Hallo,
ich hänge mich hier einmal ran, da ich gerade mit dem selben "Problem" kämpfe. Ich will mir auf einer VIS-View eine Ünbersicht über verschiedene Verkehrskameras anzeigen lassen. Da ich bisher keine Möglichkeit gefunden habe, die Bilder der Verkehrskameras (von http://www.svz-bw.de) mit einem direkten Link auf die Internetseite einzubinden (dort wird wohl auch über JS und sonstige Methoden das Bild in die html-Seite eingebaut, so dass man nicht direkt auf die jpg-Datei verlinken kann), habe ich den Umweg über wget gewählt. Also lade ich mir alle x Minuten in einem Bash-Script (noch zu wenig Ahnung von JS um es direkt in ioBroker zu machen) die einzelnen Seiten der Kameras per Schleife mit wget auf meinen Rechner und bringe wget mit der passenden Option dazu, mir auch das verwendete jpg-Bild zu speichern. Im Anschluss benenne ich das Bild noch in einen eindeutig definierten Namen und verschiebe es in einen Ordner innerhalb von ***/iobroker/iobroker-data/files/vis.0/. Diese Bilder will ich nun auch mit dem Static Image Widget anzeigen. Und auch ich habe eben das Problem, dass ich die geänderte JPG-Datei nicht dargestellt bekomme, sondern immer die erste Version nach einem Neustart von ioBroker.
Mit der Änderung in iobroker.json klappt es erst einmal, aber du schreibst ja, dass es nicht richtig ist . Gibt es eine Möglichkeit, dass richtig zu machen ? Eventuell irgendein Shell-Befehl, der innerhalb des Scripts dann ebenfalls alle x Minuten den FileCache mit aktualisiert? Oder wäre das auch nur halbrichtig?
Danke `
Kommt in der nächste version gehen: iobroker upload fileName.ext /vis.0 -
Hi zusammen!
Hat sich bei dem Thema schon was getan weil ich derzeit vor selben Problem stehe!
Gruß
Johnny
-
Also ich hab das jetzt mal ausprobiert so wie es im changelog von js-controller steht.
Das neue Bilde (ist ein Diagramm - pic von ccu-historian) liegen im Verzeichnis /opt/iobroker/IMG upload und sollen nach vis.0/img! Da greift dann das Widget basic-image auf die Datei pumpe.png zu.
Jetzt will ich das Bild aber stündlich aktualisieren.
Wenn ich jetzt auf der Konsole in den iobroker Ordner wechsle und folgenden Befehl eingebe (gem changelog)
iobroker upload IMGupload/pumpe.png /vis.0/img/pumpe.png ````dann wird zwar das Bild erfolgreich hochgeladen aber es ist dann unbrauchbar! Es wird beim upload zerschossen! Was mach ich da falsch? Gruß Johnny
-
Also ich hab das jetzt mal ausprobiert so wie es im changelog von js-controller steht.
Das neue Bilde (ist ein Diagramm - pic von ccu-historian) liegen im Verzeichnis /opt/iobroker/IMG upload und sollen nach vis.0/img! Da greift dann das Widget basic-image auf die Datei pumpe.png zu.
Jetzt will ich das Bild aber stündlich aktualisieren.
Wenn ich jetzt auf der Konsole in den iobroker Ordner wechsle und folgenden Befehl eingebe (gem changelog)
iobroker upload IMGupload/pumpe.png /vis.0/img/pumpe.png ````dann wird zwar das Bild erfolgreich hochgeladen aber es ist dann unbrauchbar! Es wird beim upload zerschossen! Was mach ich da falsch? Gruß Johnny `
Danke fürs Testen. Habe mit Bilder noch ein Fehler entdeckt. Auf dem git ist jetzt behoben und muss gehen.
-
Wow, das nen ich mal Geschwindigkeit Bluefox!
Hammer!
Tausend Dank!
Werde ich morgen gleich testen!
Echt spitze von dir!
Der Syntax von mir war aber so richtig, oder?
Kann man das dann per crontab stündlich so laufen lassen?
Gruß Johnny
-
Wow, das nen ich mal Geschwindigkeit Bluefox!
Hammer!
Tausend Dank!
Werde ich morgen gleich testen!
Echt spitze von dir!
Der Syntax von mir war aber so richtig, oder?
Kann man das dann per crontab stündlich so laufen lassen?
Gruß Johnny `
Ich denke du wolltest so was haben:iobroker upload IMGupload/pumpe.png /vis.0/[PROJECTNAME]/img/pumpe.png
-
Hi Bluefox!
Super jetzt klappt es! Tausend Dank!
Johnny
-
Hi Bluefox, mir ist noch was aufgefallen und zwar wird, wenn ich VIS im Browser laufen lasse, brav das Bild aktualisiert aber wenn ich VIS über das App laufen lasse dann klappt es nicht!
Gruß Johnny
-
Hi Bluefox, mir ist noch was aufgefallen und zwar wird, wenn ich VIS im Browser laufen lasse, brav das Bild aktualisiert aber wenn ich VIS über das App laufen lasse dann klappt es nicht!
Gruß Johnny `
Wie sieht dein Widget aus? -
Also meine Config sieht wie folgt aus:
Aktualisierung hab ich auf 10 min gestellt!
Müsste von den Einstellungen doch passen, oder?
Johnny
-
Also wenn ich im VIS App auf resync gehe dann holt er sich das aktuelle Bild! Nur nicht von selbst!
Obwohl mit
iobroker upload filename.ext /vis.0/img/filename.ext
die Aktualisierung klappt.
-
Also wenn ich im VIS App auf resync gehe dann holt er sich das aktuelle Bild! Nur nicht von selbst!
Obwohl mit
iobroker upload filename.ext /vis.0/img/filename.ext
die Aktualisierung klappt. `
Das ist das Problem mit dem Austauschen vom URL link.Vermutlich dein Link wird ausgetauscht und vis nimmt dann immer das Bild von Handy. Ich bin noch am denken, wie ich das lösen kann.
-
Also wenn ich im VIS App auf resync gehe dann holt er sich das aktuelle Bild! Nur nicht von selbst!
Obwohl mit
iobroker upload filename.ext /vis.0/img/filename.ext
die Aktualisierung klappt. `
Vermutlich müssen wir auf ein Pattern uns einigen. Z.b. wenn in der Dateinamen "_refresh" am Ende steht, dann wird den Link nicht ausgetauscht.iobroker upload filename.ext /vis.0/img/filename_refresh.ext
-
Ups jetzt versteh ich Bahnhof! Was meinst du mit refresh anhängen?
Es ist egal ob ich im basic-image den Pfad so angebe
/vis.0/img/filename.ext
Oder so
http://<ip>:8082/vis.0/img/filename.ext</ip>
Beides wird im vis app nicht aktualisiert
-
Du hast mich nicht verstanden und verstehst auch vermutlich nicht, wie APP funktioniert.
Ich versuche zu erklären.
Um Trafik zu sparen versucht APP alle Bilder (die Pläne sind z.B. oft über 1 MB) auf das Handy zu holen. Die sehen normalerweise wie /vis.0/main/img/myPicture.png.
Dein Bild, was du manuell hoch lädst sieht genauso aus "/vis.0/img/filename.ext". D.h. das Bild wird bei Resync geholt und gespeichert auf dem handy.
Du willst aber das Bild immer wieder selbst updaten, aber du kannst das Bild so oft updaten wie du willst, auf dem Handy wird es aber nicht upgedated, weil das Bild heist schon längst "file://vis.0/imgfilename.ext"
Um jetzt den APP zu sagen, dass das Bild nicht ge"cached" sein sollte braucht man einen Regel. Entwider muss die Datei heißen "/vis.0/img/filename_refresh.ext" damit widget weiß, dass er das Bild über Socket Schnittstelle von ioBroker abholen muss, oder keine Ahnung.