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. JavaScript
  5. E3DC Hauskraftwerk steuern

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    278

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

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

E3DC Hauskraftwerk steuern

Scheduled Pinned Locked Moved JavaScript
3.6k Posts 72 Posters 1.7m Views 63 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.
  • A ArnoD

    @smartboart dein upgrade vom Tabellenscript Zählerstände ist mega :-)
    Würde es dir was ausmachen wenn ich das in das E3DC-Control Script integriere ? oder sollen die beiden lieber eigenständige Scripte bleiben ?
    Man könnte dadurch einen Monatlichen Chron Job reduzieren, da ich den Json String für das Diagramm auch monatlich speichere.

    smartboartS Offline
    smartboartS Offline
    smartboart
    wrote on last edited by smartboart
    #241

    @ArnoD sagte in E3DC Hauskraftwerk steuern:

    @smartboart dein upgrade vom Tabellenscript Zählerstände ist mega :-)
    Würde es dir was ausmachen wenn ich das in das E3DC-Control Script integriere ? oder sollen die beiden lieber eigenständige Scripte bleiben ?
    Man könnte dadurch einen Monatlichen Chron Job reduzieren, da ich den Json String für das Diagramm auch monatlich speichere.

    du kannst das gerne integrieren, ich sehe es aber eher als separates script. passt so besser zu meiner organisationsstruktur. Da hat aber jeder seine eigene Ordnung...

    Ich will dir da aber nicht rein reden, das ist ja deine Arbeit hier. Wenn du es drinne haben möchtest, mach es ...

    A 1 Reply Last reply
    0
    • smartboartS smartboart

      @ArnoD sagte in E3DC Hauskraftwerk steuern:

      @smartboart dein upgrade vom Tabellenscript Zählerstände ist mega :-)
      Würde es dir was ausmachen wenn ich das in das E3DC-Control Script integriere ? oder sollen die beiden lieber eigenständige Scripte bleiben ?
      Man könnte dadurch einen Monatlichen Chron Job reduzieren, da ich den Json String für das Diagramm auch monatlich speichere.

      du kannst das gerne integrieren, ich sehe es aber eher als separates script. passt so besser zu meiner organisationsstruktur. Da hat aber jeder seine eigene Ordnung...

      Ich will dir da aber nicht rein reden, das ist ja deine Arbeit hier. Wenn du es drinne haben möchtest, mach es ...

      A Offline
      A Offline
      ArnoD
      wrote on last edited by
      #242

      @smartboart
      Ok dann lasse ich die beiden getrennt, Ist wahrscheinlich auch besser zur Fehler Suche.

      1 Reply Last reply
      0
      • A Offline
        A Offline
        ArnoD
        wrote on last edited by
        #243

        @smartboart Habe mal eine Frage :-)
        Kann man mit der on() Funktion zwei States überwachen, oder muss ich mir hier was basteln?

        S smartboartS 2 Replies Last reply
        0
        • A ArnoD

          @stevie77 sagte in E3DC Hauskraftwerk steuern:

          Okay, ich hab' mir jetzt ne Liste angelegt, was ich bei einem Update des Skripts alles ändern muss. Unter anderem ergänze ich das früher vorhandene

          Was musst du noch alles ändern ?
          -Werde die Abfrage um 22 Uhr wieder integrieren, da es für mich keine Rolle spielt ob diese drin ist oder nicht,
          -Ich werde auf Änderungen von beiden Zählerstände (Zähler 0 und 1) reagieren.
          Das mit dem Korrekturfaktor auf die PV-Leistung habe ich mir mal angesehen, ist nicht so einfach wie gedacht.
          Ich müsste mir jedes Mal den alten Wert merken um den Korrekturfaktor nur auf die Differenz zwischen alten und neuen Wert dazu zu rechnen. Das Problem ist das ja eine Änderung bei beiden PV-Zähler zu einer Berechnung führen würde und ich mir die jeweiligen Werte merken müsste.
          Wenn es für dich in Ordnung ist mit dem einmaligen Korrekturfaktor auf das Ist-Ergebnis um 22:00 Uhr, würde ich mir die Arbeit sparen. :-)

          S Offline
          S Offline
          stevie77
          wrote on last edited by
          #244

          @ArnoD sagte in E3DC Hauskraftwerk steuern:

          Was musst du noch alles ändern ?

          • evtl. Ersetzen "if (UnloadSoC<50){UnloadSoC=50;}" durch "if (UnloadSoC<60){UnloadSoC=60;}"
          • Zeile "sUnload[2] = AktSpeicherSoC;" ersetzen durch sUnload[2] = UnloadSoC;
          • am Ende ergänzen: schedule({hour: 22, minute: 1}, function(){makeJson();});

          Vielleicht kann man die ersten beiden Zeilen parametrierbar machen. Also die erste ist ja leicht direkt durch eine User-Variable variabel ;-) zu gestalten. Bei der zweiten wäre es eben eine if-Abfrage auf eine vom Benutzer zu setzende Parametereinstellung.

          -Werde die Abfrage um 22 Uhr wieder integrieren, da es für mich keine Rolle spielt ob diese drin ist oder nicht,
          -Ich werde auf Änderungen von beiden Zählerstände (Zähler 0 und 1) reagieren.

          Das wäre schön, dann wird die Liste wieder kürzer.

          Das mit dem Korrekturfaktor auf die PV-Leistung habe ich mir mal angesehen, ist nicht so einfach wie gedacht.
          Ich müsste mir jedes Mal den alten Wert merken um den Korrekturfaktor nur auf die Differenz zwischen alten und neuen Wert dazu zu rechnen. Das Problem ist das ja eine Änderung bei beiden PV-Zähler zu einer Berechnung führen würde und ich mir die jeweiligen Werte merken müsste.

          Genau das war meine Überlegung, weshalb ich das nur einmal am Schluss kurz vor 22 Uhr mache wenn ich sicher sein kann, dass sich der Tageswert nicht mehr ändert.

          Wenn es für dich in Ordnung ist mit dem einmaligen Korrekturfaktor auf das Ist-Ergebnis um 22:00 Uhr, würde ich mir die Arbeit sparen. :-)

          Ja klar, das habe ich sowieso in ein anderes Skript integriert, das läuft mit. Es funktionierte halt nur nicht mehr, weil das Diagramm um 22 Uhr nicht nochmals aktualisiert wurde.

          1 Reply Last reply
          0
          • A ArnoD

            @smartboart Habe mal eine Frage :-)
            Kann man mit der on() Funktion zwei States überwachen, oder muss ich mir hier was basteln?

            S Offline
            S Offline
            stevie77
            wrote on last edited by
            #245

            @ArnoD sagte in E3DC Hauskraftwerk steuern:

            Kann man mit der on() Funktion zwei States überwachen, oder muss ich mir hier was basteln?

            Das Problem hatte ich auch bei der Berechnung der Gesamtleistung meiner beiden PV-Anlagen als eine kurze Zahl in der immer sichtbaren Statusleiste. Also zwei Trigger für eine Funktion. Ich hab mich dann für folgendes entschieden, was gut funktioniert und recht kurz und unkompliziert ist.

            on(powerPV1, calculateCompletePVPower);
            on(powerPV2, calculateCompletePVPower);
            
            function calculateCompletePVPower() {...}
            

            Falls du noch was kürzeres findest, lass' es mich auch wissen. :-)

            1 Reply Last reply
            0
            • A Offline
              A Offline
              ArnoD
              wrote on last edited by
              #246

              So habe ich es erstmal auch gelöst, habe mich nur gefragt ob es hier nicht bereits ein Workaround gibt, da ich bestimmt nicht der erste bin der das benötigt.
              Habe aber nur eine Lösung gefunden wie man eine Gruppe triggert oder alle mit der ID .State am ende. Hilft aber in meinem Fall nicht, da beides nicht zutrifft.

              1 Reply Last reply
              0
              • A Offline
                A Offline
                ArnoD
                wrote on last edited by
                #247

                Neue Version 0.2.01 hochgeladen.

                1 Reply Last reply
                0
                • A ArnoD

                  @smartboart Habe mal eine Frage :-)
                  Kann man mit der on() Funktion zwei States überwachen, oder muss ich mir hier was basteln?

                  smartboartS Offline
                  smartboartS Offline
                  smartboart
                  wrote on last edited by smartboart
                  #248

                  @ArnoD
                  du kannst das über die enumeration lösen indem du beide states einer Funktion zuordnest oder eben im script über einen funktionsaufruf..

                  z.B:

                  var cacheSelectorState = $('state[state.id=*.STATE](functions="Zaehler")'); // Gewerk Zaehler
                  cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Zaehler
                  if (logging) log('Auslösender Zaehler: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                  Berechnen(); // Funktionsaufruf
                  });
                  

                  oder

                  const id1 = '';
                  const id2 = '';
                  
                  on(id1, function(dp) {
                     if (logging) log ('Trigger Zaehler');
                     Berechnen();
                  });
                  
                  on(id2, function(dp) {
                     if (logging) log ('Trigger Zaehler2');
                     Berechnen();
                  
                  function Berechnen(){
                  }
                  
                  
                  A 1 Reply Last reply
                  0
                  • smartboartS smartboart

                    @ArnoD
                    du kannst das über die enumeration lösen indem du beide states einer Funktion zuordnest oder eben im script über einen funktionsaufruf..

                    z.B:

                    var cacheSelectorState = $('state[state.id=*.STATE](functions="Zaehler")'); // Gewerk Zaehler
                    cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Zaehler
                    if (logging) log('Auslösender Zaehler: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                    Berechnen(); // Funktionsaufruf
                    });
                    

                    oder

                    const id1 = '';
                    const id2 = '';
                    
                    on(id1, function(dp) {
                       if (logging) log ('Trigger Zaehler');
                       Berechnen();
                    });
                    
                    on(id2, function(dp) {
                       if (logging) log ('Trigger Zaehler2');
                       Berechnen();
                    
                    function Berechnen(){
                    }
                    
                    
                    A Offline
                    A Offline
                    ArnoD
                    wrote on last edited by
                    #249

                    @smartboart sagte in E3DC Hauskraftwerk steuern:

                    @ArnoD
                    du kannst das über die enumeration lösen indem du beide states einer Funktion zuordnest oder eben im script über einen funktionsaufruf..

                    z.B:

                    var cacheSelectorState = $('state[state.id=*.STATE](functions="Zaehler")'); // Gewerk Zaehler
                    cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Zaehler
                    if (logging) log('Auslösender Zaehler: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                    Berechnen(); // Funktionsaufruf
                    });
                    

                    Dieses Beispiel ist interessant.
                    Wie müsste ich die folgenden Programmzeilen umschreiben ?

                    if (existsState(sPvLeistung_kWh)){
                        on({id: sPvLeistung_kWh,change: "ne"}, function (obj){SummePvLeistung();});
                    }
                    if (existsState(sEinspeiserLeistung_kWh)){
                        on({id: sEinspeiserLeistung_kWh,change: "ne"}, function (obj){SummePvLeistung();});	
                    }
                    

                    Verstehe die erste Zeile in deinem Beispiel noch nicht ganz.

                    smartboartS 1 Reply Last reply
                    0
                    • A ArnoD

                      @smartboart sagte in E3DC Hauskraftwerk steuern:

                      @ArnoD
                      du kannst das über die enumeration lösen indem du beide states einer Funktion zuordnest oder eben im script über einen funktionsaufruf..

                      z.B:

                      var cacheSelectorState = $('state[state.id=*.STATE](functions="Zaehler")'); // Gewerk Zaehler
                      cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Zaehler
                      if (logging) log('Auslösender Zaehler: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                      Berechnen(); // Funktionsaufruf
                      });
                      

                      Dieses Beispiel ist interessant.
                      Wie müsste ich die folgenden Programmzeilen umschreiben ?

                      if (existsState(sPvLeistung_kWh)){
                          on({id: sPvLeistung_kWh,change: "ne"}, function (obj){SummePvLeistung();});
                      }
                      if (existsState(sEinspeiserLeistung_kWh)){
                          on({id: sEinspeiserLeistung_kWh,change: "ne"}, function (obj){SummePvLeistung();});	
                      }
                      

                      Verstehe die erste Zeile in deinem Beispiel noch nicht ganz.

                      smartboartS Offline
                      smartboartS Offline
                      smartboart
                      wrote on last edited by
                      #250

                      @ArnoD
                      wenn ich einen Screenshot von den beiden Objekten aus dem admin bekomme, bastle ich das zusammen.
                      Wie gesagt beide Objekte müssen dann im Admin unter Aufzählungen dem Gewerk Zaehler zugeordnet sein.

                      mit folgendem Script kann man prüfen ob die selektorfunktion funktioniert..

                      const test = $ ('state[state.id=*.STATE](functions=Zaehler)');
                      test.each(function(id,i){
                      log(id);
                      });
                      
                      A 3 Replies Last reply
                      0
                      • smartboartS smartboart

                        @ArnoD
                        wenn ich einen Screenshot von den beiden Objekten aus dem admin bekomme, bastle ich das zusammen.
                        Wie gesagt beide Objekte müssen dann im Admin unter Aufzählungen dem Gewerk Zaehler zugeordnet sein.

                        mit folgendem Script kann man prüfen ob die selektorfunktion funktioniert..

                        const test = $ ('state[state.id=*.STATE](functions=Zaehler)');
                        test.each(function(id,i){
                        log(id);
                        });
                        
                        A Offline
                        A Offline
                        ArnoD
                        wrote on last edited by
                        #251

                        @smartboart
                        Du meinst in dieser Maske ?

                        bild1.png

                        smartboartS 1 Reply Last reply
                        0
                        • smartboartS smartboart

                          @ArnoD
                          wenn ich einen Screenshot von den beiden Objekten aus dem admin bekomme, bastle ich das zusammen.
                          Wie gesagt beide Objekte müssen dann im Admin unter Aufzählungen dem Gewerk Zaehler zugeordnet sein.

                          mit folgendem Script kann man prüfen ob die selektorfunktion funktioniert..

                          const test = $ ('state[state.id=*.STATE](functions=Zaehler)');
                          test.each(function(id,i){
                          log(id);
                          });
                          
                          A Offline
                          A Offline
                          ArnoD
                          wrote on last edited by
                          #252

                          @smartboart sagte in E3DC Hauskraftwerk steuern:

                          Wie gesagt beide Objekte müssen dann im Admin unter Aufzählungen dem Gewerk Zaehler zugeordnet sein.

                          stehe auf dem Schlauch :-)
                          Wo kann ich das Objekt dem Gewerk Zaehler zuordnen?

                          1 Reply Last reply
                          0
                          • smartboartS smartboart

                            @ArnoD
                            wenn ich einen Screenshot von den beiden Objekten aus dem admin bekomme, bastle ich das zusammen.
                            Wie gesagt beide Objekte müssen dann im Admin unter Aufzählungen dem Gewerk Zaehler zugeordnet sein.

                            mit folgendem Script kann man prüfen ob die selektorfunktion funktioniert..

                            const test = $ ('state[state.id=*.STATE](functions=Zaehler)');
                            test.each(function(id,i){
                            log(id);
                            });
                            
                            A Offline
                            A Offline
                            ArnoD
                            wrote on last edited by
                            #253

                            @smartboart

                            ok, meinst du das ?
                            funktioniert nur nicht.
                            bild1.png

                            smartboartS 1 Reply Last reply
                            0
                            • A ArnoD

                              @smartboart

                              ok, meinst du das ?
                              funktioniert nur nicht.
                              bild1.png

                              smartboartS Offline
                              smartboartS Offline
                              smartboart
                              wrote on last edited by
                              #254

                              @ArnoD sagte in E3DC Hauskraftwerk steuern:

                              @smartboart

                              ok, meinst du das ?
                              funktioniert nur nicht.
                              bild1.png

                              ja genau da

                              1 Reply Last reply
                              0
                              • A ArnoD

                                @smartboart
                                Du meinst in dieser Maske ?

                                bild1.png

                                smartboartS Offline
                                smartboartS Offline
                                smartboart
                                wrote on last edited by
                                #255

                                @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                @smartboart
                                Du meinst in dieser Maske ?

                                bild1.png

                                ja

                                smartboartS 1 Reply Last reply
                                0
                                • smartboartS smartboart

                                  @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                  @smartboart
                                  Du meinst in dieser Maske ?

                                  bild1.png

                                  ja

                                  smartboartS Offline
                                  smartboartS Offline
                                  smartboart
                                  wrote on last edited by
                                  #256

                                  @ und der 2. state?

                                  A 1 Reply Last reply
                                  0
                                  • smartboartS smartboart

                                    @ und der 2. state?

                                    A Offline
                                    A Offline
                                    ArnoD
                                    wrote on last edited by
                                    #257

                                    @smartboart
                                    Den gib es bei mir nicht ,da ich nur einen Zähler habe.
                                    Aber der eine wird mir schon nicht angezeigt wenn ich dein test script laufen lasse.

                                    smartboartS 2 Replies Last reply
                                    0
                                    • A ArnoD

                                      @smartboart
                                      Den gib es bei mir nicht ,da ich nur einen Zähler habe.
                                      Aber der eine wird mir schon nicht angezeigt wenn ich dein test script laufen lasse.

                                      smartboartS Offline
                                      smartboartS Offline
                                      smartboart
                                      wrote on last edited by
                                      #258

                                      @ArnoD ja der selektor mus angepasst werden, deshalb wollte ich ja die states sehen. hab gleich mittag, dann kann ich testen...

                                      1 Reply Last reply
                                      0
                                      • A ArnoD

                                        @smartboart
                                        Den gib es bei mir nicht ,da ich nur einen Zähler habe.
                                        Aber der eine wird mir schon nicht angezeigt wenn ich dein test script laufen lasse.

                                        smartboartS Offline
                                        smartboartS Offline
                                        smartboart
                                        wrote on last edited by
                                        #259

                                        @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                        @smartboart
                                        Den gib es bei mir nicht ,da ich nur einen Zähler habe.
                                        Aber der eine wird mir schon nicht angezeigt wenn ich dein test script laufen lasse.

                                        der state muss sich einmal ändern und wenn eine eneumeratio also aufzählung dazu kommt muss es neu gestartet weden.

                                        zeig mal dein Versuch.groß kleinschreibung ist auch wichtig

                                        A 1 Reply Last reply
                                        0
                                        • smartboartS smartboart

                                          @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                          @smartboart
                                          Den gib es bei mir nicht ,da ich nur einen Zähler habe.
                                          Aber der eine wird mir schon nicht angezeigt wenn ich dein test script laufen lasse.

                                          der state muss sich einmal ändern und wenn eine eneumeratio also aufzählung dazu kommt muss es neu gestartet weden.

                                          zeig mal dein Versuch.groß kleinschreibung ist auch wichtig

                                          A Offline
                                          A Offline
                                          ArnoD
                                          wrote on last edited by
                                          #260

                                          @smartboart

                                          so habe ich es probiert. Ich habe auch schon Zaehler groß geschrieben.

                                          const test = $ ('state[state.id=*.STATE](functions=zaehler)');
                                          test.each(function(id,i){
                                          log('************************'+id);
                                          });
                                          
                                          smartboartS 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          255

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          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