NEWS
Instanz verzögert starten
-
Hallo zusammen,
ich habe auf einem Raspberry Pi eine vCCU und IOBroker laufen. Das ganze funktioniert soweit ganz gut.
Allerdings habe ich das Problem, dass bei Neustart des Raspberrys sich der hm-RPC Adapter nicht mit der CCU verbinden kann.
Ich konnte herausfinden, dass es wohl daran liegt, dass die CCU noch nicht erreichbar ist, wenn der hmRPC Adapter seine Anfrage raus schickt. Wenn die CCU wieder erreichbar ist und ich die Instanz neustarten, dann läuft alles dauerhaft.
Daher meine Frage:
Ist es möglich eine Instanz verzögert (bspw. 3 Minuten nach dem IOBroker Start) zu starten?
-
ja aber
du musst es über ein Script machen..das würde soweit gehen da wenn die Javascript instanz startet alle dort sich befindenen Scripte auch gestartet werden also
ich starte so mein octoprint Adapter
var objPl = getObject('system.adapter.octoprint.0'); objPl.common.enabled = true; // true = Adapter anschalten false auschalten setTimeout(function() { setObject('system.adapter.octoprint.0', objPl, function (err) { if (err) log('Cannot write object: ' + err); }); }, 1000*60*3); // 3 minuten
-
Hallo,
habe das Skript mal entsprechend angepasst.
Könnte vielleicht mal jemand drüber schauen, ob das so richtig ist?
Und wo muss ich das Skript denn hinpacken, oder was muss ich tun, damit es bei Systemstart ausgeführt wird?
//Variablendeklaration var hmrpc0 = getObject('system.adapter.hm-rpc.0'); var hmrpc1 = getObject('system.adapter.hm-rpc.1'); var hmrpc2 = getObject('system.adapter.hm-rpc.2'); var hmrega0 = getObject('system.adapter.hm-rega.0'); //Instanzen aus- und wieder einschalten function startHomematicInstances() { hmrpc0.common.enabled = false; setObject('system.adapter.hm-rpc.0', hmrpc0, function (err) { if (err) log('Cannot write object: ' +err); }); hmrpc0.common.enabled = true; setObject('system.adapter.hm-rpc.0', hmrpc0, function (err) { if (err) log('Cannot write object: ' +err); }); hmrpc1.common.enabled = false; setObject('system.adapter.hm-rpc.1', hmrpc1, function (err) { if (err) log('Cannot write object: ' +err); }); hmrpc1.common.enabled = true; setObject('system.adapter.hm-rpc.1', hmrpc1, function (err) { if (err) log('Cannot write object: ' +err); }); hmrpc2.common.enabled = false; setObject('system.adapter.hm-rpc.2', hmrpc2, function (err) { if (err) log('Cannot write object: ' +err); }); hmrpc2.common.enabled = true; setObject('system.adapter.hm-rpc.2', hmrpc2, function (err) { if (err) log('Cannot write object: ' +err); }); hmrega0.common.enabled = false; setObject('system.adapter.hm-rega.0', hmrega0, function (err) { if (err) log('Cannot write object: ' +err); }); hmrega0.common.enabled = true; setObject('system.adapter.hm-rega.0', hmrega0, function (err) { if (err) log('Cannot write object: ' +err); }); } //Ausführen der Funktion nach 4 Minuten setTimeout(function() { startHomematicInstances(); log ('StartHomematicInstances READY'); }, 1000*60*4);
-
bei systemstart werden alle adapter auch gestartet und da script läuft dann mit