NEWS
Host per Skript neu starten???
-
@Fibricus sagte in Host per Skript neu starten???:
Dir fehlt eine Absicherung:

Vor dem
Ausführen timeoutmuss einstop timeout
Vor demAusführen intervallmuss einstop zyklischen Ausführung intervalRein als Sicherung, damit der Timeout und/oder das Intervall nicht doppelt gestartet werden.
Wenn du akzeptierst das die erste Meldung auch nach 5 minuten kommt, nicht nach 9, dann kannst du auf den 'timeout' auch verzichten.
Das gleiche gilt für den 2. Fall - auch da hast du schlecht abgesicherte Timeouts / intervalle.
Du solltest Dir angewöhnen immer direkt vor einem
Ausführen ...einstop ...zu setzen. Dann passiert das nicht.A.
@Asgothian sagte in Host per Skript neu starten???:
@Fibricus sagte in Host per Skript neu starten???:
Dir fehlt eine Absicherung:

Vor dem 'ausführen timeout' muss ein 'stop timeout'
Vor dem 'ausführen intervall' muss ein 'stop interval'Rein als Sicherung, damit der Timeout und/oder das Intervall nicht doppelt gestartet werden.
Wenn du akzeptierst das die erste Meldung auch nach 5 minuten kommt, nicht nach 9, dann kannst du auf den 'timeout' auch verzichten.
Das gleiche gilt für den 2. Fall - auch da hast du schlecht abgesicherte Timeouts / intervalle.
Du solltest Dir angewöhnen immer direkt vor einem
Ausführen ...einstop ...zu setzen. Dann passiert das nicht.A.
OK, das wusste ich nicht und habe das auch noch nie gehört.
Aber: sehr plausiebel!
DANKE!Das werde ich später mal einbauen und testen.
Ob es funktioniert kann ich leider erst in einigen Tagen / Wochen berichten. -
@Samson71 sagte in Host per Skript neu starten???:
@Fibricus
Ich bin kein Blockly-Experte, aber Du triggerst auf "aktualisiert". Wäre vermutlich besser, wenn Du auf Änderung prüfst bzw. offen und dann mit einem Timer arbeitest. Auch dabei kann man sich aber ein Bein stellen wie @dr.-bakterius oben schon bemerkt hat.Hatte beide probiert - ändert nichts...
@Fibricus sagte in Host per Skript neu starten???:
Hatte beide probiert - ändert nichts...
Nur das alleine zu ändern wird nicht reichen denke ich. Mit aktualisieren wird vermutlich zu oft getriggert und Tipps zum Timeout hat Dir @asgothian noch gegeben. Bin da wie schon gesagt auch kein Experte bzw. komme da bei Blockly an meine Grenzen. Wenn ich Timer brauche, gehe ich meist den Umweg und bilde das in Homematic ab, weil ich damit besser klar komme.
-
@Asgothian sagte in Host per Skript neu starten???:
@Fibricus sagte in Host per Skript neu starten???:
Dir fehlt eine Absicherung:

Vor dem 'ausführen timeout' muss ein 'stop timeout'
Vor dem 'ausführen intervall' muss ein 'stop interval'Rein als Sicherung, damit der Timeout und/oder das Intervall nicht doppelt gestartet werden.
Wenn du akzeptierst das die erste Meldung auch nach 5 minuten kommt, nicht nach 9, dann kannst du auf den 'timeout' auch verzichten.
Das gleiche gilt für den 2. Fall - auch da hast du schlecht abgesicherte Timeouts / intervalle.
Du solltest Dir angewöhnen immer direkt vor einem
Ausführen ...einstop ...zu setzen. Dann passiert das nicht.A.
OK, das wusste ich nicht und habe das auch noch nie gehört.
Aber: sehr plausiebel!
DANKE!Das werde ich später mal einbauen und testen.
Ob es funktioniert kann ich leider erst in einigen Tagen / Wochen berichten.sagte in Host per Skript neu starten???:
@Asgothian sagte in Host per Skript neu starten???:
@Fibricus sagte in Host per Skript neu starten???:
Dir fehlt eine Absicherung:

