InlinePage fernsteuern/anzeigen/wechseln mit IPS

Hi!

In der Feature-Liste habe ich das hier gefunden:

Remotesteuerung von eingebetteten Seiten – Inlinepages können nun auch über ein PHP Skript am IP-Symcon Server gesteuert werden.

Ich habe es so verstanden, dass wenn es z.B. klingelt, ich per IPS-Script eine bestimmte Seite an meinem Tablet im IPSView anzeigen lassen kann?! Also von der Funktion her wie bei IPS der Befehl „IPS_SwitchPage“. Allerdings bekomme ich es nicht hin, ich finde nichts dazu und sehe keine Möglichkeit :frowning:

Wenn es klingelt soll die InlinePage „Sicherheit_Kameras_Haustuer“ in einem PageContainer angezeigt werden.

Nur wie? :confused:

Danke und Grüße,
Chris

In der Hauptseite der View (auch wenn der Container in einer ‚Unterseite‘ ist), sind die Fernsteuerungseigenschaften.
Variable in IPS muss String sein, dort wird der Name der aktuell angezeigten Seite gesetzt. Wenn man die Variable beschreibt mit einem gültigen Seitennamen, wird diese angezeigt.

Dieser Teil funktioniert bei mir gut. Seither springen aber die Inline-Pages etwas unkontrolliert vor und zurück. Wenn ich also manuell mit einem Button auf eine andere Inline-Page wechsle, springt der Client häufig nach dem Wechsel nochmals zurück zur alten Page und dann erst definitiv zur neuen. Ausserdem ‚merkt‘ sich der Client die letzte Inlinepage. Bisher kam immer die Defaultpage, was ich sehr praktisch fand. Jetzt bleibt er bei der zuletzt gewählten Seite, was keine ‚Defaulteinstellung‘ mehr ermöglicht.

So sind zumindest meine Erfahrungen. Wegen dem ‚Springen‘ bin ich wieder zurück auf 2.0

Moin!

Danke für deine Antwort!

Keine Ahnung was ich da gestern Nacht versucht habe :smiley: Aber jetzt nochmal probiert und es funktioniert einwandfrei :slight_smile: Ohne hin und her springen, innerhalb einer Sekunde wird die Seite angezeigt :slight_smile: Seeehr cooles Feature!

Danke und Grüße,
Chris

Für alle die mitlesen und Angst bekommen haben:

  • Das ‚Springen‘ ist vorbei. Ich wusste nicht, dass es eine Reihenfolge zu beachten gibt bei verschachtelten Inline-Pages. Nachdem ich die Reihenfolge korrigiert habe, war das Problem weg. Ohne Fernsteuerung ist die Reihenfolge offenbar weniger kritisch aber mit muss es stimmen.

  • Dass eine Inline-Page (sofern Fernsteuerung aktiviert ist) sich die vorherige Seite merkt ist ja eigentlich logisch. Dort wo es mich stört und immer eine Defaultseite geladen werden soll, mache ich das jetzt über ein Script in IPS und setzte entsprechend die gewünschte Seite per Fernsteuerung. Ist aber vermutlich auch nur bei verschachtelten Inline-Pages ein Thema.

Schon sehr, sehr nett, was jetzt bereits alles möglich ist mit IPSView. Wenn man den begrenzten Absatzmarkt bedenkt, müsste es eigentlich das zehnfache kosten :wink:

kjb

@Brownson:

Wo wir gerade bei „springen“ sind. Mein Objektbaum in IPSView „springt“ alle X Sekunden/Minuten wild hin und her. Sprich die Reihenfolge ändert sich von den Objekten. Mal ist die TextVariable oben, dann drunter, usw… Doof zu beschreiben :confused:

Soll ich dir mal ein Video machen?

Grüße,
Chris

War zu schnell. Das ‚Springen‘ ist wieder da. Lästig.

Ich habe auf meiner Hauptseite primär einen PageContainer für Inlineseiten. Diese werden mit einem Menu aus InlineButtons ausgewählt.
Seit Update auf 2.1 und Aktivierung der Fernsteuerung kann es vorkommen, dass ich einen Button anwähle und dann die richtige Inlinepage angezeigt wird, sofort aber wieder zurückwechselt auf die zuletzt angezeigte Seite und dann erst zurückspringt auf die eigentlich gewünschte um dann dort zu bleiben wie es sich gehört. Manchmal einmal hin und her, manchmal aber auch zweimal.

Nur bei mir?

Gruss, kjb

