NEWS
Wert der Variable? Ich stehe auf dem Schlauch
-
@skorpil sagte:
Aber warum klappt das dann nicht?
Vielleicht wird der Wert im Reiter "Objekte" nicht aktualisiert ? Welcher Wert muss es laut CCU sein ?
-
@skorpil sagte:
„false“ oder „inaktiv"
Das war auch zum Zeitpunkt des Skriptstarts der Fall ? Die SV wird nur ausgewertet, wenn das Skript gestartet wird. Ergänze es mal durch einen Trigger und schau im Log nach, ob auf Änderung der SV reagiert wurde.
on('hm-rega.0.30304', function(dp) { log('dea: ' + dp.state.val); }); -
@skorpil sagte:
„false“ oder „inaktiv"
Das war auch zum Zeitpunkt des Skriptstarts der Fall ? Die SV wird nur ausgewertet, wenn das Skript gestartet wird. Ergänze es mal durch einen Trigger und schau im Log nach, ob auf Änderung der SV reagiert wurde.
on('hm-rega.0.30304', function(dp) { log('dea: ' + dp.state.val); }); -
@skorpil sagte:
„false“ oder „inaktiv"
Das war auch zum Zeitpunkt des Skriptstarts der Fall ? Die SV wird nur ausgewertet, wenn das Skript gestartet wird. Ergänze es mal durch einen Trigger und schau im Log nach, ob auf Änderung der SV reagiert wurde.
on('hm-rega.0.30304', function(dp) { log('dea: ' + dp.state.val); });@paul53 sagte in Wert der Variable? Ich stehe auf dem Schlauch:
on('hm-rega.0.30304', function(dp) { log('dea: ' + dp.state.val); });
Gerade getestet:
javascript.0 2019-03-25 22:51:44.194 info script.js.common.Test.Test: dea: false javascript.0 2019-03-25 22:50:14.150 info script.js.common.Test.Test: dea: trueEs wird reagiert!
-
@paul53 sagte in Wert der Variable? Ich stehe auf dem Schlauch:
on('hm-rega.0.30304', function(dp) { log('dea: ' + dp.state.val); });
Gerade getestet:
javascript.0 2019-03-25 22:51:44.194 info script.js.common.Test.Test: dea: false javascript.0 2019-03-25 22:50:14.150 info script.js.common.Test.Test: dea: trueEs wird reagiert!
-
@skorpil sagte:
„false“ oder „inaktiv"
Das war auch zum Zeitpunkt des Skriptstarts der Fall ? Die SV wird nur ausgewertet, wenn das Skript gestartet wird. Ergänze es mal durch einen Trigger und schau im Log nach, ob auf Änderung der SV reagiert wurde.
on('hm-rega.0.30304', function(dp) { log('dea: ' + dp.state.val); }); -
ich habe den Eindruck, dass das Script bei Scriptstart NICHT reagiert. Erst bei einer Änderung der Variablen und tracking mit "on" ,reagiert das Script. Ist das ein bug?
-
//bei Skriptstart Cron Job starten, wenn Automower ein schedule('27,50 14-18 * * *', function () { if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val = true) {Ausgangspunkt meiner ganzen Tests war folgendes: Ich wollte erreichen, dass eine Funktion zu den definierten cron Zeitpunkten nur aufgerufen wird, wenn die Variable hm-rega.0.30304 auf true steht. Nun habe ich aber im log gesehen, dass die Funktion zu den Zeitpunkten gestartet wird, obwohl ja der Wert der Variablen auf false stand.
Sehr merkwürdig
-
//bei Skriptstart Cron Job starten, wenn Automower ein schedule('27,50 14-18 * * *', function () { if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val = true) {Ausgangspunkt meiner ganzen Tests war folgendes: Ich wollte erreichen, dass eine Funktion zu den definierten cron Zeitpunkten nur aufgerufen wird, wenn die Variable hm-rega.0.30304 auf true steht. Nun habe ich aber im log gesehen, dass die Funktion zu den Zeitpunkten gestartet wird, obwohl ja der Wert der Variablen auf false stand.
Sehr merkwürdig
@skorpil zur Sicherheit hier nochmal das komplette Sript:
// ################################################################## // Regen ermitteln und in Wetter Regen schreiben // ################################################################## function regen_ermitteln() { //Definitionen var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/; var idVariable = 'hm-rega.0.32978'/*Wetter Regen*/ //Wetterdaten auslesen wetterdaten = getState(idOpenWeater).val; //finde regen oder niesel var regen = wetterdaten.lastIndexOf('Regen')+1; var niesel = wetterdaten.lastIndexOf('Niesel')+1; var Regen = wetterdaten.lastIndexOf('regen')+1; var Niesel = wetterdaten.lastIndexOf('niesel')+1; // wenn gefunden dann if (regen + niesel + Regen + Niesel > 0) { regen = true; } else {regen = false;} log(regen); //Variable setzen setState(idVariable, regen); }; //bei Skriptstart Cron Job starten schedule('0 13 * * *', function () { if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val = true) { regen_ermitteln(); }; }); //bei Skriptstart: Start //regen_ermitteln(); -
@skorpil zur Sicherheit hier nochmal das komplette Sript:
// ################################################################## // Regen ermitteln und in Wetter Regen schreiben // ################################################################## function regen_ermitteln() { //Definitionen var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/; var idVariable = 'hm-rega.0.32978'/*Wetter Regen*/ //Wetterdaten auslesen wetterdaten = getState(idOpenWeater).val; //finde regen oder niesel var regen = wetterdaten.lastIndexOf('Regen')+1; var niesel = wetterdaten.lastIndexOf('Niesel')+1; var Regen = wetterdaten.lastIndexOf('regen')+1; var Niesel = wetterdaten.lastIndexOf('niesel')+1; // wenn gefunden dann if (regen + niesel + Regen + Niesel > 0) { regen = true; } else {regen = false;} log(regen); //Variable setzen setState(idVariable, regen); }; //bei Skriptstart Cron Job starten schedule('0 13 * * *', function () { if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val = true) { regen_ermitteln(); }; }); //bei Skriptstart: Start //regen_ermitteln();@skorpil sagte:
das komplette Sript:
Nur um 13:00 Uhr wird ermittelt, ob es regnet. In der Abfrage steht eine Zuweisung und kein Vergleich. Richtig:
schedule('0 13 * * *', function () { if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val == true) regen_ermitteln(); }); -
@skorpil sagte:
das komplette Sript:
Nur um 13:00 Uhr wird ermittelt, ob es regnet. In der Abfrage steht eine Zuweisung und kein Vergleich. Richtig:
schedule('0 13 * * *', function () { if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val == true) regen_ermitteln(); });
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

