Anzeigescreen automatisch umschalten

Folgendes ist geplant bzw schon umgesetzt:

Es gibt einen kleinen Infoscreen, der in einem Webfront mehrere Seiten nacheinander anzeigt und automatisch durchschaltet. Auf diesen sind z.B. Datum und Uhrzeit, IP Adressen, Fensterstatus, Temperaturen zu sehen.

Mit WFC_SwitchPage kann ich umschalten

Der Ablauf soll wie folgt Aussehen:

Anzeige Uhr
---- warten 30 sec
Anzeige Temperaturen
---- warten 5 sec
Anzeige Fensterstatus
---- warten 5 sec
Anzeige IP Adressen
---- warten 5 sec

dann wieder Anzeige Uhr

Soweit auch OK. Erste Versuche einfach in ein Script (Switchpage, Sleep, Switchpage, Sleep, Switchpage) und dann dies alle 30 Sec ausführen klappt schonmal. Aber jetzt kommt natürlich wieder die Bastelei.

Mit einem einzigen Taster soll zwischen den Screens umgeschalten werden können.

Daraus ergibt sich folgender Ansatz

  • Variable speichert welcher Screen angezeigt wird
  • If Variable = 1 dann Anzeige Bild 1 --> Variable = danach 2
  • If Variable = 2 dann Anzeige Bild 2 --> Variable = danach 3
    usw

Bei jedem Trigger wird der Screen umgeschalten. Script wird alle 5 sec aufgerufen. Ergibt aber das Problem, dass der Hauptscreen mit der Uhr zu kurz angezeigt wird.

Durchgang soll praktisch automatisch vonstatten laufen. Wird der Taster gedrückt, dann Umschalten auf die nächste Anzeige, erneutes Drücken = nächste Anzeige und so weiter. Wird innerhalb von 30 sec der Taster nicht gedrückt soll die Anzeige wieder automatisch umschalten.

Und genau da hängts dann auch. Hat jemand eine Idee?

Hallo tommy86

ich würde es ungefähr so lösen:

Du benötigst ein Skript und eine Variable

In der Variable legst du immer den aktuellen Screen ab (0 für Uhr, 1 für …)

Das Skript liest die aktuelle Variable.
Legt fest welcher Screen als nächstes Dran ist.
Schreibt die Variable um und zeigt den Screen an.
Erzeugt auf sich selbst einen passenden Timer um sich nach Zeit x selbst wieder aufzurufen.
Und alles fängt nach Zeit x von vorne an.

Ein Taster macht dann das gleiche.
Taste drücken und Skript ausführen.

Das wars.

Gruß
Mike