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 @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
      • M
        MartyBr @Glasfaser last edited by

        @glasfaser

        Hier das aktuelle Script:

        // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
        
        //Variable
        
        var url = '192.168.178.77'; // 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_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;
        
        

        Ich brauche hier den Wert für Leistung_String3. Hast du noch eine Idee?

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

          @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

          //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

          tausche mal zum Test , ich habe die Werte P2Leistung / P3Leistung mal gedreht , ober er überhaupt das Ergebniss holt

          //Netz Phase 2
           var ID_P2Spannung = 67109634;              // in V
           var ID_P2Strom = 67109633;                 // in A
           var ID_P2Leistung = 67109891;              // in W
           
           //Netz Phase 3
           var ID_P3Spannung = 67109890;              // in V
           var ID_P3Strom = 67109889;                 // in A
           var ID_P3Leistung = 67109635;              // in W
          
          T M 3 Replies Last reply Reply Quote 0
          • T
            tombox @Glasfaser last edited by

            @glasfaser Nur kurz zum verständnis. Es gibt ja dafür ein Adapter was ist der Unterschied zum Skript?
            https://github.com/hombach/ioBroker.kostal-piko-ba

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

              @tombox
              Funktioniert der Adapter Piko_Ba mit einem Piko 20? nach meinem Sachstand nicht, der Piko_Ba ist der Vorläufer.

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

                @glasfaser
                Das Script zeigt Errors:

                // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                
                //Variable
                
                var url = '192.168.178.77'; // 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 2
                  var ID_P2Spannung = 67109634;              // in V
                  var ID_P2Strom = 67109633;                 // in A
                  var ID_P2Leistung = 67109891;              // in W
                  
                  //Netz Phase 3
                  var ID_P3Spannung = 67109890;              // in V
                  var ID_P3Strom = 67109889;                 // in A
                  var ID_P3Leistung = 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 +      // 18
                 '&dxsEntries=' + ID_P2Leistung +   // 19
                 '&dxsEntries=' + ID_Status +          // 20
                 '&dxsEntries=' + ID_DC1Leistung +     // 21
                 '&dxsEntries=' + ID_DC2Leistung +     // 22
                 '&dxsEntries=' + ID_P3Spannung +    // 23
                 '&dxsEntries=' + ID_P3Strom +       // 24
                 '&dxsEntries=' + ID_DC3Leistung+    //25
                //  '&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[20].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;
                
                

                10:29:33.001 error javascript.0 (50237) at Object.Piko (script.js.Photovoltaik.Piko9:125:19)
                10:29:44.001 error javascript.0 (50237) at Object.Piko (script.js.Photovoltaik.Piko9:125:19)

                Ich finde den Fehler nicht.

                Edit:
                In Zeile 185 war der falsche Array-Wert.

                Habe es korrigiert.

                Hier das aktuelle Script:

                // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                
                //Variable
                
                var url = '192.168.178.77'; // 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 2
                  var ID_P2Spannung = 67109634;              // in V
                  var ID_P2Strom = 67109633;                 // in A
                  var ID_P2Leistung = 67109891;              // in W
                  
                  //Netz Phase 3
                  var ID_P3Spannung = 67109890;              // in V
                  var ID_P3Strom = 67109889;                 // in A
                  var ID_P3Leistung = 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 +      // 18
                 '&dxsEntries=' + ID_P2Leistung +   // 19
                 '&dxsEntries=' + ID_Status +          // 20
                 '&dxsEntries=' + ID_DC1Leistung +     // 21
                 '&dxsEntries=' + ID_DC2Leistung +     // 22
                 '&dxsEntries=' + ID_P3Spannung +    // 23
                 '&dxsEntries=' + ID_P3Strom +       // 24
                 '&dxsEntries=' + ID_DC3Leistung+    //25
                //  '&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;
                
                

                Liefert immer noch Fehler.

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

                  @Glasfaser

                  Hier das laufende Script ohne P2Leistung und P3Leistung.

                  // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                  
                  //Variable
                  
                  var url = '192.168.178.77'; // 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 +      // 18
                  //  '&dxsEntries=' + ID_P2Leistung +   // 19
                   '&dxsEntries=' + ID_Status +          // 19
                   '&dxsEntries=' + ID_DC1Leistung +     // 20
                   '&dxsEntries=' + ID_DC2Leistung +     // 21
                   '&dxsEntries=' + ID_P3Spannung +    // 22
                   '&dxsEntries=' + ID_P3Strom +       // 23
                   // '&dxsEntries=' + ID_DC3Leistung+    //25
                    '&dxsEntries=' + ID_DC3Leistung,    //24
                   // '&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[19].val == 0) {
                           Zustand = 'aus';
                           } else if (result[19].value== 1) {
                           Zustand = 'Leerlauf';
                           } else if (result[19].value == 2) {
                           Zustand = 'Anfahren';
                           } else if (result[19].value == 3) {
                           Zustand = 'Einspeisen MPP';
                           } else if (result[19].value == 4) {
                           Zustand = 'Einspeisen abgeregelt';
                           } else if (result[19].value == 7) {
                           Zustand = 'Isolationsmessung';
                           } else {
                           Zustand = (String('Code ') + String('' + result[19].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[20].value || 0, true);
                           setState('Solaranlage.Momentanwerte.Leistung_String2', result[21].value || 0, true);
                           setState('Solaranlage.Momentanwerte.P3Spannung', result[22].value || 0, true);
                           setState('Solaranlage.Momentanwerte.P3Strom', result[23].value || 0, true);
                           setState('Solaranlage.Momentanwerte.Leistung_String3', result[24].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;
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • M
                    MartyBr @tombox last edited by

                    @tombox
                    Ich nehme alles zurück und behaupte das Gegenteil!!!!

                    @tombox
                    Du hast mich gerettet, der Piko_Ba läuft mit meinem Piko 20 und ich bekomme alle Werte.

                    Einen Riesen Dank an euch Alle @Homoran @Glasfaser @tombox

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

                      @glasfaser
                      Das Script nimmt nur 24 Werte an. Das hast du mit dem Array Recht gehabt. Ich habe eine Weile mit den DPs experimentiert. Ich dachte, ich kann die Leistung über Strom * Spannung errechnen und damit auf P2Leistung verzichten. Das funktioniert aber nicht mit den echten Werten aus dem Piko.

                      Ich gebe damit den Versuch mit dem Script auf.

                      Danke nochmal für deine Unterstützung.

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

                        @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                        Funktioniert der Adapter Piko_Ba mit einem Piko 20?

                        @tombox
                        nein!

                        EDIT:

                        @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                        ich nehme alles zurück und behaupte das Gegenteil!!!!

                        wieso klappt der bei dir?
                        ich habe nur einen 5.5, da klappt der Adapter nicht

                        @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                        Das Script nimmt nur 24 Werte an

                        nein 25!

                        @homoran sagte in Status vom Kostal Wechselrichter auslesen?:

                        Es scheint so, als ob der WR nur maximal 25 Elemente (0-24) ins Array packen kann.

                        liegt aber nicht am Skript

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

                          @homoran
                          Der Adapter Kostal_Piko_BA liest meinen Piko 20 aus. FW: 6.11
                          Vielleicht liegt es an der Firmware.

                          Habt Ihr schon rausgefunden, warum der WR nur die 25 Werte liefert? Hängt es mit der API zusammen?

                          Hier die Werte vom Kostal_Piko_BA:

                          Bildschirmfoto 2021-10-05 um 17.21.48.png

                          Ich habe es auch mittlerweile geschafft, den Kostal Smart Energy Meter auszulesen. Das funktioniert mit Modus und den Sunspec-Registern.

                          Wenn Interesse besteht, dann kann ich die Holding-Register hier posten.

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

                            @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                            Habt Ihr schon rausgefunden, warum der WR nur die 25 Werte liefert?

                            nein!

                            @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                            Hängt es mit der API zusammen?

                            möglich!

                            Ich habe mir mal die Konfigurationen des Adapters angeshen (nicht den code) und der scheint genau das zu machen, was ich dir sonst auch empfohlen hätte:
                            Mehrere Abfragen mit jeweils weniger Elementen.

                            In der Konfig des Adapters kann man 3 Intervalle für die verschiedenen Elemente einstellen, also werden das auch 3 Abfragen sein, die du versuchst mit dem Skript auf einmal abzufragen

                            @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                            Hier die Werte vom Kostal_Piko_BA:

                            Den Adapter kann ich leider nicht (vollständig) nutzen, da ich das Skript über den Smartmeter-Adapter triggere um zeitgleiche Solar- und Verbrauchswerte zu erhalten um daraus den effektiven Verbrauch (z.B. aktuelle Einspeisung - Solarproduktion = Verbrauch) zu berechnen.

                            @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                            Ich habe es auch mittlerweile geschafft, den Kostal Smart Energy Meter auszulesen. Das funktioniert mit Modus und den Sunspec-Registern.

                            dazu hatte ich mal bei Kostal nachgefragt. Die ModBus Spezifikationen wollte man mir nur für private Nutzung gegen eine Verschwiegenheitserklärung herausrücken.

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

                              @homoran
                              Hier mal die Holding Register für den KSEM. Der WR Piko konnte ich nicht auslesen, da sich hier der KSEM blockierend auf die Modus-Leitung setzt (sorgt auch dafür, dass ein Update des Piko nur nach Trennung der Verbindung funktioniert (nach Handbuch Kostal).

                              _address	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
                              40071	M_AC_Current	AC Current (sum of active phases)	A	int16be	1	1	0		value		true			
                              40072	M_AC_Current_A	Phase A AC current	A	int16be	1	1	0		value		true			
                              40073	M_AC_Current_B	Phase B AC current	A	int16be	1	1	0		value		true			
                              40074	M_AC_Current_C	Phase C AC current	A	int16be	1	1	0		value		true			
                              40075	M_AC_Current_SF	AC Current Scale Factor		int16be	1	1	0		value		true			
                              40076	M_AC_Voltage_LN	Line to Neutral AC Voltage (average of active phases)	V	int16be	1	1	0		value		true			
                              40077	M_AC_Voltage_LA	Phase A to Neutral AC Voltage	V	int16be	1	1	0		value		true			
                              40078	M_AC_Voltage_LB	Phase B to Neutral AC Voltage	V	int16be	1	1	0		value		true			
                              40079	M_AC_Voltage_CN	Phase C to Neutral AC Voltage	V	int16be	1	1	0		value		true			
                              40080	M_AC_Voltage_LL	Line to Line AC Voltage (average of active phases)	V	int16be	1	1	0		value		true			
                              40081	M_AC_Voltage_AB	Phase A to Phase B AC Voltage	V	int16be	1	1	0		value		true			
                              40082	M_AC_Voltage_BC	Phase B to Phase C AC Voltage	V	int16be	1	1	0		value		true			
                              40083	M_AC_Voltage_CA	Phase C to Phase A AC Voltage	V	int16be	1	1	0		value		true			
                              40084	M_AC_Voltage_SF	AC Voltage Scale Factor		int16be	1	1	0		value		true			
                              40085	M_AC_Freq	AC Frequency	Hz	int16be	1	1	0		value		true			
                              40086	M_AC_Freq_SF	AC Frequency Scale Factor		int16be	1	1	0		value		true			
                              40087	M_AC_Power	Total Real Power (sum of active phases)	W	int16be	1	1	0		value		true			
                              40088	M_AC_Power_A	Phase A AC Real Power	W	int16be	1	1	0		value		true			
                              40089	M_AC_Power_B	Phase B AC Real Power	W	int16be	1	1	0		value		true			
                              40090	M_AC_Power_C	Phase C AC Real Power	W	int16be	1	1	0		value		true			
                              40091	M_AC_Power_SF	AC Real Power Scale Factor		int16be	1	1	0		value		true			
                              40092	M_AC_VA	Total AC Apparent Power (sum of active phases)	VA	int16be	1	1	0		value		true			
                              40093	M_AC_VA_A	Phase A AC Apparent Power	VA	int16be	1	1	0		value		true			
                              40094	M_AC_VA_B	Phase B AC Apparent Power	VA	int16be	1	1	0		value		true			
                              40095	M_AC_VA_C	Phase C AC Apparent Power	VA	int16be	1	1	0		value		true			
                              40096	M_AC_VA_SF	AC Apparent Power Scale Factor		int16be	1	1	0		value		true			
                              40097	M_AC_VAR	Total AC Reactive Power (sum of ac- tive phases)	var	int16be	1	1	0		value		true			
                              40098	M_AC_VAR_A	Phase A AC Reactive Power	var	int16be	1	1	0		value		true			
                              40099	M_AC_VAR_B	Phase B AC Reactive Power	var	int16be	1	1	0		value		true			
                              40100	M_AC_VAR_C	Phase C AC Reactive Power	var	int16be	1	1	0		value		true			
                              40101	M_AC_VAR_ SF	AC Reactive Power Scale Factor		int16be	1	1	0		value		true			
                              40102	M_AC_PF	Average Power Factor (average of active phases)	%	int16be	1	1	0		value		true			
                              40103	M_AC_PF_A	Phase A Power Factor	%	int16be	1	1	0		value		true			
                              40104	M_AC_PF_B	Phase B Power Factor	%	int16be	1	1	0		value		true			
                              40105	M_AC_PF_C	Phase C Power Factor	%	int16be	1	1	0		value		true			
                              40106	M_AC_PF_SF	AC Power Factor Scale Factor		int16be	1	1	0		value		true			
                              40107	M_Exported	Total Exported Real Energy	Wh	uint32sw	2	1	0		value		true			
                              40109	M_Exported_A	Phase A Exported Real Energy	Wh	uint32sw	2	1	0		value		true			
                              40111	M_Exported_B	Phase B Exported Real Energy	Wh	uint32sw	2	1	0		value		true			
                              40113	M_Exported_C	Phase C Exported Real Energy	Wh	uint32sw	2	1	0		value		true			
                              40115	M_Imported	Total Imported Real Energy	Wh	uint32sw	2	1	0		value		true			
                              40117	M_Imported_A	Phase A Imported Real Energy	Wh	uint32sw	2	1	0		value		true			
                              40119	M_Imported_B	Phase B Imported Real Energy	Wh	uint32sw	2	1	0		value		true			
                              40121	M_Imported_C	Phase C Imported Real Energy	Wh	uint32sw	2	1	0		value		true			
                              40123	M_Energy_W_SF	Real Energy Scale Factor3		int16be	1	1	0		value		true			
                              40124	M_Exported_VA	Total Exported Apparent Energy	VAh	uint32sw	2	1	0		value		true			
                              40126	M_Exported_VA_A	Phase A Exported Apparent Energy	VAh	uint32sw	2	1	0		value		true			
                              40128	M_Exported_VA_B	Phase B Exported Apparent Energy	VAh	uint32sw	2	1	0		value		true			
                              40130	M_Exported_VA_C	Phase C Exported Apparent Energy	VAh	uint32sw	2	1	0		value		true			
                              40132	M_Imported_VA	Total Imported Apparent Energy	VAh	uint32sw	2	1	0		value		true			
                              40134	M_Imported_VA_A	Phase A Imported Apparent Energy	VAh	uint32sw	2	1	0		value		true			
                              40136	M_Imported_VA_B	Phase B Imported Apparent Energy	VAh	uint32sw	2	1	0		value		true			
                              40138	M_Imported_VA_C	Phase C Imported Apparent Energy	VAh	uint32sw	2	1	0		value		true			
                              40140	M_Energy_ VA_SF	Apparent Energy Scale Factor		int16be	1	1	0		value		true			
                              40141	M_Import_ VARh_Q1	Quadrant 1: Tota Imported Reactive Energy	VARh	uint32sw	2	1	0		value		true			
                              40143	M_Import_ VARh_Q1A	Phase A – Quadrant 1: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40145	M_Import_ VARh_Q1B	Phase B – Quadrant 1: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40147	M_Import_ VARh_Q1C	Phase C – Quadrant 1: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40149	M_Import_ VARh_Q2	Quadrant 2: Total Imported Reactive Energy	VARh	uint32sw	2	1	0		value		true			
                              40151	M_Import_ VARh_Q2A	Phase A – Quadrant 2: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40153	M_Import_ VARh_Q2B	Phase B – Quadrant 2: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40155	M_Import_ VARh_Q2C	Phase C – Quadrant 2: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40157	M_Export_ VARh_Q3	Quadrant 3: Total Imported Reactive Energy	VARh	uint32sw	2	1	0		value		true			
                              40159	M_Export_ VARh_Q3A	Phase A – Quadrant 3: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40161	M_Export_ VARh_Q3B	Phase B – Quadrant 3: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40163	M_Export_ VARh_Q3C	Phase C – Quadrant 3: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40165	M_Export_ VARh_Q4	Quadrant 4: Tota Imported Reactive Energy	VARh	uint32sw	2	1	0		value		true			
                              40167	M_Export_ VARh_Q4A	Phase A – Quadrant 4: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40169	M_Export_ VARh_Q4B	Phase B – Quadrant 4: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40171	M_Export_ VARh_Q4C	Phase C – Quadrant 4: Imported Reac- tive Energy	VARh	uint32sw	2	1	0		value		true			
                              40173	M_Energy_ VAR_SF	Reactive Energy Scale Factor		int16be	1	1	0		value		true			
                              40174	M_Events	Event flags		uint32sw	2	1	0		value		true			
                              

                              Die habe die Werte mühselig in Modbus reingekloppt.

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

                                @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                                Hier mal die Holding Register für den KSEM

                                Danke - aber den habe ich ja gar nicht, sondern nur den PIKO

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

                                  @martybr
                                  Bekommst du zu jedem deiner eingestellten Adressen einen Wert? Ich habe auch ein KSEM und testweise deine Konfig mal importiert. Leider habe ich überall nur 0 oder irgendwelchen Zahlensalat stehen.

                                  Hast du iobroker als Master oder Slave konfiguriert und im KSEM noch irgendwas eingestellt?

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

                                    @schmattek
                                    Ich schicke dir heute Abend mal die Konfig vom modbus und vom KSEM. Eigenverbrauch und Hausstrom ist leider 0. Ich versuche diese beiden Werte aus den anderen zu errechnen und bin möglicherweise auf der richtigen Spur.

                                    Aber ja, bis auf die beiden genannten Werte bekomme ich Ergebnisse vom Kostal.

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

                                      @schmattek
                                      So, nun die Einstellungen im Modbus-Adapter:

                                      Bildschirmfoto 2021-10-20 um 20.31.58.png

                                      Bildschirmfoto 2021-10-20 um 20.32.18.png

                                      Bildschirmfoto 2021-10-20 um 20.32.35.png

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

                                        @martybr
                                        Danke, habe meinen Fehler gefunden. In meinen modbus-Einstellungen war noch die Option mit den Aliases angehakt. Dementsprechend hat er, nachdem ich deine Konfig eingefügt habe, die Adressen umgewandelt.

                                        Den Haken rausgenommen und noch mal die Konfig eingefügt, funktioniert jetzt.

                                        Einige kuriose Werte bleiben allerdings:

                                        1. Bei fast allen Adressen mit Live-Daten scheint eine Stelle hinten dran zu fehlen. Es steht dort z.B. -110W, wenn ich laut App aber 1,1kW einspeise. Oder bei der Scheinleistung -44VA in iobroker und auf der Seite des Smartmeter -442VA

                                        2. Auch die Werte für die exportierte und importierte (Schein)Leistung etc. scheinen absolute Phantasiewerte zu sein. Ich kann jedenfalls nicht nachvollziehen wo ich 1022361547Wh exportiert haben soll. Selbst wenn man hier Stellen weg streicht oder die Einheit ändert, passt das hinten und vorne nicht.

                                        Unbenannt.JPG

                                        So jedenfalls sind die Werte absolut unbrauchbar und mir scheint es so als würde Kostal hier irgendwas falsch in die Register schreiben.

                                        Diginix M 2 Replies Last reply Reply Quote 0
                                        • Diginix
                                          Diginix @Schmattek last edited by

                                          @schmattek Wenn die Werte unplausibel sind, kann es auch am gewählten Datentyp liegen. Kannst ja mal alle durchiterieren um zu sehen ob ein anderer einen sinnvolleren Wert liefert.

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

                                            @schmattek
                                            Du musst du Werte mit dem in *.SF angegeben Wert multiplizieren. Das hat Kostal in seiner Doku beschrieben.

                                            Bsp:
                                            Bildschirmfoto 2021-10-21 um 12.42.06.png

                                            In diesem Feld steht eine "-2". Das heisst, dass du die korrespondieren Werte mit 10 hoch -2 multiplizieren musst.

                                            Das konform mit allen Werten, die eine Endung SF haben.

                                            S 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

                                            921
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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