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. Ausführung eines Blocks nur alle 15 Minuten - wie?

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    154

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

Ausführung eines Blocks nur alle 15 Minuten - wie?

Geplant Angeheftet Gesperrt Verschoben Blockly
22 Beiträge 4 Kommentatoren 2.4k Aufrufe 2 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.
  • MartinPM MartinP

    @paul53 Ist Dein Skript wirklich der Aufgabenstellung entsprechend?

    Ich habe sie so verstanden, dass alle 15 Minuten überprüft werden soll, ob der Überschuss ausreichend ist, die Wärmepumpe zu betreiben. Wenn ja, soll die WP sofort angeschaltet werden.
    Im Eingeschalteten Zustand soll dann entsprechend alle 15 min geschaut werden, ob der Überschuss soweit abgesunken ist, dass die Wärmepumpe sofort angeschaltet werden sollte.

    Geschehen in Deinem Skript die Schaltvorgänge nicht mit einer Verzögerung von 30 min - oder habe ich die Funktion des verwendeten "ausführen ... in ... " Blocks falsch verstanden?

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

    @martinp sagte: Ist Dein Skript wirklich der Aufgabenstellung entsprechend?

    Nein, denn

    @paul53 sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

    Das sind dann sehr zufällige Werte (kleine Wolke / Wolkenlücke).

    Das Skript schaltet die WP ein, wenn 30 Minuten lang der Überschuss mind. 3000 W beträgt; sie schaltet aus, wenn der Überschuss 30 Minuten lang unter 1000 W bleibt. Die 30 Minuten kann man natürlich auf 15 Minuten verringern, was sicherlich sinnvoll ist.
    Dieses Vorgehen verhindert, dass bei bewölktem Himmel die WP durch zufällige Werte ständig ein- und ausschaltet. Eine kleine Wolke oder eine kleine Wolkenlücke führt nicht zum Schalten der WP.

    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

    MartinPM 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @martinp sagte: Ist Dein Skript wirklich der Aufgabenstellung entsprechend?

      Nein, denn

      @paul53 sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

      Das sind dann sehr zufällige Werte (kleine Wolke / Wolkenlücke).

      Das Skript schaltet die WP ein, wenn 30 Minuten lang der Überschuss mind. 3000 W beträgt; sie schaltet aus, wenn der Überschuss 30 Minuten lang unter 1000 W bleibt. Die 30 Minuten kann man natürlich auf 15 Minuten verringern, was sicherlich sinnvoll ist.
      Dieses Vorgehen verhindert, dass bei bewölktem Himmel die WP durch zufällige Werte ständig ein- und ausschaltet. Eine kleine Wolke oder eine kleine Wolkenlücke führt nicht zum Schalten der WP.

      MartinPM Online
      MartinPM Online
      MartinP
      schrieb am zuletzt editiert von
      #13

      @paul53 muss man schauen, ob das zum Anwendungsfall passt.
      Will man eher auch an durchwachsenen Tagen warmes Poolwasser haben, oder eher nur mit Solarstrom laden.

      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
      Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
      Linux pve 6.17.9-1-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
      Remote-Access über Wireguard der Fritzbox

      T W 2 Antworten Letzte Antwort
      0
      • MartinPM MartinP

        @paul53 muss man schauen, ob das zum Anwendungsfall passt.
        Will man eher auch an durchwachsenen Tagen warmes Poolwasser haben, oder eher nur mit Solarstrom laden.

        T Nicht stören
        T Nicht stören
        ticaki
        schrieb am zuletzt editiert von ticaki
        #14

        @martinp

        Das hier ist meine Solaranlage 10 kwp, letzten 7 Tage, 20, 40, 70 Perzentil. Meinen 2,5kw Heizstab ohne Fremdstrom laufen zu lassen, wäre nur möglich wenn ich auch Sekunden als Schaltfequenz akzeptieren würde, aber dann wären die Relais wohl in nem Monat hinüber.

        Bildschirmfoto 2023-07-30 um 12.23.21.png

        Heizstabverbrauch(der ist bei der Einspeisung ja schon abgezogen)
        Bildschirmfoto 2023-07-30 um 12.29.33.png
        Anmerkung: am 28/7 hat meine Zwangserhitzung gegriffen, weil Wasser zu lange zu kalt um Legionellen abzutöten

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        1 Antwort Letzte Antwort
        0
        • MartinPM MartinP

          @paul53 muss man schauen, ob das zum Anwendungsfall passt.
          Will man eher auch an durchwachsenen Tagen warmes Poolwasser haben, oder eher nur mit Solarstrom laden.

          W Offline
          W Offline
          WoFried
          schrieb am zuletzt editiert von
          #15

          @martinp Ich hab den Intervall tatsächlich erstmal auf 15 Minuten reduziert. Das passt glaube ich besser. Dann ist auch das "Risiko" nicht so hoch, dass mir die WP mal 30 Minuten lang mit max. 1.5kW an der Batterie nuckelt.
          Ich muss sicherlich auch noch ein wenig mit den Einspeisewerte experimentieren. Ich hatte erstmal noch zusätzlich 1kW Luft gelassen, damit im Haus auch nochmal ein Herd und/oder Waschmaschine angeschmissen werden kann, ohne dass es gleich an die Batterie geht.

          Und was das warme Wasser angeht, da sind 12m³ in einem in den Boden eingelassenen, unten und rundherum richtig gut isolierten Pool, der nahezu auch die komplette badefreie Zeit, tagsüber und nachts mit einer Solarfolie abgedeckt ist. Selbst an kalten Tagen verliert der nur ca. 1 - 1.5 Grad. Klar, wenn ich dann mal eine Serie bewölkter Tage habe, wird der kälter, aber dann ist das so.

          Ich werde das Skript erstmal kopieren mit verkürzten Zeiten und als Ersatz für meine PV, mit dem Heizungsregler meiner Homematic arbeiten. Dann mit Pushover die Reaktion abschicken und ich sollte recht schnell merken, ob das so für mich passt.

          @paul53 und alle Anderen: Gibt es eigentlich irgendwo Blockly eLearning Einheiten? Ich würde gerne mehr dazulernen, hab nämlich das Kontrukt der Verzögerung überhaupt nicht geblickt, warum z.B. das Stop über dem eigentlichen Ausführen steht.

          9a46910f-4a09-4267-b7ef-55f9c1cfc095-image.png

          paul53P 1 Antwort Letzte Antwort
          0
          • W WoFried

            @martinp Ich hab den Intervall tatsächlich erstmal auf 15 Minuten reduziert. Das passt glaube ich besser. Dann ist auch das "Risiko" nicht so hoch, dass mir die WP mal 30 Minuten lang mit max. 1.5kW an der Batterie nuckelt.
            Ich muss sicherlich auch noch ein wenig mit den Einspeisewerte experimentieren. Ich hatte erstmal noch zusätzlich 1kW Luft gelassen, damit im Haus auch nochmal ein Herd und/oder Waschmaschine angeschmissen werden kann, ohne dass es gleich an die Batterie geht.

            Und was das warme Wasser angeht, da sind 12m³ in einem in den Boden eingelassenen, unten und rundherum richtig gut isolierten Pool, der nahezu auch die komplette badefreie Zeit, tagsüber und nachts mit einer Solarfolie abgedeckt ist. Selbst an kalten Tagen verliert der nur ca. 1 - 1.5 Grad. Klar, wenn ich dann mal eine Serie bewölkter Tage habe, wird der kälter, aber dann ist das so.

            Ich werde das Skript erstmal kopieren mit verkürzten Zeiten und als Ersatz für meine PV, mit dem Heizungsregler meiner Homematic arbeiten. Dann mit Pushover die Reaktion abschicken und ich sollte recht schnell merken, ob das so für mich passt.

            @paul53 und alle Anderen: Gibt es eigentlich irgendwo Blockly eLearning Einheiten? Ich würde gerne mehr dazulernen, hab nämlich das Kontrukt der Verzögerung überhaupt nicht geblickt, warum z.B. das Stop über dem eigentlichen Ausführen steht.

            9a46910f-4a09-4267-b7ef-55f9c1cfc095-image.png

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

            @wofried sagte: warum z.B. das Stop über dem eigentlichen Ausführen steht.

            Weil es in der Reihenfolge eleganter ist: Man kann "sonst falls" für die Sperre "nicht Verzögerung delayOn" nutzen.

            EDIT: Vergleich mit anderer Reihenfolge:

            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

            W 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @wofried sagte: warum z.B. das Stop über dem eigentlichen Ausführen steht.

              Weil es in der Reihenfolge eleganter ist: Man kann "sonst falls" für die Sperre "nicht Verzögerung delayOn" nutzen.

              EDIT: Vergleich mit anderer Reihenfolge:

              Blockly_temp.JPG

              W Offline
              W Offline
              WoFried
              schrieb am zuletzt editiert von
              #17

              @paul53 Eine Frage hätte ich noch dazu. Bekommt man auch diese Warnung weg?
              0d5b56ec-9cc3-4a46-9b9b-ce51c760b450-image.png
              Das Skript läuft zwar wie es soll...
              126f0051-4bb6-4efb-a840-13b446f267c6-image.png
              ... aber ich habe bei jedem Auslösen die Meldung im Log.

              paul53P 1 Antwort Letzte Antwort
              0
              • W WoFried

                @paul53 Eine Frage hätte ich noch dazu. Bekommt man auch diese Warnung weg?
                0d5b56ec-9cc3-4a46-9b9b-ce51c760b450-image.png
                Das Skript läuft zwar wie es soll...
                126f0051-4bb6-4efb-a840-13b446f267c6-image.png
                ... aber ich habe bei jedem Auslösen die Meldung im Log.

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

                @wofried sagte: Bekommt man auch diese Warnung weg?

                Poste bitte den kompletten erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                Schon mal: Die Abfrage der "waermepumpenautomatik" muss innerhalb des Triggers erfolgen.

                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

                W 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @wofried sagte: Bekommt man auch diese Warnung weg?

                  Poste bitte den kompletten erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                  Schon mal: Die Abfrage der "waermepumpenautomatik" muss innerhalb des Triggers erfolgen.

                  Blockly_temp.JPG

                  W Offline
                  W Offline
                  WoFried
                  schrieb am zuletzt editiert von
                  #19

                  @paul53 OK, hier mal der Code

                  
                  var ueberschuss, delayOn, delayOff;
                  
                  
                  if (getState('0_userdata.0.waermepumpenautomatik').val) {
                    on({id: [].concat(['fusionsolar.0.NE=yyyyyyyyy.xxxxxxxxxx.kpi.realtime.activePower']), change: "ne"}, async function (obj) {
                      let value = obj.state.val;
                      let oldValue = obj.oldState.val;
                      ueberschuss = (obj.state ? obj.state.val : "");
                      if (ueberschuss <= 1500) {
                        (function () {if (delayOn) {clearTimeout(delayOn); delayOn = null;}})();
                      } else if (!delayOn) {
                        delayOn = setTimeout(async function () {
                          if (!getState("tuya.0.xxxxxxxxxxxxxxx.1").val) {
                            setState("tuya.0.xxxxxxxxxxxxxxx.1"/*switch*/, true);
                            setState("0_userdata.0.up_aktiv"/*up_aktiv*/, true);
                            sendTo("pushover", "send", {
                               message: 'WP AN',
                               sound: "magic"
                            });
                          }
                        }, 600000);
                      }
                      if (ueberschuss >= 0) {
                        (function () {if (delayOff) {clearTimeout(delayOff); delayOff = null;}})();
                      } else if (!delayOff) {
                        delayOff = setTimeout(async function () {
                          if (getState("tuya.0.xxxxxxxxxxxxx.1").val) {
                            setState("tuya.0.xxxxxxxxxxxxx.1"/*switch*/, false);
                            sendTo("pushover", "send", {
                               message: 'WP AUS',
                               sound: "falling"
                            });
                          }
                          if (getState("0_userdata.0.up_zeit_an").val) {
                            setState("0_userdata.0.up_aktiv"/*up_aktiv*/, true);
                          } else {
                            setStateDelayed("0_userdata.0.up_aktiv"/*up_aktiv*/, false, 60000, false);
                          }
                        }, 600000);
                      }
                    });
                  }
                  
                  paul53P 1 Antwort Letzte Antwort
                  0
                  • W WoFried

                    @paul53 OK, hier mal der Code

                    
                    var ueberschuss, delayOn, delayOff;
                    
                    
                    if (getState('0_userdata.0.waermepumpenautomatik').val) {
                      on({id: [].concat(['fusionsolar.0.NE=yyyyyyyyy.xxxxxxxxxx.kpi.realtime.activePower']), change: "ne"}, async function (obj) {
                        let value = obj.state.val;
                        let oldValue = obj.oldState.val;
                        ueberschuss = (obj.state ? obj.state.val : "");
                        if (ueberschuss <= 1500) {
                          (function () {if (delayOn) {clearTimeout(delayOn); delayOn = null;}})();
                        } else if (!delayOn) {
                          delayOn = setTimeout(async function () {
                            if (!getState("tuya.0.xxxxxxxxxxxxxxx.1").val) {
                              setState("tuya.0.xxxxxxxxxxxxxxx.1"/*switch*/, true);
                              setState("0_userdata.0.up_aktiv"/*up_aktiv*/, true);
                              sendTo("pushover", "send", {
                                 message: 'WP AN',
                                 sound: "magic"
                              });
                            }
                          }, 600000);
                        }
                        if (ueberschuss >= 0) {
                          (function () {if (delayOff) {clearTimeout(delayOff); delayOff = null;}})();
                        } else if (!delayOff) {
                          delayOff = setTimeout(async function () {
                            if (getState("tuya.0.xxxxxxxxxxxxx.1").val) {
                              setState("tuya.0.xxxxxxxxxxxxx.1"/*switch*/, false);
                              sendTo("pushover", "send", {
                                 message: 'WP AUS',
                                 sound: "falling"
                              });
                            }
                            if (getState("0_userdata.0.up_zeit_an").val) {
                              setState("0_userdata.0.up_aktiv"/*up_aktiv*/, true);
                            } else {
                              setStateDelayed("0_userdata.0.up_aktiv"/*up_aktiv*/, false, 60000, false);
                            }
                          }, 600000);
                        }
                      });
                    }
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #20

                    @wofried
                    Im Skript ist kein Grund für die Warnung 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

                    W 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @wofried
                      Im Skript ist kein Grund für die Warnung zu erkennen.

                      W Offline
                      W Offline
                      WoFried
                      schrieb am zuletzt editiert von
                      #21

                      @paul53 Alles gut, dann lasse ich es so. Ist ja nur eine Warnung. Danke.

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • W WoFried

                        @paul53 Alles gut, dann lasse ich es so. Ist ja nur eine Warnung. Danke.

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

                        @wofried sagte: dann lasse ich es so.

                        Die Abfrage von "0_userdata.0.waermepumpenautomatik" muss nach innerhalb des Trigger-Blocks verlegt werden - wie gezeigt! Die Abfrage wirkt sonst nur bei Skriptstart.

                        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

                        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

                        511

                        Online

                        32.8k

                        Benutzer

                        82.7k

                        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