wie werden eigentlich die IPS-Variablen beim Systemstart (Dienst startet) behandelt ? Werden alle Variabeln zurückgesetzt ? Oder bleibt der letzte Wert erhalten ?
Wie könnten über ein Start-Up-Script die Variablen initialisiert werden ?
So ist es, macht ja auch Sinn. Eine Aktualisierung erfolgt nur durch gestarteten Dienst und Änderung durch z.B. Aktoren, Scripte oder Rückmeldungen von I/O Instanzen etc.
Wie könnten über ein Start-Up-Script die Variablen initialisiert werden ?
Das hängt vom System ab. Welche Variablen sollen denn initialisiert werden.
Ich habe z.B. ein Script geschrieben, welches nach einem Systemreset die BiDi Aktoren abfragt und z.B. alle FS20 Aktoren abschaltet und die Vars zurücksetzt.
Wähle in der Verwaltungskonsole folgende Punkte aus:
Kern Instanzen
Event Handler
Start Skript
Im Start Skript (von Dir natürlich vorher zu definieren) kannst Du dann alle Aktionen durchführen, die Du mit den globalen Variablen machen möchtest. Alles andere natürlich auch.
Du sprichst von einem Systemreset, was ist damit gemeint ?
Ein Systemreset ist bei mir ein Script welches ich im Dashboard über einen Button aufrufe und welches alle möglichen Einstellungen macht und Variablen auf einen von mir gewollten Urzustand zurücksetzt.
wie kann ein Script bei Start des IPS-Dienstes aufgerufen werden ?
Das wurde ja schon schön erläutert.
Im Start Skript (von Dir natürlich vorher zu definieren) kannst Du dann alle Aktionen durchführen, die Du mit den globalen Variablen machen möchtest. Alles andere natürlich auch.
Das ist leider nicht ganz so einfach, leider sind einige globale Variablen „read only“ d.h. diese müssen erst wieder durch z.B. einen Aktor geändert werden. Bestes Beispiel ist ein Bewegungsmelder, der Umweg über Hilfsvariablen wurde des öfteren aber schon im Forum besprochen.
Hallo,
ihr habt mich neugirig gemacht und habe daher mal einen Test durchgeführt wann nun die Scripts genau aufgerufen werden.
Dabei ist mir jetzt aufgefallen,
das der STARTUP-Script bei mir immer ca. 5 Sekunden nach den „Initialisierung abgeschlossen“ aufgrufen wird !!! ==> da läuft aber bereits die zyklische Bearbeitung !!!
(Ich beschiesse IPS ganz bewusst bei Start schon mit Anfragen bzw. Timerevents in Sekundentakt)
… bei SHUTDOWNSCRIPT ist alles in Ordnung, nach den letzten Timerevent läuft noch der Script und dann werden alle Module entladen
==> sollte nicht ein Startupscript vor der „zyklischen Bearbeitung“ aufgerufen werden, dann ansonsten bringt ja dieser Script nichts mehr, wie in den Vorpostings gewünscht eine Initialisierung durchzuführen
Da die meisten Schnittstellen erst nach dem Start geöffnet werden, startet das Startupskript verzögert, damit diese zu dem Zeitpunkt bereits geöffnet sind. Ansonsten wäre gar keine Kommunikation Möglich. Ich würde die Variablen beim Shutdown bereits auf den gewünschten Wert zurücksetzen.
Hallo paresy,
eigentlich würde ich mir das STARTSCRIPT als erstes Event nach dem laden der Module von IPS wünschen (Variablen und Modulinstanzen ansprechbar)
… das Startupscript sollte doch die Möglichkeit geben, Timer abzuschiessen („das diese nicht einfach so uninizialisiert losfeuern“) bzw. Modulinstanzen auf DISCONNECTED zu stellen und dann eben ganz bewusst „geordnet“ durch das Startscript einzuplanen
so wie ich es mir wünschen würde
Module laden
Variablen laden
Eventtrigger laden
Startupscript starten (hier können nun noch Eventtrigger gelöscht werden, Verbindungen gestoppt, Timer gestoppt/gelöscht werden)
1 Sekunden dannach die Module verbinden welche noch auf „CONNECT“ stehen und die Timersteuerung starten
(sollte man im Startupscript noch eine „aktive Timersteuerung“ wünschen kann man ja das Startupscript mit IPS_SLEEP warten lassen und dann noch die gewünschten Aktionen starten)
… das mit dem inizialisieren beim Shutdown ist so eine Sache, werde stellt sicher das IPS auch wirklich zuvor über den SHUTDWON-Script beendet wurde und nicht über den Taskmanager abgeschossen wurde
Soll ja nur ein Vorschlag sein, benötige den Script im Moment nicht