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

      @homoran sagte in Status vom Kostal Wechselrichter auslesen?:

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

      //Variable

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

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

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

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

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

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

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

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

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

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

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

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

      var logging = false;
      var request = require('request');

      function Piko() {
      if (logging) log("Piko 5.5 auslesen");
      request('http://' + IPAnlage +
      '?dxsEntries=' + ID_DCEingangGesamt +
      '&dxsEntries=' + ID_Ausgangsleistung +
      '&dxsEntries=' + ID_Eigenverbrauch +
      '&dxsEntries=' + ID_Eigenverbrauch_d +
      '&dxsEntries=' + ID_Eigenverbrauch_G +
      '&dxsEntries=' + ID_Eigenverbrauchsquote_d +
      '&dxsEntries=' + ID_Eigenverbrauchsquote_G +
      '&dxsEntries=' + ID_Ertrag_d +
      '&dxsEntries=' + ID_Ertrag_G +
      '&dxsEntries=' + ID_Hausverbrauch_d +
      '&dxsEntries=' + ID_Hausverbrauch_G +
      '&dxsEntries=' + ID_Autarkiegrad_G +
      '&dxsEntries=' + ID_Autarkiegrad_d +
      '&dxsEntries=' + ID_Betriebszeit +
      '&dxsEntries=' + ID_P1Spannung +
      '&dxsEntries=' + ID_P2Spannung +
      '&dxsEntries=' + ID_P1Strom +
      '&dxsEntries=' + ID_P2Strom +
      '&dxsEntries=' + ID_P1Leistung +
      '&dxsEntries=' + ID_P2Leistung +
      '&dxsEntries=' + ID_Status +
      '&dxsEntries=' + ID_DC1Leistung +
      '&dxsEntries=' + ID_DC2Leistung +
      '&dxsEntries=' + ID_P3Spannung + // 23
      // '&dxsEntries=' + ID_P3Strom + // 24
      '&dxsEntries=' + ID_DC3Leistung, //25

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

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

      });
      }

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

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

      Log:

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

        @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

        Es ist nun dunkel!

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

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

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

          @martybr

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

          Bildschirmfoto 2021-10-04 um 19.04.58.png

          Bildschirmfoto 2021-10-04 um 19.05.20.png

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

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

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

            Gruß und Dank an @Homoran und @Glasfaser

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

              @Homoran

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

              Bildschirmfoto 2021-10-05 um 09.10.15.png

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

                @martybr

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

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

                  @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                  Nur P3Leistung fehlt. Ich versuche den DP zu aktivieren.

                  den habe ich deaktiviert, um String 3 zu bekommen.

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

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

                    @glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:

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

                    ein komma zuviel

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

                      @homoran

                      das fehlte

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

                        @glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:

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

                        //Variable

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

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

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

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

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

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

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

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

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

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

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

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

                        var logging = false;
                        var request = require('request');

                        function Piko() {
                        if (logging) log("Piko 5.5 auslesen");
                        request('http://' + IPAnlage +
                        '?dxsEntries=' + ID_DCEingangGesamt +
                        '&dxsEntries=' + ID_Ausgangsleistung +
                        '&dxsEntries=' + ID_Eigenverbrauch +
                        '&dxsEntries=' + ID_Eigenverbrauch_d +
                        '&dxsEntries=' + ID_Eigenverbrauch_G +
                        '&dxsEntries=' + ID_Eigenverbrauchsquote_d +
                        '&dxsEntries=' + ID_Eigenverbrauchsquote_G +
                        '&dxsEntries=' + ID_Ertrag_d +
                        '&dxsEntries=' + ID_Ertrag_G +
                        '&dxsEntries=' + ID_Hausverbrauch_d +
                        '&dxsEntries=' + ID_Hausverbrauch_G +
                        '&dxsEntries=' + ID_Autarkiegrad_G +
                        '&dxsEntries=' + ID_Autarkiegrad_d +
                        '&dxsEntries=' + ID_Betriebszeit +
                        '&dxsEntries=' + ID_P1Spannung +
                        '&dxsEntries=' + ID_P2Spannung +
                        '&dxsEntries=' + ID_P1Strom +
                        '&dxsEntries=' + ID_P2Strom +
                        '&dxsEntries=' + ID_P1Leistung +
                        '&dxsEntries=' + ID_P2Leistung +
                        '&dxsEntries=' + ID_Status +
                        '&dxsEntries=' + ID_DC1Leistung +
                        '&dxsEntries=' + ID_DC2Leistung +
                        '&dxsEntries=' + ID_P3Spannung + // 23
                        '&dxsEntries=' + ID_P3Strom + // 24
                        '&dxsEntries=' + ID_DC3Leistung+ //25
                        '&dxsEntries=' + ID_P3Leistung, //26

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

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

                        });
                        }

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

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

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

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

                          Nur P3Leistung fehlt. Ich versuche den DP zu aktivieren.

                          den habe ich deaktiviert, um String 3 zu bekommen.

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

                          Eventuell so wie schon @Homoran geschrieben .

                          Das ist alles Trockenübung 🙂

                          M 1 Reply Last reply Reply Quote 0
                          • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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