Du solltest Dir angewöhnen immer direkt vor einemAusführen ...einstop ...zu setzen. Dann passiert das nicht.A.
Das werde ich später mal einbauen und testen.
Ob es funktioniert kann ich leider erst in einigen Tagen / Wochen berichten.So: Ich habe das mit dem STOP vor dem Ausführen getestet.
Das Ergebnis war noch schlimmer: in gefühlt unregelmäßigen Abständen von zum Teil nur wenigen Sekunden bekam ich die Warnung in Dauerschleife.
Auch das Skript zu stoppen hat nichts geändert, erst der Neustart des IOB...Nun möchte ich doch den Neustart als Sprachbefehl, zumindest bis ich weiß warum sich der IOB so komisch verhält...
-
Wie wäre den der Konsolenbefehl vom NEUStart?
Starten ist ja: "start iob"
Aber was ist Neustart?iob restartAber das doktort nur an dem falschen Skript drumherum. Du musst den Code sauber hinbekommen, nicht den host neustarten. Der läuft dir ja doch nur wieder voll.
Wie schaut das Skript denn nun aus? -
@crunchip sagte in Host per Skript neu starten???:
Gegenfrage:
Was ist der Grund für den Neustart?Mein IOB ärgert mich hin und wieder.
Ich habe immer mal wieder, dass sich irgendwas aufhängt. Was genau bekomme ich nicht raus.Symptome: Ich bekomme keine Antwort von Skripten oder das Skript agiert noch, obwohl es ausgeschaltet ist.
...und wenn dann Alexa (obwohl der Datenpunkt was anderes sagt oder das Skript gar nicht läuft) im 15min Rhythmus warnt: "Warnung, die Haustüre ist nicht richtig zu" kann das schon "etwas" nerven... ;)Ein Neustart hilft dabei zuverlässig. Da ich aber nicht immer einen PC zu Hause habe, möchte ich den Neustart eben über Alexa auslösen können. Oder eben meiner Frau ermöglichen, den Zustand (über Sprachbefehl) zu korrigieren...
@Fibricus sagte in Host per Skript neu starten???:
dass sich irgendwas aufhäng
@Fibricus sagte in Host per Skript neu starten???:
Auch das Skript zu stoppen hat nichts geändert
1: nicht ohne Grund hatte ich zu Beginn nach den Beweggründen gefragt
2: sollten irgendwelchen Timer sich aufstauen, sind diese auch nicht automatisch mit scriptstop beendet.
3: wer sagt das es von diesem script kommt und wie du oben geschrieben hattest....irgendwas aufhängt,daher solltest du mal dein log beobachten, vllt läuft auch irgendein Adapter nicht rund.
Deinen Ram im Auge behalten und in deinem Schuppentür Fall, ob die Sensoren auch ordentlich arbeiten. -
iob restartAber das doktort nur an dem falschen Skript drumherum. Du musst den Code sauber hinbekommen, nicht den host neustarten. Der läuft dir ja doch nur wieder voll.
Wie schaut das Skript denn nun aus?@Thomas-Braun sagte in Host per Skript neu starten???:
iob restartAber das doktort nur an dem falschen Skript drumherum. Du musst den Code sauber hinbekommen, nicht den host neustarten. Der läuft dir ja doch nur wieder voll.
Wie schaut das Skript denn nun aus?Ich weiß!
Aber ich benötige einen "Notaus", wenn ich nicht zu Hause bin, das meine Frau auch der Alexa das "Maul verbieten" kann... -
@Thomas-Braun sagte in Host per Skript neu starten???:
iob restartAber das doktort nur an dem falschen Skript drumherum. Du musst den Code sauber hinbekommen, nicht den host neustarten. Der läuft dir ja doch nur wieder voll.
Wie schaut das Skript denn nun aus?Ich weiß!
Aber ich benötige einen "Notaus", wenn ich nicht zu Hause bin, das meine Frau auch der Alexa das "Maul verbieten" kann...@Fibricus
Du benötigst kein Notaus, du benötigst ein sauber geschriebenes Skript. -
@Fibricus
Du benötigst kein Notaus, du benötigst ein sauber geschriebenes Skript.@Thomas-Braun sagte in Host per Skript neu starten???:
@Fibricus
Du benötigst kein Notaus, du benötigst ein sauber geschriebenes Skript.Ja! Da gebe ich Dir 100% Recht.
Mein Skript ist oben. Findest Du den Fehler?
Dann würde es mich sehr freuen und ich ändere das sofort.
Ich leider finde ich den Fehler nicht...
Das Skript läuft ja auch manschmal viele, viele Wochen sauber. Und dann spinnt es.Diese Skript habe ich in der Form je einmal für Haustür, Balkontür und Schuppentür...
Die Sensoren arbeiten. Das sehe ich ja im Objekt-Baum und in der App...
Ich verstehe es halt nicht mehr - also brauche ich (zumindest bis der Fehler gefunden ist) einen Notaus um Alexa ruhig zu stellen.
-
@Thomas-Braun sagte in Host per Skript neu starten???:
@Fibricus
Du benötigst kein Notaus, du benötigst ein sauber geschriebenes Skript.Ja! Da gebe ich Dir 100% Recht.
Mein Skript ist oben. Findest Du den Fehler?
Dann würde es mich sehr freuen und ich ändere das sofort.
Ich leider finde ich den Fehler nicht...
Das Skript läuft ja auch manschmal viele, viele Wochen sauber. Und dann spinnt es.Diese Skript habe ich in der Form je einmal für Haustür, Balkontür und Schuppentür...
Die Sensoren arbeiten. Das sehe ich ja im Objekt-Baum und in der App...
Ich verstehe es halt nicht mehr - also brauche ich (zumindest bis der Fehler gefunden ist) einen Notaus um Alexa ruhig zu stellen.
@Fibricus sagte in Host per Skript neu starten???:
Mein Skript ist oben.
Den aktuellen Stand sehe ich nicht. Die Frage ist aber auch eher bei z. B. @paul53 aufgehoben.
-
ach eins noch. Soweit ich weis, wenn man viel an einem Script rumbaut, dann sollte man nicht nur das Script stoppen und starten. Sondern auch die Javascript Instanz stoppen und starten.
-
sagte in Host per Skript neu starten???:
@Asgothian sagte in Host per Skript neu starten???:
@Fibricus sagte in Host per Skript neu starten???:
Dir fehlt eine Absicherung:

