Aktualisieren von Werten in einer HTMLBox bei Variablenänderung

Ich habe ein PHP Modul mit einem Webhook und einer Instanz die eine HTMLBox besitzt. Der Inhalt der HTMLBox ist ein iframe mit Verweis auf den Webhook des PHP Moduls. Nun möchte ich wenn ich in der HTMLBox einen Wert einstelle das dieser in IP-Symcon übernommen wird und andersherum wenn sich in IP-Symcon ein Wert ändert das dieser in der HTMLBox aktuell angezeigt wird. Das Senden funktioniert so weit auch gut, ich übergebe mit Javascript bei Änderung einen Wert an den Webhook des PHP Moduls und gebe dann über den Datenfluss die zu ändernden Daten an die Instanz weiter woraufhin die Werte in IP-Symcon aktualisiert werden.

Jetzt möchte ich den umgekehrten Weg gehen, da steht ich aber irgendwie auf dem Schlauch wie das funktioniert. Ich möchte also wenn sich ein Wert in IP-Symcon ändert, dass sich auch die Anzeige in der HTMLBox ändert bzw. aktualisiert. Wie muss ich dazu vorgehen, gibt es da Beispiele zu? Ich kann ja zwar Daten über den Datenfluss an den Parent übergeben aber der Webhook wird ja über ProcessHookData aufgerufen. Eigentlich will ich ja nur das sich der Seiteninhalt bei Änderung einer Variable aktualisiert.

Vielleicht denke ich zu einfach, aber einfach ein Trigger auf Variiablenänderung setzen und dann den Inhalt der HTMLBox neu schreiben (String), oder?

Nun genau da habe ich irgendwie den Gedanklichen Knoten wie schreibe ich den Inhalt neu?

Der Inhalt der HTMLBox sieht so aus


<iframe src="/hook/webbox?type=slider&style=hsl&objectid=50106" border="0" frameborder="0" style= "width: 100%; height: 130px;"/></iframe>

Es wird also an den Webhook übergeben und die PHP Modul Instanz in der der Webhook mit ProcessHookData entgegen genommen wird liefert dann den eigentlichen Seiten Inhalt bzw. generiert die Seite und gibt diese schließlich mit


echo $HTMLPage;

aus.

Jetzt stelle ich mir eben die Frage wie schaffe ich es das eben dieser Inhalt durch die Instanz, in der der Webhook endet, die Seite neu generiert, ich setzte in dem Fall ja nicht den Inhalt der HTMLBox selber sondern dieser wird vom Webhook zurückgeliefert.
Irgendeine Idee und bin ich hier irgendwie komplett auf dem Holzweg?

Doch, du setzt wirklich den Inhalt der HTML-Box neu (also den IFRAME Tag wieder in die String-Variable schreiben).
Damit lädt der Browser das iFrame neu :slight_smile:

Michael

Ich bin mir nicht 100% sicher, aber wenn man den Inhalt einer HTMLBox neu schreibt - selbst wenn er identisch bleibt - führt zu einem Refresh der Anzeige im WebUI. Ich habe gerade auch sowas am wickel. In Abhängigkeit einer Variablen mit Profil wird eine HTMLBox mit iFrame geschrieben. Wenn ich jetzt mehrmals hintereinander den gleichen Button drücke - also der Inhalt bleibt gleich nur neu geschrieben - macht die Box ein refresh! Versuch es mal!

Wobei ich nicht verstehe warum überhaupt ein iframe nutzen…
Du kannst auch direkt den Inhalt von dem was jetzt dein Webhook liefert, in die String-Variable schreiben.
So musst du jetzt ja noch den Webhook absichern, dass er z.b. nicht von extern Missbraucht wird um eine Anmeldung am WebFront zu umgehen.
Michael

Ok danke erst mal für Euren Input ich schaue mal ob ich das nicht auch anders lösen kann bzw. ob es nicht auch das neu schreiben der String Variable tut.