Wie reagiert man in einer eigenen HTML Seite auf Änderungen?

Hi,

Ich habe schon viele Beiträge hier gefunden, in denen es um unterschiedlichste Varianten geht, wie man aus html heraus In IPS Werte ändert oder steuert. Auch ein abrufen von Werten ist kein Problem. Aber all das läuft darauf hinaus, das man mit einem Timer-Script Änderungen abfragt.

Gibt es eine Möglichkeit, sich bei IPS zu „registrieren“, damit ein Skript in einer Webseite ohne Reload bei einer z.B. Variablenänderung angestoßen wird, damit man nicht unnötig den Server belastet?

Habe leider nichts dazu gefunden, aber das Webfront reagiert ja auch prompt…

Gruß
Coyote

Hi Volkmar,

kannst Du nicht ein PHP Script erstellen, das einen HTTP request absetzt und darauf ein Ereignis erstelle,n damit es bei Variablenänderung ausgeführt wird?
Oder habe ich Deine Anforderung falsch verstanden?!

Gruß,
Thorsten

Abend!

Ich glaube Coyote will nicht Abfragen um Daten in seiner eigenen Seite zu ändern…

Normal geht der Datenaustausch ja über die JSON API > Datenaustausch — IP-Symcon :: Automatisierungssoftware

Aber er will wohl nicht abfragen, welchen Wert/Status eine Variable gerade hat, sondern er will das sich seine Seite automatisch updated, wenn sich ein Wert/Status ändert. Und auch nur dann und nicht z.B. alle 5 Sekunden neu und evtl. „unnötig“ abfragen.

…mir fällt aber spontan auch nicht ein wie das gehen könnte, in die Richtung hab ich noch nichts gemacht.

Grüße,
Chris

Diese Richtung funktioniert leider aufgrund des HTTP Protokolls nicht ohne große Tricks (und dann nicht mit jedem Browser, etc.).
Das einzig Brauchbare ist ein permanente pollen/abfragen der Werte z.B. alle 500ms. Das IP-Symcon Webfront macht genau das gleiche auch; das lässt sich auch gut beobachten in der Chrome Entwicklerkonsole.

Genau darum geht es. Ok. Wenn’s da nichts anderes gibt… dann ist halt pollen angesagt :wink:

Danke für die Antworten.

Mann kann ja im debuger das pollen sehen, aber wo kann ich mich da jetzt per script einklinken um die Pollings des WebFronts zu verwerten :confused:. Ich möchte keine zusäzlichen Polls aufrufen. Das ganze wird ja vom Webfront Javascript schon erledigt. Frage zu kompliziert formuliert? :cool: Danke für eventuelle Hinweise.:rolleyes:

cu Xaver

Darauf kann ich dir keine Antwort geben. Ich kann nur sagen, dass ich gerade mit Websockets also KOMPLETT ohne Polling experimentiere.

mir würde nur einfallen die console.log funktion zu überschreiben.


<script>
  var logfunc=console.log;
  console.log=function(a){
    // hier kann a untersucht werden dann orinal log aufrufen
    logfunc(a);
  }
<script>

aber es müsste doch möglich sein in das laufende Script einzuklinken, Ich müsste nur wissen wo genau im WebFront script die Abfragen zu IPS erfolgen

cu Xaver

Ist es denn möglich mit IPS Long Polling zu nutzten oder geht das nicht wegen der Laufzeitbeschränkung der php Scripte?