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. PV Überschuss Poolpumpe einschalten

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

PV Überschuss Poolpumpe einschalten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
41 Beiträge 7 Kommentatoren 4.2k Aufrufe 2 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.
  • U66U U66

    @homoran and All

    Wollte nur mitteilen das das Script einwandfrei funktioniert
    Vielen Dank noch mal für die Unterstützung.
    Ich habe jetzt doch den Wert der gesamten Power die vom Dach kommt genommen und so haut es hin.
    Hier noch mal das Script was jetzt läuft

    
    
    const vPower         = '0_userdata.0.Alpha-ESS.PV_Total_Power';
    
    const Schalter       = 'tuya.0.46778228e09806828487.1';
    
    const vLeistungPumpe = 360; //Watt
    
    const vSpielraum     = 250; //Watt
    
     
    
    var bSperre = false;
    
     
    
    on(vPower, function(dp) {
    
        if (bSperre == false) {
    
            bSperre = true;
    
            var vValue = dp.state.val;
    
            if (vValue >= (2000+vLeistungPumpe+vSpielraum)) {
    
                setState(Schalter, true);
    
                bSperre = false;
    
            } else {
    
                //nicht sofort schalten, 30 Sekunden warten und erneut prüfen
    
                setTimeout(function(){
    
                if (vValue < (2000+vLeistungPumpe)) {
    
                        setState(Schalter, false);
    
                        bSperre = false;
    
                } else {
    
                    bSperre = false;
    
                }
    
                },30000);
    
            }
    
        }
    
    });
    
    
    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #27

    @u66 sagte in PV Überschuss Poolpumpe einschalten:

    den Wert der gesamten Power die vom Dach kommt genommen und so haut es hin.

    das hat sogar den Vorteil, dass die Pumpe, und noch wichtiger die Wärmepumpe, nicht andauernd abgeschaltet wird, wenn durch die Nutzung eines Verbrauchers der Überschuss kurzfristig geringer würde.

    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
    • D Offline
      D Offline
      DRUROB
      schrieb am zuletzt editiert von
      #28

      Hi!
      Was haltet ihr von diesem Schritt um das mit einem gleitenden Durchschnitt zu lösen?

      Gleitwert_PV = 0;
      Liste_PV = [];
      on({id: [].concat(['modbus.0.inputRegisters.13009_Export_power']), change: "ne"}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        Liste_PV.push(getState("modbus.0.inputRegisters.13009_Export_power").val);
        if (Liste_PV.length >= 50) {
          Liste_PV.shift();
        }
        Gleitwert_PV = Math.round(mathMean(Liste_PV));
      
      paul53P 1 Antwort Letzte Antwort
      1
      • D DRUROB

        Hi!
        Was haltet ihr von diesem Schritt um das mit einem gleitenden Durchschnitt zu lösen?

        Gleitwert_PV = 0;
        Liste_PV = [];
        on({id: [].concat(['modbus.0.inputRegisters.13009_Export_power']), change: "ne"}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          Liste_PV.push(getState("modbus.0.inputRegisters.13009_Export_power").val);
          if (Liste_PV.length >= 50) {
            Liste_PV.shift();
          }
          Gleitwert_PV = Math.round(mathMean(Liste_PV));
        
        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #29

        @drurob sagte: mit einem gleitenden Durchschnitt zu lösen?

        Der gleitende Durchschnitt zeigt die Vergangenheit. Eigentlich möchte man wissen, was demnächst passiert.

        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

        D 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @drurob sagte: mit einem gleitenden Durchschnitt zu lösen?

          Der gleitende Durchschnitt zeigt die Vergangenheit. Eigentlich möchte man wissen, was demnächst passiert.

          D Offline
          D Offline
          DRUROB
          schrieb am zuletzt editiert von
          #30

          @paul53
          Da bin ich ganz bei dir. Der gleitende Durchschnitt basiert auf den letzten 25 oder 50 oder 100 Werten. da die alle paar Sekunden reinkommen sind die ziemlich aktuell.
          Wie möchtest du denn solch eine Zukunftssteuerung einbauen? Via Wettermodul? Das können wir hier gern mal "ausklabüstern" da mich sowas interessieren würde.
          Oder hattet ihr das schon mit drin und ich hab es überlesen?

          1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @u66 sagte in PV Überschuss Poolpumpe einschalten:

            ist eigentlich die aktuelle Leistung der PV die vom Dach kommt.

            also doch nicht der Überschuss?
            Aber das steht doch so im Threadtitel.

            und @paul53 hatte extra nochmal nachgefragt und keine Antwort bekommen.

            @u66 sagte in PV Überschuss Poolpumpe einschalten:

            Dabei wird der Hausverbrauch mit ca 350 Watt abgedeckt

            das kannst du aber nicht fix annehmen.
            Läuft der Staubsauger, der Föhn oder die Kaffeemaschine kommen Ruckzuck nochmal 1500-2000W dazu.
            Dann fliegt dir die gesamte Steuerung um die Ohren.

            U66U Offline
            U66U Offline
            U66
            schrieb am zuletzt editiert von U66
            #31

            @homoran
            hallo noch mal zum Überschuss
            habe ein zusätzliches Script für meine Klimaanlage
            Diese soll starten, wenn die PV Leistung bei 3500 Watt liegt.
            Leider pipt die Klima Anlage aller paar Sekunden ,wird die durch das Script immer abgefragt ?
            oder was muss ich da ändern ?
            Bin dankbar für jede Hilfe :+1:

            mfg

            code_text
            
            
            const vPower         = '0_userdata.0.Alpha-ESS.PV_Total_Power';
            
            const Klima       = 'tuya.0.74500708e09806147e72.1';
            
            
            const vSpielraum     = 250; //Watt
            
             
            
            var bSperre = false;
            
             
            
            on(vPower, function(dp) {
            
                if (bSperre == false) {
            
                    bSperre = true;
            
                    var vValue = dp.state.val;
            
                    if (vValue >= (3500+vSpielraum)) {
            
                        setState(Klima, true);
            
                        bSperre = false;
            
                    } else {
            
                        //nicht sofort schalten, 30 Sekunden warten und erneut prüfen
            
                        setTimeout(function(){
            
                        if (vValue < (3500+vSpielraum)) {
            
                                setState(Klima, false);
            
                                bSperre = false;
            
                        } else {
            
                            bSperre = false;
            
                        }
            
                        },30000);
            
                    }
            
                }
            
            });
            
            paul53P 1 Antwort Letzte Antwort
            0
            • U66U U66

              @homoran
              hallo noch mal zum Überschuss
              habe ein zusätzliches Script für meine Klimaanlage
              Diese soll starten, wenn die PV Leistung bei 3500 Watt liegt.
              Leider pipt die Klima Anlage aller paar Sekunden ,wird die durch das Script immer abgefragt ?
              oder was muss ich da ändern ?
              Bin dankbar für jede Hilfe :+1:

              mfg

              code_text
              
              
              const vPower         = '0_userdata.0.Alpha-ESS.PV_Total_Power';
              
              const Klima       = 'tuya.0.74500708e09806147e72.1';
              
              
              const vSpielraum     = 250; //Watt
              
               
              
              var bSperre = false;
              
               
              
              on(vPower, function(dp) {
              
                  if (bSperre == false) {
              
                      bSperre = true;
              
                      var vValue = dp.state.val;
              
                      if (vValue >= (3500+vSpielraum)) {
              
                          setState(Klima, true);
              
                          bSperre = false;
              
                      } else {
              
                          //nicht sofort schalten, 30 Sekunden warten und erneut prüfen
              
                          setTimeout(function(){
              
                          if (vValue < (3500+vSpielraum)) {
              
                                  setState(Klima, false);
              
                                  bSperre = false;
              
                          } else {
              
                              bSperre = false;
              
                          }
              
                          },30000);
              
                      }
              
                  }
              
              });
              
              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #32

              @u66 sagte: starten, wenn die PV Leistung bei 3500 Watt liegt.

              Versuche es mal so:

              const idPower     = '0_userdata.0.Alpha-ESS.PV_Total_Power';
              const idKlima     = 'tuya.0.74500708e09806147e72.1';
              const vSpielraum  = 1000; //Watt
               
              var bSperre = null;
              var klima = getState(idKlima).val;
               
              on(idPower, function(dp) {
                  if (!bSperre) {
                      let vValue = dp.state.val;
                      if (vValue >= 3500) klima = true;
                      else if (vValue < 3500 - vSpielraum) klima = false;
                      if(klima != getState(idKlima).val) {
                          setState(idKlima, klima);
                          //5 Minuten warten und erneut prüfen
                          bSperre = setTimeout(function() {
                              bSperre = null;
                          }, 300000);
                      }
                  }
              });
              

              EDIT: Sperre geändert.

              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

              U66U 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @u66 sagte: starten, wenn die PV Leistung bei 3500 Watt liegt.

                Versuche es mal so:

                const idPower     = '0_userdata.0.Alpha-ESS.PV_Total_Power';
                const idKlima     = 'tuya.0.74500708e09806147e72.1';
                const vSpielraum  = 1000; //Watt
                 
                var bSperre = null;
                var klima = getState(idKlima).val;
                 
                on(idPower, function(dp) {
                    if (!bSperre) {
                        let vValue = dp.state.val;
                        if (vValue >= 3500) klima = true;
                        else if (vValue < 3500 - vSpielraum) klima = false;
                        if(klima != getState(idKlima).val) {
                            setState(idKlima, klima);
                            //5 Minuten warten und erneut prüfen
                            bSperre = setTimeout(function() {
                                bSperre = null;
                            }, 300000);
                        }
                    }
                });
                

                EDIT: Sperre geändert.

                U66U Offline
                U66U Offline
                U66
                schrieb am zuletzt editiert von
                #33

                @paul53
                Prima
                hat auf Anhieb geklappt

                paul53P 1 Antwort Letzte Antwort
                0
                • U66U U66

                  @paul53
                  Prima
                  hat auf Anhieb geklappt

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

                  @u66 sagte: hat auf Anhieb geklappt

                  Habe es oben geändert, so dass die 5-Minuten-Sperre nur nach dem Schalten wirksam wird.

                  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

                  U66U D 2 Antworten Letzte Antwort
                  1
                  • paul53P paul53

                    @u66 sagte: hat auf Anhieb geklappt

                    Habe es oben geändert, so dass die 5-Minuten-Sperre nur nach dem Schalten wirksam wird.

                    U66U Offline
                    U66U Offline
                    U66
                    schrieb am zuletzt editiert von U66
                    #35

                    @paul53
                    Script mit Habpanel ein/aus
                    Jetzt hab auch hier im Forum gesucht aber nichts passendes gefunden.
                    Ist es denn möglich ein Script mit einem Button im Habpanel ein und auszuschalten ?
                    Kann mal sein das im Winter die Pumpe auch mal ohne PV Power laufen muss.könnte das zwar im Iobroker am PC ausschalten würde es aber gern am Iphone erledigen.

                    Danke im Voraus :man-raising-hand:

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • U66U U66

                      @paul53
                      Script mit Habpanel ein/aus
                      Jetzt hab auch hier im Forum gesucht aber nichts passendes gefunden.
                      Ist es denn möglich ein Script mit einem Button im Habpanel ein und auszuschalten ?
                      Kann mal sein das im Winter die Pumpe auch mal ohne PV Power laufen muss.könnte das zwar im Iobroker am PC ausschalten würde es aber gern am Iphone erledigen.

                      Danke im Voraus :man-raising-hand:

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

                      @u66 sagte: Script mit Habpanel ein/aus

                      Man schaltet keine Skripte ein/aus. Lässt sich die Poolpumpe per Habpanel ein- und ausschalten? Dann kann man das "manuelle" Einschalten detektieren und so eine weitere Sperre ergänzen.

                      const idPower     = '0_userdata.0.Alpha-ESS.PV_Total_Power';
                      const idKlima     = 'tuya.0.74500708e09806147e72.1';
                      const vSpielraum  = 1000; //Watt
                       
                      var bSperre = null;
                      var klima = getState(idKlima).val;
                      var manuellEin = false;
                       
                      on(idPower, function(dp) {
                          if (!bSperre && !manuellEin) {
                              let vValue = dp.state.val;
                              if (vValue >= 3500) klima = true;
                              else if (vValue < 3500 - vSpielraum) klima = false;
                              if(klima != getState(idKlima).val) {
                                  setState(idKlima, klima);
                                  //5 Minuten warten und erneut prüfen
                                  bSperre = setTimeout(function() {
                                      bSperre = null;
                                  }, 300000);
                              }
                          }
                      });
                      
                      on(idKlima, function(dp) {
                          manuellEin = dp.state.val && dp.state.from != 'system.adapter.javascript.' + instance;
                      });
                      

                      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

                      T U66U 2 Antworten Letzte Antwort
                      0
                      • paul53P paul53

                        @u66 sagte: Script mit Habpanel ein/aus

                        Man schaltet keine Skripte ein/aus. Lässt sich die Poolpumpe per Habpanel ein- und ausschalten? Dann kann man das "manuelle" Einschalten detektieren und so eine weitere Sperre ergänzen.

                        const idPower     = '0_userdata.0.Alpha-ESS.PV_Total_Power';
                        const idKlima     = 'tuya.0.74500708e09806147e72.1';
                        const vSpielraum  = 1000; //Watt
                         
                        var bSperre = null;
                        var klima = getState(idKlima).val;
                        var manuellEin = false;
                         
                        on(idPower, function(dp) {
                            if (!bSperre && !manuellEin) {
                                let vValue = dp.state.val;
                                if (vValue >= 3500) klima = true;
                                else if (vValue < 3500 - vSpielraum) klima = false;
                                if(klima != getState(idKlima).val) {
                                    setState(idKlima, klima);
                                    //5 Minuten warten und erneut prüfen
                                    bSperre = setTimeout(function() {
                                        bSperre = null;
                                    }, 300000);
                                }
                            }
                        });
                        
                        on(idKlima, function(dp) {
                            manuellEin = dp.state.val && dp.state.from != 'system.adapter.javascript.' + instance;
                        });
                        
                        T Nicht stören
                        T Nicht stören
                        ticaki
                        schrieb am zuletzt editiert von
                        #37

                        @paul53 sagte in PV Überschuss Poolpumpe einschalten:

                        Danke, change:'ne' ist default, wusste ich nicht.

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @u66 sagte: Script mit Habpanel ein/aus

                          Man schaltet keine Skripte ein/aus. Lässt sich die Poolpumpe per Habpanel ein- und ausschalten? Dann kann man das "manuelle" Einschalten detektieren und so eine weitere Sperre ergänzen.

                          const idPower     = '0_userdata.0.Alpha-ESS.PV_Total_Power';
                          const idKlima     = 'tuya.0.74500708e09806147e72.1';
                          const vSpielraum  = 1000; //Watt
                           
                          var bSperre = null;
                          var klima = getState(idKlima).val;
                          var manuellEin = false;
                           
                          on(idPower, function(dp) {
                              if (!bSperre && !manuellEin) {
                                  let vValue = dp.state.val;
                                  if (vValue >= 3500) klima = true;
                                  else if (vValue < 3500 - vSpielraum) klima = false;
                                  if(klima != getState(idKlima).val) {
                                      setState(idKlima, klima);
                                      //5 Minuten warten und erneut prüfen
                                      bSperre = setTimeout(function() {
                                          bSperre = null;
                                      }, 300000);
                                  }
                              }
                          });
                          
                          on(idKlima, function(dp) {
                              manuellEin = dp.state.val && dp.state.from != 'system.adapter.javascript.' + instance;
                          });
                          
                          U66U Offline
                          U66U Offline
                          U66
                          schrieb am zuletzt editiert von U66
                          #38

                          @paul53 said in PV Überschuss Poolpumpe einschalten:

                          Man schaltet keine Skripte ein/aus. Lässt sich die Poolpumpe per Habpanel ein- und ausschalten? Dann kann man das "manuelle" Einschalten detektieren und so eine weitere Sperre ergänzen.

                          Vielen Dank
                          Ja lässt sich ein/aus schalten
                          das wird ausprobiert.......
                          EDIT

                          funktioniert, hab die anderen Scripte auch umgeschrieben.

                          1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @u66 sagte: hat auf Anhieb geklappt

                            Habe es oben geändert, so dass die 5-Minuten-Sperre nur nach dem Schalten wirksam wird.

                            D Offline
                            D Offline
                            DRUROB
                            schrieb am zuletzt editiert von
                            #39

                            @paul53 Hi! Ich muss das nochmal ausgraben. Kannst du mir bitte kurz geben wie du das schalten erst nach einer Sperrzeit wieder freigibst?
                            Ich bekomme es einfach nicht hin .... Ziel (zumindest mein Ansatz): das letzte Schaltdatum mit dem jetzigen zu vergleichen und wenn weniger als 5 oder 20min oder was auch immer der Zielwert ist die Funktion weiterlaufen zu lassen.
                            Falscher Ansatz oder schon richtiger Gedanke?

                            Vielen Dank!

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • D DRUROB

                              @paul53 Hi! Ich muss das nochmal ausgraben. Kannst du mir bitte kurz geben wie du das schalten erst nach einer Sperrzeit wieder freigibst?
                              Ich bekomme es einfach nicht hin .... Ziel (zumindest mein Ansatz): das letzte Schaltdatum mit dem jetzigen zu vergleichen und wenn weniger als 5 oder 20min oder was auch immer der Zielwert ist die Funktion weiterlaufen zu lassen.
                              Falscher Ansatz oder schon richtiger Gedanke?

                              Vielen Dank!

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

                              @drurob sagte: wie du das schalten erst nach einer Sperrzeit wieder freigibst?

                              Die Sperrvariable (Timervariable) wird nach Ablauf der Sperrdauer auf null gesetzt.

                              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

                              D 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @drurob sagte: wie du das schalten erst nach einer Sperrzeit wieder freigibst?

                                Die Sperrvariable (Timervariable) wird nach Ablauf der Sperrdauer auf null gesetzt.

                                D Offline
                                D Offline
                                DRUROB
                                schrieb am zuletzt editiert von
                                #41

                                @paul53
                                oh man.... jetzt hab ich geschnallt wo der timeout wert herkommt... 5min = 300000ms?!

                                dann steht ja schon alles da. Danke dir für die Erleuchtung! :angel:

                                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

                                760

                                Online

                                32.5k

                                Benutzer

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