NEWS
Sonnenprogramm
-
Hi Paul

OK
Morgen wieder
Jetzt ist es zu spät …Wenn ich hier Sternchen vergeben dürfte würdest Du ne ganze Menge bekommen. Hier scheint es nicht viele user zu geben die sich mit Antworten Mühe geben ... Dankeschön dafür !!! Meist bekommt man nur ein Stichwort vor den Latz geknallt und das wars ...
vg
Marc
-
Hier scheint es nicht viele user zu geben die sich mit Antworten Mühe geben … Dankeschön dafür !!! Meist bekommt man nur ein Stichwort vor den Latz geknallt und das wars ... `
Ich würde sagen: haltlose Anschuldigung!

Enrico
-
Hi Paul,
noch eine Kleinigkeit -

script.js.Homepilot.Szenen.Sonne.Sonnenprogramm_V2: clearTimeout() => not foundKannst Du damit was anfangen ? M.E werden alle Timeouts auch geschlossen, dieser hat aber keinen Namen …
Ich zeige am Besten mal den Code, das Blocky ist zu lang wenn ich es komplett öffne ...
! ````
var Sommer2, TOB1, TOB2, TOM1, TOM2, TOE1, TOE2, TOBS1, TOBS2;
! /**- Beschreibe diese Funktion …
/
function Sonnenprogramm() {
Sommer2 = schedule(' 9-20 * 5-9 *', function () {
createState("global.sonne-balkon", function () {
});
createState("global.sonne-markise", function () {
});
createState("global.sonne-esszimmer", function () {
});
createState("global.sonne-bad-schlafzimmer", function () {
});
if (getState("javascript.0.Homepilot.Temperatur").val >= 22 && getState("javascript.0.Homepilot.Lichtwert").val >= 50000 && getState("javascript.0.Homepilot.Sonnenrichtung").val >= 80 && getState("javascript.0.Homepilot.Sonnenrichtung").val <= 190) {
setState("javascript.0.global.sonne-balkon"/global.sonne-balkon/, true, true);
} else {
setState("javascript.0.global.sonne-balkon"/global.sonne-balkon/, false, true);
}
if (getState("javascript.0.Homepilot.Temperatur").val >= 22 && getState("javascript.0.Homepilot.Lichtwert").val >= 50000 && getState("javascript.0.Homepilot.Sonnenrichtung").val >= 80 && getState("javascript.0.Homepilot.Sonnenrichtung").val <= 190) {
setState("javascript.0.global.sonne-markise"/global.sonne-markise/, true, true);
} else {
setState("javascript.0.global.sonne-markise"/global.sonne-markise/, false, true);
}
if (getState("javascript.0.Homepilot.Temperatur").val >= 22 && getState("javascript.0.Homepilot.Lichtwert").val >= 10000 && getState("javascript.0.Homepilot.Sonnenrichtung").val >= 190 && getState("javascript.0.Homepilot.Sonnenrichtung").val <= 265) {
setState("javascript.0.global.sonne-esszimmer"/global.sonne-esszimmer/, true, true);
} else {
setState("javascript.0.global.sonne-esszimmer"/global.sonne-esszimmer/, false, true);
}
if (getState("javascript.0.Homepilot.Temperatur").val >= 22 && getState("javascript.0.Homepilot.Lichtwert").val >= 5000 && getState("javascript.0.Homepilot.Sonnenrichtung").val >= 260 && getState("javascript.0.Homepilot.Sonnenrichtung").val <= 280) {
setState("javascript.0.global.sonne-bad-schlafzimmer"/global.sonne-bad-schlafzimmer/, true, true);
} else {
setState("javascript.0.global.sonne-bad-schlafzimmer"/global.sonne-bad-schlafzimmer/, false, true);
}
});
}
! if (getState("javascript.0.global.sonnenprogramm_aktiv").val) {
Sonnenprogramm();
}
on({id: 'javascript.0.global.sonnenprogramm_aktiv', change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (getState("javascript.0.global.sonnenprogramm_aktiv").val == true) {
Sonnenprogramm();
} else {
(function () {if (Sommer2) {clearSchedule(Sommer2); Sommer2 = null;}})();
}
});
on({id: "javascript.0.global.sonne-balkon"/global.sonne-balkon/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
// Balkon
if (getState("javascript.0.global.sonne-balkon").val == true) {
(function () {if (TOB2) {clearTimeout(TOB2); TOB2 = null;}})();
TOB1 = setTimeout(function () {
if (getState("javascript.0.global.homepilot.automatik.wohnzimmer").val == true) {
setState("homepilot.0.devices.RolloTubeDuoFern.10015.level"/level Rollo Links/, 30);
setState("homepilot.0.devices.RolloTubeDuoFern.10001.level"/level Rollo Rechts/, 30);
(function () {if (TOB1) {clearTimeout(TOB1); TOB1 = null;}})();
}
}, 900000);
} else {
(function () {if (TOB1) {clearTimeout(TOB1); TOB1 = null;}})();
TOB2 = setTimeout(function () {
if (getState("javascript.0.global.homepilot.automatik.wohnzimmer").val == true) {
setState("homepilot.0.devices.RolloTubeDuoFern.10015.level"/level Rollo Links/, 0);
setState("homepilot.0.devices.RolloTubeDuoFern.10001.level"/level Rollo Rechts/, 0);
(function () {if (TOB2) {clearTimeout(TOB2); TOB2 = null;}})();
}
}, 900000);
}
});
// Markise
on({id: "javascript.0.global.sonne-markise"/global.sonne-markise/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (getState("javascript.0.global.sonne-markise").val == true) {
(function () {if (TOM2) {clearTimeout(TOM2); TOM2 = null;}})();
TOM1 = setTimeout(function () {
if (getState("javascript.0.global.sonne-markise").val == true) {
if (getState("javascript.0.global.homepilot.automatik.markise").val == true) {
setState("homepilot.0.devices.DuoFernRohrmotor-Aktor.10018.level"/level Markise/, 90);
(function () {if (TOM1) {clearTimeout(TOM1); TOM1 = null;}})();
}
}
}, 900000);
} else {
(function () {if (TOM1) {clearTimeout(TOM1); TOM1 = null;}})();
TOM2 = setTimeout(function () {
if (getState("javascript.0.global.sonne-markise").val == false) {
if (getState("javascript.0.global.homepilot.automatik.markise").val == true) {
setState("homepilot.0.devices.DuoFernRohrmotor-Aktor.10018.level"/level Markise/, 0);
(function () {if (TOM2) {clearTimeout(TOM2); TOM2 = null;}})();
}
}
}, 900000);
}
});
// Esszimmer
on({id: "javascript.0.global.sonne-esszimmer"/global.sonne-esszimmer/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (getState("javascript.0.global.sonne-esszimmer").val == true) {
(function () {if (TOE2) {clearTimeout(TOE2); TOE2 = null;}})();
TOE1 = setTimeout(function () {
if (getState("javascript.0.global.sonne-esszimmer").val == true) {
if (getState("javascript.0.global.homepilot.automatik.esszimmer").val == true) {
setState("homepilot.0.devices.RolloTubeDuoFern.1010011.level"/level Rollo Esstisch/, 30);
}
(function () {if (TOE1) {clearTimeout(TOE1); TOE1 = null;}})();
}
}, 900000);
} else {
(function () {if (TOE1) {clearTimeout(TOE1); TOE1 = null;}})();
TOE2 = setTimeout(function () {
if (getState("javascript.0.global.sonne-esszimmer").val == false) {
if (getState("javascript.0.global.homepilot.automatik.esszimmer").val == true) {
setState("homepilot.0.devices.RolloTubeDuoFern.1010011.level"/level Rollo Esstisch/, 0);
(function () {if (TOE2) {clearTimeout(TOE2); TOE2 = null;}})();
}
}
}, 900000);
}
});
// Bad & Schlafzimmer
on({id: "javascript.0.global.sonne-bad-schlafzimmer"/global.sonne-bad-schlafzimmer/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (getState("javascript.0.global.sonne-bad-schlafzimmer").val == true) {
(function () {if (TOBS2) {clearTimeout(TOBS2); TOBS2 = null;}})();
TOBS1 = setTimeout(function () {
if (getState("javascript.0.global.sonne-bad-schlafzimmer").val == true) {
if (getState("javascript.0.global.homepilot.automatik.badezimmer").val == true) {
setState("homepilot.0.devices.RolloTubeDuoFern.10013.level"/level Rollo Badezimmer/, 30);
}
if (getState("javascript.0.global.homepilot.automatik.schlafzimmer").val == true) {
setState("homepilot.0.devices.RolloTubeDuoFern.10012.level"/level Rollo Schlafzimmer/, 30);
}
(function () {if (TOBS1) {clearTimeout(TOBS1); TOBS1 = null;}})();
}
}, 900000);
} else {
(function () {if (TOBS1) {clearTimeout(TOBS1); TOBS1 = null;}})();
TOBS2 = setTimeout(function () {
if (getState("javascript.0.global.sonne-bad-schlafzimmer").val == false) {
if (getState("javascript.0.global.homepilot.automatik.badezimmer").val == true) {
setState("homepilot.0.devices.RolloTubeDuoFern.10013.level"/level Rollo Badezimmer/, 0);
}
if (getState("javascript.0.global.homepilot.automatik.schlafzimmer").val == true) {
setState("homepilot.0.devices.RolloTubeDuoFern.10012.level"/level Rollo Schlafzimmer/, 0);
}
(function () {if (TOBS2) {clearTimeout(TOBS2); TOBS2 = null;}})();
}
}, 900000);
}
});vg Marc - Beschreibe diese Funktion …
-
Im Reiter Log ist die Fehlermeldung meist ausführlicher mit Angabe der Zeilennummer. `
Du meinst bei den Scripten selber, richtig ? Hast Du eine Idee warum ich da manchmal gar nichts angezeigt bekomme ? Normalerweise kommt ja beim Start eines Scriptes etwas von subscriptions bla bla bla … da kommt nix. Javascript Adapter habe ich schon neu gestartet.Der Fehler kommt glaube ich auch nur wenn das Script läuft, also richtig aktiv ist. Morgen mal sehen wenn die Sonne wieder scheint, oder ich muss heute Abend mal auf Fake Werte setzen ...
vg Marc
-
neeeee, Paul, da kommt nix anderes

javascript.0 2018-09-11 16:30:00.040 warn script.js.Homepilot.Szenen.Sonne.Sonnenprogramm_V2: clearTimeout() => not foundIst doch richtig, dass ich zwei eigenständige Blöcke habe, oder ? Wobei das immer noch nicht den Timer erklären würde und eigentlich ja auch alles funktioniert …

vg
Marc
-
Hi Paul, schau mal hier, das war im Log :
script.js.Homepilot.Szenen.Sonne.Sonnenprogramm_V2: getState(id=javascript.0.global.sonnenprogramm_aktiv, timerId=0) => {"val":true,"ack":false,"ts":1536103846400,"q":0,"from":"system.adapter.admin.0Also ich habe jetzt nochmals alles durchgesehen und nichts im Script gefunden … aber doch eigenartig ...
vg
Marc
-
Du https://forum.iobroker.net/viewtopic.php?f=21&t=16313&start=20#p172360, wenn die Zeit abgelaufen ist. Das ist nicht nötig, da die Timer sich selbst beenden. Vielleicht gibt es an der Stelle ein Laufzeitproblem ?
Nimm mal diese Stopps raus.