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?
-
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) -
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 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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden