Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Solaredge Adapter (Photovoltaikanlage)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Solaredge Adapter (Photovoltaikanlage)

    This topic has been deleted. Only users with topic management privileges can see it.
    • Glasfaser
      Glasfaser @lisalisa last edited by

      @lisalisa sagte in Solaredge Adapter (Photovoltaikanlage):

      darstellen kann, da bin im Moment gerade zu doof dafür.

      ..... schon mehrmals erwähnt mit der Battterie , siehe weiter oben im Thread .

      Wäre dann der Datenpunkt von mir : PVLeistung Aktuell_ohneSpeicher

      https://forum.iobroker.net/topic/6403/solaredge-adapter-photovoltaikanlage/288?_=1636805080384

      L 1 Reply Last reply Reply Quote 1
      • L
        lisalisa @Glasfaser last edited by lisalisa

        @glasfaser
        Ok, Ich habe verstanden, du möchtest deine Blocklys und Scripte mir nicht geben, kein Problem.

        Ich tu mir halt ziemlich schwer mit den Blocklys zusammen suchen usw. (bin ein alter Mann...)

        Aber trotzdem recht vielen Dank für deine schnellen Antworten und deine ausführlichen Beiträge hier im Forum.

        Ohne deine Beiträge hier im Forum wäre ich wahrscheinlich immer noch bei "Solaranzeige" auf dem Raspi, und das ist irgendwie eine Sackgasse.

        Gruß Willy

        1 Reply Last reply Reply Quote 0
        • L
          lisalisa last edited by lisalisa

          @glasfaser Ich schon wieder ....

          Ich benutze jetzt das von chrisprefect aus diesem Post https://forum.iobroker.net/post/630243 ,
          da ist alles dabei was ich brauche und ist auch für einen alten Mann geeignet.
          Vielen Dank an chrisprefect

          1 Reply Last reply Reply Quote 1
          • L
            lisalisa @ChrisPrefect last edited by lisalisa

            Bitte löschen

            1 Reply Last reply Reply Quote 0
            • K
              Kanumouse @Glasfaser last edited by

              @glasfaser

              Hi,

              ich wollte mal fragen, ob du auch so ein Verhalten der Batterieleistung (57716 Battery_1 Instantaneous Power) nachts hast.
              Wo kommt die Ladeleistung immer nachts her, das kann nicht sein?
              Batterie.jpg

              Wechselrichter SE 8k RWS, Batterie BYD LVS 4.0

              Glasfaser 1 Reply Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @Kanumouse last edited by

                @kanumouse sagte in Solaredge Adapter (Photovoltaikanlage):

                Wo kommt die Ladeleistung immer nachts her, das kann nicht sein?

                Habe ich auch (manchmal ) .
                Die LG Batterie ist dann bei 9 % im Leerlauf / aus bei mir und wird manchmal dann per 1000 W Ladung ( Erhaltungsladung ) beladen und bleibt dann bei 10 % .

                96f130b4-04b6-4c4c-ad9b-a4b707c34a19-grafik.png

                K 1 Reply Last reply Reply Quote 0
                • K
                  Kanumouse @Glasfaser last edited by

                  @glasfaser
                  Danke für die schnelle Antwort. Konnte ich mir nicht erklären.

                  Glasfaser 1 Reply Last reply Reply Quote 0
                  • Glasfaser
                    Glasfaser @Kanumouse last edited by

                    @kanumouse sagte in Solaredge Adapter (Photovoltaikanlage):

                    Konnte ich mir nicht erklären.

                    Ist aber normal , google mal nach Erhaltungsladung

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Kanumouse @Glasfaser last edited by

                      @glasfaser

                      ok, ich wusste nicht, dass die Batterie von Zeit zu Zeit mit einer Erhaltungsladung beaufschlagt wird. Der Zustand tritt natürlich in diesen dunklen Tagen öffter auf.

                      Ich habe aber noch ein anderes Phänomän.
                      Für Batterie-/Wechselrichter-Fehler und Batterieuntertemperatur (bei mir Temperatur < 5 °C, da meine Batterie in der Garage steht) habe ich ein kleines Programm, dass mir die Fehler/Untertemperatur per WhatsApp gemeldet werden.
                      Ich werte die entsprechenden Holding-Statusregister aus.

                      Nun habe ich immer wieder feststellen müsssen, das sowohl Fehler als auch Untertemperatur gemeldet werden, obwohl es gar nicht an dem ist (Batteriedurchschnittstemperatur z. B. 11 °C).

                      Hast du das auch?

                      Glasfaser 1 Reply Last reply Reply Quote 0
                      • Glasfaser
                        Glasfaser @Kanumouse last edited by

                        @kanumouse sagte in Solaredge Adapter (Photovoltaikanlage):

                        Hast du das auch?

                        Nein habe ich nicht , habe alles im HAR installiert und wie schon erwähnt eine LG Chem RESU 10

                        Batterie-/Wechselrichter-Fehler

                        .... Fehler als auch Untertemperatur gemeldet ..
                        ist (Batteriedurchschnittstemperatur z. B. 11 °C).

                        Welches Register fragst du dazu genau ab und
                        wie macht sich das im Register bemerkbar , dauerhaft oder sporalisch .

                        Du kannst ja auch mal im Solaredge-Portal überprüfen ob Fehler vorliegen .

                        Auf den Wechselrichter , rechte Maustaste dann auf Info , dann kommt ein neuer Reiter dort bei Fehler .

                        b99fbefb-f070-4923-a632-6b0037c619bd-grafik.png

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kanumouse @Glasfaser last edited by

                          @glasfaser

                          ich frage Register 577708 Battery_1 Average Temperatur und das Register 107 I_Status ab. Im SE-Portal werden keine Fehler angezeigt.

                          Glasfaser 1 Reply Last reply Reply Quote 0
                          • Glasfaser
                            Glasfaser @Kanumouse last edited by Glasfaser

                            @kanumouse

                            Zeichnest du das Register 40107_I_Status // 57708_Battery_1 Average Temperature auf

                            a276d35e-fc77-4887-b83a-f623cf720dab-grafik.png
                            .
                            994c2229-1941-4a7d-9c41-46244a6a69be-grafik.png
                            .

                            @glasfaser sagte in Solaredge Adapter (Photovoltaikanlage):
                            wie macht sich das im Register bemerkbar , dauerhaft oder sporalisch .

                            ?

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kanumouse @Glasfaser last edited by

                              @glasfaser

                              Nein, ich habe erst vorhin die history-Funktion für beide Datenpunkte in Betrieb genommen, um eventuell die Ursachen zu ergründen.

                              Glasfaser 1 Reply Last reply Reply Quote 0
                              • Glasfaser
                                Glasfaser @Kanumouse last edited by Glasfaser

                                @kanumouse

                                57708_Battery_1 Average Temperature

                                ist eine Durchschnittstemperatur des Akkus , nicht die reine Umgebungstemperatur

                                Batterieuntertemperatur (bei mir Temperatur < 5 °C, da meine Batterie in der Garage steht) habe ich ein kleines Programm,

                                wohnst du am Nordpol oder ist deine Garage undicht , dafür gibt es von BYD extra für Innen- und Außenbereich ?

                                Lebensdauer ... usw :

                                https://bwg-solarkonzept.de/lebensdauer-von-solarstromspeicher/

                                K 1 Reply Last reply Reply Quote 0
                                • K
                                  Kanumouse @Glasfaser last edited by

                                  @glasfaser

                                  Das ist mir schon klar, dass das die Durchschnittstemperatur des Akkus ist.

                                  Bei diesen Außentemperaturen wird diese zwischen 10-13 °C angezeigt.
                                  Bei frostigen Außentemperaturen und der ungeheizten Garage wird auch die Innentemperatur der Garage deutlich zurückgehen.
                                  Aus der Erfahrung der vergangenen Jahre ist auch nicht ausgeschlossen, dass diese bis in den negativen Bereich sinkt.
                                  Aus diesem Grunde habe ich zur Zeit die Temperaturüberwachung auf 5° C eingestellt.

                                  Zur Zeit bin ich außerdem dabei die Batterie einzuhausen und intern mit einer eigenen Temperatursteuerung auszurüsten.

                                  Vielen Dank für den Link zum Artikel, diesen hatte ich bereits gelesen.

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    cybtrash last edited by

                                    Hallo,

                                    ich habe mich aus zeitlichen Gründen hiermit seit ein paar Monaten nicht beschäftigt. Hatte es damals eingerichtet und alles lief eigentlich.

                                    Nun zeigt mir modbus.0.holdingRegisters.40083_I_AC_Leistung nachts Werte um 625 Watt (ebenso DC_Leistung). PV-Produktion ist jedoch natürlich 0 (keine Sonne) und die Batterie dümpelt im Idle Modus bei 10% herum (modbus.0.holdingRegisters.57716_Battery_1 Instantaneous Power = 0W)

                                    Wisst ihr was hier los ist? Mein Wechselrichter wird ja nicht wirklich 600W verbraten im Leerlauf....

                                    Skale-Faktor ist korrekt eingestellt, bzw. mit diesen Einstellungen hatte ich Monate zuvor korrekte Werte (um 30-60W Leerlauf-Eigenverbrauch nachts).

                                    Glasfaser 1 Reply Last reply Reply Quote 0
                                    • Glasfaser
                                      Glasfaser @cybtrash last edited by

                                      @cybtrash sagte in Solaredge Adapter (Photovoltaikanlage):

                                      um 30-60W Leerlauf-Eigenverbrauch nachts

                                      Das ist zu viel ...
                                      da gibt es schon lange ein Update für den Wechselrichter , das er in den Standby/Nachtmodus geht ( ~9W)

                                      Dieses ist aber ein Thema für dieses Forum :

                                      https://www.photovoltaikforum.com/thread/149753-achtung-der-hybrid-wechselrichter-solaredge-sek10-rws-48v-mit-48-v-lg-6-5-batter/?pageNo=19

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        danielos @Glasfaser last edited by

                                        Guten Tag zusammen

                                        Ich habe seit kurzem einen Solaredge-Wechselrichter und bin auf diesen Thread gestossen. Nutzt ihr diesen Adapter hier? https://www.npmjs.com/package/iobroker.solaredge . Denn dieser startet bei mir nicht mal, obwohl ich die Anlagennummer und API-Token mit Bestimmtheit korrekt eingegeben habe.

                                        Danke für eure Hilfe.

                                        Gruss
                                        Danielos

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          lisalisa @danielos last edited by

                                          @danielos sagte in Solaredge Adapter (Photovoltaikanlage):

                                          ...Nutzt ihr diesen Adapter hier?...

                                          Nein, ich nutze den Adapter nicht, weil der bringt nichts.

                                          Aber habe ihn gerade mal installiert, funktionieren tut er schon, ruft alle 15 Minuten Daten von der Solaredge Seite ab.

                                          io solaredge.jpg

                                          Glasfaser 1 Reply Last reply Reply Quote 0
                                          • Glasfaser
                                            Glasfaser @lisalisa last edited by Glasfaser

                                            @danielos

                                            @lisalisa sagte in Solaredge Adapter (Photovoltaikanlage):
                                            funktionieren tut er schon, ruft alle 15 Minuten Daten von der Solaredge Seite ab.

                                            Habe Ihn auch mal vor langer Zeit mal getestet , aber ist nichts wares per API.

                                            Die Werte werden per API abgrufen , nachteil es kann nicht so oft abgefragt werden und usw .......
                                            Da ist schon die Abfrage mit Modbus zu empfehlen.

                                            Ist das gleich wie mit einem Script per request

                                            //
                                            
                                            // Abholen der livetime Daten Produktion via API
                                            
                                            //
                                            
                                            var request = require('request');
                                            
                                            const akey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
                                            
                                            const PATH='javascript.0.Solar.EdgeAPI';
                                            
                                            let ID_PROD=PATH+'ProduktionLifetime';
                                            
                                            let ID_CURP=PATH+'CurrentPower';
                                            
                                            let ID_DELTA=PATH+'ProduktionDelta2Modbus';
                                            
                                            let ID_MODBUSDATA='modbus.3.holdingRegisters.40093_I_AC_Energie_WH'
                                            
                                            let ID_CONVERTERSTATUS='modbus.3.holdingRegisters.40107_I_Status'/*Operation State*/
                                            
                                            
                                            
                                            
                                            // erstellen des Objekte, wenn noch nicht vorhanden
                                            
                                            mk_prodlifetime(ID_PROD);
                                            
                                            mk_CurrentPower(ID_CURP);
                                            
                                            mk_delta2modbus(ID_DELTA);
                                            
                                            mk_apikey(PATH);
                                            
                                            setState(PATH,akey,true);
                                            
                                            
                                            
                                            
                                            let api_key=getState(PATH+'apikey').val;
                                            
                                            let logging=true;
                                            
                                            
                                            
                                            
                                            
                                            
                                            
                                            
                                            // abholen der Daten nur, wenn PV produziert um Anzahl der API calls zu begrenzen
                                            
                                            // 4=prod
                                            
                                            //*/10 * * * *
                                            
                                            getOverviewSolaredge(api_key);
                                            
                                            
                                            
                                            schedule('* * * * *', function () {
                                            
                                               var statusPV=Number(getState(ID_CONVERTERSTATUS).val);
                                            
                                               tolog(logging,"StatusPV: "+statusPV);
                                            
                                               if (statusPV == 4) {
                                            
                                                   tolog(logging,"Aktualisiere PV LifetimeProd");
                                            
                                                   getOverviewSolaredge(api_key);
                                            
                                               }
                                            
                                            });
                                            
                                            
                                            
                                            on({id:ID_PROD,change:'ne'}, function (obj) {
                                            
                                               setState(ID_DELTA,obj.state.val-(getState(ID_MODBUSDATA).val/1000));
                                            
                                            });
                                            
                                            
                                            
                                            function getOverviewSolaredge(){
                                            
                                               var url = 'https://monitoringapi.solaredge.com/site/XXXXXXXX/overview.json?api_key=' + akey; //+akey
                                            
                                               tolog(logging,"GET DATA FROM: "+url);
                                            
                                               var answer;
                                            
                                               request(url, function (err, state, body){
                                            
                                                   if (body) {
                                            
                                                       tolog(logging,'Request - alles ok');
                                            
                                                       var obTyp=typeof(body);
                                            
                                                       tolog(logging,"Reques return type:"+obTyp);
                                            
                                                       tolog(logging,"response: "+state);
                                            
                                                       if (testJSON(body) === true) {
                                            
                                                           body=JSON.parse(body);
                                            
                                                           var lifetimeProd=body.overview.lifeTimeData.energy/1000;
                                            
                                                           setState(ID_PROD,lifetimeProd,true);
                                            
                                                           tolog(logging,"get lifetime prod:"+lifetimeProd);
                                            
                                                           var currentPower=body.overview.currentPower.power;
                                            
                                                           setState(ID_CURP,currentPower,true);
                                            
                                                           tolog(logging,"Power:"+currentPower);
                                            
                                            
                                                       }
                                            
                                                   } else {
                                            
                                                       log('Request meldet Fehler: ' + err, 'error');  
                                            
                                                   }
                                            
                                            
                                            
                                               });
                                            
                                            }  
                                            
                                            
                                            
                                            function testJSON(text){
                                            
                                               if (typeof text!=="string"){
                                            
                                                   return false;
                                            
                                               }
                                            
                                               try{
                                            
                                                   JSON.parse(text);
                                            
                                                   return true;
                                            
                                               }
                                            
                                               catch (error){
                                            
                                                   return false;
                                            
                                               }
                                            
                                            }
                                            
                                            
                                            
                                            function mk_delta2modbus (path){
                                            
                                               
                                            
                                               var obj = {};
                                            
                                                   obj.type = 'state';
                                            
                                                   obj.common = {};
                                            
                                                   obj.common.name = 'prodDelta2modbus';
                                            
                                                   obj.common.type = 'number';
                                            
                                                   obj.common.role = 'value';
                                            
                                                   obj.common.unit = 'kWh' ;
                                            
                                                   obj.common.read = true;
                                            
                                                   obj.common.write = false;
                                            
                                               setzeObject(path, obj);
                                            
                                            }  
                                            
                                            
                                            
                                            function mk_prodlifetime (path){
                                            
                                               
                                            
                                               var obj = {};
                                            
                                                   obj.type = 'state';
                                            
                                                   obj.common = {};
                                            
                                                   obj.common.name = 'Lifetime production';
                                            
                                                   obj.common.type = 'number';
                                            
                                                   obj.common.role = 'value';
                                            
                                                   obj.common.unit = 'kWh' ;
                                            
                                                   obj.common.read = true;
                                            
                                                   obj.common.write = false;
                                            
                                               setzeObject(path, obj);
                                            
                                            }  
                                            
                                            function mk_CurrentPower (path){
                                            
                                               
                                            
                                               var obj = {};
                                            
                                                   obj.type = 'state';
                                            
                                                   obj.common = {};
                                            
                                                   obj.common.name = 'CurrentPower';
                                            
                                                   obj.common.type = 'number';
                                            
                                                   obj.common.role = 'value';
                                            
                                                   obj.common.unit = 'W' ;
                                            
                                                   obj.common.read = true;
                                            
                                                   obj.common.write = false;
                                            
                                               setzeObject(path, obj);
                                            
                                            }  
                                            
                                            
                                            function mk_apikey (id){
                                            
                                              var obj = {};
                                            
                                              obj.type = 'state';
                                            
                                              obj.common = {};
                                            
                                              obj.common.name = 'API api_key';
                                            
                                              obj.common.role = 'value';
                                            
                                              obj.common.read = true;
                                            
                                              obj.common.write = true;
                                            
                                              setzeObject(id, obj);
                                            
                                            }  
                                            
                                            
                                            
                                            function setzeObject(id, obj) {
                                            
                                              log("ID: "+id);
                                            
                                              //if(getObject(path + idDev + '.status')) return;
                                            
                                              
                                            
                                              
                                            
                                              if (getObject(id)) {
                                            
                                                       log("Objekt: "+id+" existiert lege es nicht erneut an");
                                            
                                               } else {
                                            
                                                   log("Objekt: "+id+" existiert nicht, lege es an");
                                            
                                                   setObject(id, obj, function(err) {
                                            
                                                       if(err) log('Cannot write object: ' + err);
                                            
                                                       else setState(id, obj.common.def);
                                            
                                                   }); 
                                            
                                               }
                                            
                                               
                                            
                                            }
                                            
                                            
                                            
                                            
                                            
                                            
                                            
                                            
                                            
                                            function tolog(logging,val) {
                                            
                                               if (logging===true) {
                                            
                                                   log(val);
                                            
                                               }
                                            
                                            }
                                            

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            601
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            59
                                            431
                                            96369
                                            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