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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Status vom Kostal Wechselrichter auslesen?

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

      @martybr

      Ich komme bei mir nicht weiter .Schleife .. muss ein timeout machen bzw. mein ioBroker 😞

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Glasfaser last edited by

        @glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:

        @martybr

        Ich komme bei mir nicht weiter .Schleife .. muss ein timeout machen bzw. mein ioBroker 😞

        wahrscheinlich, weil du die IP nicht belegt hast.
        bei mir läuft es jetzt, der Typ der angelegten States war mixed
        Habe allerdings auch den Fehler mit
        javascript.0 2021-10-04 17:59:22.113 error Error in request callback: TypeError: Cannot read property 'value' of undefined

        Habe jetzt eine Vorgabe von 0 gemacht, jetzt steht da auch 0, aber ich habe keinen 3. String.

        // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
        
        //Variable
        
        var url = '192.168.178.123'; // IP der Photovoltaik-Anlage eintragen
        var IPAnlage = url + '/api/dxs.json'; 
        
        //Leistungswerte
          var ID_DCEingangGesamt = 33556736;         // in W
          var ID_Ausgangsleistung = 67109120;        // in W
          var ID_Eigenverbrauch = 83888128;          // in W
          
          //Status
          var ID_Status = 16780032;                  // 0:Off
          
          //Statistik - Tag
          var ID_Ertrag_d = 251658754;               // in Wh
          var ID_Hausverbrauch_d = 251659010;        // in Wh
          var ID_Eigenverbrauch_d = 251659266;       // in Wh
          var ID_Eigenverbrauchsquote_d = 251659278; // in %
          var ID_Autarkiegrad_d = 251659279;         // in %
          
          //Statistik - Gesamt
          var ID_Ertrag_G = 251658753;               // in kWh
          var ID_Hausverbrauch_G = 251659009;        // in kWh
          var ID_Eigenverbrauch_G = 251659265;       // in kWh
          var ID_Eigenverbrauchsquote_G = 251659280; // in %
          var ID_Autarkiegrad_G = 251659281;         // in %
          var ID_Betriebszeit = 251658496;           // in h
          
          //Momentanwerte - PV Generator
          var ID_DC1Spannung = 33555202;             // in V
          var ID_DC1Strom = 33555201;                // in A
          var ID_DC1Leistung = 33555203;             // in W
          var ID_DC2Spannung = 33555458;             // in V
          var ID_DC2Strom = 33555457;                // in A
          var ID_DC2Leistung = 33555459;             // in W
          var ID_DC3Spannung = 33555714;             // in V
          var ID_DC3Strom = 33555713;                // in A
          var ID_DC3Leistung = 33555715;             // in W
          
          //Momentanwerte Haus
          var ID_HausverbrauchSolar = 83886336;      // in W
          var ID_HausverbrauchBatterie = 83886592;   // in W
          var ID_HausverbrauchNetz = 83886848;       // in W
          var ID_HausverbrauchPhase1 = 83887106;     // in W
          var ID_HausverbrauchPhase2 = 83887362;     // in W
          var ID_HausverbrauchPhase3 = 83887618;     // in W
          
          //Netz Netzparameter
          var ID_NetzAusgangLeistung = 67109120;     // in W
          var ID_NetzFrequenz = 67110400;            // in Hz
          var ID_NetzCosPhi = 67110656;
          
          //Netz Phase 1
          var ID_P1Spannung = 67109378;              // in V
          var ID_P1Strom = 67109377;                 // in A
          var ID_P1Leistung = 67109379;              // in W
          
          //Netz Phase 2
          var ID_P2Spannung = 67109634;              // in V
          var ID_P2Strom = 67109633;                 // in A
          var ID_P2Leistung = 67109635;              // in W
          
          //Netz Phase 3
          var ID_P3Spannung = 67109890;              // in V
          var ID_P3Strom = 67109889;                 // in A
          var ID_P3Leistung = 67109891;              // in W
        
        
        
        
        
        
        
        createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
        createState('Solaranlage.Summenwerte.Autarkiegrad_d',0);
        createState('Solaranlage.Summenwerte.Autarkiegrad_G',0);
        createState('Solaranlage.Summenwerte.Betriebszeit',0);
        createState('Solaranlage.Momentanwerte.Status','aus');
        createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
        createState('Solaranlage.Momentanwerte.Eigenverbrauch',0);
        createState('Solaranlage.Summenwerte.Eigenverbrauch_d',0);
        createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
        createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
        createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
        createState('Solaranlage.Summenwerte.Tagesertrag', 0);
        createState('Solaranlage.Summenwerte.Gesamtertrag', 0);
        createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0);
        createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0);
        createState('Solaranlage.Momentanwerte.P1Spannung',0);
        createState('Solaranlage.Momentanwerte.P2Spannung',0);
        createState('Solaranlage.Momentanwerte.P3Spannung',0);
        createState('Solaranlage.Momentanwerte.P1Strom',0);
        createState('Solaranlage.Momentanwerte.P2Strom',0);
        createState('Solaranlage.Momentanwerte.P3Strom',0);
        createState('Solaranlage.Momentanwerte.P1Leistung',0);
        createState('Solaranlage.Momentanwerte.P2Leistung',0);
        createState('Solaranlage.Momentanwerte.P3Leistung',0);
        createState('Solaranlage.Momentanwerte.Leistung_String1',0);
        createState('Solaranlage.Momentanwerte.Leistung_String2',0);
        createState('Solaranlage.Momentanwerte.Leistung_String3',0);
        
        
        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_P1Strom +
          '&dxsEntries=' + ID_P2Strom +
          '&dxsEntries=' + ID_P1Leistung +
          '&dxsEntries=' + ID_P2Leistung +
          '&dxsEntries=' + ID_Status +
          '&dxsEntries=' + ID_DC1Leistung +
          '&dxsEntries=' + ID_DC2Leistung +
          '&dxsEntries=' + ID_P3Spannung +    // 23
          '&dxsEntries=' + ID_P3Strom +       // 24
          '&dxsEntries=' + ID_DC3Leistung,    //25
          
          function (error, response, body) {
              if(!error && response.statusCode ==200) {
                  if(logging) log(body);
                  var result = JSON.parse(body).dxsEntries;
          		
          		var Zustand = 'aus';
        
          		if (result[20].val == 0) {
                  Zustand = 'aus';
                  } else if (result[20].value== 1) {
                  Zustand = 'Leerlauf';
                  } else if (result[20].value == 2) {
                  Zustand = 'Anfahren';
                  } else if (result[20].value == 3) {
                  Zustand = 'Einspeisen MPP';
                  } else if (result[20].value == 4) {
                  Zustand = 'Einspeisen abgeregelt';
                  } else if (result[20].value == 7) {
                  Zustand = 'Isolationsmessung';
                  } else {
                  Zustand = (String('Code ') + String('' + result[20].value));
                  }
              
          		
          		
                  setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
                  setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                  setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true);
                  setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true);
                  setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                  setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                  setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                  setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                  setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                  setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                  setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                  setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                  setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                  setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                  setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true);
                  setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true);
                  setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                  setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                  setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                  setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                  setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true);
                  setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                  setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
                  setState('Solaranlage.Momentanwerte.P3Spannung', result[23].value || 0, true);
                  setState('Solaranlage.Momentanwerte.P3Strom', result[24].value || 0, true);
                  setState('Solaranlage.Momentanwerte.Leistung_String3', result[25].value || 0, true);
              } else {
                  log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
              }
          });
        }
        
        schedule("*/11 * 5-23 * * *", Piko);
        //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;
        
        

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

          @homoran sagte in Status vom Kostal Wechselrichter auslesen?:

          wahrscheinlich, weil du die IP nicht belegt hast.

          Nee , mein ioBroker hängt , hat mit dem Script nichts zu tun .
          Ich wollte es erst einfügen ...... bin gerade im neustart

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Glasfaser last edited by

            @glasfaser habe mutig einfach ein log(result) eigefügt, dabei kommt

            javascript.0 (30706) script.js.Skript_1: [{'dxsId':33556736,'value':136.500305},{'dxsId':67109120,'value':103.410645},{'dxsId':83888128,'value':-0.004734},{'dxsId':251659266,'value':0.413695},{'dxsId':251659265,'value':0.46385},{'dxsId':251659278,'value':0.003308},{'dxsId':251659280,'value':0.002075},{'dxsId':251658754,'value':12505.785156},{'dxsId':251658753,'value':22358.400391},{'dxsId':251659010,'value':0.42188},{'dxsId':251659009,'value':0.555004},{'dxsId':251659281,'value':83.575813},{'dxsId':251659279,'value':98.059898},{'dxsId':251658496,'value':16493},{'dxsId':67109378,'value':227.567886},{'dxsId':67109634,'value':225.872467},{'dxsId':67109377,'value':1.005249},{'dxsId':67109633,'value':1.010742},{'dxsId':67109379,'value':34.409111},{'dxsId':67109635,'value':34.984821},{'dxsId':16780032,'value':3},{'dxsId':33555203,'value':65.081833},{'dxsId':33555459,'value':71.418472},{'dxsId':67109890,'value':228.161285},{'dxsId':67109889,'value':1.036377}]
            

            Muss jetzt mal die IDs vergleichen

            Glasfaser 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators last edited by

              @Glasfaser
              aus irgendeinem Grund scheint er den String 3 nicht auslesen zu wollen

              da könnte auch der Fehler mit dem Value dann herkommen:
              setState('Solaranlage.Momentanwerte.Leistung_String3', result[25].value || 0, true);

              habe aber keine Ahnung warum er das Array zu kurz hat

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

                @homoran

                Habe kein Piko nur Solaredge .

                Aber hier habe ich weiteres dazu gefunden .

                33555715

                https://www.msxfaq.de/sonst/iot/kostal15.htm

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @Glasfaser last edited by Homoran

                  @glasfaser kann es sein, dass das Array nur 25 Mitglieder lang sein darf?
                  Habe zum Testen gerade mal die P3 rausgenommen, da ist die String 3 drin

                  script.js.Skript_1: [{'dxsId':33556736,'value':73.167114},{'dxsId':67109120,'value':37.987873},{'dxsId':83888128,'value':0.030113},{'dxsId':251659266,'value':0.421505},{'dxsId':251659265,'value':0.463857},{'dxsId':251659278,'value':0.003361},{'dxsId':251659280,'value':0.002075},{'dxsId':251658754,'value':12542.392578},{'dxsId':251658753,'value':22358.4375},{'dxsId':251659010,'value':0.429689},{'dxsId':251659009,'value':0.555012},{'dxsId':251659281,'value':83.57605},{'dxsId':251659279,'value':98.095154},{'dxsId':251658496,'value':16494},{'dxsId':67109378,'value':227.949356},{'dxsId':67109634,'value':226.889709},{'dxsId':67109377,'value':0.996094},{'dxsId':67109633,'value':0.999756},{'dxsId':67109379,'value':12.986672},{'dxsId':67109635,'value':12.664901},{'dxsId':16780032,'value':3},{'dxsId':33555203,'value':36.020687},{'dxsId':33555459,'value':37.146423},{'dxsId':67109890,'value':226.847336},{'dxsId':33555715,'value':0}]
                  

                  @glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:

                  Aber hier habe ich weiteres dazu gefunden .

                  da habe ich die IDs her

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by

                    @MartyBr
                    Bist du noch da?

                    versuch mal bitte das hier:

                    // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                    
                    //Variable
                    
                    var url = '192.168.178.123'; // IP der Photovoltaik-Anlage eintragen
                    var IPAnlage = url + '/api/dxs.json'; 
                    
                    //Leistungswerte
                      var ID_DCEingangGesamt = 33556736;         // in W
                      var ID_Ausgangsleistung = 67109120;        // in W
                      var ID_Eigenverbrauch = 83888128;          // in W
                      
                      //Status
                      var ID_Status = 16780032;                  // 0:Off
                      
                      //Statistik - Tag
                      var ID_Ertrag_d = 251658754;               // in Wh
                      var ID_Hausverbrauch_d = 251659010;        // in Wh
                      var ID_Eigenverbrauch_d = 251659266;       // in Wh
                      var ID_Eigenverbrauchsquote_d = 251659278; // in %
                      var ID_Autarkiegrad_d = 251659279;         // in %
                      
                      //Statistik - Gesamt
                      var ID_Ertrag_G = 251658753;               // in kWh
                      var ID_Hausverbrauch_G = 251659009;        // in kWh
                      var ID_Eigenverbrauch_G = 251659265;       // in kWh
                      var ID_Eigenverbrauchsquote_G = 251659280; // in %
                      var ID_Autarkiegrad_G = 251659281;         // in %
                      var ID_Betriebszeit = 251658496;           // in h
                      
                      //Momentanwerte - PV Generator
                      var ID_DC1Spannung = 33555202;             // in V
                      var ID_DC1Strom = 33555201;                // in A
                      var ID_DC1Leistung = 33555203;             // in W
                      var ID_DC2Spannung = 33555458;             // in V
                      var ID_DC2Strom = 33555457;                // in A
                      var ID_DC2Leistung = 33555459;             // in W
                      var ID_DC3Spannung = 33555714;             // in V
                      var ID_DC3Strom = 33555713;                // in A
                      var ID_DC3Leistung = 33555715;             // in W
                      
                      //Momentanwerte Haus
                      var ID_HausverbrauchSolar = 83886336;      // in W
                      var ID_HausverbrauchBatterie = 83886592;   // in W
                      var ID_HausverbrauchNetz = 83886848;       // in W
                      var ID_HausverbrauchPhase1 = 83887106;     // in W
                      var ID_HausverbrauchPhase2 = 83887362;     // in W
                      var ID_HausverbrauchPhase3 = 83887618;     // in W
                      
                      //Netz Netzparameter
                      var ID_NetzAusgangLeistung = 67109120;     // in W
                      var ID_NetzFrequenz = 67110400;            // in Hz
                      var ID_NetzCosPhi = 67110656;
                      
                      //Netz Phase 1
                      var ID_P1Spannung = 67109378;              // in V
                      var ID_P1Strom = 67109377;                 // in A
                      var ID_P1Leistung = 67109379;              // in W
                      
                      //Netz Phase 2
                      var ID_P2Spannung = 67109634;              // in V
                      var ID_P2Strom = 67109633;                 // in A
                      var ID_P2Leistung = 67109635;              // in W
                      
                      //Netz Phase 3
                      var ID_P3Spannung = 67109890;              // in V
                      var ID_P3Strom = 67109889;                 // in A
                      var ID_P3Leistung = 67109891;              // in W
                    
                    
                    
                    
                    
                    
                    
                    createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
                    createState('Solaranlage.Summenwerte.Autarkiegrad_d',0);
                    createState('Solaranlage.Summenwerte.Autarkiegrad_G',0);
                    createState('Solaranlage.Summenwerte.Betriebszeit',0);
                    createState('Solaranlage.Momentanwerte.Status','aus');
                    createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
                    createState('Solaranlage.Momentanwerte.Eigenverbrauch',0);
                    createState('Solaranlage.Summenwerte.Eigenverbrauch_d',0);
                    createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
                    createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
                    createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
                    createState('Solaranlage.Summenwerte.Tagesertrag', 0);
                    createState('Solaranlage.Summenwerte.Gesamtertrag', 0);
                    createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0);
                    createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0);
                    createState('Solaranlage.Momentanwerte.P1Spannung',0);
                    createState('Solaranlage.Momentanwerte.P2Spannung',0);
                    createState('Solaranlage.Momentanwerte.P3Spannung',0);
                    createState('Solaranlage.Momentanwerte.P1Strom',0);
                    createState('Solaranlage.Momentanwerte.P2Strom',0);
                    createState('Solaranlage.Momentanwerte.P3Strom',0);
                    createState('Solaranlage.Momentanwerte.P1Leistung',0);
                    createState('Solaranlage.Momentanwerte.P2Leistung',0);
                    createState('Solaranlage.Momentanwerte.P3Leistung',0);
                    createState('Solaranlage.Momentanwerte.Leistung_String1',0);
                    createState('Solaranlage.Momentanwerte.Leistung_String2',0);
                    createState('Solaranlage.Momentanwerte.Leistung_String3',0);
                    
                    
                    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_P1Strom +
                      '&dxsEntries=' + ID_P2Strom +
                      '&dxsEntries=' + ID_P1Leistung +
                      '&dxsEntries=' + ID_P2Leistung +
                      '&dxsEntries=' + ID_Status +
                      '&dxsEntries=' + ID_DC1Leistung +
                      '&dxsEntries=' + ID_DC2Leistung +
                      '&dxsEntries=' + ID_P3Spannung +    // 23
                      // '&dxsEntries=' + ID_P3Strom +       // 24
                      '&dxsEntries=' + ID_DC3Leistung,    //25
                      
                    
                      function (error, response, body) {
                          if(!error && response.statusCode ==200) {
                              if(logging) log(body);
                              var result = JSON.parse(body).dxsEntries;
                              log (result);
                      		
                      		var Zustand = 'aus';
                    
                      		if (result[20].val == 0) {
                              Zustand = 'aus';
                              } else if (result[20].value== 1) {
                              Zustand = 'Leerlauf';
                              } else if (result[20].value == 2) {
                              Zustand = 'Anfahren';
                              } else if (result[20].value == 3) {
                              Zustand = 'Einspeisen MPP';
                              } else if (result[20].value == 4) {
                              Zustand = 'Einspeisen abgeregelt';
                              } else if (result[20].value == 7) {
                              Zustand = 'Isolationsmessung';
                              } else {
                              Zustand = (String('Code ') + String('' + result[20].value));
                              }
                          
                      		
                      		
                              setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true);
                              setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true);
                              setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                              setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                              setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                              setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                              setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                              setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                              setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                              setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                              setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                              setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true);
                              setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P3Spannung', result[23].value || 0, true);
                              // setState('Solaranlage.Momentanwerte.P3Strom', result[24].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Leistung_String3', result[24].value || 0, true);
                          } else {
                              log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
                          }
                      });
                    }
                    
                    schedule("*/11 * 5-23 * * *", Piko);
                    //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;
                    
                    

                    M 2 Replies Last reply Reply Quote 0
                    • M
                      MartyBr @Homoran last edited by

                      @homoran
                      Klar, teste ich.

                      Glasfaser 1 Reply Last reply Reply Quote 0
                      • M
                        MartyBr @Homoran last edited by

                        @homoran sagte in Status vom Kostal Wechselrichter auslesen?:

                        // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)

                        //Variable

                        var url = '192.168.178.123'; // IP der Photovoltaik-Anlage eintragen
                        var IPAnlage = url + '/api/dxs.json';

                        //Leistungswerte
                        var ID_DCEingangGesamt = 33556736; // in W
                        var ID_Ausgangsleistung = 67109120; // in W
                        var ID_Eigenverbrauch = 83888128; // in W

                        //Status
                        var ID_Status = 16780032; // 0:Off

                        //Statistik - Tag
                        var ID_Ertrag_d = 251658754; // in Wh
                        var ID_Hausverbrauch_d = 251659010; // in Wh
                        var ID_Eigenverbrauch_d = 251659266; // in Wh
                        var ID_Eigenverbrauchsquote_d = 251659278; // in %
                        var ID_Autarkiegrad_d = 251659279; // in %

                        //Statistik - Gesamt
                        var ID_Ertrag_G = 251658753; // in kWh
                        var ID_Hausverbrauch_G = 251659009; // in kWh
                        var ID_Eigenverbrauch_G = 251659265; // in kWh
                        var ID_Eigenverbrauchsquote_G = 251659280; // in %
                        var ID_Autarkiegrad_G = 251659281; // in %
                        var ID_Betriebszeit = 251658496; // in h

                        //Momentanwerte - PV Generator
                        var ID_DC1Spannung = 33555202; // in V
                        var ID_DC1Strom = 33555201; // in A
                        var ID_DC1Leistung = 33555203; // in W
                        var ID_DC2Spannung = 33555458; // in V
                        var ID_DC2Strom = 33555457; // in A
                        var ID_DC2Leistung = 33555459; // in W
                        var ID_DC3Spannung = 33555714; // in V
                        var ID_DC3Strom = 33555713; // in A
                        var ID_DC3Leistung = 33555715; // in W

                        //Momentanwerte Haus
                        var ID_HausverbrauchSolar = 83886336; // in W
                        var ID_HausverbrauchBatterie = 83886592; // in W
                        var ID_HausverbrauchNetz = 83886848; // in W
                        var ID_HausverbrauchPhase1 = 83887106; // in W
                        var ID_HausverbrauchPhase2 = 83887362; // in W
                        var ID_HausverbrauchPhase3 = 83887618; // in W

                        //Netz Netzparameter
                        var ID_NetzAusgangLeistung = 67109120; // in W
                        var ID_NetzFrequenz = 67110400; // in Hz
                        var ID_NetzCosPhi = 67110656;

                        //Netz Phase 1
                        var ID_P1Spannung = 67109378; // in V
                        var ID_P1Strom = 67109377; // in A
                        var ID_P1Leistung = 67109379; // in W

                        //Netz Phase 2
                        var ID_P2Spannung = 67109634; // in V
                        var ID_P2Strom = 67109633; // in A
                        var ID_P2Leistung = 67109635; // in W

                        //Netz Phase 3
                        var ID_P3Spannung = 67109890; // in V
                        var ID_P3Strom = 67109889; // in A
                        var ID_P3Leistung = 67109891; // in W

                        createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
                        createState('Solaranlage.Summenwerte.Autarkiegrad_d',0);
                        createState('Solaranlage.Summenwerte.Autarkiegrad_G',0);
                        createState('Solaranlage.Summenwerte.Betriebszeit',0);
                        createState('Solaranlage.Momentanwerte.Status','aus');
                        createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
                        createState('Solaranlage.Momentanwerte.Eigenverbrauch',0);
                        createState('Solaranlage.Summenwerte.Eigenverbrauch_d',0);
                        createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
                        createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
                        createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
                        createState('Solaranlage.Summenwerte.Tagesertrag', 0);
                        createState('Solaranlage.Summenwerte.Gesamtertrag', 0);
                        createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0);
                        createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0);
                        createState('Solaranlage.Momentanwerte.P1Spannung',0);
                        createState('Solaranlage.Momentanwerte.P2Spannung',0);
                        createState('Solaranlage.Momentanwerte.P3Spannung',0);
                        createState('Solaranlage.Momentanwerte.P1Strom',0);
                        createState('Solaranlage.Momentanwerte.P2Strom',0);
                        createState('Solaranlage.Momentanwerte.P3Strom',0);
                        createState('Solaranlage.Momentanwerte.P1Leistung',0);
                        createState('Solaranlage.Momentanwerte.P2Leistung',0);
                        createState('Solaranlage.Momentanwerte.P3Leistung',0);
                        createState('Solaranlage.Momentanwerte.Leistung_String1',0);
                        createState('Solaranlage.Momentanwerte.Leistung_String2',0);
                        createState('Solaranlage.Momentanwerte.Leistung_String3',0);

                        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_P1Strom +
                        '&dxsEntries=' + ID_P2Strom +
                        '&dxsEntries=' + ID_P1Leistung +
                        '&dxsEntries=' + ID_P2Leistung +
                        '&dxsEntries=' + ID_Status +
                        '&dxsEntries=' + ID_DC1Leistung +
                        '&dxsEntries=' + ID_DC2Leistung +
                        '&dxsEntries=' + ID_P3Spannung + // 23
                        // '&dxsEntries=' + ID_P3Strom + // 24
                        '&dxsEntries=' + ID_DC3Leistung, //25

                        function (error, response, body) {
                        if(!error && response.statusCode ==200) {
                        if(logging) log(body);
                        var result = JSON.parse(body).dxsEntries;
                        log (result);

                          	var Zustand = 'aus';
                        
                          	if (result[20].val == 0) {
                              Zustand = 'aus';
                              } else if (result[20].value== 1) {
                              Zustand = 'Leerlauf';
                              } else if (result[20].value == 2) {
                              Zustand = 'Anfahren';
                              } else if (result[20].value == 3) {
                              Zustand = 'Einspeisen MPP';
                              } else if (result[20].value == 4) {
                              Zustand = 'Einspeisen abgeregelt';
                              } else if (result[20].value == 7) {
                              Zustand = 'Isolationsmessung';
                              } else {
                              Zustand = (String('Code ') + String('' + result[20].value));
                              }
                          
                          	
                          	
                              setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true);
                              setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true);
                              setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                              setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                              setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                              setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                              setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                              setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                              setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                              setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                              setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                              setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true);
                              setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
                              setState('Solaranlage.Momentanwerte.P3Spannung', result[23].value || 0, true);
                              // setState('Solaranlage.Momentanwerte.P3Strom', result[24].value || 0, true);
                              setState('Solaranlage.Momentanwerte.Leistung_String3', result[24].value || 0, true);
                          } else {
                              log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
                          }
                        

                        });
                        }

                        schedule("*/11 * 5-23 * * *", Piko);
                        //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;

                        Alle Momentan-Werte stehen auf 0 (Es ist nun dunkel!).

                        Log:

                        javascript.0 (50237) script.js.Photovoltaik.Piko5: [{'dxsId':33556736,'value':0},{'dxsId':67109120,'value':0},{'dxsId':83888128,'value':0},{'dxsId':251659266,'value':0},{'dxsId':251659265,'value':0},{'dxsId':251659278,'value':0},{'dxsId':251659280,'value':0},{'dxsId':251658754,'value':9121.470703},{'dxsId':251658753,'value':345.619873},{'dxsId':251659010,'value':0},{'dxsId':251659009,'value':0},{'dxsId':251659281,'value':0},{'dxsId':251659279,'value':0},{'dxsId':251658496,'value':141},{'dxsId':67109378,'value':0},{'dxsId':67109634,'value':0},{'dxsId':67109377,'value':0},{'dxsId':67109633,'value':0},{'dxsId':67109379,'value':0},{'dxsId':67109635,'value':0},{'dxsId':16780032,'value':0},{'dxsId':33555203,'value':0},{'dxsId':33555459,'value':0},{'dxsId':67109890,'value':0},{'dxsId':33555715,'value':0}]
                        
                        Homoran M 2 Replies Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @MartyBr last edited by Homoran

                          @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                          Es ist nun dunkel!

                          wo wohnst du??
                          ich hab noch ein paar Watt obwohl ich nach NO ausgerichtet bin

                          aber sieht vielversprechend aus:
                          'dxsId':33555715,'value':0}]

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MartyBr @MartyBr last edited by

                            @martybr

                            Hier die Datenpunkte (alle DPs vor dem Start des Skriptes gelöscht):

                            Bildschirmfoto 2021-10-04 um 19.04.58.png

                            Bildschirmfoto 2021-10-04 um 19.05.20.png

                            1 Reply Last reply Reply Quote 0
                            • M
                              MartyBr @Homoran last edited by MartyBr

                              @homoran
                              In der Nähe Berlins. Ich glaube, du kommst aus meiner alten Heimat (Rheinland). Richtig? Da liegen ca. 25 Minuten Sonne dazwischen.

                              Edit:
                              Ich gebe morgen früh Rückmeldung.

                              Gruß und Dank an @Homoran und @Glasfaser

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MartyBr @MartyBr last edited by

                                @Homoran

                                Guten Morgen, das Script läuft und liefert die Werte. Nur P3Leistung fehlt. Ich versuche den DP zu aktivieren.

                                Bildschirmfoto 2021-10-05 um 09.10.15.png

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

                                  @martybr

                                  // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                                  
                                  //Variable
                                  
                                  var url = '192.168.178.123'; // IP der Photovoltaik-Anlage eintragen
                                  var IPAnlage = url + '/api/dxs.json'; 
                                  
                                  //Leistungswerte
                                   var ID_DCEingangGesamt = 33556736;         // in W
                                   var ID_Ausgangsleistung = 67109120;        // in W
                                   var ID_Eigenverbrauch = 83888128;          // in W
                                   
                                   //Status
                                   var ID_Status = 16780032;                  // 0:Off
                                   
                                   //Statistik - Tag
                                   var ID_Ertrag_d = 251658754;               // in Wh
                                   var ID_Hausverbrauch_d = 251659010;        // in Wh
                                   var ID_Eigenverbrauch_d = 251659266;       // in Wh
                                   var ID_Eigenverbrauchsquote_d = 251659278; // in %
                                   var ID_Autarkiegrad_d = 251659279;         // in %
                                   
                                   //Statistik - Gesamt
                                   var ID_Ertrag_G = 251658753;               // in kWh
                                   var ID_Hausverbrauch_G = 251659009;        // in kWh
                                   var ID_Eigenverbrauch_G = 251659265;       // in kWh
                                   var ID_Eigenverbrauchsquote_G = 251659280; // in %
                                   var ID_Autarkiegrad_G = 251659281;         // in %
                                   var ID_Betriebszeit = 251658496;           // in h
                                   
                                   //Momentanwerte - PV Generator
                                   var ID_DC1Spannung = 33555202;             // in V
                                   var ID_DC1Strom = 33555201;                // in A
                                   var ID_DC1Leistung = 33555203;             // in W
                                   var ID_DC2Spannung = 33555458;             // in V
                                   var ID_DC2Strom = 33555457;                // in A
                                   var ID_DC2Leistung = 33555459;             // in W
                                   var ID_DC3Spannung = 33555714;             // in V
                                   var ID_DC3Strom = 33555713;                // in A
                                   var ID_DC3Leistung = 33555715;             // in W
                                   
                                   //Momentanwerte Haus
                                   var ID_HausverbrauchSolar = 83886336;      // in W
                                   var ID_HausverbrauchBatterie = 83886592;   // in W
                                   var ID_HausverbrauchNetz = 83886848;       // in W
                                   var ID_HausverbrauchPhase1 = 83887106;     // in W
                                   var ID_HausverbrauchPhase2 = 83887362;     // in W
                                   var ID_HausverbrauchPhase3 = 83887618;     // in W
                                   
                                   //Netz Netzparameter
                                   var ID_NetzAusgangLeistung = 67109120;     // in W
                                   var ID_NetzFrequenz = 67110400;            // in Hz
                                   var ID_NetzCosPhi = 67110656;
                                   
                                   //Netz Phase 1
                                   var ID_P1Spannung = 67109378;              // in V
                                   var ID_P1Strom = 67109377;                 // in A
                                   var ID_P1Leistung = 67109379;              // in W
                                   
                                   //Netz Phase 2
                                   var ID_P2Spannung = 67109634;              // in V
                                   var ID_P2Strom = 67109633;                 // in A
                                   var ID_P2Leistung = 67109635;              // in W
                                   
                                   //Netz Phase 3
                                   var ID_P3Spannung = 67109890;              // in V
                                   var ID_P3Strom = 67109889;                 // in A
                                   var ID_P3Leistung = 67109891;              // in W
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
                                  createState('Solaranlage.Summenwerte.Autarkiegrad_d',0);
                                  createState('Solaranlage.Summenwerte.Autarkiegrad_G',0);
                                  createState('Solaranlage.Summenwerte.Betriebszeit',0);
                                  createState('Solaranlage.Momentanwerte.Status','aus');
                                  createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
                                  createState('Solaranlage.Momentanwerte.Eigenverbrauch',0);
                                  createState('Solaranlage.Summenwerte.Eigenverbrauch_d',0);
                                  createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
                                  createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
                                  createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
                                  createState('Solaranlage.Summenwerte.Tagesertrag', 0);
                                  createState('Solaranlage.Summenwerte.Gesamtertrag', 0);
                                  createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0);
                                  createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0);
                                  createState('Solaranlage.Momentanwerte.P1Spannung',0);
                                  createState('Solaranlage.Momentanwerte.P2Spannung',0);
                                  createState('Solaranlage.Momentanwerte.P3Spannung',0);
                                  createState('Solaranlage.Momentanwerte.P1Strom',0);
                                  createState('Solaranlage.Momentanwerte.P2Strom',0);
                                  createState('Solaranlage.Momentanwerte.P3Strom',0);
                                  createState('Solaranlage.Momentanwerte.P1Leistung',0);
                                  createState('Solaranlage.Momentanwerte.P2Leistung',0);
                                  createState('Solaranlage.Momentanwerte.P3Leistung',0);
                                  createState('Solaranlage.Momentanwerte.Leistung_String1',0);
                                  createState('Solaranlage.Momentanwerte.Leistung_String2',0);
                                  createState('Solaranlage.Momentanwerte.Leistung_String3',0);
                                  
                                  
                                  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_P1Strom +
                                   '&dxsEntries=' + ID_P2Strom +
                                   '&dxsEntries=' + ID_P1Leistung +
                                   '&dxsEntries=' + ID_P2Leistung +
                                   '&dxsEntries=' + ID_Status +
                                   '&dxsEntries=' + ID_DC1Leistung +
                                   '&dxsEntries=' + ID_DC2Leistung +
                                   '&dxsEntries=' + ID_P3Spannung +    // 23
                                   '&dxsEntries=' + ID_P3Strom +       // 24
                                   '&dxsEntries=' + ID_DC3Leistung+    //25
                                   '&dxsEntries=' + ID_P3Leistung,    //26
                                  
                                   function (error, response, body) {
                                       if(!error && response.statusCode ==200) {
                                           if(logging) log(body);
                                           var result = JSON.parse(body).dxsEntries;
                                           log (result);
                                   		
                                   		var Zustand = 'aus';
                                  
                                   		if (result[20].val == 0) {
                                           Zustand = 'aus';
                                           } else if (result[20].value== 1) {
                                           Zustand = 'Leerlauf';
                                           } else if (result[20].value == 2) {
                                           Zustand = 'Anfahren';
                                           } else if (result[20].value == 3) {
                                           Zustand = 'Einspeisen MPP';
                                           } else if (result[20].value == 4) {
                                           Zustand = 'Einspeisen abgeregelt';
                                           } else if (result[20].value == 7) {
                                           Zustand = 'Isolationsmessung';
                                           } else {
                                           Zustand = (String('Code ') + String('' + result[20].value));
                                           }
                                       
                                   		
                                   		
                                           setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                                           setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true);
                                           setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.P3Spannung', result[23].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.P3Strom', result[24].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.Leistung_String3', result[25].value || 0, true);
                                           setState('Solaranlage.Momentanwerte.P3Leistung', result[26].value || 0, true);
                                       } else {
                                           log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
                                       }
                                   });
                                  }
                                  
                                  schedule("*/11 * 5-23 * * *", Piko);
                                  //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;
                                  
                                  

                                  Homoran M 2 Replies Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @MartyBr last edited by

                                    @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                                    Nur P3Leistung fehlt. Ich versuche den DP zu aktivieren.

                                    den habe ich deaktiviert, um String 3 zu bekommen.

                                    Es scheint so, als ob der WR nur maximal 25 Elemente (0-24) ins Array packen kann.
                                    Wenn du P3 wieder aktivierst aber auch die [24] des Strin3 in [25] zurück ändern!

                                    Glasfaser 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Glasfaser last edited by

                                      @glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:

                                      '&dxsEntries=' + ID_DC3Leistung+, //25
                                      '&dxsEntries=' + ID_P3Leistung, //26

                                      ein komma zuviel

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

                                        @homoran

                                        das fehlte

                                        '&dxsEntries=' + ID_P3Leistung,
                                        
                                        setState('Solaranlage.Momentanwerte.P3Leistung', result[26].value || 0, true);
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          MartyBr @Glasfaser last edited by

                                          @glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:

                                          // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)

                                          //Variable

                                          var url = '192.168.178.123'; // IP der Photovoltaik-Anlage eintragen
                                          var IPAnlage = url + '/api/dxs.json';

                                          //Leistungswerte
                                          var ID_DCEingangGesamt = 33556736; // in W
                                          var ID_Ausgangsleistung = 67109120; // in W
                                          var ID_Eigenverbrauch = 83888128; // in W

                                          //Status
                                          var ID_Status = 16780032; // 0:Off

                                          //Statistik - Tag
                                          var ID_Ertrag_d = 251658754; // in Wh
                                          var ID_Hausverbrauch_d = 251659010; // in Wh
                                          var ID_Eigenverbrauch_d = 251659266; // in Wh
                                          var ID_Eigenverbrauchsquote_d = 251659278; // in %
                                          var ID_Autarkiegrad_d = 251659279; // in %

                                          //Statistik - Gesamt
                                          var ID_Ertrag_G = 251658753; // in kWh
                                          var ID_Hausverbrauch_G = 251659009; // in kWh
                                          var ID_Eigenverbrauch_G = 251659265; // in kWh
                                          var ID_Eigenverbrauchsquote_G = 251659280; // in %
                                          var ID_Autarkiegrad_G = 251659281; // in %
                                          var ID_Betriebszeit = 251658496; // in h

                                          //Momentanwerte - PV Generator
                                          var ID_DC1Spannung = 33555202; // in V
                                          var ID_DC1Strom = 33555201; // in A
                                          var ID_DC1Leistung = 33555203; // in W
                                          var ID_DC2Spannung = 33555458; // in V
                                          var ID_DC2Strom = 33555457; // in A
                                          var ID_DC2Leistung = 33555459; // in W
                                          var ID_DC3Spannung = 33555714; // in V
                                          var ID_DC3Strom = 33555713; // in A
                                          var ID_DC3Leistung = 33555715; // in W

                                          //Momentanwerte Haus
                                          var ID_HausverbrauchSolar = 83886336; // in W
                                          var ID_HausverbrauchBatterie = 83886592; // in W
                                          var ID_HausverbrauchNetz = 83886848; // in W
                                          var ID_HausverbrauchPhase1 = 83887106; // in W
                                          var ID_HausverbrauchPhase2 = 83887362; // in W
                                          var ID_HausverbrauchPhase3 = 83887618; // in W

                                          //Netz Netzparameter
                                          var ID_NetzAusgangLeistung = 67109120; // in W
                                          var ID_NetzFrequenz = 67110400; // in Hz
                                          var ID_NetzCosPhi = 67110656;

                                          //Netz Phase 1
                                          var ID_P1Spannung = 67109378; // in V
                                          var ID_P1Strom = 67109377; // in A
                                          var ID_P1Leistung = 67109379; // in W

                                          //Netz Phase 2
                                          var ID_P2Spannung = 67109634; // in V
                                          var ID_P2Strom = 67109633; // in A
                                          var ID_P2Leistung = 67109635; // in W

                                          //Netz Phase 3
                                          var ID_P3Spannung = 67109890; // in V
                                          var ID_P3Strom = 67109889; // in A
                                          var ID_P3Leistung = 67109891; // in W

                                          createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
                                          createState('Solaranlage.Summenwerte.Autarkiegrad_d',0);
                                          createState('Solaranlage.Summenwerte.Autarkiegrad_G',0);
                                          createState('Solaranlage.Summenwerte.Betriebszeit',0);
                                          createState('Solaranlage.Momentanwerte.Status','aus');
                                          createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
                                          createState('Solaranlage.Momentanwerte.Eigenverbrauch',0);
                                          createState('Solaranlage.Summenwerte.Eigenverbrauch_d',0);
                                          createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
                                          createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
                                          createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
                                          createState('Solaranlage.Summenwerte.Tagesertrag', 0);
                                          createState('Solaranlage.Summenwerte.Gesamtertrag', 0);
                                          createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0);
                                          createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0);
                                          createState('Solaranlage.Momentanwerte.P1Spannung',0);
                                          createState('Solaranlage.Momentanwerte.P2Spannung',0);
                                          createState('Solaranlage.Momentanwerte.P3Spannung',0);
                                          createState('Solaranlage.Momentanwerte.P1Strom',0);
                                          createState('Solaranlage.Momentanwerte.P2Strom',0);
                                          createState('Solaranlage.Momentanwerte.P3Strom',0);
                                          createState('Solaranlage.Momentanwerte.P1Leistung',0);
                                          createState('Solaranlage.Momentanwerte.P2Leistung',0);
                                          createState('Solaranlage.Momentanwerte.P3Leistung',0);
                                          createState('Solaranlage.Momentanwerte.Leistung_String1',0);
                                          createState('Solaranlage.Momentanwerte.Leistung_String2',0);
                                          createState('Solaranlage.Momentanwerte.Leistung_String3',0);

                                          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_P1Strom +
                                          '&dxsEntries=' + ID_P2Strom +
                                          '&dxsEntries=' + ID_P1Leistung +
                                          '&dxsEntries=' + ID_P2Leistung +
                                          '&dxsEntries=' + ID_Status +
                                          '&dxsEntries=' + ID_DC1Leistung +
                                          '&dxsEntries=' + ID_DC2Leistung +
                                          '&dxsEntries=' + ID_P3Spannung + // 23
                                          '&dxsEntries=' + ID_P3Strom + // 24
                                          '&dxsEntries=' + ID_DC3Leistung+ //25
                                          '&dxsEntries=' + ID_P3Leistung, //26

                                          function (error, response, body) {
                                          if(!error && response.statusCode ==200) {
                                          if(logging) log(body);
                                          var result = JSON.parse(body).dxsEntries;
                                          log (result);

                                            var Zustand = 'aus';
                                          
                                            if (result[20].val == 0) {
                                               Zustand = 'aus';
                                               } else if (result[20].value== 1) {
                                               Zustand = 'Leerlauf';
                                               } else if (result[20].value == 2) {
                                               Zustand = 'Anfahren';
                                               } else if (result[20].value == 3) {
                                               Zustand = 'Einspeisen MPP';
                                               } else if (result[20].value == 4) {
                                               Zustand = 'Einspeisen abgeregelt';
                                               } else if (result[20].value == 7) {
                                               Zustand = 'Isolationsmessung';
                                               } else {
                                               Zustand = (String('Code ') + String('' + result[20].value));
                                               }
                                           
                                            
                                            
                                               setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                                               setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true);
                                               setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.P3Spannung', result[23].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.P3Strom', result[24].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.Leistung_String3', result[25].value || 0, true);
                                               setState('Solaranlage.Momentanwerte.P3Leistung', result[26].value || 0, true);
                                           } else {
                                               log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
                                           }
                                          

                                          });
                                          }

                                          schedule("*/11 * 5-23 * * *", Piko);
                                          //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;

                                          Hallo @Glasfaser , das Script liefert keine aktuellen Werte für den String 3. Es werden die die Spannungswerte eingetragen. Die P3Leistung wird nicht aktualisiert.
                                          Ich kann auf P3Leistung verzichten, wenn P3Strom kommt, die Leistung lässt sich über ein Blocky einfach berechnen. Der String 3 ist wichtig.

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

                                            @homoran sagte in Status vom Kostal Wechselrichter auslesen?:
                                            @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                                            Nur P3Leistung fehlt. Ich versuche den DP zu aktivieren.

                                            den habe ich deaktiviert, um String 3 zu bekommen.

                                            Es scheint so, als ob der WR nur maximal 25 Elemente (0-24) ins Array packen kann.
                                            Wenn du P3 wieder aktivierst aber auch die [24] des Strin3 in [25] zurück ändern!

                                            Eventuell so wie schon @Homoran geschrieben .

                                            Das ist alles Trockenübung 🙂

                                            M 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

                                            736
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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