NEWS
Funktion aufrufen bei Start eines Skriptes
-
Hallo,
ich hoffe es ist keine zu blöde Anfängerfrage.
Mal angenommen, dass System auf dem ioBroker läuft, startet neu (Stromausfall). Dann werden irgendwann die Skripte gestartet. Gibt es eine Möglichkeit, beim ersten Aufruf eines Skriptes, eine Funktion (z.B. zur Initialisierung von globalen Variablen) zu starten?
Was mir einfiel wäre, den Start des javascript-Adapters zu triggern und dabei durch Beschreiben eines DP’s die Init. auszulösen. Allerdings ist mir nicht klar, ob zu diesem Zeitpunkt schon die Skripte gestartet sind?
-
@pk68
vielleicht hilft Dir das hier.https://github.com/Mic-M/iobroker.createUserStates
Damit kannst Du z.B. eigene DP erstellen und auch initialisieren oder überschreiben. Wenn das passiert ist, kannst Du mit z.B. mit der Funktion main Dein "Haupt Script" aufrufen.
(siehe Beschreibung auf GitHub) -
@pk68 sagte:
Möglichkeit, beim ersten Aufruf eines Skriptes, eine Funktion (z.B. zur Initialisierung von globalen Variablen) zu starten?
Ja, die Funktion muss nur im Script außerhalb von Trigger-Callback-Funktionen aufgerufen werden.
-
Danke Euch beiden für die schnelle Antwort.
Super Tipp mit createUserStates. Da die nötigen DP's schon vorhanden waren, habe ich nur die Funktion createStates verwendet. Die übergebene Callback-Funktion läßt sich zur Init. der Variablen nutzen.
@paul53 sagte in Funktion aufrufen bei Start eines Skriptes:
Ja, die Funktion muss nur im Script außerhalb von Trigger-Callback-Funktionen aufgerufen werden.
Das ist ja noch einfacher. Hab's zwar nicht auf Anhieb kapiert. Habe zuerst den Code zur Init. in eine Funktion gepackt. Die wurde aber nicht aufgerufen. Den Code direkt ins Skript geht prima. Manchmal sieht man die Wald vor Bäumen nicht.