Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. (gelöst) Klimaanlagen einschalten, Reihenfolge

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    242

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

(gelöst) Klimaanlagen einschalten, Reihenfolge

Scheduled Pinned Locked Moved Blockly
17 Posts 3 Posters 1.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P perladd

    @perladd

    Ich habe noch einige Kommentare hinzugefügt, zur besseren Übersicht

    1.png

    2.png

    3.png

    4.png

    5.png

    6.png

    7.png

    8.png

    9.png

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by paul53
    #8

    @perladd sagte: Ausschalten

    Dachgeschoss
    Kinderzimmer
    Schlafzimmer

    Blockly_temp.JPG

    Weshalb wird beim Ausschalten die Freigabe geprüft? Beim Ausschalten des Schlafzimmergerätes muss geprüft werden, ob die beiden anderen Geräte bereits ausgeschaltet sind:
    sonst falls nicht DG-Gerät ein UND nicht Kinderzimmergerät ein UND nicht delayOff3.
    Gleiche Logik mit ODER:

    Blockly_temp.JPG

    Das gilt analog auch für das Kinderzimmergerät:
    sonst falls nicht DG-Gerät ein UND nicht delayOff2.

    Blockly_temp.JPG

    Beim Ausschalten des DG-Gerätes als erstes darf nur nicht delayOff geprüft werden.

    Blockly_temp.JPG

    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

    P 2 Replies Last reply
    0
    • P perladd

      Hallo Leute,

      ich habe ein Blockly, wo die Klimaanlagen nach einer bestimmten Reihenfolge ein- und ausgeschaltet werden sollen. Ich habe diese Reihenfolge aber geändert und das Blockly funktioniert jetzt nicht mehr richtig vom Ablauf.

      So sollte es jetzt sein
      Einschalten:

      1. Schlafzimmer
      2. Kinderzimmer
      3. Dachgeschoss

      Ausschalten

      1. Dachgeschoss
      2. Kinderzimmer
      3. Schlafzimmer

      Ich habe das ganze jetzt allerdings per Java hier hinzugefügt, weil per Screenshot sind es immer sehr viele Bilder

      Wenn ich es doch als Blockly rein setzten soll, bitte eine kurze Info

      var bezug, grenzwertEin, grenzwertAus, cnt, delayOn, delayOn2, msg, delayOn3, delayOff, delayOff2, delayOff3;
      
      
      on({ id: [].concat(['discovergy.0.60671207.Power_Consumption']).concat(['discovergy.0.60671207.Power_Delivery']), change: 'ne' }, async (obj) => {
        bezug = getState('discovergy.0.60671207.Power_Consumption').val - getState('discovergy.0.60671207.Power_Delivery').val;
        grenzwertEin = -500;
        // Hysterese etwas größer als Leistungsaufnahme
        grenzwertAus = grenzwertEin + 700;
        console.info((['Bezug:',bezug,'W. Grenzwert Ein:',grenzwertEin].join('')));
        // Klimaanlagen einschalten
        if (bezug >= grenzwertEin) {
          (() => { if (delayOn) { clearInterval(delayOn); delayOn = null; }})();
          setState('0_userdata.0.Klimaanlagen.SZ.SZ_RestLZ_einschalten' /* SZ_RestLZ_einschalten */, 0, true);
        } else if (!delayOn) {
          // Klima Schlafzimmer einschalten
          cnt = 50;
          delayOn = setInterval(async () => {
            if (cnt > 0) {
              msg = '';
              cnt = (typeof cnt === 'number' ? cnt : 0) + -1;
              if (getState('0_userdata.0.Klimaanlagen.SZ.Freigabe1').val && !getState('melcloud.0.devices.58426692.control.power').val) {
                setState('0_userdata.0.Klimaanlagen.SZ.SZ_RestLZ_einschalten' /* SZ_RestLZ_einschalten */, (cnt / 10), true);
                if (cnt == 0) {
                  setState('melcloud.0.devices.58426692.control.power' /* Power */, true);
                  msg = 'Klima Schlafzimmer an';
                  (() => { if (delayOn) { clearInterval(delayOn); delayOn = null; }})();
                }
              }
              if (msg) {
                sendTo('email.0', 'send', {
                  text: msg,
                  to: '',
                  subject: msg,
                });
                console.log('email: ' + msg);
              }
            }
          }, 6000);
        }
        if (bezug >= grenzwertEin) {
          (() => { if (delayOn2) { clearInterval(delayOn2); delayOn2 = null; }})();
          setState('0_userdata.0.Klimaanlagen.KZ.KZ_RestLZ_einschalten' /* KZ_RestLZ_einschalten */, 0, true);
        } else if ((getState('melcloud.0.devices.58426692.control.power').val || (!getState('0_userdata.0.Klimaanlagen.SZ.Freigabe1').val)) && (!delayOn2)) {
          // Klima Kinderzimmer einschalten
          cnt = 100;
          delayOn2 = setInterval(async () => {
            if (cnt > 0) {
              msg = '';
              cnt = (typeof cnt === 'number' ? cnt : 0) + -1;
              if (getState('0_userdata.0.Klimaanlagen.KZ.Freigabe2').val && !getState('melcloud.0.devices.58426763.control.power').val) {
                setState('0_userdata.0.Klimaanlagen.KZ.KZ_RestLZ_einschalten' /* KZ_RestLZ_einschalten */, (cnt / 10), true);
                if (cnt == 0) {
                  setState('melcloud.0.devices.58426763.control.power' /* Power */, true);
                  msg = 'Klima Kinderzimmer an';
                  (() => { if (delayOn2) { clearInterval(delayOn2); delayOn2 = null; }})();
                }
              }
              if (msg) {
                sendTo('email.0', 'send', {
                  text: msg,
                  to: '',
                  subject: msg,
                });
                console.log('email: ' + msg);
              }
            }
          }, 6000);
        }
        if (bezug >= grenzwertEin) {
          (() => { if (delayOn3) { clearInterval(delayOn3); delayOn3 = null; }})();
          setState('0_userdata.0.Klimaanlagen.DG.DG_RestLZ_einschalten' /* DG_RestLZ_einschalten */, 0, true);
        } else if ((getState('melcloud.0.devices.58426692.control.power').val || (!getState('0_userdata.0.Klimaanlagen.SZ.Freigabe1').val)) && (getState('melcloud.0.devices.58426763.control.power').val || (!getState('0_userdata.0.Klimaanlagen.KZ.Freigabe2').val)) && (!delayOn3)) {
          // Klima Dachgeschoss einschalten
          cnt = 100;
          delayOn3 = setInterval(async () => {
            if (cnt > 0) {
              msg = '';
              cnt = (typeof cnt === 'number' ? cnt : 0) + -1;
              if (getState('0_userdata.0.Klimaanlagen.DG.Freigabe3').val && !getState('melcloud.0.devices.58426579.control.power').val) {
                setState('0_userdata.0.Klimaanlagen.DG.DG_RestLZ_einschalten' /* DG_RestLZ_einschalten */, (cnt / 10), true);
                if (cnt == 0) {
                  setState('melcloud.0.devices.58426579.control.power' /* Power */, true);
                  msg = 'Klima Dachgeschoss an';
                  (() => { if (delayOn3) { clearInterval(delayOn3); delayOn3 = null; }})();
                }
              }
              if (msg) {
                sendTo('email.0', 'send', {
                  text: msg,
                  to: '',
                  subject: msg,
                });
                console.log('email: ' + msg);
              }
            }
          }, 6000);
        }
        // Klimaanlagen auschalten
        if (bezug <= grenzwertAus) {
          (() => { if (delayOff) { clearInterval(delayOff); delayOff = null; }})();
          setState('0_userdata.0.Klimaanlagen.DG.DG_RestLZ_ausschalten' /* DG_RestLZ_ausschalten */, 0, true);
        } else if ((!getState('melcloud.0.devices.58426692.control.power').val) && getState('0_userdata.0.Klimaanlagen.SZ.Freigabe1').val && (!delayOff)) {
          // Klima Dachgeschoss ausschalten
          cnt = 50;
          delayOff = setInterval(async () => {
            if (cnt > 0) {
              msg = '';
              cnt = (typeof cnt === 'number' ? cnt : 0) + -1;
              if (getState('melcloud.0.devices.58426579.control.power').val) {
                setState('0_userdata.0.Klimaanlagen.DG.DG_RestLZ_ausschalten' /* DG_RestLZ_ausschalten */, (cnt / 10), true);
                if (cnt == 0) {
                  setState('melcloud.0.devices.58426579.control.power' /* Power */, false);
                  msg = 'Klima Dachgeschoss aus';
                  (() => { if (delayOn) { clearInterval(delayOn); delayOn = null; }})();
                }
              }
              if (msg) {
                sendTo('email.0', 'send', {
                  text: msg,
                  to: '',
                  subject: msg,
                });
                console.log('email: ' + msg);
              }
            }
          }, 6000);
        }
        if (bezug <= grenzwertAus) {
          (() => { if (delayOff2) { clearInterval(delayOff2); delayOff2 = null; }})();
          setState('0_userdata.0.Klimaanlagen.KZ.KZ_RestLZ_ausschalten' /* KZ_RestLZ_ausschalten */, 0, true);
        } else if ((!getState('melcloud.0.devices.58426692.control.power').val) && getState('0_userdata.0.Klimaanlagen.SZ.Freigabe1').val && (!delayOff2)) {
          // Klima Kinderzimmer ausschalten
          cnt = 100;
          delayOff2 = setInterval(async () => {
            if (cnt > 0) {
              msg = '';
              cnt = (typeof cnt === 'number' ? cnt : 0) + -1;
              if (getState('melcloud.0.devices.58426763.control.power').val) {
                setState('0_userdata.0.Klimaanlagen.KZ.KZ_RestLZ_ausschalten' /* KZ_RestLZ_ausschalten */, (cnt / 10), true);
                if (cnt == 0) {
                  setState('melcloud.0.devices.58426763.control.power' /* Power */, false);
                  msg = 'Klima Kinderzimmer aus';
                  (() => { if (delayOn2) { clearInterval(delayOn2); delayOn2 = null; }})();
                }
              }
              if (msg) {
                sendTo('email.0', 'send', {
                  text: msg,
                  to: '',
                  subject: msg,
                });
                console.log('email: ' + msg);
              }
            }
          }, 6000);
        }
        if (bezug <= grenzwertAus) {
          (() => { if (delayOff3) { clearInterval(delayOff3); delayOff3 = null; }})();
          setState('0_userdata.0.Klimaanlagen.SZ.SZ_RestLZ_ausschalten' /* SZ_RestLZ_ausschalten */, 0, true);
        } else if ((!delayOff3) && getState('0_userdata.0.Klimaanlagen.SZ.Freigabe1').val) {
          // Klima Schlafzimmer ausschalten
          cnt = 100;
          delayOff3 = setInterval(async () => {
            if (cnt > 0) {
              msg = '';
              cnt = (typeof cnt === 'number' ? cnt : 0) + -1;
              if (getState('melcloud.0.devices.58426692.control.power').val) {
                setState('0_userdata.0.Klimaanlagen.SZ.SZ_RestLZ_ausschalten' /* SZ_RestLZ_ausschalten */, (cnt / 10), true);
                if (cnt == 0) {
                  setState('melcloud.0.devices.58426692.control.power' /* Power */, false);
                  msg = 'Klima Schlafzimmer aus';
                  (() => { if (delayOn3) { clearInterval(delayOn3); delayOn3 = null; }})();
                }
              }
              if (msg) {
                sendTo('email.0', 'send', {
                  text: msg,
                  to: '',
                  subject: msg,
                });
                console.log('email: ' + msg);
              }
            }
          }, 6000);
        }
      });
      
      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #9

      @perladd sagte: Rheinfolge

      Fluss abwärts oder Fluss aufwärts?

      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 Reply Last reply
      1
      • paul53P paul53

        @perladd sagte: Ausschalten

        Dachgeschoss
        Kinderzimmer
        Schlafzimmer

        Blockly_temp.JPG

        Weshalb wird beim Ausschalten die Freigabe geprüft? Beim Ausschalten des Schlafzimmergerätes muss geprüft werden, ob die beiden anderen Geräte bereits ausgeschaltet sind:
        sonst falls nicht DG-Gerät ein UND nicht Kinderzimmergerät ein UND nicht delayOff3.
        Gleiche Logik mit ODER:

        Blockly_temp.JPG

        Das gilt analog auch für das Kinderzimmergerät:
        sonst falls nicht DG-Gerät ein UND nicht delayOff2.

        Blockly_temp.JPG

        Beim Ausschalten des DG-Gerätes als erstes darf nur nicht delayOff geprüft werden.

        Blockly_temp.JPG

        P Offline
        P Offline
        perladd
        wrote on last edited by
        #10

        @paul53

        Hallo,

        vielen Dank, dank dieser Anleitung habe ich es glaub ich hinbekommen. Es ist immer wieder das Kopierproblem :) :)
        Hab zu viel vom einschalten kopiert.
        Du bist echt fit mit den Blocklys :)

        VG
        Thomas

        1 Reply Last reply
        0
        • paul53P paul53

          @perladd sagte: Ausschalten

          Dachgeschoss
          Kinderzimmer
          Schlafzimmer

          Blockly_temp.JPG

          Weshalb wird beim Ausschalten die Freigabe geprüft? Beim Ausschalten des Schlafzimmergerätes muss geprüft werden, ob die beiden anderen Geräte bereits ausgeschaltet sind:
          sonst falls nicht DG-Gerät ein UND nicht Kinderzimmergerät ein UND nicht delayOff3.
          Gleiche Logik mit ODER:

          Blockly_temp.JPG

          Das gilt analog auch für das Kinderzimmergerät:
          sonst falls nicht DG-Gerät ein UND nicht delayOff2.

          Blockly_temp.JPG

          Beim Ausschalten des DG-Gerätes als erstes darf nur nicht delayOff geprüft werden.

          Blockly_temp.JPG

          P Offline
          P Offline
          perladd
          wrote on last edited by
          #11

          @paul53

          Hallo,

          sorry das ich dich nocheinmal belästige.
          Ich verstehe eine Berechnung beim einschalten nicht. Die Klima SZ steht auf 50, geht also wunderbar nach 5 Minuten in Betrieb. Die Klima Kinderz. steht auf 100 und geht ebenfalls nach 10 Minuten in Betrieb. Die Klima DG steht ebenfalls auf 100, bleibt aber allerdings bei 0,1 Minuten stehen und geht nicht in Betrieb. Setzte ich die Zeit z.B. auf 18 geht auch die Klima DG nach 1,8 Minuten in Betrieb. Muss ich das verstehen ?????
          Hat das was mit dem Delay und 6 Sek. zu tun, aber dann dürfte die Klima SZ ja auch nicht nach 10 Minuten in Betrieb gehen.
          Vielleicht hast du da noch eine Erklärung für

          VG

          Thomas

          paul53P 1 Reply Last reply
          0
          • HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #12

            @perladd sagte in Klimaanlagen einschalten, Rheinfolge geändet, Hiiilfe:

            Muss ich das verstehen

            dann ist irgenwo beim DG ein falscher Faktor drin

            kein Support per PN! - Fragen im Forum stellen -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            P 1 Reply Last reply
            0
            • HomoranH Homoran

              @perladd sagte in Klimaanlagen einschalten, Rheinfolge geändet, Hiiilfe:

              Muss ich das verstehen

              dann ist irgenwo beim DG ein falscher Faktor drin

              P Offline
              P Offline
              perladd
              wrote on last edited by
              #13

              @homoran

              Hallo,

              für mich stehen hier überall die gleichen Werte 🙄 , bis auf die Einschaltzeiten natürlich

              Screenshot 2024-07-04 140032.png
              Screenshot 2024-07-04 135956.png
              Screenshot 2024-07-04 135909.png

              HomoranH 1 Reply Last reply
              0
              • P perladd

                @homoran

                Hallo,

                für mich stehen hier überall die gleichen Werte 🙄 , bis auf die Einschaltzeiten natürlich

                Screenshot 2024-07-04 140032.png
                Screenshot 2024-07-04 135956.png
                Screenshot 2024-07-04 135909.png

                HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by
                #14

                @perladd 🤷

                kein Support per PN! - Fragen im Forum stellen -
                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Reply Last reply
                0
                • P perladd

                  @paul53

                  Hallo,

                  sorry das ich dich nocheinmal belästige.
                  Ich verstehe eine Berechnung beim einschalten nicht. Die Klima SZ steht auf 50, geht also wunderbar nach 5 Minuten in Betrieb. Die Klima Kinderz. steht auf 100 und geht ebenfalls nach 10 Minuten in Betrieb. Die Klima DG steht ebenfalls auf 100, bleibt aber allerdings bei 0,1 Minuten stehen und geht nicht in Betrieb. Setzte ich die Zeit z.B. auf 18 geht auch die Klima DG nach 1,8 Minuten in Betrieb. Muss ich das verstehen ?????
                  Hat das was mit dem Delay und 6 Sek. zu tun, aber dann dürfte die Klima SZ ja auch nicht nach 10 Minuten in Betrieb gehen.
                  Vielleicht hast du da noch eine Erklärung für

                  VG

                  Thomas

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #15

                  @perladd sagte: Vielleicht hast du da noch eine Erklärung für

                  Leider nein.
                  Versuche es mal mit einer gesonderten Zählvariable z.B. cntDG.

                  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

                  P 1 Reply Last reply
                  0
                  • paul53P paul53

                    @perladd sagte: Vielleicht hast du da noch eine Erklärung für

                    Leider nein.
                    Versuche es mal mit einer gesonderten Zählvariable z.B. cntDG.

                    P Offline
                    P Offline
                    perladd
                    wrote on last edited by
                    #16

                    @paul53

                    Hallo,

                    habe ich soweit umgesetzt. Scheint besser zu funktionieren, ist nicht mehr hängengeblieben.

                    Jetzt nur noch eine Verständnisfrage für mich, du kennst mein Blockly ja mittlerweile sehr gut :)

                    Wenn das Blockly läuft, kann ich dann z.B. eine Freigabe wegnehmen, oder muss ich das Blockly dafür neu starten?

                    Ich hab es zwar schon getestet und blieb immer etwas hängen, aber das könnte an den ganzen Fehlern noch gehangen haben.

                    VG
                    Thomas

                    paul53P 1 Reply Last reply
                    0
                    • P perladd

                      @paul53

                      Hallo,

                      habe ich soweit umgesetzt. Scheint besser zu funktionieren, ist nicht mehr hängengeblieben.

                      Jetzt nur noch eine Verständnisfrage für mich, du kennst mein Blockly ja mittlerweile sehr gut :)

                      Wenn das Blockly läuft, kann ich dann z.B. eine Freigabe wegnehmen, oder muss ich das Blockly dafür neu starten?

                      Ich hab es zwar schon getestet und blieb immer etwas hängen, aber das könnte an den ganzen Fehlern noch gehangen haben.

                      VG
                      Thomas

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by paul53
                      #17

                      @perladd sagte: kann ich dann z.B. eine Freigabe wegnehmen, oder muss ich das Blockly dafür neu starten?

                      Das Skript muss nicht neu gestartet werden, denn es wird oft genug getriggert. Allerdings sollte bei Wegnahme einer Freigabe auch ausgeschaltet werden, denn das passiert nicht automatisch. Beispiel:

                      Blockly_temp.JPG

                      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 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      316

                      Online

                      32.8k

                      Users

                      82.8k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe