NEWS
[gelöst] Trigger on System Restart
-
Da ich auch einige Sachen bei ioBroker start abarbeiten möchte habe ich dazu 1ne Variable erstellt und 1 Script welches dies bei start auf true setzt und 2sekunden später wieder falsch.
Ich benutzte diese als Trigger für andere Scripte/Events welche ich bei einen Start ausführen möchte.
Nachteil, man erkennt damit nicht den Unterschied zwischen ioBroker Neustart und/oder Neustart des JavaScript adapters.
–-----------------------
Send from mobile device
-
Mir jetzt klar was gemeint war.
Alle Statement eines Scripts werden bei Start aufgeführt.
Will man eine Regel sowohl durch trigger als auch durch Systemstart ausführen will, dann packt man den Code in eine Funktion die von Triggern und auch vom Skipt am Anfang ausgeführt wird.
Insofern ist das Statement, dass es die Funktion nicht benötigt wird, schon ok.
-
Gibt es eine Möglichkeit einen Trigger zu erzeugen, wenn das System neugestartet wurde? `
So ein Trigger ist nicht erforderlich, da bei Systemstart alle Adapter und auch alle Skripte gestartet werden; d.h. alles (außer Funktionen), was im Skript nicht mit on() oder schedule() getriggert wird, wird bei Systemstart ausgeführt.Wie kann man elegant die Funktionen beim Skript-Neustart einmal ausführen?
setInterval(function() { log ('Programmstart 1') },5*60*1000); on({id: 'javascript.0.haus.Heizung.Bad.FensterOffen', change: 'ne'}, function (obj) { log ('Programmstart 2') }); ` -
Wie kann man elegant die Funktionen beim Skript-Neustart einmal ausführen?
setInterval(function() { log ('Programmstart 1') },5*60*1000); on({id: 'javascript.0.haus.Heizung.Bad.FensterOffen', change: 'ne'}, function (obj) { log ('Programmstart 2') }); ` -
@hanss Indem du die einmal einfach im Programm aufrufst.
Alternativ einen function init erstellen, die du dann im Programm am ende aufrufst. -
@Chrunchy
Ich verstehe das nicht,
könntest Du bitte mein Beispiel entsprechend ergänzen?
-Es sollte beim Script-Start Programmstart 1 und Programmstart 2 im Log stehen@hanss OK
function init() { log ('Programmstart 1'); log ('Programmstart 2'); } setInterval(function() { log ('Programmstart 1') },5*60*1000); on({id: 'javascript.0.haus.Heizung.Bad.FensterOffen', change: 'ne'}, function (obj) { log ('Programmstart 2') }); init(); -
@hanss OK
function init() { log ('Programmstart 1'); log ('Programmstart 2'); } setInterval(function() { log ('Programmstart 1') },5*60*1000); on({id: 'javascript.0.haus.Heizung.Bad.FensterOffen', change: 'ne'}, function (obj) { log ('Programmstart 2') }); init(); -
@Chrunchy
Du machst Spaß?
Die Zeilen log('Programmstart').. stehen natürlich stellvertretend für ca. 100 Zeilen Programmcode. -
Wie kann man elegant die Funktionen beim Skript-Neustart einmal ausführen?
setInterval(function() { log ('Programmstart 1') },5*60*1000); on({id: 'javascript.0.haus.Heizung.Bad.FensterOffen', change: 'ne'}, function (obj) { log ('Programmstart 2') }); ` -
@hanss sagte:
setInterval(function() { log ('Programmstart 1') },5*60*1000);Die Log-Ausgabe erfolgt 5 Minuten nach Skript-Start und dann jede weitere 5 Minuten.
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