Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. PV Überschuss Poolpumpe einschalten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    PV Überschuss Poolpumpe einschalten

    This topic has been deleted. Only users with topic management privileges can see it.
    • U66
      U66 @Homoran last edited by 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);
      
              }
      
          }
      
      });
      
      
      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @U66 last edited by

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

        1 Reply Last reply Reply Quote 0
        • D
          DRUROB last edited by

          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));
          
          paul53 1 Reply Last reply Reply Quote 1
          • paul53
            paul53 @DRUROB last edited by

            @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 1 Reply Last reply Reply Quote 0
            • D
              DRUROB @paul53 last edited by

              @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 Reply Last reply Reply Quote 0
              • U66
                U66 @Homoran last edited by 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 👍

                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);
                
                        }
                
                    }
                
                });
                
                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @U66 last edited by 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.

                  U66 1 Reply Last reply Reply Quote 0
                  • U66
                    U66 @paul53 last edited by

                    @paul53
                    Prima
                    hat auf Anhieb geklappt

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @U66 last edited by paul53

                      @u66 sagte: hat auf Anhieb geklappt

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

                      U66 D 2 Replies Last reply Reply Quote 1
                      • U66
                        U66 @paul53 last edited by 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 🙋‍♂️

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @U66 last edited by 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 U66 2 Replies Last reply Reply Quote 0
                          • T
                            ticaki Developer @paul53 last edited by

                            @paul53 sagte in PV Überschuss Poolpumpe einschalten:

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

                            1 Reply Last reply Reply Quote 0
                            • U66
                              U66 @paul53 last edited by U66

                              @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 Reply Last reply Reply Quote 0
                              • D
                                DRUROB @paul53 last edited by

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

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @DRUROB last edited by

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

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

                                  D 1 Reply Last reply Reply Quote 0
                                  • D
                                    DRUROB @paul53 last edited by

                                    @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! 👼

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    809
                                    Online

                                    31.8k
                                    Users

                                    80.0k
                                    Topics

                                    1.3m
                                    Posts

                                    7
                                    41
                                    2309
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo