Schau einmal hier nach:
[url][/
viewtopic.php?f=19&t=51856&start=20#p522202url]
und anschließend hier, um eine Bootreihenfolge einzuhalten:
[url][/
viewtopic.php?f=31&t=39187&p=386406&hil ... p386406url]
klingt kompliziert, isset aber nicht
Diese Bootreihenfolge von Badenpower sorgt dafür, dass die Programme in festgelegter Reihenfolge beim Systemstart abgearbeitet werden.
Dazu dient die
- SYS-RebootSequenz-Id
Sobald diese (wie im oberen Ling dargestelltem Beispiel) auf 10 steht (durch die Abarbeitung der VT-Programme , werden alle weiteren Programme so abgearbeitet, wie bekannt.
Selbstversändlich kann man auch bis VT20 gehen und die SYS-RebootSequenz-Id bis 20 laufen lassen (je nachdem wie viele virtuelle Tasten man noch frei hat).
Die Nutzung von SysVars als Wertelisten, statt Logikvariablen mit dem ersten Wert "unbekannt" hilft bei einem Reboot diese SysVars in einen Zustand zu versetzen, dass dieser von Programmen erst einmal nicht genutzt werden kann (sofern in den Programmen nur wahr;falsch genutzt werden) und Programme mit alten Zuständen (vor Reboot) weiter arbeiten und beim Reboot dazwischen grätschen.
Bsp. Zeitraum/Datum
Während des Reboots ein Kalenderprogramm ausführen, was zur Bestimmung von Wochentag/Wochenende/Feiertag führt.
Nach Beendigung des Scripts setzt man eine Triggervariable (z.B. TRI-Kalenderabhängigkeiten -> Werteliste - unbekannt;beendet;gestartet) auf gestartet und nach Zeitraum im gleichen Programm (nach Zeitbedarf der abzuarbeitenden Programme) wieder auf beendet.
Bsp. Programm: ActSysVar-TRI-Kalenderberechnung
setzt dann verzögert ggf. weitere Triggervariablen (z.B. TRI-HR-Wochenprogramm setzen, TRI-LICHT-Wochenprogramm, uvm.) die nach Abarbeitung die ihre Triggervariablen bei Programmende wieder auf "beendet" setzen.
Ein weitere nettes Feature der o.g. Bootreihenfolge ist die Möglichkeit Programme so aufzubauen, dass "nur in einem Block" (das erste "Sonst, wenn" -> Exec-Berech) alle Auslöser stehen (kommt der Übersicht zugute).
Das erste "Wenn'" ist nach abgeschlossenem Reboot niemals wahr und somit kann man eben nur den Exec-Block für Auslöser nutzen.
Ebenfalls sollte man beim lesen des o.g. Freds die Möglichkeiten der SysVar
"SYS true"
nicht unterschätzen
..