NEWS
Exec Befehle hintereinander ausführen
-
Hallo Leute,
ich arbeite gerade an einer Viessmann Heizungssteuerung und rufe dann folgende Befehle auf:
//Viessmann Instanz kurz Stoppen - beide können nicht schreiben exec('iobroker stop viessmann.0', function (error, stdout, stderr) { console.log('stdout: ' + stdout); }); // Setzen der Heizzeiten exec(Befehl_SchaltzeitenMo, function (error, stdout, stderr) { console.log('stdout: ' + stdout); }); .... exec(Befehl_SchaltzeitenSo, function (error, stdout, stderr) { console.log('stdout: ' + stdout); }); //Viessmann Instanz wieder starten - beide können nicht schreiben exec('iobroker start viessmann.0', function (error, stdout, stderr) { console.log('stdout: ' + stdout); });Mein Problem ist jetzt, dass ich den letzten Befehl wirklich erst zum Schluss ausführen muss - er aber aktuell als zweites (laut Log) ausgeführt wird.
Wie macht ihr das?
-
Wenn die Befehle hintereinander abgearbeitet werden sollen und auch die maximale Laufzeit der Befehle bekannt ist, dann könnte timeout() helfen
setTimeout(function () { exec('iobroker stop viessmann.0', function (error, stdout, stderr) { console.log('stdout: ' + stdout); }, 1000); // wird nach einer Sekunde ausgeführt setTimeout(function () { exec(Befehl_SchaltzeitenMo, function (error, stdout, stderr) { console.log('stdout: ' + stdout); }, 2000); // wird nach zwei Sekunden ausgeführtDas ist zwar durch die Brust in's Auge. Aber JS kennt nun mal kein delay(), das an dieser Stelle kurz wartet.
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