Wie hier https://www.symcon.de/forum/threads/28280-InlinePage-fernsteuern-anzeigen-wechseln-mit-IPS (Post #6) schon beschrieben, gibt es bei mir unter dem Windows-Client (andere nicht getestet) Probleme mit Inlinepages sobald die Fernsteuerung aktiviert ist. Wenn unter ‚Fernsteuerung‘ keine IPS-Variable eingetragen ist, verschwindet das Problem der ‚springenden Seiten‘.

Könnte es sein, dass z.B. durch ein Timingproblem, das Eintragen der aktuell angezeigten Seite in der IPS-Variable und das Auslesen derselben zur Auswahl der anzuzeigenden Seite zu diesem Phänomen führt?

Wäre froh, wenn wir das Problem finden könnten, mag auf die Fernsteuerung nicht mehr verzichten. Ein Riesengewinn für die Visualisierung :slight_smile:

Danke, kjb

Heute hat ich zum 1. Mal auch dieses „springen“! Sogar mehrmals!

Ich hab einem Kumpel das IPSView am Tablet gezeigt und mehrmals ist er wieder zurück auf eine andere InlinePage gesprungen! Also ich war z.B. grad im „News-Bereich“ und dann springt er wieder zurück auf den „Film-Bereich“.

Wirklich sehr nervig…kann verstehen was du meinst :frowning: Hoffe wir finden die Lösung für das Problem!

Grüße,
Chris

Hab die Themem mal zusammengeführt.

Könnte Ihr nochmals genau Eure Ausgangssituation beschreiben - welcher Container in welchem, wieviele, welcher wird umgeschaltet, welche Clients …
Passiert das willkürlich oder nur wenn man sehr schnell die Pages wechselt?
Könnt Ihr ausschließen, dass die Variablen am Server verändert werden ?

Bei meinen Testviews sind ebenfalls alle Container zum Server synchronisiert, konnte das Problem aber noch auf keinem Client beobachten.

Das ist meine „Übersicht“. Oben die Statusbar, die macht keine Probleme. Dann links oben das „Hauptmenü“ und links unten das „Untermenü“, welches je nachdem was links oben ausgewählt wurde, ein extra Untermenü anzeigt.
Rechts die Hauptseite wird dann dargestellt, je nachdem was im Hauptmenü bzw. Untermenü gewählt wurde.

Das Springen ist bei mir fast zeitgleich mit einer erneuten Exception Timeout blabla Meldung gekommen. Die Hauptseite rechts ist wieder zu einer zurück gesprungen, die ich mehrere „Button-drücke“ vorher mal angeklickt hatte. Dann habe ich wieder einen anderen Menüpunkt gedrückt, wieder zurück gesprungen, dann ging es vlt. mal 1-2 Menüpunkte ohne dem Springen und dann kam wieder ein Sprung auf die „alte“ Hauptseite (InlinePage), usw…
Also vermute ich sehr stark, dass es da einen Zusammenhang gibt mit den Timeouts, mangelhafter Verbindung zwischen IPSView auf dem Tablet und dem IPS-Server…und damit dem Springen.

Grüße,
Chris

  • Windows Client unter Windows 7
  • Kein WLAN, alles Kabel
  • Client läuft auf selbem PC wie IPS

Meine Hauptseite hat neben einem ‚statischen‘ Fuss- und Kopfbereich links ein Menü mit Detail-Buttons und rechts einen Inline-Page Container.
In diesem werden entweder direkt Daten angezeigt oder Seiten mit einem neuen Inline-Page Container und wieder einem Untermenü links.

Das Springen ist unabhängig von der Geschwindigkeit und kann auch mehrmals hin und her gehen, manchmal schaltet die Seite auch gar nicht um.
Die Variablen werden in IPS nicht gesteuert. Habe die Skripts zur Fernsteuerung in IPS mal deaktiviert. Das Springen lässt sich aber auch in IPS verfolgen, die Variablen ändern sich synchron zur Anzeige der Seiten.

Wenn für einzelne (oder alle) Seiten die Fernsteuerungsvariablen in IPSView gelöscht werden, stoppt das Springen für diese Seiten.

Unterseite.jpg

Teamviewer wäre eine Möglichkeit bei Bedarf.

Gruss, kjb

Hier vlt. was neues? :slight_smile:

Grüße,
Chris

Ja, Fernsteuerung macht so noch keinen Spass.

Ich habe bemerkt, dass zumindest bei mir das Springen sehr viel seltener ist, wenn im Netzwerk noch ein zweiter Client mit der selben View läuft.

Gruss, kjb

Bin auch hier mal einen Schritt weiter.