Du solltest Dir angewöhnen immer direkt vor einemAusführen ...einstop ...zu setzen. Dann passiert das nicht.A.
Das werde ich später mal einbauen und testen.
Ob es funktioniert kann ich leider erst in einigen Tagen / Wochen berichten.So: Ich habe das mit dem STOP vor dem Ausführen getestet.
Das Ergebnis war noch schlimmer: in gefühlt unregelmäßigen Abständen von zum Teil nur wenigen Sekunden bekam ich die Warnung in Dauerschleife.
Auch das Skript zu stoppen hat nichts geändert, erst der Neustart des IOB...Nun möchte ich doch den Neustart als Sprachbefehl, zumindest bis ich weiß warum sich der IOB so komisch verhält...
@Fibricus sagte in Host per Skript neu starten???:
So: Ich habe das mit dem STOP vor dem Ausführen getestet.
Das Ergebnis war noch schlimmer: in gefühlt unregelmäßigen Abständen von zum Teil nur wenigen Sekunden bekam ich die Warnung in Dauerschleife.
Auch das Skript zu stoppen hat nichts geändert, erst der Neustart des IOB...Nun möchte ich doch den Neustart als Sprachbefehl, zumindest bis ich weiß warum sich der IOB so komisch verhält...
Zeig bitte das modifizierte Skript
A.
-
@Fibricus sagte in Host per Skript neu starten???:
So: Ich habe das mit dem STOP vor dem Ausführen getestet.
Das Ergebnis war noch schlimmer: in gefühlt unregelmäßigen Abständen von zum Teil nur wenigen Sekunden bekam ich die Warnung in Dauerschleife.
Auch das Skript zu stoppen hat nichts geändert, erst der Neustart des IOB...Nun möchte ich doch den Neustart als Sprachbefehl, zumindest bis ich weiß warum sich der IOB so komisch verhält...
Zeig bitte das modifizierte Skript
A.
@Asgothian sagte in Host per Skript neu starten???:
Zeig bitte das modifizierte Skript
A.
Gerne:

