Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Status vom Kostal Wechselrichter auslesen?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Status vom Kostal Wechselrichter auslesen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      ecki945 last edited by

      Habe auch einen Kostal Piko 10BA. Den Code zum Auslesen wurde hier mal gepostet. Hängt aber wohl auch vom Firmwarestand ab. Bei mir funktioniert das Script. Musst "nur" die IP Adresse anpassen.

      // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
      
      //Variable
      
       //Leistungswerte
          ID_DCEingangGesamt = 33556736;         // in W
          ID_Ausgangsleistung = 67109120;        // in W
          ID_Eigenverbrauch = 83888128;          // in W
          //Status
          ID_Status = 16780032;                  // 0:Off
          //Statistik - Tag
          ID_Ertrag_d = 251658754;               // in Wh
          ID_Hausverbrauch_d = 251659010;        // in Wh
          ID_Eigenverbrauch_d = 251659266;       // in Wh
          ID_Eigenverbrauchsquote_d = 251659278; // in %
          ID_Autarkiegrad_d = 251659279;         // in %
          //Statistik - Gesamt
          ID_Ertrag_G = 251658753;               // in kWh
          ID_Hausverbrauch_G = 251659009;        // in kWh
          ID_Eigenverbrauch_G = 251659265;       // in kWh
          ID_Eigenverbrauchsquote_G = 251659280; // in %
          ID_Autarkiegrad_G = 251659281;         // in %
          ID_Betriebszeit = 251658496;           // in h
          //Momentanwerte - PV Genertor
          ID_DC1Spannung = 33555202;             // in V
          ID_DC1Strom = 33555201;                // in A
          ID_DC1Leistung = 33555203;             // in W
          ID_DC2Spannung = 33555458;             // in V
          ID_DC2Strom = 33555457;                // in A
          ID_DC2Leistung = 33555459;             // in W
          //Momentanwerte Haus
          ID_HausverbrauchSolar = 83886336;      // in W
          ID_HausverbrauchBatterie = 83886592;   // in W
          ID_HausverbrauchNetz = 83886848;       // in W
          ID_HausverbrauchPhase1 = 83887106;     // in W
          ID_HausverbrauchPhase2 = 83887362;     // in W
          ID_HausverbrauchPhase3 = 83887618;     // in W
          //Netz Netzparameter
          ID_NetzAusgangLeistung = 67109120;     // in W
          ID_NetzFrequenz = 67110400;            // in Hz
          ID_NetzCosPhi = 67110656;
          //Netz Phase 1
          ID_P1Spannung = 67109378;              // in V
          ID_P1Strom = 67109377;                 // in A
          ID_P1Leistung = 67109379;              // in W
          //Netz Phase 2
          ID_P2Spannung = 67109634;              // in V
          ID_P2Strom = 67109633;                 // in A
          ID_P2Leistung = 67109635;              // in W
          //Netz Phase 3
          ID_P3Spannung = 67109890;              // in V
          ID_P3Strom = 67109889;                 // in A
          ID_P3Leistung = 67109891;              // in W
      
      var IPAnlage = '192.168.178.25/api/dxs.json';   // IP der Photovoltaik-Anlage
      
      createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d',0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G',0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit',0);
      createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
      createState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch',0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d');
      createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', 0);
      createState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P3Spannung');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P3Strom');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P3Leistung');
      createState('Messwerte.0.Solaranlage.Momentanwerte.HausverbrauchSolar');
      createState('Messwerte.0.Solaranlage.Momentanwerte.HausverbrauchNetz');
      createState('Messwerte.0.Solaranlage.Momentanwerte.Status');
      
      var logging = false;
      var request = require('request');
      
      function Piko() {
          if (logging) log("Piko 5.5 auslesen");
          request('http://' + IPAnlage + 
          '?dxsEntries=' + ID_DCEingangGesamt +
          '&dxsEntries=' + ID_Ausgangsleistung +
          '&dxsEntries=' + ID_Eigenverbrauch +
          '&dxsEntries=' + ID_Eigenverbrauch_d +
          '&dxsEntries=' + ID_Eigenverbrauch_G +
          '&dxsEntries=' + ID_Eigenverbrauchsquote_d +
          '&dxsEntries=' + ID_Eigenverbrauchsquote_G +
          '&dxsEntries=' + ID_Ertrag_d +
          '&dxsEntries=' + ID_Ertrag_G +
          '&dxsEntries=' + ID_Hausverbrauch_d +
          '&dxsEntries=' + ID_Hausverbrauch_G +
          '&dxsEntries=' + ID_Autarkiegrad_G +
          '&dxsEntries=' + ID_Autarkiegrad_d +
          '&dxsEntries=' + ID_Betriebszeit +
          '&dxsEntries=' + ID_P1Spannung +
          '&dxsEntries=' + ID_P2Spannung +
          '&dxsEntries=' + ID_P3Spannung +    
          '&dxsEntries=' + ID_P1Strom +
          '&dxsEntries=' + ID_P2Strom +
          '&dxsEntries=' + ID_P3Strom +
          '&dxsEntries=' + ID_P1Leistung +
          '&dxsEntries=' + ID_P2Leistung +
          '&dxsEntries=' + ID_P3Leistung +    
          '&dxsEntries=' + ID_HausverbrauchNetz +    
          '&dxsEntries=' + ID_HausverbrauchSolar +        
          '&dxsEntries=' + ID_Status,// +
       //   '&dxsEntries=' + ID_DC1Leistung +
       //   '&dxsEntries=' + ID_DC2Leistung,
      
          function (error, response, body) {
              if(!error && response.statusCode ==200) {
                  if(logging) log(body);
                  var result = JSON.parse(body).dxsEntries;
                  setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value); 
                  setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', result[7].value, true);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', result[8].value, true);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value);
                  setState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit', result[13].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung', result[14].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung', result[15].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.P3Spannung', result[16].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom', result[17].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom', result[18].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.P3Strom', result[19].value, true);            
                  setState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung', result[20].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung', result[21].value, true);
                  setState('Messwerte.0.Solaranlage.Momentanwerte.P3Leistung', result[22].value, true);            
                  setState('Messwerte.0.Solaranlage.Momentanwerte.HausverbrauchSolar', result[23].value, true);   
                  setState('Messwerte.0.Solaranlage.Momentanwerte.HausverbrauchNetz', result[24].value, true);   
                  setState('Messwerte.0.Solaranlage.Momentanwerte.Status', result[23].value, true);
      //            setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1', result[21].value, true);
      //            setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2', result[22].value, true);
              } else {
                  log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
              }
          });
      }
      
      schedule("*/20 * 5-23 * * *", Piko);
      
      
      E 1 Reply Last reply Reply Quote 1
      • E
        ee last edited by

        @ecki945 sagte in Status vom Kostal Wechselrichter auslesen?:

        /api/dxs.json

        Ok danke! ich habe nur ein Problem wein Wechselrichter startet nach dem Update nicht mehr 🙂
        Kostal meint ich muss auf einen Sonnigen Tag warten.... 😲

        1 Reply Last reply Reply Quote 0
        • J
          joefarm @Marco Laser last edited by

          @Marco-Laser said in Status vom Kostal Wechselrichter auslesen?:

          @joefarm Moin, wäre es möglich dass du die Flot Einstellungen von dem unteren teilst? Bei mir nimmt er da immer Werte vom Vortag mit rein. Die Werte hast du mit dem SourceAnalytix Adapter aufgezeichnet oder?

          Die Werte sind per modbus aus dem Wechselrichter ausgelesen und über den statistics Adapter berechnet und in SQL gespeichert

          In Flot sieht das dann so aus:

          http://localhost:8082/flot/index.html?l%5B0%5D%5Bid%5D=statistics.0.save.sumDelta.modbus.0.holdingRegisters.320_Totale_Erzeugung.day&l%5B0%5D%5Binstance%5D=sql.0&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5Bcolor%5D=%23ba4a02&l%5B0%5D%5Bmin%5D=-0.1&l%5B0%5D%5Bthickness%5D=1&l%5B0%5D%5Bshadowsize%5D=0&l%5B0%5D%5Bname%5D=Ertrag+PV&l%5B0%5D%5Byaxe%5D=right&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5BafterComma%5D=1&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=5&l%5B0%5D%5BspaceLength%5D=5&l%5B0%5D%5Bpoints%5D=false&l%5B0%5D%5BchartType%5D=bar&l%5B0%5D%5Bfill%5D=1&l%5B0%5D%5BignoreNull%5D=false&l%5B0%5D%5Bunit%5D=kWh&l%5B1%5D%5Bid%5D=statistics.0.save.sumDelta.modbus.1.holdingRegisters.40107_M_Exported.day&l%5B1%5D%5Binstance%5D=sql.0&l%5B1%5D%5Boffset%5D=3600&l%5B1%5D%5Baggregate%5D=minmax&l%5B1%5D%5Bcolor%5D=%2300FF00&l%5B1%5D%5Bthickness%5D=1&l%5B1%5D%5Bshadowsize%5D=0&l%5B1%5D%5Bname%5D=Einspeisung+PV&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BcommonYAxis%5D=1&l%5B1%5D%5BafterComma%5D=1&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&l%5B1%5D%5BchartType%5D=bar&l%5B1%5D%5Bfill%5D=1&l%5B1%5D%5Bunit%5D=kWh&l%5B1%5D%5Bpoints%5D=false&l%5B2%5D%5Bid%5D=statistics.0.save.sumDelta.modbus.0.holdingRegisters.118_Totalhomeconsumption.day&l%5B2%5D%5Binstance%5D=sql.0&l%5B2%5D%5Boffset%5D=7200&l%5B2%5D%5Baggregate%5D=minmax&l%5B2%5D%5Bcolor%5D=%230000FF&l%5B2%5D%5Bthickness%5D=1&l%5B2%5D%5Bshadowsize%5D=0&l%5B2%5D%5Bunit%5D=kWh&l%5B2%5D%5Bname%5D=Verbrauch+Haus&l%5B2%5D%5BchartType%5D=bar&l%5B2%5D%5Bfill%5D=1&l%5B2%5D%5Bpoints%5D=false&l%5B2%5D%5Byaxe%5D=off&l%5B2%5D%5Bxaxe%5D=off&l%5B2%5D%5BcommonYAxis%5D=1&l%5B2%5D%5BafterComma%5D=1&l%5B2%5D%5Bdashes%5D=false&l%5B2%5D%5BdashLength%5D=10&l%5B2%5D%5BspaceLength%5D=10&timeType=relative&relativeEnd=now&range=20160&aggregateType=count&aggregateSpan=300&hoverDetail=true&useComma=false&zoom=true&noedit=false&animation=0&bg=2&legend=nw&noBorder=noborder&window_bg=%23272727&x_labels_color=%23ffffff&y_labels_color=%23ffffff&grid_color=%23373636&border_width=0&timeFormat=%25d.%25m&barLabels=topover&barWidth=0.05&barFontSize=10&barFontColor=%23ffffff&live=1800&titleColor=%23ffffff&titleSize=10&legColumns=1&legBgOpacity=0.5&titlePos=bottom%3A-5%3Bleft%3A50
          
          1 Reply Last reply Reply Quote 0
          • E
            ee @ecki945 last edited by

            @ecki945 Hi nochmal, es funktioniert super!
            Ich habe nur einen Fehler gefunden.
            HausverbrauchNetz und HausverbrauchSolar sind vertauscht 🙂
            oder habe ich einen Denkfehler?
            Grüße

            1 Reply Last reply Reply Quote 0
            • E
              ecki945 last edited by

              das hängt glaub ich davon ab wie du den "Piko BA Sensor" in der Hausverteilung angeschlossen, bzw in deinem Kostal konfiguriert hast.

              9d921f4f-8741-41ab-98ab-e4b4740bd0eb-grafik.png

              E 1 Reply Last reply Reply Quote 0
              • E
                ee @ecki945 last edited by

                @ecki945 Ja dass kann sein! Danke!

                1 Reply Last reply Reply Quote 0
                • E
                  ee @joefarm last edited by

                  @joefarm Das VIS kann ich das Projekt von dir haben? Genau so wollte ich das auch 😊

                  J 1 Reply Last reply Reply Quote 0
                  • E
                    ecki945 last edited by

                    @ee freut mich dass es bei dir funktioniert hat

                    1 Reply Last reply Reply Quote 1
                    • J
                      joefarm @ee last edited by joefarm

                      @ee Bin gerade unterwegs und erst Ende nächster Woche wieder zurück. Dann kann ich das VIS posten...

                      E 1 Reply Last reply Reply Quote 1
                      • E
                        ee @joefarm last edited by

                        @joefarm Ja das eilt nicht! Vielen lieben dank!
                        👍

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          joefarm @ee last edited by

                          @ee Hier der VIS-View meiner PV-Seite:
                          PV.txt
                          Viel Spaß damit...

                          1 Reply Last reply Reply Quote 0
                          • S
                            Spooky99 last edited by

                            @bahnuhr
                            irgendwie funzt das ganze nicht mehr, bzw. liefert das Skript nix mehr...
                            Bekomme immer Fehlermeldungen im Log und da ich ja nunmal ne Vollgraupe bin was Java angeht... Hast du nen Tip?

                            *```
                            javascript.0 2019-11-26 18:07:03.146 error at process._tickCallback (internal/process/next_tick.js:63:19)
                            javascript.0 2019-11-26 18:07:03.146 error at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
                            javascript.0 2019-11-26 18:07:03.146 error at emitErrorNT (internal/streams/destroy.js:91:8)
                            javascript.0 2019-11-26 18:07:03.146 error at Socket.emit (events.js:198:13)
                            javascript.0 2019-11-26 18:07:03.146 error at Socket.socketErrorListener (_http_client.js:392:9)
                            javascript.0 2019-11-26 18:07:03.146 error at ClientRequest.emit (events.js:198:13)
                            javascript.0 2019-11-26 18:07:03.145 error at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:881:8)
                            javascript.0 2019-11-26 18:07:03.145 error at Request.emit (events.js:198:13)
                            javascript.0 2019-11-26 18:07:03.145 error at self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)
                            javascript.0 2019-11-26 18:07:03.145 error at Request._callback (script.js.Eigene.Wechselrichter:47:22)
                            javascript.0 2019-11-26 18:07:03.144 error script.js.Eigene.Wechselrichter: TypeError: Cannot read property 'toString' of undefined
                            javascript.0 2019-11-26 18:07:00.009 info script.js.Eigene.Wechselrichter: Piko 5.5 auslesen

                            bahnuhr 1 Reply Last reply Reply Quote 0
                            • bahnuhr
                              bahnuhr Forum Testing Most Active @Spooky99 last edited by

                              @Spooky99 sagte in Status vom Kostal Wechselrichter auslesen?:

                              Hast du nen Tip?

                              Dieser Thread ist doch piko10.
                              Was hast du?
                              Welches Script hast du?
                              Was heißt "...nix mehr?
                              Dann hat es offensichtlich mal funktioniert.
                              Was hast du geändert?

                              Etwas mehr Angaben wären schon sinnvoll.

                              mfg

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                Spooky99 @bahnuhr last edited by

                                @bahnuhr
                                du hattest mir weiter oben ein skript für den 5.5 gepostet ab Beitrag 45 mit der alten Oberfläche...
                                und geändert hatte ich nix auf einmal gings nicht mehr, also es werden keine Werte mehr ausgelesen...

                                bahnuhr 1 Reply Last reply Reply Quote 0
                                • bahnuhr
                                  bahnuhr Forum Testing Most Active @Spooky99 last edited by

                                  @Spooky99 sagte in Status vom Kostal Wechselrichter auslesen?:

                                  @bahnuhr
                                  du hattest mir weiter oben ein skript für den 5.5 gepostet ab Beitrag 45 mit der alten Oberfläche...
                                  und geändert hatte ich nix auf einmal gings nicht mehr, also es werden keine Werte mehr ausgelesen...

                                  Das ist aber seltsam.
                                  Insbesondere weil es ja schon lief.
                                  Komisch.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    Spooky99 @bahnuhr last edited by

                                    @bahnuhr jo, hab ich auch gedacht...
                                    allerdings könnte es sein das da was mit der Schnittstelle vom piko ist... Die App hat auch keine Daten mehr bekommen...

                                    K 1 Reply Last reply Reply Quote 0
                                    • E
                                      ee last edited by

                                      Bei mir kommen auf einmal auch Fehler... Echt komisch hat alles super funktioniert.

                                      1 Reply Last reply Reply Quote 0
                                      • ?
                                        A Former User last edited by

                                        @Spooky99

                                        Habe das selbe Problem wie Du. Habe in PIKO 7.0... plötzlich bekomme ich keine Daten mehr. Ich übermittle diese auch noch auf das Suntrol Portal und das funktioniert weiterhin... Was wurde also bei ioBroker geändert...??!

                                        1 Reply Last reply Reply Quote 0
                                        • K
                                          kaybau @Spooky99 last edited by kaybau

                                          @ecki945 Hi Spooky, ich bin ganz neu mit iobroker unterwegs und hab mich durch einige tutorials gewälzt.
                                          Ich hab das als TS script angelegt, richtig?
                                          Danke.
                                          Ich hab nen Piko 8.0 , die dxsEntries und das UI sind aber analog zu Eurem.
                                          VG,

                                          1 Reply Last reply Reply Quote 0
                                          • E
                                            ecki945 last edited by

                                            @kaybau, Nicht als TS-Scipt, sondern als Javascipt anlegen.

                                            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

                                            887
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            35
                                            331
                                            53427
                                            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