Im WebFront funktioniert die Navigation, in der TileVisu dagegen nicht. Dort bleibt das alte Bild stehen.
Ursache ist, dass sich zwar das Aktualisierungsdatum der Variablen ändert, nicht jedoch das Änderungsdatum. Das Webfront zeigt den Inhalt der Variablen schon bei einer Aktualisierung neu an, die TileVisu dagegen erst bei einer Änderung.
Meine Frage: sollte nicht auch in der TileVisu die Html-Seite neu angezeigt werden, wenn die Variable aktualisiert wird? Oder muss ich das Verfahren irgendwie umstellen? Wenn ja, dann wie?
… bei mir auch, HTMLBox wird bei Änderung des Variableninhaltes nicht automatisch in der TileVisu aktualisiert. Erst eine z.B. Vergrößerung und Verkleinerung der Kachel bringt dann die Aktualisierung der Ansicht.
Im WebFront funktioniert es bei mir ebenfalls einwandfrei (Aktualisierung der Anzeige automatisch wenn sich die HTMLBox-Variable ändert).
… ok, ja das stimmt tatsächlich, es wird nur der Variableninhalt aktualisiert und nicht geändert
<iframe src='./user/IPS-Highcharts.php?ScriptId=57045' width=100% height=800 frameborder='0' scrolling='no' ></iframe>
Bei Änderung der Variable funktioniert es dann auch in der TileVisu.
Gruß
zkra
Wenn eine Variable mit dem Profil ~HTMLBOX nur aktualisiert wird (der Inhalt ändert sich nicht), wird die HTML-Box in der Visualisierung nicht neu geladen.
Ich habe hier diese Codezeilen
//HTML - Datei erzeugen
file_put_contents("C:\\ProgramData\\Symcon\\user\\awattarpivot.html",$html);
//damit wird die Anzeige aktualisiert
setvalue($diagramm_html_id,"<center><iframe src=\"../user/awattarpivot.html\" height=\"400px\" width=\"100%\" frameborder=\"0\"></iframe></center>");
Das setvalue dient eigentlich nur dazu, um IPS zu sagen, Lade neu. Tut er aber nicht. Es ändert sich die HTML Datei im iframe, nicht aber der Code in der HTML-Box. In der Version 7.0 hat das noch funktioniert. Ich könnte mir vorstellen, dass dieses Verhalten dem „HTML-Blinken“ zum Opfer gefallen ist.
Ich hab z.B. ein Radarbild in der HTMLbox und fülle die Variable mit diesem über ein zyklsiches Ereignis. Aber in der neuen Visu aktualisiert sich nichts stündlich. Bin aber der Meinung das ging mal…
Ja, das wäre ein Möglichkeit. Andererseits gibt es ja gerade das Aktualisierungsdatum, um eine Aktualisierung kundzutun.
Und genauso wurde es bislang genutzt.
Ich habe es so gelöst, dass ich in and den Dateinamen einfach einen Timestamp (time()) angehängt habe. Damit ändert sich der Inhalt. Zwar nicht sehr nachhaltig, weil halt jedesmal eine neue Datei erstellt wird, aber es funktioniert.
ODER, was auch gehen müsste, fällt mir eben ein, die Variable vorher leeren, dann reinschreiben.
Guten Morgen
Offenbar scheint das in der aktuellen Version 7.1 nicht zu funktionieren, obwohl es angeblich korrigiert wurde.
IP-Symcon 7.1, Windows (amd64), 19.04.2024, cc6670054397
Wobei die Aktualisierung unvorhersagbar ist. Ich habe kurzerhand meinen Code dahingehend geändert, dass ich zwei setvalue - Zeilen eingebaut habe. Einen mit einem Punkt am Ende und die Zweite, wo kein Punkt ist. Funktioniert auch nicht immer. Nur sporadisch.
Wow. Muss mich etwas korrigieren. Wenn ich über den Connect Dienst gehe, funktioniert zumindest die Version mit dem Punkt. Lokal im LAN wie gesagt, nur sporadisch.
Ok. Wenn ich das so mache
also den Punkt weglasse, dann hab ich auch über den Connect Dienst kein Update. Zumindest das ist ident.
Nö, das haut auch über den Connect Dienst nicht hin. Auch hier bei mehreren wechseln kein Update, trotzdem die Variable (eben einmal mit Punkt und einmal ohne) eine Änderung erfährt. Da ist noch der Wurm drinnen.
So funktioniert es wie erwartet
$timestamp=time();
file_put_contents("C:\\ProgramData\\Symcon\\user\\awattarpivot".$timestamp.".html",$html);
//damit wird die Anzeige aktualisiert
setvalue($diagramm_html_id,"<center><iframe src=\"../user/awattarpivot".$timestamp.".html\" height=\"390px\" width=\"100%\" frameborder=\"0\"></iframe></center>");
Nur um sicherzugehen, dass der Fehler nicht in deinem Backend ist, kannst du es mal mit einer anderen Quelle probieren? Zum Beispiel https://randomcolour.com/, da wird bei jeder Anfrage eine andere Farbe geladen. Damit haben wir bei der Entwicklung übrigens auch getestet und es klappte einwandfrei.
Und kommt der Fehler in App oder Browser? Da ist das Handling ja jeweils ein bisschen unterschiedlich.
Es kommt kein Fehler, es ändert sich einfach nichts
Ich werde das testen. @Dr.Niels Ok, die Seite mit der Farbe funktioniert und bei jedem setvalue kommt eine andere. Ich schau noch mal.
Interessanterweise funktioniert es jetzt auch ohne meiner $timestamp Variable
@Dr.Niels, @Parzival Das kann ich nur für die Browserdarstellung bestätigen. Bei jedem SetValue ändert sich die Farbe in der Browser Darstellung. In der App dagegen nicht.
Wie ist hier der Stand der Dinge? In der App funktioniert die Aktualisierung der HTML Box bei einer Aktualisierung der HTML Variablen weiterhin noch nicht.
Vielleicht könnt ihr dem Thread ein Ticket zuordnen.