NEWS
Angabe von Zeitraum im Jahr im Blockly!
-
Ich habe für meine Fensterlüftung ein Skript geschrieben.
Es funktioniert perfekt, wenn ich den Jahreszeitraum hier nicht einsetze.
Anscheinend gibt es ein Problem mit dem Jahresübergang.
Wie könnte ich dies lösen. -
@labamba sagte: wenn ich den Jahreszeitraum hier nicht einsetze.
Was meinst Du mit "Jahreszeitraum"?
Weshalb doppelt? Sind das mehrere Badfenster? -
Hallo Paul,
ich habe zwei Zeiträume. Vom 15.5-15.9 und vom 16.9-14.5.
Ich habe die Vermutung, dass sich das Skript bei den Jahreszeiträumen aufhängt.Um dies zu Überprüfen habe ich diese mal entfernt und es hat wunderbar funtkioniert.
Meine Vermutung ist, das der Jahresbereich vom 16.09-14.5 Probleme macht. Vermutlich wegen dem Jahresübergang.
Gibt es eine Alternative den Zeitraum zu definieren?Gruße
-
@labamba
Bitte alles in einen Trigger packen!@labamba sagte in Angabe von Zeitraum im Jahr im Blockly!:
der Jahresbereich vom 16.09-14.5 Probleme macht.
Die Bereiche ab 16.09. und bis 14.05. müssen per ODER verknüpft werden. Einfacher:
Worin unterscheiden sich die Aktionen im Winter vom Sommer?
-
Die Idee ist gut, aber ich benötige das sonst für mein Timeout und die zyklische Unterbrechung. Zudem habe ich im Sommer noch mehr Fälle nach Uhrzeit.
-
@labamba sagte: ich benötige das sonst für mein Timeout und die zyklische Unterbrechung.
Das "sonst" ist weiterhin für das Stoppen der Timer vorhanden.
Du hast meine Frage nicht beantwortet:
@paul53 sagte in Angabe von Zeitraum im Jahr im Blockly!:Worin unterscheiden sich die Aktionen im Winter vom Sommer?
-
Die Aktionen im Sommer und Winter unterscheiden sich durch den Lüftungszeitraum.
Die Lüftungszeiträume sind von der Außentemperatur dann nochmals abhängig.Zudem habe ich im Sommer noch einen Fall, z.B. Lüften vor 9 Uhr und nach 9 Uhr.
Damit ich bei sehr warmen Temperaturen das Gebäude kühlen kann und nicht zu warme Luft hereinlüfte. -
@labamba
Danke. Das alles ist in Deinem Blockly-Bild nicht zu erkennen. -
So mal das Ganze! Ich dachte ich begrenze es bzgl. der Übersichtlichkeit.
Ich habe gerade festgestellt, dass ich es nicht Spoilern kann da es zu groß hier ist. -
@labamba sagte: Ich habe gerade festgestellt, dass ich es nicht Spoilern kann da es zu groß hier ist.
Auch mit Spoiler und Code tags?
XML bitte immer in Code tags posten. -
@paul53
Ja , kommt immer longer than 100000 charakters -
@labamba sagte: kommt immer longer than 100000 charakters
Kannst Du mehrere Bilder untereinander posten, so dass es noch erkennbar ist?
-
@labamba
Man kann sicherlich einige Aktionen für Sommer und Winter zusammenfassen? -
@labamba sagte: kommt immer longer than 100000 charakters
Wie sieht es mit dem erzeugten Javascript-Code ohne die letzte Zeile aus (Code tags!)?
-
var timeout, Intervall, timeout11, Intervall11, timeout12, Intervall12, timeout13, Intervall13, timeout14, Intervall14, timeout15, Intervall15; // <=5 on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 5) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 4 Minuten'].join('')), 1000, false); timeout = setTimeout(async function () { Intervall = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 60000); }, 180000); } else { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})(); } }); // >5-<=10 on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 5 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 10) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 6 Minuten'].join('')), 1000, false); timeout11 = setTimeout(async function () { Intervall11 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 240000); } else { (function () {if (timeout11) {clearTimeout(timeout11); timeout11 = null;}})(); (function () {if (Intervall11) {clearInterval(Intervall11); Intervall11 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 5 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 10) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 5 Minuten'].join('')), 1000, false); timeout12 = setTimeout(async function () { Intervall12 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 60000); }, 240000); } else { (function () {if (timeout12) {clearTimeout(timeout12); timeout12 = null;}})(); (function () {if (Intervall12) {clearInterval(Intervall12); Intervall12 = null;}})(); } }); // >10-<=15 on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('00:00', '09:30', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 12 Minuten'].join('')), 1000, false); timeout13 = setTimeout(async function () { Intervall13 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 600000); } else { (function () {if (timeout13) {clearTimeout(timeout13); timeout13 = null;}})(); (function () {if (Intervall13) {clearInterval(Intervall13); Intervall13 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('9:31', '23:59', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 9 Minuten'].join('')), 1000, false); timeout14 = setTimeout(async function () { Intervall14 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 420000); } else { (function () {if (timeout14) {clearTimeout(timeout14); timeout14 = null;}})(); (function () {if (Intervall14) {clearInterval(Intervall14); Intervall14 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '15/09' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 7 Minuten'].join('')), 1000, false); timeout15 = setTimeout(async function () { Intervall15 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 300000); } else { (function () {if (timeout15) {clearTimeout(timeout15); timeout15 = null;}})(); (function () {if (Intervall15) {clearInterval(Intervall15); Intervall15 = null;}})(); } }); formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '09/15' && true; getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val; getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val;
-
-
@paul53
Das wahr anscheinend irgendwie nicht das Ganze.var timeout, Intervall, timeout11, Intervall11, timeout12, Intervall12, timeout13, Intervall13, timeout14, Intervall14, timeout15, Intervall15, timeout16, Intervall16, timeout17, Intervall17, timeout18, Intervall18, timeout19, Intervall19, timeout20, Intervall20, timeout21, Intervall21, timeout22, Intervall22, timeout24, Intervall24; // <=5 on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 5) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 4 Minuten'].join('')), 1000, false); timeout = setTimeout(async function () { Intervall = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 60000); }, 180000); } else { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})(); } }); // >5-<=10 on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 5 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 10) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 6 Minuten'].join('')), 1000, false); timeout11 = setTimeout(async function () { Intervall11 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 240000); } else { (function () {if (timeout11) {clearTimeout(timeout11); timeout11 = null;}})(); (function () {if (Intervall11) {clearInterval(Intervall11); Intervall11 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 5 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 10) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 5 Minuten'].join('')), 1000, false); timeout12 = setTimeout(async function () { Intervall12 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 60000); }, 240000); } else { (function () {if (timeout12) {clearTimeout(timeout12); timeout12 = null;}})(); (function () {if (Intervall12) {clearInterval(Intervall12); Intervall12 = null;}})(); } }); // >10-<=15 on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('00:00', '09:30', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 12 Minuten'].join('')), 1000, false); timeout13 = setTimeout(async function () { Intervall13 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 600000); } else { (function () {if (timeout13) {clearTimeout(timeout13); timeout13 = null;}})(); (function () {if (Intervall13) {clearInterval(Intervall13); Intervall13 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('9:31', '23:59', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 9 Minuten'].join('')), 1000, false); timeout14 = setTimeout(async function () { Intervall14 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 420000); } else { (function () {if (timeout14) {clearTimeout(timeout14); timeout14 = null;}})(); (function () {if (Intervall14) {clearInterval(Intervall14); Intervall14 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '15/09' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 7 Minuten'].join('')), 1000, false); timeout15 = setTimeout(async function () { Intervall15 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 300000); } else { (function () {if (timeout15) {clearTimeout(timeout15); timeout15 = null;}})(); (function () {if (Intervall15) {clearInterval(Intervall15); Intervall15 = null;}})(); } }); // >15-<=19 on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('00:00', '09:30', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 15 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < 19) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 18 Minuten'].join('')), 1000, false); timeout16 = setTimeout(async function () { Intervall16 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 180000); }, 900000); } else { (function () {if (timeout16) {clearTimeout(timeout16); timeout16 = null;}})(); (function () {if (Intervall16) {clearInterval(Intervall16); Intervall16 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('09:31', '23:59', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 15 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < 19) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 13 Minuten'].join('')), 1000, false); timeout17 = setTimeout(async function () { Intervall17 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 180000); }, 600000); } else { (function () {if (timeout17) {clearTimeout(timeout17); timeout17 = null;}})(); (function () {if (Intervall17) {clearInterval(Intervall17); Intervall17 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '15/09' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 15 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < 19) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 10 Minuten'].join('')), 1000, false); timeout18 = setTimeout(async function () { Intervall18 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 480000); } else { (function () {if (timeout18) {clearTimeout(timeout18); timeout18 = null;}})(); (function () {if (Intervall18) {clearInterval(Intervall18); Intervall18 = null;}})(); } }); // >19 on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('00:00', '09:30', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= 19 && getState("daswetter.0.NextHours.Location_1.Day_1.current.temp_value").val < getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 16 Minuten'].join('')), 1000, false); timeout19 = setTimeout(async function () { Intervall19 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 240000); }, 720000); } else { (function () {if (timeout19) {clearTimeout(timeout19); timeout19 = null;}})(); (function () {if (Intervall19) {clearInterval(Intervall19); Intervall19 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('09:31', '23:59', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= 19 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 10 Minuten'].join('')), 1000, false); timeout20 = setTimeout(async function () { Intervall20 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 480000); } else { (function () {if (timeout20) {clearTimeout(timeout20); timeout20 = null;}})(); (function () {if (Intervall20) {clearInterval(Intervall20); Intervall20 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= 19 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 10 Minuten'].join('')), 1000, false); timeout21 = setTimeout(async function () { Intervall21 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 480000); } else { (function () {if (timeout21) {clearTimeout(timeout21); timeout21 = null;}})(); (function () {if (Intervall21) {clearInterval(Intervall21); Intervall21 = null;}})(); } }); // >Innenraumtemperatur on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Vorsicht, die Außentemperatur ist höher als die Innentemperatur','Erinnerung nach 6 Minuten'].join('')), 1000, false); timeout22 = setTimeout(async function () { Intervall22 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 240000); } else { (function () {if (timeout22) {clearTimeout(timeout22); timeout22 = null;}})(); (function () {if (Intervall22) {clearInterval(Intervall22); Intervall22 = null;}})(); } }); on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) { setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100); setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Vorsicht, die Außentemperatur ist höher als die Innentemperatur','Erinnerung nach 8 Minuten'].join('')), 1000, false); timeout24 = setTimeout(async function () { Intervall24 = setInterval(async function () { setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen')); }, 120000); }, 360000); } else { (function () {if (timeout24) {clearTimeout(timeout24); timeout24 = null;}})(); (function () {if (Intervall24) {clearInterval(Intervall24); Intervall24 = null;}})(); } }); getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val; getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val; getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val;
-
@labamba sagte: Das wahr anscheinend irgendwie nicht das Ganze.
Das Blockly um die Raumtemperatur zu erweitern, schaffst Du selbst?
-
@paul53
Probiere es mal, so fit bin ich da auch nicht.
Die Variablen für die Uhrzeit bei höheren Temperaturen sind da schon schwieriger.Zudem glaube ich, dass der Übergang des Datums aktuelle Zeit <05/15 und >09/15 nicht funktioniert. Hat in meinem Skript schon nicht geklappt.
-
@labamba sagte: Übergang des Datums aktuelle Zeit <05/15 und >09/15 nicht funktioniert. Hat in meinem Skript schon nicht geklappt.
Du hast es auch per UND verknüpft, ich per ODER.