Ich habe eben nur Stop vor dem Ausführen eingefügt...
-
Dieses Skript erklärt das Verhalten nicht - kannst du bitte mal zeigen wo genau du dieses Skript angelegt hast - insbesondere ob das Skript als Globales Skript definiert ist ?

Zusätzlich bitte:
- den Trigger auf
wurde geändertumstellen. Rein zur Sicherheit. - die folgenden Bausteine (so wie sie da sind) vor dem
stop timeoutundstop timeout 1einfügen (kannst du als XML importieren)

<block xmlns="https://developers.google.com/blockly/xml" type="debug" id="VubhM_vka*k*h:L=x@j8" x="-305.6936340332031" y="840"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="ZLRuju)IfD[^|8:2gBn|"> <field name="TEXT">test</field> </shadow> <block type="text_join" id=":5tJwv~[)w=INJIE#*m#"> <mutation items="5"></mutation> <value name="ADD0"> <block type="on_source" id="Q)?*``Y$q1gHT83*{w8_"> <field name="ATTR">id</field> </block> </value> <value name="ADD1"> <block type="text" id="}pB4xH@$b~XK^`u0q:m}"> <field name="TEXT"> Changed from </field> </block> </value> <value name="ADD2"> <block type="on_source" id="8zUF+89+t[XI()AM:A$?"> <field name="ATTR">state.val</field> </block> </value> <value name="ADD3"> <block type="text" id="Vvn$l_0L{9I+Kfdbu8l4"> <field name="TEXT"> to </field> </block> </value> <value name="ADD4"> <block type="on_source" id="6=Xy-+Q7DcN24*9`(!!T"> <field name="ATTR">oldState.val</field> </block> </value> </block> </value> </block>Dann solltest du für jedes mal wo der Trigger angezogen wird eine Warnung im ioBroker Logbekommen, incl. dem Hinweis welches Skript da aktiv ist.
A
- den Trigger auf
-
Ich Weiß nicht, ob du schon eine Lösung für sein problem hast, aber ich starte iob 2-mal am Tag neu
java script
// Zeitplan: Jeden Tag um 00:00 Uhr (Mitternacht) schedule("0 0 * * *", function () { log("ioBroker Dienst wird neu gestartet (00:00)...", "warn"); // Befehl, um nur die ioBroker-Instanz neu zu starten exec("iobroker restart", function (error, stdout, stderr) { if (error) { log("Fehler beim Neustart um 00:00: " + error, "error"); } }); }); // Zeitplan: Jeden Tag um 12:00 Uhr (Mittags) schedule("0 12 * * *", function () { log("ioBroker Dienst wird neu gestartet (12:00)...", "warn"); // Befehl, um nur die ioBroker-Instanz neu zu starten exec("iobroker restart", function (error, stdout, stderr) { if (error) { log("Fehler beim Neustart um 12:00: " + error, "error"); } }); });
