Frage zur Programmierung: zeitliche Abfolge von Ereignissen in einem Script

Mahlzeit zusammen,

ich möchte folgendes in einem Script zusammenfassen, habe aber momentan noch keine Idee, wie dies zu realisieren ist:

  • Lampe einschalten
  • nach x min eine weitere Lampe einschalten
  • nach y min die erste Lampe ausschalten
    -nach z min die zweite Lampe ausschalten

Es geht nicht um die Schaltfunktion an sich, sondern wie ich die zeitliche Abfolge realisieren kann.

Ich bin für jede Idee dankbarer Abnehmer!

Gruss aus EU,

Jörg

Hallo Jörg,

am Ende könnte eine Art „Schrittkette“ hilfreich sein.

Das Prinzip:

  • Im ersten Schritt (Zähler ist 0) wird die erste Lampe eingeschaltet. Der Zähler ein hochgesetzt und die Minuten bis zum nächsten (Selbst-)Aufruf des Skriptes gesetzt.
  • Im zweiten Schritt (Zähler ist 1) wird dieses und jenes gemacht. Der Zähler ein hochgesetzt und die Minuten bis zum nächsten (Selbst-)Aufruf des Skriptes gesetzt.
  • Im letzten Schritt (Zähler ist x) wird der Zähler wieder auf 0 gesetzt…

…ist so eine spontane Idee…

Joachim

Jupp, so hab ich das bei meinem Sonnenaufgang vom Terrarium auch gemacht.

Ein Skript + Hilfs(Zähl)Variable + Timer
> Timer ruft das Skript z.B. am Morgen auf, Skript läuft, setzt den Zähler eins hoch und startet den eigenen Timer. Das Skript wird wieder und wieder aufgerufen, das Licht heller und heller gedimmt, irgendwann werden noch andere Aktionen geschaltet (if zähler == X) und am Ende wird der Skript-Timer wieder deaktiviert usw. Funktioniert super :slight_smile:

Alternativ für jede Schaltaktion ein Skript. Jedes Skript ruft das andere auf, was wiederrum den Timer vom Skript auslöst und wenn das jeweilige Skript per Timer aufgerufen wird, dann wird die Lampe geschaltet und das nächste Skript aufgerufen.

Ooooder einfach über verschiedene Timer mit entsprechenden PHP Befehlen :slight_smile: Die Timer kannst du aus einem Skript heraus setzen.

Grüße,
Chris

So wie von Joachim vorgeschlagen. Eine Schrittkette oder Statemachine ist die sauberste Lösung.
Falls zwichen den Schritten unterschiedliche Zeiten vergehen sollen, so kannst auch den Timer im Script immer wieder beliebig umsetzen.

gruß
bb