inzwischen ist meine IPS Installation (2.2 beta) reichlich gewachsen und so langsam habe ich das Gefühl, etwas mehr zu verstehen auch und gerade wegen des Forum, das immer wieder tolle Anregungen bietet!
Nun zu meiner Frage:
Ich habe ein „Aktuell“ Modul im Webfront angelegt, daß mir alle möglichen aktuellen Hinweise gibt. Das ist zum Beispiel der Kalender und auch alle derzeit eingeschalteten und an IPS angeschlossenen Verbraucher. Wenn diese ausgeschaltet werden, werden sie über IPS_Sethidden ausgeblendet und das Webfront wird über WFC_reload neu geladen. Entsprechend natürlich auch andersherum, wenn der Verbraucher eingeschaltet wird, erscheint er im „Aktuell“ Modul.
So weit so gut.
Nun hat man ja meistens mehrere Module im Webfront angelegt. Zum Beispiel ein Modul mit entsprechenden Kategorien für alle Räume. In den Kategorien sind dann vielleicht 3 Leuchten im Raum angelegt. Jetzt möchte ich über meinen Touch mal eben zack zack z.b. 2 von den 3 Lampen ausschalten zu einem anderen Raum wechseln und auch dort etwas schalten etc.
Allerdings bekommt das „Aktuell“ Modul natürlich mit, daß etwas passiert ist und lädt das gesamte Webfront jedesmal neu, nachdem der erste Schaltvorgang durchgeführt wird und bevor der 2 Schaltvorgang am Touch ausgelöst werden kann. Zwischendurch ist vielleicht noch jemand von einem Bewegungsmelder erfaßt worden und das „Aktuell“ Modul lädt noch einmal… usw. => Das Webfront ist wird somit sehr häufig neu geladen und eine „flüssige“ Bedienung geht nicht wirklich, da der Reload jedesmal ca. 2 Sekunden dauert.
Nun meine eigentliche Frage: Gibt es eine Möglichkeit, den Reload nur dann zu machen, wenn das „Aktuell“ Modul im Webfront aktiv angezeigt wird? Wenn ich von einem anderen Modul zum „Aktuell“ wechsel wird ja ohnehin der aktuelle Zustand dargestellt also wäre der Reload nicht notwendig, wenn ein anderes Modul aktiv ist.
Ich hoffe, es ist klar geworden, was ich meine
Gibt es einen Befehl oder eine Möglichkeit zu erkennen, welches Modul gerade am Touch aktiv angezeigt wird? Dann könnte man ja den WFC_Reload in Abhängigkeit des angezeigten Moduls durchführen.
zeig mal dein Script dazu.
Ich nutze das auch, allerdings in Abhänigkeit von der zu schaltenden Variable. Das wird nur neu geladen wenn es nötig ist und nicht wenn was anderes schaltet.
Rainer wie machst du das denn? Gibts da ne elegantere Lösung?
Ich denke der Sinn ist, dass man z.B. von eine „Liste“ von Links macht und die auf einer Seite anzeigt. Dann hat man eine Seite nur mit den Geräten die aktuell an sind!
ich habe eine Seite (Modul), wo nur die aktuell eingeschalteten Verbraucher, geöffneten Fenster etc. angezeigt werden. Wenn sie aus/geschlossen sind, werden sie eben versteckt.
Das geht m.E. nur in quasi-Echtzeit, wenn man den WFC_Reload Befehl verwendet.
Wie Pollibus geschrieben hat, ist die „Aktuell“ Seite nichts anderes als eine Liste von Links.
Nun wäre es eben schön, wenn man den Reload nur dann machen würde, wenn die „Aktuell“ Seite angzeigt wird und eben nicht, wenn ein anderes Modul dargestellt wird.
Echtzeit! Im Webfront werden (fast)alle Zustände direkt nach Änderung angezeigt. Dafür braucht man kein WFC_Reload.
Ausnahme COLOR=BlackIPS_SetHidden. Dafür braucht man dann [/COLOR]WFC_Reload[COLOR=Black].
Ich baue auch nicht den Lichtschalter ein und aus wenn ich ihn brauche.
Nochmal, mir geht es um ein Modul / Seite, wo nur alle eingeschalteten / geöffneten Aktoren angezeigt werden. Sozusagen als Gesamt-Statusübersicht, die würde natürlich ewig lang, wenn ich tatsächlich alle Aktoren darstellen würde. Daher „baue“ ich die nicht aktiven in der Übersicht mit dem IPS_SetHidden tatsächlich virtuell aus.
Natürlich kann ich den Status der einzelnen Aktoren auch in allen anderen Modulen oder Kategorien sehen aber eben nicht als Gesamtübersicht und genau darum geht es mir hier.
Da es mit dem IPS_SetHidden nur nach Reload funtioniert, suche ich einen Weg herum, wenn es ihn den überhaupt geben sollte.