Das Problem tritt insbesondere bei System mit einer sehr hohen Auslastung auf (Danke an kjb für die Unterstützung bei der Analyse). Hierbei kommt es zu einer verzögerten Rückmeldung der Updates einer InlinePage zum Client, was wiederum das Springen auslösen kann.

Leider ist das Problem nicht so einfach zu lösen, es gibt aber zumindest einen relativ einfachen Workaround um das Problem zu unterbinden.

Der Workaround sieht so aus, dass man für die Remote Variable der InlinePage ein ActionScript definiert und dort den Wert der Variable NICHT setzt. Das unterbindet die Rückmeldung zum Client und verhindert das Springen.
Wer die Information über die aktuelle Seite dennoch benötigt, kann den Wert auf eine andere Variable schreiben.

Für eine endgültige Lösung des Problems stehen folgende Möglichkeiten zur Verfügung:

[ul]
[li]Gar nichts machen und in der Doku eine Beschreibung hinzufügen, dass das Problem bei Systemen mit hoher Auslastung auftreten kann.
[/li][li]Switch in der View Definition, um die Rückmeldung zum Server komplett zu unterbinden
[/li][li]2 getrennte Variablen – eine für die Synchronisierung ClientServer, eine für ServerClient
[/li][li]Verwendung eines Page Suffix, dh beim Schreiben der aktuellen Seite zum Server wird dem Seitennamen ein Suffix drangehängt. An diesem Suffix kann der Client dann beim Refresh der Daten erkennen, ob es sich um ein Echo des vorigen Update’s handelt oder ob ein Seitenwechsel am Server initiert wurde.
[/li][li]
[/li][/ul]

Letztere Möglichkeit ist aktuell meine bevorzugte Variante – bitte um Feedback.

Moin!

Das sind ja schon mal relativ gute Neuigkeiten :slight_smile: Und mit hoher Auslastung…joa…könnte hinkommen bei mir :smiley: :smiley:

Deinen Workaround verstehe ich grad nicht, mag aber am Schlagmangel liegen :frowning:

Bzgl. der Lösung könnte ich mich mit den letzten beiden Punkten anfreunden, wobei ich auch die letzte Lösung bevorzugen würde.

Grüße,
Chris

Bei der String-Variable, welche als Fernsteuerungs-ID in IPSView angegeben ist,wird ein Action-Script eingetragen. Diese Variable wird dann nur noch dazu verwendet in IPSView die Seite zu wechseln. Für die Anzeige der aktuellen Seite in IPSView wird eine neue String-Variable definiert.
In dem Action-Script steht dann z.B. so was:

if ($_IPS['SENDER'] == "IPSView" and $_IPS['VARIABLE'] == 19676 /*[IPSView\Aktive Hauptseite (Hauptseite)\Hauptseite setzen (Hauptseite)]*/) SetValue(59758 /*[IPSView\Aktive Hauptseite (Hauptseite)]*/, $_IPS['VALUE']);

Damit wird (sofern die Variable von IPSView geändert werden soll und das Ziel die Fernsteuerungsvariable ist) die neu angelegte Variable mit der aktuellen Seite in IPSView befüllt.

Das kann man sicher einfacher erklären aber mir gelingt es gerade nicht.

Mit dieser Lösung funktioniert das bei mir perfekt und ich kann den beiden Variablen für Anzeige und Veränderung sogar etwas abgewinnen.

Gruss, kjb

Ein Hallo in die Runde,
kann mir hier nochmal jemand helfen?
Das mit den 2 variablen bekomme ich nicht hin.
Evtl. Kann mir jemand das mit dem Suffix erklären.
Danke

Ich konnte mich mit der Suffix Lösung nicht wirklich anfreunden, bin gerade dabei eigene Variablen für jede Richtung zu implementieren.

Designer + WindowsClient kommen noch diese Woche, Android Ende der Woche, iOS noch etwas später…

Beim angesprochenen Workaround legt man für die bereits bestehende Variable ein ActionScript ohne Inhalt an:


<?

?>

Dadurch wird der Zustand des Clients nicht mehr zum Server synchronisiert …

Funktioniert, Danke

Moin Moin,
irgendwie stehe ich auf dem Schlauch… Ich habe auf der Hauptseite unter „Fernsteuerung“ nur „Variable Sichtbarkeit“.
Diese Punkte wie „Aktives Tab“ und so fehlen komplett…

Hab auf der Hauptseite ein Inlinepage als Detailseite angelegt. Hat einer ne Idee?

Version ist IPSStudio 3.0

Bildschirmfoto 2017-01-24 um 13.38.23.png