Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Status vom Kostal Wechselrichter auslesen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                        • S
                                          Schmattek @MartyBr last edited by

                                          @martybr said in Status vom Kostal Wechselrichter auslesen?:

                                          @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.

                                          Heißt, wenn ich in der Modbus Konfig beim Faktor z.B. bei "Total real Power" eine 10 hin schreibe, dann stimmen die Werte. Ist ja im Prinzip nur ne 0 drangeschummelt und irgendwie unbefriedigend. Nennt mich kleinkariert, aber ich bin ein Fan von möglichst stimmiger Datenlage.

                                          Schaut man sich die Doku des KSEM an, stellt man fest, dass es auch Register <147 gibt. Liest man die mit nem Tool auf dem PC aus, bekommt man z.B. für die Einspeiseenergie den exakten Wert bis vier Stellen nach dem Komma! geliefert. Leider hab ich den Modbus Adapter noch nicht dazu bewegen können diese Register auszulesen.

                                          Unbenannt3.JPG

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

                                            @schmattek
                                            Das geht mir genauso. Ich habe auch versucht, andere Register auszulesen, leider erfolglos. Meine Anfrage an Kostal hat auch nichts geliefert. Ich berechne die Werte nun per Blocky und schreibe sie in 0.userdata.0.

                                            Bisher habe ich keine Werte zu Eigenbrauch bzw. Verbrauch auslesen können. Auch diese muss ich aus anderen Systemen berechnen.
                                            Das ist total unbefriedigend. Mit einem Plentocore und dem passenden Adapter scheint das zu funktionieren, ich habe aber einen Piko 20.

                                            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

                                            542
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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