Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

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

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

(gelöst) Klimaanlagen einschalten, Reihenfolge

Geplant Angeheftet Gesperrt Verschoben Blockly
17 Beiträge 3 Kommentatoren 1.0k Aufrufe 1 Watching
  • Ä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.
  • 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
    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #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 - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            P 1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #13

              @homoran

              Hallo,

              für mich stehen hier überall die gleichen Werte :face_with_rolling_eyes: , 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 Antwort Letzte Antwort
              0
              • P perladd

                @homoran

                Hallo,

                für mich stehen hier überall die gleichen Werte :face_with_rolling_eyes: , 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 Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #14

                @perladd :shrug:

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      340

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      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