Info, ob View aktuell verwendet wird

Hallo,

gibt es eine Möglichkeit zu ermitteln, ob eine View aktuell in einem Client geöffnet ist?

Hintergrund der Frage ist, dass ich z.B. die Fernsteuerung bei bestimmten Ereignissen nur nutzen will, wenn zum Zeitpunkt auch die View irgendwo aktiv ist.

Einfaches Beispiel:
Wenn es klingelt soll nur in dem Moment zur Kamera geschaltet werden, wo es auch klingelt. Wenn die View zur der Zeit nicht aktiv ist, braucht beim nächsten Öffnen der View nicht mehr zur Kamera gewechselt werden, was aber - wenn ich es richtig verstanden habe - passiert, wenn man einfach die entsprechenden Fernsteuerungsvariablen setzt.

Eine Möglichkeit wäre vielleicht das Änderungsdatum der Sync-Variablen zu prüfen, was aber voraussetzt, dass kürzlich irgendwelche Container gewechselt wurden.

Gruß
Slummi

Hallo Slummi,
ich hab das bei mir so gelöst, dass ich mit dem Wechsel zu der Kameraseite gleich noch den Timer von dem Skript setze, welches die Fernsteuerungsvariable wieder auf die Standardseite stellt. Alternativ könntest du vor dem Setzen der Fernsteuerungsvariable auf die Kameraseite diese auslesen und den Inhalt in eine Hilfsvariable schreiben. Dann ebenfalls per Timer den Inhalt der Hilfsvariable wieder in die Fernsteuerungsvariable zurückschreiben.

So sieht es bei mir aus:

<?
 //Aktiven Tab beim Tablet EG Wohnzimmer auf Kamera setzen
 SetValueString(43196 /*[IPS-View\Tablet-EG-WoZi\Aktiver Tab]*/,"Tab-Kameras");

		IPS_SetEventCyclicTimeBounds(27677 /*[IPS-View\Tablet-EG-WoZi\aktive Seite auf Grundriss setzen\Alle 1 Tag(e) um 17:03:35]*/,(time()+5*60),0);
		IPS_SetEventActive(27677 /*[IPS-View\Tablet-EG-WoZi\aktive Seite auf Grundriss setzen\Alle 1 Tag(e) um 17:03:35]*/,TRUE);


?>

Und das ist das Script auf das der Timer mit der ID 27677 gesetzt wird:

<?
 //Aktiven Tab beim Tablet Wohnzimmer auf Grundriss setzen
SetValueString(43196 /*[IPS-View\Tablet-EG-WoZi\Aktiver Tab]*/,"Tab-Haus");
 
	IPS_SetEventActive(27677 /*[IPS-View\Tablet-EG-WoZi\aktive Seite auf Grundriss setzen\Alle 1 Tag(e) um 17:03:35]*/,FALSE);

?>

Hier noch ein Screenshot vom Objektbaum:

Gruß Thorsten

Hallo Thorsten,

danke für den Tipp!
Ich glaube ich werde es in abgewandelter Form versuchen und die Sync-Variablen zum Zeitpunkt des Ereignisses sichern und dann zeitgesteuert prüfen, ob sich die Sync-Variablen nach dem Setzen der Fernsteuerungsvariablen geändert haben. Wenn ja, mache ich anschließend nichts mehr, weil dann in der View andere Seiten aufgerufen wurden, wenn nein, setze ich die Fernsteuerungsvariablen auf die gesicherten Sync-Variablen.

Ist natürlich unterm Strich ganz schön umständlich. Cooler wäre, wenn man in IPS eine Information darüber hätte, ob die View gerade aktiv ist oder nicht.

Gruß
Slummi