NEWS
Falls sich Wert über längere Zeit nicht ändert, mache ...
-
@Qlink sagte in Falls sich Wert über längere Zeit nicht ändert, mache ...:
Hier die Fehlermeldung:
Das ist nicht die Fehlermeldung selbst, sonder nur, wo der Fehler auftritt.
umschalten in Javascript ansicht und in Zeile 10 den markierten Fehler suchen
-
Hier das Script in javascript
var timeout; // Wenn sich Termperatur ändert -> Script triggern on({id: 'hm-rega.0.49599', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Wenn sich Temperatur ändert -> Timer Stop // -> nichts passiert (function () {if (unbenannt) {clearTimeout(unbenannt); unbenannt = null;}})(); // Wenn sich Temperatur für 60min NICHT ändert // -> Mail schicken + reset ausführen timeout = setTimeout(function () { console.warn('weatherman restart, weil temperatur 60min keine Änderung'); sendTo("email.0", "send", { text: 'Weatherman prüfen !', to: '...', subject: 'Weatherman prüfen !' }); console.log("email: " + 'Weatherman prüfen !'); try { require("request")('http://192.168.30.12/?reset:').on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.168.30.12/?reset:'); }, 3600000); });
Wo wäre hier in Zeile 10 ein Fehler ?
Hier das log:
javascript.0 2020-09-13 07:47:59.859 error (2804) at process.topLevelDomainCallback (domain.js:126:23) javascript.0 2020-09-13 07:47:59.859 error (2804) at processImmediate (timers.js:658:5) javascript.0 2020-09-13 07:47:59.859 error (2804) at tryOnImmediate (timers.js:676:5) javascript.0 2020-09-13 07:47:59.859 error (2804) at runCallback (timers.js:705:18) javascript.0 2020-09-13 07:47:59.859 error (2804) at Immediate.setImmediate (C:\iobroker\iob01\node_modules\iobroker.js-controller\lib\adapter.js:5384:37) javascript.0 2020-09-13 07:47:59.859 error (2804) at Object.stateChange (C:\iobroker\iob01\node_modules\iobroker.javascript\main.js:451:25) javascript.0 2020-09-13 07:47:59.859 error (2804) at Object.callback (C:\iobroker\iob01\node_modules\iobroker.javascript\lib\sandbox.js:1052:38) javascript.0 2020-09-13 07:47:59.859 error (2804) at Object.<anonymous> (script.js.weatherman_data_check:10:78) javascript.0 2020-09-13 07:47:59.859 error (2804) at script.js.weatherman_data_check:10:17 javascript.0 2020-09-13 07:47:59.859 error (2804) Error in callback: ReferenceError: unbenannt is not defined
Warum meint er "unbenannt is not defined" ?
-
@Qlink sagte in Falls sich Wert über längere Zeit nicht ändert, mache ...:
Hier das Script in javascript
var timeout; // Wenn sich Termperatur ändert -> Script triggern on({id: 'hm-rega.0.49599', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Wenn sich Temperatur ändert -> Timer Stop // -> nichts passiert (function () {if (unbenannt) {clearTimeout(unbenannt); unbenannt = null;}})(); // Wenn sich Temperatur für 60min NICHT ändert // -> Mail schicken + reset ausführen timeout = setTimeout(function () { console.warn('weatherman restart, weil temperatur 60min keine Änderung'); console.log("email: " + 'Weatherman prüfen !'); try { require("request")('http://192.168.30.12/?reset:').on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.168.30.12/?reset:'); }, 3600000); });
Wo wäre hier in Zeile 10 ein Fehler ?
if (unbenannt) {clear(unbenannt); unbenannt = null; }})();
er findet den timeout "unbenannt" nicht, ändere mal einfach den timeoutnamen in deinem blockly
-
Das wars tatsächlich!
Warum vergisst er den Namen ?
Kann man das irgendwie zukünftig verhindern ?Vielen Dank für die Hilfe
Beste Grüße
-
-
-
@Qlink erledigt, hatte ich nicht gesehen
-
@Qlink das ist leider ein bekanntes problem bei blockly, gerade wenn man updates macht. Ich nutze nur JS, habe damals mit blockly angefangen und hatte immer wieder timeouts kaputt
-
@Xenon sagte in Falls sich Wert über längere Zeit nicht ändert, mache ...:
@Qlink das ist leider ein bekanntes problem bei blockly, gerade wenn man updates macht
So stimmt das nicht!
Es war ein Bug in einer Version von Javascript.
Das wurde damals sehr intensiv kommuniziert, dass bei einem Update die timeouts überprüft werden sollten. -
@Homoran ich hatte danach selbst mehrfach Probleme gehabt. Einmal hatte ich einen Stromausfall und meine system ist neugestartet, selbst da waren timeouts weg.
Wie es jetzt aussieht -> keine Ahnung, ich arbeite ausschließlich nur noch mit JS