Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Angabe von Zeitraum im Jahr im Blockly!

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    443

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    367

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    964

Angabe von Zeitraum im Jahr im Blockly!

Geplant Angeheftet Gesperrt Verschoben Blockly
33 Beiträge 2 Kommentatoren 1.3k Aufrufe 1 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • L LaBamba

    @paul53

    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

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #4

    @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:

    Bild_2022-02-09_131517.png

    Worin unterscheiden sich die Aktionen im Winter vom Sommer?

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    L 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @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:

      Bild_2022-02-09_131517.png

      Worin unterscheiden sich die Aktionen im Winter vom Sommer?

      L Offline
      L Offline
      LaBamba
      schrieb am zuletzt editiert von LaBamba
      #5

      @paul53

      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.

      paul53P 1 Antwort Letzte Antwort
      0
      • L LaBamba

        @paul53

        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.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #6

        @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.

        Bild_2022-02-09_132409.png

        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?

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        L 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @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.

          Bild_2022-02-09_132409.png

          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?

          L Offline
          L Offline
          LaBamba
          schrieb am zuletzt editiert von
          #7

          @paul53

          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.

          paul53P 2 Antworten Letzte Antwort
          0
          • L LaBamba

            @paul53

            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.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #8

            @labamba
            Danke. Das alles ist in Deinem Blockly-Bild nicht zu erkennen.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            L 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @labamba
              Danke. Das alles ist in Deinem Blockly-Bild nicht zu erkennen.

              L Offline
              L Offline
              LaBamba
              schrieb am zuletzt editiert von
              #9

              @paul53

              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.

              paul53P L 2 Antworten Letzte Antwort
              0
              • L LaBamba

                @paul53

                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.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #10

                @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.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • L LaBamba

                  @paul53

                  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.

                  L Offline
                  L Offline
                  LaBamba
                  schrieb am zuletzt editiert von LaBamba
                  #11

                  @paul53
                  Ja , kommt immer longer than 100000 charakters

                  paul53P 2 Antworten Letzte Antwort
                  0
                  • L LaBamba

                    @paul53
                    Ja , kommt immer longer than 100000 charakters

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #12

                    @labamba sagte: kommt immer longer than 100000 charakters

                    Kannst Du mehrere Bilder untereinander posten, so dass es noch erkennbar ist?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • L LaBamba

                      @paul53

                      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.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #13

                      @labamba
                      Man kann sicherlich einige Aktionen für Sommer und Winter zusammenfassen?

                      Bild_2022-02-09_141536.png

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      • L LaBamba

                        @paul53
                        Ja , kommt immer longer than 100000 charakters

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #14

                        @labamba sagte: kommt immer longer than 100000 charakters

                        Wie sieht es mit dem erzeugten Javascript-Code ohne die letzte Zeile aus (Code tags!)?

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        L 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @labamba sagte: kommt immer longer than 100000 charakters

                          Wie sieht es mit dem erzeugten Javascript-Code ohne die letzte Zeile aus (Code tags!)?

                          L Offline
                          L Offline
                          LaBamba
                          schrieb am zuletzt editiert von
                          #15

                          @paul53

                          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;
                          
                          paul53P L 2 Antworten Letzte Antwort
                          0
                          • L LaBamba

                            @paul53

                            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;
                            
                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #16

                            @labamba
                            Mit nur einem Trigger und einigen Variablen:

                            <xml xmlns="https://developers.google.com/blockly/xml">
                             <variables>
                               <variable id="]QNA]6mC/m=YN4#MWOV;">AT</variable>
                               <variable id="4RnZsx32p9:0WHh7`},t">delay</variable>
                               <variable id="zL[s}0F!ZKt(|[4;3urB">erinnern</variable>
                               <variable id="!$%d@O83Ka[rhkXU1dP%">repeat</variable>
                               <variable type="timeout" id="timeout">timeout</variable>
                               <variable type="interval" id="Intervall">Intervall</variable>
                             </variables>
                             <block type="on_ext" id="j/`@HZdJ~17vrQ9X7RO7" x="248" y="242">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                               <field name="CONDITION">ne</field>
                               <field name="ACK_CONDITION"></field>
                               <value name="OID0">
                                 <shadow type="field_oid" id="[MlNQNzJOYHV_G/sW_9V">
                                   <field name="oid">default</field>
                                 </shadow>
                               </value>
                               <statement name="STATEMENT">
                                 <block type="controls_if" id="}jIUn/,`CitVWam5*!{j">
                                   <mutation else="1"></mutation>
                                   <value name="IF0">
                                     <block type="on_source" id="~+^c(d)9Pp};9=d;k^(~">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="variables_set" id="2ceJWHTViZpB}Lg8$xoB">
                                       <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                       <value name="VALUE">
                                         <block type="get_value" id="OZyemU2M,pG#4M6.fCBz">
                                           <field name="ATTR">val</field>
                                           <field name="OID">0_userdata.0.Aussen.Klima.Temperatur</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="controls_if" id="c5xSBiVLfyVzB?#LjsPQ">
                                           <value name="IF0">
                                             <block type="logic_compare" id="~+bKEi6D]y8w@}_#rwy^">
                                               <field name="OP">LTE</field>
                                               <value name="A">
                                                 <block type="variables_get" id="EaYhjM/*5p*VaDcauJg$">
                                                   <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="math_number" id="SRy%F+0y6.w=-E*rvM/v">
                                                   <field name="NUM">15</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <statement name="DO0">
                                             <block type="controls_if" id="52|^M-0g=Z32yAPO8UG]">
                                               <mutation elseif="2" else="1"></mutation>
                                               <value name="IF0">
                                                 <block type="logic_compare" id="6lOVHGxA9RaGAwK]$0KW">
                                                   <field name="OP">LTE</field>
                                                   <value name="A">
                                                     <block type="variables_get" id="hLfiQMq3*/1oM3C(NbhB">
                                                       <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="math_number" id="okdf/i^obCKMb^V@0NCo">
                                                       <field name="NUM">5</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="variables_set" id="Gw|KFup}:lxb+s=Cw,@a">
                                                   <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                                   <value name="VALUE">
                                                     <block type="math_number" id="_B7IBLbz`j9IO|sRYKFB">
                                                       <field name="NUM">180000</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="variables_set" id="7`b,{0M:mg[rnT1?ppqb">
                                                       <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                       <value name="VALUE">
                                                         <block type="math_number" id="O4_{|}/yrW@,|hcV+21:">
                                                           <field name="NUM">60000</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                               <value name="IF1">
                                                 <block type="logic_compare" id="DgHn#PWEHLvox7[{^vC/">
                                                   <field name="OP">LTE</field>
                                                   <value name="A">
                                                     <block type="variables_get" id="UMGtz$8FdLn$UI.16[x~">
                                                       <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="math_number" id="_Lr^dK)2G$G6:5kDZr$i">
                                                       <field name="NUM">10</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO1">
                                                 <block type="variables_set" id="j;#V?VF`YpCQ1Vb:)lRh">
                                                   <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                                   <value name="VALUE">
                                                     <block type="math_number" id="Ps!:-r=^6O!3S[5HNB7B">
                                                       <field name="NUM">240000</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="controls_if" id="7(`:L+{N]{].;E+P.,@S">
                                                       <mutation else="1"></mutation>
                                                       <value name="IF0">
                                                         <block type="logic_operation" id=":?@RSP_6Q.SYS+ZqJJh%" inline="false">
                                                           <field name="OP">OR</field>
                                                           <value name="A">
                                                             <block type="logic_compare" id="Q5=s:p4=)8?2*:*#d0.y">
                                                               <field name="OP">LT</field>
                                                               <value name="A">
                                                                 <block type="time_get" id="@7tjj^UH(#}i9Y5EY9ng">
                                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                   <field name="OPTION">MM/DD</field>
                                                                 </block>
                                                               </value>
                                                               <value name="B">
                                                                 <block type="text" id="I%^*a//jYR.p7V=zUzUX">
                                                                   <field name="TEXT">05/15</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <block type="logic_compare" id="C(?5-W9G@!g@M/x%lxp;">
                                                               <field name="OP">GT</field>
                                                               <value name="A">
                                                                 <block type="time_get" id="7[vKmoB[@NtR3JxRd]Xl">
                                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                   <field name="OPTION">MM/DD</field>
                                                                 </block>
                                                               </value>
                                                               <value name="B">
                                                                 <block type="text" id="aI_R$L%#vAU+U_)+H|)W">
                                                                   <field name="TEXT">09/15</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <statement name="DO0">
                                                         <block type="variables_set" id="|.)G53.BF3{J#.^{a9(k">
                                                           <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                           <value name="VALUE">
                                                             <block type="math_number" id="ibH)+0UQz;q9s;`C}lb3">
                                                               <field name="NUM">60000</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </statement>
                                                       <statement name="ELSE">
                                                         <block type="variables_set" id="[hQM8-;0{iiSL6a:-fy(">
                                                           <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                           <value name="VALUE">
                                                             <block type="math_number" id="@At+{TPJ,(xKssf|n?IV">
                                                               <field name="NUM">120000</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </statement>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                               <value name="IF2">
                                                 <block type="logic_operation" id="K;uBksX-9W)(!zT=DPiY" inline="false">
                                                   <field name="OP">AND</field>
                                                   <value name="A">
                                                     <block type="logic_compare" id="2):ua8WrKEeCt%w}MAm[">
                                                       <field name="OP">GTE</field>
                                                       <value name="A">
                                                         <block type="time_get" id="ST6$IL$C*cxKugv*n^iE">
                                                           <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                           <field name="OPTION">MM/DD</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <block type="text" id="_3$0pj0VX$}tTp3Xp=~V">
                                                           <field name="TEXT">05/15</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="logic_compare" id="VV+!c;L6^mAcli#6f8E9">
                                                       <field name="OP">LTE</field>
                                                       <value name="A">
                                                         <block type="time_get" id="98v/1N.z,S},713lB#-T">
                                                           <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                           <field name="OPTION">MM/DD</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <block type="text" id="{VbSpg9UMWQ-%@dAcG3`">
                                                           <field name="TEXT">09/15</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO2">
                                                 <block type="variables_set" id="$fj59$g5mU*jvefM=~;J">
                                                   <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                                   <value name="VALUE">
                                                     <block type="math_number" id="8mpUp26-WiPV*b0*aR!$">
                                                       <field name="NUM">420000</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="variables_set" id="yfNt0[oDzsM~gy3pMAN5">
                                                       <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                       <value name="VALUE">
                                                         <block type="math_number" id="b2!_?f}l2#jM78L%+,Ff">
                                                           <field name="NUM">120000</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                               <statement name="ELSE">
                                                 <block type="variables_set" id="M^sgq0.rPEYJ:8!_Ia9^">
                                                   <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                                   <value name="VALUE">
                                                     <block type="math_number" id="Mxi[:X|2aeD91).yYPP=">
                                                       <field name="NUM">300000</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="variables_set" id="v@Osj]RCiX_N7wj*(^O$">
                                                       <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                       <value name="VALUE">
                                                         <block type="math_number" id="-?*Onrmxf?^XT@sH-jWd">
                                                           <field name="NUM">120000</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                               <next>
                                                 <block type="variables_set" id="l]+}}cza!:;?O8*cuXZF">
                                                   <field name="VAR" id="zL[s}0F!ZKt(|[4;3urB">erinnern</field>
                                                   <value name="VALUE">
                                                     <block type="math_round" id="RZJdjb-`N4.^Mh6]/{Uf">
                                                       <field name="OP">ROUND</field>
                                                       <value name="NUM">
                                                         <shadow type="math_number" id=";UPHSL?Orhu^Kc,|n2b~">
                                                           <field name="NUM">3.1</field>
                                                         </shadow>
                                                         <block type="math_arithmetic" id="NWuTZur)MNxjn)~_9/}L">
                                                           <field name="OP">DIVIDE</field>
                                                           <value name="A">
                                                             <shadow type="math_number" id="fKLma,i_EPR5fi/r2[/Y">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="math_arithmetic" id="J58k|`S:;]al4q2P8RxG">
                                                               <field name="OP">ADD</field>
                                                               <value name="A">
                                                                 <shadow type="math_number" id="fPS,[8PfV0RIJfPiy,?n">
                                                                   <field name="NUM">1</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id="F~phPOa`ia=(ziw:M^nC">
                                                                   <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                                                 </block>
                                                               </value>
                                                               <value name="B">
                                                                 <shadow type="math_number" id="a__g(Wn$8Pi$}OvlZxK+">
                                                                   <field name="NUM">1</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id="*84MvqKAh-Qad:l@WS(X">
                                                                   <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <shadow type="math_number" id="[JzwiX?%5-J895veMWB,">
                                                               <field name="NUM">60000</field>
                                                             </shadow>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="control" id=".rCb{,2-p;zUV*ybaKm@">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                       <field name="OID">Object ID</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="math_number" id="qr}?YyDWka?}ITSZPg_5">
                                                           <field name="NUM">100</field>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="control" id="hOBpBB5X?nVIo1WOlS69">
                                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                           <field name="OID">Object ID</field>
                                                           <field name="WITH_DELAY">TRUE</field>
                                                           <field name="DELAY_MS">1</field>
                                                           <field name="UNIT">sec</field>
                                                           <field name="CLEAR_RUNNING">FALSE</field>
                                                           <value name="VALUE">
                                                             <block type="text_join" id="W5UGwFSs|Z}94U2;G_W{">
                                                               <mutation items="5"></mutation>
                                                               <value name="ADD0">
                                                                 <block type="text" id="Aaz()#nr)(NTp+=G?YF|">
                                                                   <field name="TEXT">Es hat gerade </field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD1">
                                                                 <block type="variables_get" id="dfLE|1K#LVxI6M=]:QX{">
                                                                   <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD2">
                                                                 <block type="text" id="53aPK/=@M.a}W;1D%=hL">
                                                                   <field name="TEXT"> Grad Außentemperatur Erinnerung in </field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD3">
                                                                 <block type="variables_get" id="M]uv~p1KB)`@`;9$4DF[">
                                                                   <field name="VAR" id="zL[s}0F!ZKt(|[4;3urB">erinnern</field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD4">
                                                                 <block type="text" id="6yAI%}L8/H^[@[5z,``t">
                                                                   <field name="TEXT"> Minutem</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="timeouts_settimeout" id="/=/=Tqkdv2di8u3:0=$C">
                                                               <field name="NAME">timeout</field>
                                                               <field name="DELAY">delay</field>
                                                               <field name="UNIT">ms</field>
                                                               <statement name="STATEMENT">
                                                                 <block type="timeouts_setinterval" id="}UNdg8kz$Mh:1w_Lo/V=">
                                                                   <field name="NAME">Intervall</field>
                                                                   <field name="INTERVAL">repeat</field>
                                                                   <field name="UNIT">ms</field>
                                                                   <statement name="STATEMENT">
                                                                     <block type="control" id="(.$AUzO6a?iL0yhke@@g">
                                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                       <field name="OID">Object ID</field>
                                                                       <field name="WITH_DELAY">FALSE</field>
                                                                       <value name="VALUE">
                                                                         <block type="text" id="ZZeLK=Ll)Q{}i,5Bj?_M">
                                                                           <field name="TEXT">Badfenster wieder schließen</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </statement>
                                                                 </block>
                                                               </statement>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                   <statement name="ELSE">
                                     <block type="timeouts_cleartimeout" id="4FBrkRD9H2hh@0;$oWub">
                                       <field name="NAME">timeout</field>
                                       <next>
                                         <block type="timeouts_clearinterval" id="y(K.(`/O@^Yn$4IHIVrq">
                                           <field name="NAME">Intervall</field>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </statement>
                             </block>
                            </xml>
                            

                            Bild_2022-02-09_153325.png

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            1
                            • L LaBamba

                              @paul53

                              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;
                              
                              L Offline
                              L Offline
                              LaBamba
                              schrieb am zuletzt editiert von
                              #17

                              @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;
                              
                              paul53P 1 Antwort Letzte Antwort
                              0
                              • L LaBamba

                                @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;
                                
                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #18

                                @labamba sagte: Das wahr anscheinend irgendwie nicht das Ganze.

                                Das Blockly um die Raumtemperatur zu erweitern, schaffst Du selbst?

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                L 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @labamba sagte: Das wahr anscheinend irgendwie nicht das Ganze.

                                  Das Blockly um die Raumtemperatur zu erweitern, schaffst Du selbst?

                                  L Offline
                                  L Offline
                                  LaBamba
                                  schrieb am zuletzt editiert von
                                  #19

                                  @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.

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • L LaBamba

                                    @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.

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #20

                                    @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.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @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.

                                      L Offline
                                      L Offline
                                      LaBamba
                                      schrieb am zuletzt editiert von
                                      #21

                                      @paul53

                                      Ahhh der kleine feine Unterschied.
                                      Ich habe es mir angeschaut und bin leicht überfordert.

                                      paul53P 2 Antworten Letzte Antwort
                                      0
                                      • L LaBamba

                                        @paul53

                                        Ahhh der kleine feine Unterschied.
                                        Ich habe es mir angeschaut und bin leicht überfordert.

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von paul53
                                        #22

                                        @labamba sagte: bin leicht überfordert.

                                        Lass Dir Zeit.

                                        EDIT: Man kann es noch etwas vereinfachen, wenn man die Variable repeat auf den meist verwendeten Wert (2 Minuten) setzt und anschließend nur die Abweichungen behandelt.

                                        Bild_2022-02-09_161627.png

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        1 Antwort Letzte Antwort
                                        0
                                        • L LaBamba

                                          @paul53

                                          Ahhh der kleine feine Unterschied.
                                          Ich habe es mir angeschaut und bin leicht überfordert.

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #23

                                          @labamba
                                          Tipp: Speichere die Sachen, die mehrmals abgefragt werden, zum Anfang in Variablen. Dann wird es wesentlich übersichtlicher und schont Ressourcen.

                                          Bild_2022-02-09_191840.png

                                          Winter:

                                          Bild_2022-02-09_192129.png

                                          Die Bereiche der Außentemperatur deckt man so ab:

                                          Bild_2022-02-09_193142.png

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          L 2 Antworten Letzte Antwort
                                          1

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          386

                                          Online

                                          32.8k

                                          Benutzer

                                          82.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe