Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Status vom Kostal Wechselrichter auslesen?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    18
    1
    624

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

Status vom Kostal Wechselrichter auslesen?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
331 Beiträge 35 Kommentatoren 89.3k Aufrufe 25 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Maas-Meister

    @Homoran

    Moin,
    ich habe es nach Wochen erstmals geschafft meinen KOSTAL Piko 4.2 BA erfolgreich mit dem Portal zu verbinden. (Ging nur über den Webserver und nicht direkt am WR)

    Jetzt habe ich alle Daten im IOB sowie im KOSTAL Portal.

    1. Leider bekomme ich keine Daten bei Dunkelheit, da sich der WR Ausschaltet und keine Daten mehr ausspuckt.
      Kann ich das irgendwie ändern?

    2. Es steht im Log in Dauerschleife „verifiziere IP“ / Keine API vorhanden.
      Hab schon die Beiträge in diesem Thread gelesen, jedoch verstehe ich die Lösung nicht.

    Der Piko ist von ~2015/2016 und hat noch kein Update bekommen.

    Wäre schön wenn mir jemand helfen könnte

    K Offline
    K Offline
    kaybau
    schrieb am zuletzt editiert von
    #218

    @Maas-Meister Hi,
    Hast Du eine Batterie am WR?

    M 1 Antwort Letzte Antwort
    0
    • K kaybau

      @Maas-Meister Hi,
      Hast Du eine Batterie am WR?

      M Offline
      M Offline
      Maas-Meister
      schrieb am zuletzt editiert von
      #219

      @kaybau

      Nein.
      Laut support von Kostal ist ein auslesen wenn der WR AUS ist nicht möglich. Sehr sehr schade.

      1 Antwort Letzte Antwort
      0
      • bahnuhrB bahnuhr

        Ich benutze folgendes Script:

        /* Photovoltaik: Piko 5.5 Anlage
        
        Diese Script stammt aus dem Homematic Forum. Von wem weiß ich nicht mehr.
        Lief bei mir als ccu.io.Script einwandfrei.
        
        Dieses Script habe ich nun auf iobroker umgeschrieben.
        
        @bahnuhr
        02.01.2017 Dieter Müller
        */
        
        //Variaben
        var idaktuell = 'javascript.0.Status.Photovoltaik.Leistung_aktuell';
        var idTag = 'javascript.0.Status.Photovoltaik.Tagesleistung';
        var idall = 'javascript.0.Status.Photovoltaik.Leistung_gesamt';
        var idP1 = 'javascript.0.Status.Photovoltaik.Leistung_Strang1';
        var idP2 = 'javascript.0.Status.Photovoltaik.Leistung_Strang2';
        
        var NameAnlage = 'xxx';   // Nutzername der Photovoltaik-Anlage
        var PassAnlage = 'x';   // Password der Photovoltaik-Anlage
        var IPAnlage = '192.168.xxx.xx';   // IP der Photovoltaik-Anlage
        
        var logging = false;
        
         function Piko() {
                    var cheerio = require('cheerio');
                    var request = require('request');
        
                    if (logging) log("Piko 5.5 auslesen");
                    //http://SN-Login:WGrZMkb@192.168.243.75
                    request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
                            $ = cheerio.load(body);
                            var d = $("td");
        
                            var pwr = parseFloat(d.eq(14).text().trim());   // Energie aktuell in W
                            var day = parseFloat(d.eq(26).text().trim());   // Tagesenergie in kWh
                            var all = parseFloat(d.eq(17).text().trim());   // Gesamtenergie in kWh
                            var v1 = d.eq(56).text().trim();   // PV Generator Nr. 1 - Spannung in V
                            var i1 = d.eq(65).text().trim();   // PV Generator Nr. 1 - Strom in A
                            var p1 = parseInt(v1 * i1);
                            var v2 = d.eq(82).text().trim();   // PV Generator Nr. 1 - Spannung in V
                            var i2 = d.eq(91).text().trim();   // PV Generator Nr. 1 - Strom in A
                            var p2 = parseInt(v2 * i2);
                            if (isNaN(pwr)) pwr = 0;
                            if (isNaN(p1)) p1 = 0;
                            if (isNaN(p2)) p2 = 0;
        
                            if (logging) log("Leistung aktuell= " + pwr);
                            if (logging) log("Tagesleistung= " + day);
                            if (logging) log("Leistung gesamt= " + all);
        					if (logging) log("Leistung Strang 1= " + p1);
        					if (logging) log("Leistung Strang 2= " + p2);
        
                            setState(idaktuell, pwr);
                            setState(idTag, day);
                            setState(idall, all);
                            setState(idP1, p1);
                            setState(idP2, p2);
                    });
            }
        
        schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
            log ("Auslöser: Schedule");
        	Piko();
        });
        
        schedule("3 0 * * *", function () {     // Variablen löschen um 00:03 Uhr
            setState('javascript.0.Status.Photovoltaik.Tagesleistung', 0);
        });
        
        
        • Variablen manuell anlegen

        • benutzernamen, password, ip anpassen

        • cheerio unter js eintragen.

        dann klappts.

        mfg

        Dieter

        E Offline
        E Offline
        erwin890
        schrieb am zuletzt editiert von
        #220

        @bahnuhr Hallo! Gibt es eventuell ein neues Skript für die Piko mit älterem Bios? Ich bekommen hier die Fehlermeldung "javascript.0 2021-07-04 19:52:00.090 error (863) Error in request callback: TypeError: d.eq is not a function"

        Über eine Hilfe würde ich mich wirklich sehr freuen.

        bahnuhrB 1 Antwort Letzte Antwort
        0
        • HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #221

          @erwin890 bitte ganze Fehlermeldung in code tags posten.

          da Fehlen noch Infos

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          E 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @erwin890 bitte ganze Fehlermeldung in code tags posten.

            da Fehlen noch Infos

            E Offline
            E Offline
            erwin890
            schrieb am zuletzt editiert von
            #222

            @homoran Hallo - eigentlich ist das alles, was der IO Broker im LOG anzeigt.... was soll ich machen ?

            HomoranH 1 Antwort Letzte Antwort
            0
            • E erwin890

              @homoran Hallo - eigentlich ist das alles, was der IO Broker im LOG anzeigt.... was soll ich machen ?

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von Homoran
              #223

              @erwin890 sagte in Status vom Kostal Wechselrichter auslesen?:

              @homoran Hallo - eigentlich ist das alles, was der IO Broker im LOG anzeigt.... was soll ich machen ?

              da müsste noch ein Hinweis auf die codestelle sein.

              bist du sicher dass das Script für den alten piko ist?
              da war doch der Parser besser geeignet.

              ist schon soooo lange her

              die Variablen hast du aber angepasst?

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Antwort Letzte Antwort
              0
              • E erwin890

                @bahnuhr Hallo! Gibt es eventuell ein neues Skript für die Piko mit älterem Bios? Ich bekommen hier die Fehlermeldung "javascript.0 2021-07-04 19:52:00.090 error (863) Error in request callback: TypeError: d.eq is not a function"

                Über eine Hilfe würde ich mich wirklich sehr freuen.

                bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #224

                @erwin890 sagte in Status vom Kostal Wechselrichter auslesen?:

                @bahnuhr Hallo! Gibt es eventuell ein neues Skript für die Piko mit älterem Bios? Ich bekommen hier die Fehlermeldung "javascript.0 2021-07-04 19:52:00.090 error (863) Error in request callback: TypeError: d.eq is not a function"

                Über eine Hilfe würde ich mich wirklich sehr freuen.

                Das ist das Script was momentan bei mir läuft.

                
                // Photovoltaik: Piko 5.5 Anlage (alte Firmware)
                // Danke an homoran für den regex
                // @bahnuhr; 03/2019 Dieter Müller
                
                //Variaben
                    var idaktuell = 'javascript.0.Geräte.Photovoltaik.Leistung_aktuell';
                    var idTag = 'javascript.0.Geräte.Photovoltaik.Tagesleistung';
                    var idall = 'javascript.0.Geräte.Photovoltaik.Leistung_gesamt';
                    var idP1 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang1';
                    var idP2 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang2';
                
                    var NameAnlage = 'xxx';        // Nutzername der Photovoltaik-Anlage
                    var PassAnlage = 'xxx';         // Password der Photovoltaik-Anlage
                    var IPAnlage = '192.168.xxx.xxx';    // IP der Photovoltaik-Anlage
                
                    var logging = false;
                    var request = require('request');
                
                
                 function Piko() {
                    log("Piko 5.5 auslesen");
                    var results = [];
                    request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
                        var d = body.toString();
                        if (logging) log (d);
                        var reg = /#FFFFFF">[^\d]+([^<]+)/g
                        var z = reg.exec(d);
                
                        while(z != null) {
                            if (isNaN(z[1])) {
                                if (logging) log("keine Zahl= "+ z[1]);
                                z[1] = 0;
                            } else {
                                if (logging) log("Zahl= "+ z[1]);
                                parseFloat(z[1]);
                            }
                            results[results.length] = z[1];
                            z = reg.exec(d);
                        }
                        if (logging) log("results= "+ results);
                
                    // Werte zuordnen
                        var pwr = results[0];           // Energie aktuell in W
                        var day = results[2];           // Tagesenergie in kWh
                        var all = results[1];           // Gesamtenergie in kWh
                        var v1 = results[3];            // PV Generator Nr. 1 - Spannung in V
                        var i1 = results[5];            // PV Generator Nr. 1 - Strom in A
                        var p1 = parseInt(v1 * i1);
                        var v2 = results[7];            // PV Generator Nr. 2 - Spannung in V
                        var i2 = results[9];            // PV Generator Nr. 2 - Strom in A
                        var p2 = parseInt(v2 * i2);
                
                        if (logging) log("Leistung aktuell= " + pwr + " W");
                        if (logging) log("Tagesleistung= " + day + " kWh");
                        if (logging) log("Leistung gesamt= " + all + " kWh");
                	    if (logging) log("Leistung Strang 1= " + p1 + " W");
                    	if (logging) log("Leistung Strang 2= " + p2 + " W");
                
                        setState(idaktuell, parseFloat(pwr));
                        setState(idTag, parseFloat(day));
                        setState(idall, parseFloat(all));
                        setState(idP1, parseFloat(p1));
                        setState(idP2, parseFloat(p2));
                    });
                }
                
                
                schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                    log ("Auslöser: Schedule");
                	Piko();
                });
                
                schedule("3 0 * * *", function () {     // Variablen löschen um 00:03 Uhr   
                    setState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0);
                });
                
                

                Variablen manuell anlegen.

                mfg
                Dieter


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                E 1 Antwort Letzte Antwort
                1
                • bahnuhrB bahnuhr

                  @erwin890 sagte in Status vom Kostal Wechselrichter auslesen?:

                  @bahnuhr Hallo! Gibt es eventuell ein neues Skript für die Piko mit älterem Bios? Ich bekommen hier die Fehlermeldung "javascript.0 2021-07-04 19:52:00.090 error (863) Error in request callback: TypeError: d.eq is not a function"

                  Über eine Hilfe würde ich mich wirklich sehr freuen.

                  Das ist das Script was momentan bei mir läuft.

                  
                  // Photovoltaik: Piko 5.5 Anlage (alte Firmware)
                  // Danke an homoran für den regex
                  // @bahnuhr; 03/2019 Dieter Müller
                  
                  //Variaben
                      var idaktuell = 'javascript.0.Geräte.Photovoltaik.Leistung_aktuell';
                      var idTag = 'javascript.0.Geräte.Photovoltaik.Tagesleistung';
                      var idall = 'javascript.0.Geräte.Photovoltaik.Leistung_gesamt';
                      var idP1 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang1';
                      var idP2 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang2';
                  
                      var NameAnlage = 'xxx';        // Nutzername der Photovoltaik-Anlage
                      var PassAnlage = 'xxx';         // Password der Photovoltaik-Anlage
                      var IPAnlage = '192.168.xxx.xxx';    // IP der Photovoltaik-Anlage
                  
                      var logging = false;
                      var request = require('request');
                  
                  
                   function Piko() {
                      log("Piko 5.5 auslesen");
                      var results = [];
                      request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
                          var d = body.toString();
                          if (logging) log (d);
                          var reg = /#FFFFFF">[^\d]+([^<]+)/g
                          var z = reg.exec(d);
                  
                          while(z != null) {
                              if (isNaN(z[1])) {
                                  if (logging) log("keine Zahl= "+ z[1]);
                                  z[1] = 0;
                              } else {
                                  if (logging) log("Zahl= "+ z[1]);
                                  parseFloat(z[1]);
                              }
                              results[results.length] = z[1];
                              z = reg.exec(d);
                          }
                          if (logging) log("results= "+ results);
                  
                      // Werte zuordnen
                          var pwr = results[0];           // Energie aktuell in W
                          var day = results[2];           // Tagesenergie in kWh
                          var all = results[1];           // Gesamtenergie in kWh
                          var v1 = results[3];            // PV Generator Nr. 1 - Spannung in V
                          var i1 = results[5];            // PV Generator Nr. 1 - Strom in A
                          var p1 = parseInt(v1 * i1);
                          var v2 = results[7];            // PV Generator Nr. 2 - Spannung in V
                          var i2 = results[9];            // PV Generator Nr. 2 - Strom in A
                          var p2 = parseInt(v2 * i2);
                  
                          if (logging) log("Leistung aktuell= " + pwr + " W");
                          if (logging) log("Tagesleistung= " + day + " kWh");
                          if (logging) log("Leistung gesamt= " + all + " kWh");
                  	    if (logging) log("Leistung Strang 1= " + p1 + " W");
                      	if (logging) log("Leistung Strang 2= " + p2 + " W");
                  
                          setState(idaktuell, parseFloat(pwr));
                          setState(idTag, parseFloat(day));
                          setState(idall, parseFloat(all));
                          setState(idP1, parseFloat(p1));
                          setState(idP2, parseFloat(p2));
                      });
                  }
                  
                  
                  schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                      log ("Auslöser: Schedule");
                  	Piko();
                  });
                  
                  schedule("3 0 * * *", function () {     // Variablen löschen um 00:03 Uhr   
                      setState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0);
                  });
                  
                  

                  Variablen manuell anlegen.

                  mfg
                  Dieter

                  E Offline
                  E Offline
                  erwin890
                  schrieb am zuletzt editiert von
                  #225

                  @bahnuhr @Homoran
                  Erstmal ein Riesendankeschön - es läuft sauber mit Ausnahme der Tagesleistung. Die müsste auch "Result[2]" sein, wird aber nicht in die Variable geschrieben. Fall ihr eine Idee habt immer gern! Ich bin aber schon sehr glücklich, dass der Rest läuft.

                  1 Antwort Letzte Antwort
                  0
                  • HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #226

                    @erwin890 sagte in Status vom Kostal Wechselrichter auslesen?:

                    Die müsste auch "Result[2]" sein,

                    @bahnuhr sagte in Status vom Kostal Wechselrichter auslesen?:

                    var day = results[2]; // Tagesenergie in kWh

                    hast du den dp auch genau so angelegt?

                    @bahnuhr sagte in Status vom Kostal Wechselrichter auslesen?:

                    var idTag = 'javascript.0.Geräte.Photovoltaik.Tagesleistung';

                    wenn ja, was steht im log?

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    E 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @erwin890 sagte in Status vom Kostal Wechselrichter auslesen?:

                      Die müsste auch "Result[2]" sein,

                      @bahnuhr sagte in Status vom Kostal Wechselrichter auslesen?:

                      var day = results[2]; // Tagesenergie in kWh

                      hast du den dp auch genau so angelegt?

                      @bahnuhr sagte in Status vom Kostal Wechselrichter auslesen?:

                      var idTag = 'javascript.0.Geräte.Photovoltaik.Tagesleistung';

                      wenn ja, was steht im log?

                      E Offline
                      E Offline
                      erwin890
                      schrieb am zuletzt editiert von
                      #227

                      @homoran COOOL! Die Datenpunkte waren es! DANKE

                      1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        Hab's gefunden, da war noch eine geschweifte Klammer und ein Semikolon zu viel.
                        Dann gab es noch den ein oder anderen kleinen Fehler.
                        Habe jetzt alles korrigiert. Bei mir läuft es jetzt so:

                        Piko_Status_Klartext_objects.png

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

                        PS auch bei mir lief ein Skript noch, das gar nicht mehr existierte.
                        restart der js-Instanz hat geholfen

                        M Offline
                        M Offline
                        MartyBr
                        schrieb am zuletzt editiert von
                        #228

                        @homoran
                        Hallo, ich habe einen Piko 20 mit dem KSEM in Einsatz. Die Firmware vom Piko ist die 6.11. Dein Script läuft einwandfrei. Leider fehlt dort der String 3. Kannst du diese Datenpunkte noch Nachpflegen? Ich verzweifele so langsam an dem Kostal. Die Kombination KSEM und Piko verhindert das saubere Auslesen vom Piko. Alleine dein Script liest die Daten aus.

                        Gruß
                        Martin


                        Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                        Raspeberry mit USB Leseköpfen für Smartmeter
                        Homematic und Homematic IP

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • M MartyBr

                          @homoran
                          Hallo, ich habe einen Piko 20 mit dem KSEM in Einsatz. Die Firmware vom Piko ist die 6.11. Dein Script läuft einwandfrei. Leider fehlt dort der String 3. Kannst du diese Datenpunkte noch Nachpflegen? Ich verzweifele so langsam an dem Kostal. Die Kombination KSEM und Piko verhindert das saubere Auslesen vom Piko. Alleine dein Script liest die Daten aus.

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #229

                          @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                          ich habe einen Piko 20 mit dem KSEM in Einsatz

                          ich leider nicht ;-)

                          @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                          Leider fehlt dort der String 3. Kannst du diese Datenpunkte noch Nachpflegen?

                          dann bräuchte ich aber die Daten, die dein Piko liefert

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          M 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                            ich habe einen Piko 20 mit dem KSEM in Einsatz

                            ich leider nicht ;-)

                            @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                            Leider fehlt dort der String 3. Kannst du diese Datenpunkte noch Nachpflegen?

                            dann bräuchte ich aber die Daten, die dein Piko liefert

                            M Offline
                            M Offline
                            MartyBr
                            schrieb am zuletzt editiert von
                            #230

                            @homoran
                            Wie kann ich dir die Daten liefern?

                            Gruß
                            Martin


                            Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                            Raspeberry mit USB Leseköpfen für Smartmeter
                            Homematic und Homematic IP

                            HomoranH 1 Antwort Letzte Antwort
                            0
                            • M MartyBr

                              @homoran
                              Wie kann ich dir die Daten liefern?

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #231

                              @martybr hier in code tags posten

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              M 1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

                                @martybr hier in code tags posten

                                M Offline
                                M Offline
                                MartyBr
                                schrieb am zuletzt editiert von Homoran
                                #232

                                @homoran
                                Sorry, die Webseite? Ich habe mal die Webseite gespeichert, vermute aber dass das nicht gemeint war. Kannst du mir noch einen Tipp geben?

                                [PIKO 20 __ Piko_20.html](/assets/uploads/files/1633352539531-piko-20-__-piko_20.html) 
                                
                                [kbApp-1.1.6.js](/assets/uploads/files/1633352574322-kbapp-1.1.6.js) 
                                
                                [kbApp-1.1.6.css](/assets/uploads/files/1633352587592-kbapp-1.1.6.css)
                                
                                <!DOCTYPE html>
                                <html ng-app="kbApp" ng-controller="kbAppCtrl">
                                <head>
                                   <link rel="icon" href="/assets/favicon.ico">
                                   <title ng-bind="inverterTypeName + ' <> ' + inverterName"></title>
                                   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
                                   <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
                                   <!--Deaktivate Chaching to avoid problems-->
                                   <meta http-equiv="cache-control: private, max-age=0, no-cache" content="no-store" />
                                   <meta http-equiv="expires" content="0" />
                                   <meta http-equiv="pragma" content="no-cache" />
                                
                                   <!-- compiled CSS -->
                                   <link rel="stylesheet" type="text/css" href="assets/kbApp-1.1.6.css"/>
                                   
                                </head>
                                <body>
                                <!-- Loading -->
                                <div kb-Hide-After-Init class = "loader" style="z-index: 3000">
                                   <div class="loader-inner-big">
                                      <i class="icon-spinner animate-spin"></i>
                                      <div id="errorMsg"></div>
                                   </div>
                                </div>
                                <!-- Page -->
                                <div class="kbContainer">
                                   <div class="kbBanner">
                                      <div class="kbLogoPrim"></div>
                                      <div class="kbLogoSec"></div>
                                      <div class="kbLanguageSelectBar" ng-controller="languageSelCtrl">
                                         <div ng-repeat="language in languages">
                                            <div kb-language-select-item></div>
                                         </div>
                                      </div>
                                   </div>
                                   <div class="kbPage">
                                      <div class="kbDivider"></div>
                                      <div class="kbNav" ng-controller="navigationCtrl">
                                         <kb-navigation nodes="menu"></kb-navigation>
                                         <div class="kbLogoSlogan"></div>
                                      </div>
                                      <div class="kbContent">
                                         <div class="kbContentHeading">
                                            <div class="kbInfo">
                                               <div class="kbInverter">
                                                  <span class="inverterType"> {{inverterTypeName}}</span>
                                                  <span class="inverterName"> ({{inverterName}})</span>
                                               </div>
                                               <div class="kbUserAndDate">
                                                  <div><i class="icon-calendar"><span>{{appDate | date:'short'}}</span></i></div>
                                                  <div><i class="icon-user"><span>{{appUserTranslationId | translate}}</span></i></div>
                                               </div>
                                            </div>
                                            <div class="kbNavTitle" ng-controller="navigationCtrl">
                                               <kb-navigation-breadcrumb breadcrumbs="breadcrumbs"></kb-navigation-breadcrumb>
                                            </div>
                                         </div>
                                         <div class="kbContentView">
                                            <div ng-show="appPageInfo.loadingInProgress" ng-cloak class = "loader" style="z-index: 2000">
                                               <div class="loader-inner">
                                                  <i class="icon-spinner animate-spin"></i>
                                               </div>
                                            </div>
                                            <div ng-show="appPageInfo.loadingFailed" ng-cloak class = "loader" style="z-index: 2000">
                                               <div class="loader-inner">
                                                  <i class="icon-error"></i>
                                               </div>
                                            </div>
                                            <div ng-show="appPageInfo.submitInProgress" ng-cloak class = "loader-transparent" style="z-index: 2000">
                                               <div class="loader-inner">
                                                  <i class="icon-spinner animate-spin"></i>
                                               </div>
                                            </div>
                                            <div class="kbView" ng-view></div>
                                            <div class="kbViewInfo" ng-show="appPageInfo.submitSuccessful || appPageInfo.submitFailed">
                                               <div ng-show="appPageInfo.submitSuccessful">
                                                  <i class="icon-ok info-ok">{{appPageInfo.displayMsgId | translate}}</i>
                                               </div>
                                               <div ng-show="appPageInfo.submitFailed">
                                                  <i class="icon-error info-error">{{appPageInfo.displayMsgId | translate}}</i>
                                               </div>
                                            </div>
                                         </div>
                                      </div>
                                   </div>
                                   <div class="kbFooter">
                                      <div class="kbWebversion">v1.1.6</div>
                                   </div>
                                </div>
                                
                                <!-- compiled JavaScript -->
                                <script type="text/javascript" src="assets/kbApp-1.1.6.js"></script>
                                
                                </body>
                                </html>
                                

                                Gruß
                                Martin


                                Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                Raspeberry mit USB Leseköpfen für Smartmeter
                                Homematic und Homematic IP

                                M 1 Antwort Letzte Antwort
                                0
                                • M MartyBr

                                  @homoran
                                  Sorry, die Webseite? Ich habe mal die Webseite gespeichert, vermute aber dass das nicht gemeint war. Kannst du mir noch einen Tipp geben?

                                  [PIKO 20 __ Piko_20.html](/assets/uploads/files/1633352539531-piko-20-__-piko_20.html) 
                                  
                                  [kbApp-1.1.6.js](/assets/uploads/files/1633352574322-kbapp-1.1.6.js) 
                                  
                                  [kbApp-1.1.6.css](/assets/uploads/files/1633352587592-kbapp-1.1.6.css)
                                  
                                  <!DOCTYPE html>
                                  <html ng-app="kbApp" ng-controller="kbAppCtrl">
                                  <head>
                                     <link rel="icon" href="/assets/favicon.ico">
                                     <title ng-bind="inverterTypeName + ' <> ' + inverterName"></title>
                                     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
                                     <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
                                     <!--Deaktivate Chaching to avoid problems-->
                                     <meta http-equiv="cache-control: private, max-age=0, no-cache" content="no-store" />
                                     <meta http-equiv="expires" content="0" />
                                     <meta http-equiv="pragma" content="no-cache" />
                                  
                                     <!-- compiled CSS -->
                                     <link rel="stylesheet" type="text/css" href="assets/kbApp-1.1.6.css"/>
                                     
                                  </head>
                                  <body>
                                  <!-- Loading -->
                                  <div kb-Hide-After-Init class = "loader" style="z-index: 3000">
                                     <div class="loader-inner-big">
                                        <i class="icon-spinner animate-spin"></i>
                                        <div id="errorMsg"></div>
                                     </div>
                                  </div>
                                  <!-- Page -->
                                  <div class="kbContainer">
                                     <div class="kbBanner">
                                        <div class="kbLogoPrim"></div>
                                        <div class="kbLogoSec"></div>
                                        <div class="kbLanguageSelectBar" ng-controller="languageSelCtrl">
                                           <div ng-repeat="language in languages">
                                              <div kb-language-select-item></div>
                                           </div>
                                        </div>
                                     </div>
                                     <div class="kbPage">
                                        <div class="kbDivider"></div>
                                        <div class="kbNav" ng-controller="navigationCtrl">
                                           <kb-navigation nodes="menu"></kb-navigation>
                                           <div class="kbLogoSlogan"></div>
                                        </div>
                                        <div class="kbContent">
                                           <div class="kbContentHeading">
                                              <div class="kbInfo">
                                                 <div class="kbInverter">
                                                    <span class="inverterType"> {{inverterTypeName}}</span>
                                                    <span class="inverterName"> ({{inverterName}})</span>
                                                 </div>
                                                 <div class="kbUserAndDate">
                                                    <div><i class="icon-calendar"><span>{{appDate | date:'short'}}</span></i></div>
                                                    <div><i class="icon-user"><span>{{appUserTranslationId | translate}}</span></i></div>
                                                 </div>
                                              </div>
                                              <div class="kbNavTitle" ng-controller="navigationCtrl">
                                                 <kb-navigation-breadcrumb breadcrumbs="breadcrumbs"></kb-navigation-breadcrumb>
                                              </div>
                                           </div>
                                           <div class="kbContentView">
                                              <div ng-show="appPageInfo.loadingInProgress" ng-cloak class = "loader" style="z-index: 2000">
                                                 <div class="loader-inner">
                                                    <i class="icon-spinner animate-spin"></i>
                                                 </div>
                                              </div>
                                              <div ng-show="appPageInfo.loadingFailed" ng-cloak class = "loader" style="z-index: 2000">
                                                 <div class="loader-inner">
                                                    <i class="icon-error"></i>
                                                 </div>
                                              </div>
                                              <div ng-show="appPageInfo.submitInProgress" ng-cloak class = "loader-transparent" style="z-index: 2000">
                                                 <div class="loader-inner">
                                                    <i class="icon-spinner animate-spin"></i>
                                                 </div>
                                              </div>
                                              <div class="kbView" ng-view></div>
                                              <div class="kbViewInfo" ng-show="appPageInfo.submitSuccessful || appPageInfo.submitFailed">
                                                 <div ng-show="appPageInfo.submitSuccessful">
                                                    <i class="icon-ok info-ok">{{appPageInfo.displayMsgId | translate}}</i>
                                                 </div>
                                                 <div ng-show="appPageInfo.submitFailed">
                                                    <i class="icon-error info-error">{{appPageInfo.displayMsgId | translate}}</i>
                                                 </div>
                                              </div>
                                           </div>
                                        </div>
                                     </div>
                                     <div class="kbFooter">
                                        <div class="kbWebversion">v1.1.6</div>
                                     </div>
                                  </div>
                                  
                                  <!-- compiled JavaScript -->
                                  <script type="text/javascript" src="assets/kbApp-1.1.6.js"></script>
                                  
                                  </body>
                                  </html>
                                  
                                  M Offline
                                  M Offline
                                  MartyBr
                                  schrieb am zuletzt editiert von
                                  #233

                                  @Homoran
                                  Hier mal die Seite mit den Strings:

                                  
                                  <!DOCTYPE html>
                                  <html ng-app="kbApp" ng-controller="kbAppCtrl">
                                  <head>
                                     <link rel="icon" href="/assets/favicon.ico">
                                     <title ng-bind="inverterTypeName + ' <> ' + inverterName"></title>
                                     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
                                     <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
                                     <!--Deaktivate Chaching to avoid problems-->
                                     <meta http-equiv="cache-control: private, max-age=0, no-cache" content="no-store" />
                                     <meta http-equiv="expires" content="0" />
                                     <meta http-equiv="pragma" content="no-cache" />
                                  
                                     <!-- compiled CSS -->
                                     <link rel="stylesheet" type="text/css" href="assets/kbApp-1.1.6.css"/>
                                     
                                  </head>
                                  <body>
                                  <!-- Loading -->
                                  <div kb-Hide-After-Init class = "loader" style="z-index: 3000">
                                     <div class="loader-inner-big">
                                        <i class="icon-spinner animate-spin"></i>
                                        <div id="errorMsg"></div>
                                     </div>
                                  </div>
                                  <!-- Page -->
                                  <div class="kbContainer">
                                     <div class="kbBanner">
                                        <div class="kbLogoPrim"></div>
                                        <div class="kbLogoSec"></div>
                                        <div class="kbLanguageSelectBar" ng-controller="languageSelCtrl">
                                           <div ng-repeat="language in languages">
                                              <div kb-language-select-item></div>
                                           </div>
                                        </div>
                                     </div>
                                     <div class="kbPage">
                                        <div class="kbDivider"></div>
                                        <div class="kbNav" ng-controller="navigationCtrl">
                                           <kb-navigation nodes="menu"></kb-navigation>
                                           <div class="kbLogoSlogan"></div>
                                        </div>
                                        <div class="kbContent">
                                           <div class="kbContentHeading">
                                              <div class="kbInfo">
                                                 <div class="kbInverter">
                                                    <span class="inverterType"> {{inverterTypeName}}</span>
                                                    <span class="inverterName"> ({{inverterName}})</span>
                                                 </div>
                                                 <div class="kbUserAndDate">
                                                    <div><i class="icon-calendar"><span>{{appDate | date:'short'}}</span></i></div>
                                                    <div><i class="icon-user"><span>{{appUserTranslationId | translate}}</span></i></div>
                                                 </div>
                                              </div>
                                              <div class="kbNavTitle" ng-controller="navigationCtrl">
                                                 <kb-navigation-breadcrumb breadcrumbs="breadcrumbs"></kb-navigation-breadcrumb>
                                              </div>
                                           </div>
                                           <div class="kbContentView">
                                              <div ng-show="appPageInfo.loadingInProgress" ng-cloak class = "loader" style="z-index: 2000">
                                                 <div class="loader-inner">
                                                    <i class="icon-spinner animate-spin"></i>
                                                 </div>
                                              </div>
                                              <div ng-show="appPageInfo.loadingFailed" ng-cloak class = "loader" style="z-index: 2000">
                                                 <div class="loader-inner">
                                                    <i class="icon-error"></i>
                                                 </div>
                                              </div>
                                              <div ng-show="appPageInfo.submitInProgress" ng-cloak class = "loader-transparent" style="z-index: 2000">
                                                 <div class="loader-inner">
                                                    <i class="icon-spinner animate-spin"></i>
                                                 </div>
                                              </div>
                                              <div class="kbView" ng-view></div>
                                              <div class="kbViewInfo" ng-show="appPageInfo.submitSuccessful || appPageInfo.submitFailed">
                                                 <div ng-show="appPageInfo.submitSuccessful">
                                                    <i class="icon-ok info-ok">{{appPageInfo.displayMsgId | translate}}</i>
                                                 </div>
                                                 <div ng-show="appPageInfo.submitFailed">
                                                    <i class="icon-error info-error">{{appPageInfo.displayMsgId | translate}}</i>
                                                 </div>
                                              </div>
                                           </div>
                                        </div>
                                     </div>
                                     <div class="kbFooter">
                                        <div class="kbWebversion">v1.1.6</div>
                                     </div>
                                  </div>
                                  
                                  <!-- compiled JavaScript -->
                                  <script type="text/javascript" src="assets/kbApp-1.1.6.js"></script>
                                  
                                  </body>
                                  </html>
                                  
                                  
                                  
                                  

                                  Gruß
                                  Martin


                                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                  Raspeberry mit USB Leseköpfen für Smartmeter
                                  Homematic und Homematic IP

                                  HomoranH 1 Antwort Letzte Antwort
                                  0
                                  • M MartyBr

                                    @Homoran
                                    Hier mal die Seite mit den Strings:

                                    
                                    <!DOCTYPE html>
                                    <html ng-app="kbApp" ng-controller="kbAppCtrl">
                                    <head>
                                       <link rel="icon" href="/assets/favicon.ico">
                                       <title ng-bind="inverterTypeName + ' <> ' + inverterName"></title>
                                       <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
                                       <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
                                       <!--Deaktivate Chaching to avoid problems-->
                                       <meta http-equiv="cache-control: private, max-age=0, no-cache" content="no-store" />
                                       <meta http-equiv="expires" content="0" />
                                       <meta http-equiv="pragma" content="no-cache" />
                                    
                                       <!-- compiled CSS -->
                                       <link rel="stylesheet" type="text/css" href="assets/kbApp-1.1.6.css"/>
                                       
                                    </head>
                                    <body>
                                    <!-- Loading -->
                                    <div kb-Hide-After-Init class = "loader" style="z-index: 3000">
                                       <div class="loader-inner-big">
                                          <i class="icon-spinner animate-spin"></i>
                                          <div id="errorMsg"></div>
                                       </div>
                                    </div>
                                    <!-- Page -->
                                    <div class="kbContainer">
                                       <div class="kbBanner">
                                          <div class="kbLogoPrim"></div>
                                          <div class="kbLogoSec"></div>
                                          <div class="kbLanguageSelectBar" ng-controller="languageSelCtrl">
                                             <div ng-repeat="language in languages">
                                                <div kb-language-select-item></div>
                                             </div>
                                          </div>
                                       </div>
                                       <div class="kbPage">
                                          <div class="kbDivider"></div>
                                          <div class="kbNav" ng-controller="navigationCtrl">
                                             <kb-navigation nodes="menu"></kb-navigation>
                                             <div class="kbLogoSlogan"></div>
                                          </div>
                                          <div class="kbContent">
                                             <div class="kbContentHeading">
                                                <div class="kbInfo">
                                                   <div class="kbInverter">
                                                      <span class="inverterType"> {{inverterTypeName}}</span>
                                                      <span class="inverterName"> ({{inverterName}})</span>
                                                   </div>
                                                   <div class="kbUserAndDate">
                                                      <div><i class="icon-calendar"><span>{{appDate | date:'short'}}</span></i></div>
                                                      <div><i class="icon-user"><span>{{appUserTranslationId | translate}}</span></i></div>
                                                   </div>
                                                </div>
                                                <div class="kbNavTitle" ng-controller="navigationCtrl">
                                                   <kb-navigation-breadcrumb breadcrumbs="breadcrumbs"></kb-navigation-breadcrumb>
                                                </div>
                                             </div>
                                             <div class="kbContentView">
                                                <div ng-show="appPageInfo.loadingInProgress" ng-cloak class = "loader" style="z-index: 2000">
                                                   <div class="loader-inner">
                                                      <i class="icon-spinner animate-spin"></i>
                                                   </div>
                                                </div>
                                                <div ng-show="appPageInfo.loadingFailed" ng-cloak class = "loader" style="z-index: 2000">
                                                   <div class="loader-inner">
                                                      <i class="icon-error"></i>
                                                   </div>
                                                </div>
                                                <div ng-show="appPageInfo.submitInProgress" ng-cloak class = "loader-transparent" style="z-index: 2000">
                                                   <div class="loader-inner">
                                                      <i class="icon-spinner animate-spin"></i>
                                                   </div>
                                                </div>
                                                <div class="kbView" ng-view></div>
                                                <div class="kbViewInfo" ng-show="appPageInfo.submitSuccessful || appPageInfo.submitFailed">
                                                   <div ng-show="appPageInfo.submitSuccessful">
                                                      <i class="icon-ok info-ok">{{appPageInfo.displayMsgId | translate}}</i>
                                                   </div>
                                                   <div ng-show="appPageInfo.submitFailed">
                                                      <i class="icon-error info-error">{{appPageInfo.displayMsgId | translate}}</i>
                                                   </div>
                                                </div>
                                             </div>
                                          </div>
                                       </div>
                                       <div class="kbFooter">
                                          <div class="kbWebversion">v1.1.6</div>
                                       </div>
                                    </div>
                                    
                                    <!-- compiled JavaScript -->
                                    <script type="text/javascript" src="assets/kbApp-1.1.6.js"></script>
                                    
                                    </body>
                                    </html>
                                    
                                    
                                    
                                    
                                    HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von
                                    #234

                                    @martybr nee, taugt alles nichts.

                                    ich galube das ist hier auch der falsche Thread.
                                    bin aber auch nicht mehr sicher, weil es immer drüber und drunter geht.

                                    Zumindest anfangs ging es um die FW <5.3

                                    @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                                    Die Firmware vom Piko ist die 6.11.

                                    sollte damit nicht funktionieren.

                                    welches Script nutzst du denn genau?

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    M 2 Antworten Letzte Antwort
                                    0
                                    • HomoranH Homoran

                                      @martybr nee, taugt alles nichts.

                                      ich galube das ist hier auch der falsche Thread.
                                      bin aber auch nicht mehr sicher, weil es immer drüber und drunter geht.

                                      Zumindest anfangs ging es um die FW <5.3

                                      @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                                      Die Firmware vom Piko ist die 6.11.

                                      sollte damit nicht funktionieren.

                                      welches Script nutzst du denn genau?

                                      M Offline
                                      M Offline
                                      MartyBr
                                      schrieb am zuletzt editiert von
                                      #235

                                      @homoran
                                      das hier:

                                      Alle Werte kommen bis auf die Werte vom String 3:

                                      
                                      // 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
                                         ID_DCEingangGesamt = 33556736;         // in W
                                         ID_Ausgangsleistung = 67109120;        // in W
                                         ID_Eigenverbrauch = 83888128;          // in W
                                         
                                         //Status
                                         ID_Status = 16780032;                  // 0:Off
                                         
                                         //Statistik - Tag
                                         ID_Ertrag_d = 251658754;               // in Wh
                                         ID_Hausverbrauch_d = 251659010;        // in Wh
                                         ID_Eigenverbrauch_d = 251659266;       // in Wh
                                         ID_Eigenverbrauchsquote_d = 251659278; // in %
                                         ID_Autarkiegrad_d = 251659279;         // in %
                                         
                                         //Statistik - Gesamt
                                         ID_Ertrag_G = 251658753;               // in kWh
                                         ID_Hausverbrauch_G = 251659009;        // in kWh
                                         ID_Eigenverbrauch_G = 251659265;       // in kWh
                                         ID_Eigenverbrauchsquote_G = 251659280; // in %
                                         ID_Autarkiegrad_G = 251659281;         // in %
                                         ID_Betriebszeit = 251658496;           // in h
                                         
                                         //Momentanwerte - PV Generator
                                         ID_DC1Spannung = 33555202;             // in V
                                         ID_DC1Strom = 33555201;                // in A
                                         ID_DC1Leistung = 33555203;             // in W
                                         ID_DC2Spannung = 33555458;             // in V
                                         ID_DC2Strom = 33555457;                // in A
                                         ID_DC2Leistung = 33555459;             // in W
                                         
                                         //Momentanwerte Haus
                                         ID_HausverbrauchSolar = 83886336;      // in W
                                         ID_HausverbrauchBatterie = 83886592;   // in W
                                         ID_HausverbrauchNetz = 83886848;       // in W
                                         ID_HausverbrauchPhase1 = 83887106;     // in W
                                         ID_HausverbrauchPhase2 = 83887362;     // in W
                                         ID_HausverbrauchPhase3 = 83887618;     // in W
                                         
                                         //Netz Netzparameter
                                         ID_NetzAusgangLeistung = 67109120;     // in W
                                         ID_NetzFrequenz = 67110400;            // in Hz
                                         ID_NetzCosPhi = 67110656;
                                         
                                         //Netz Phase 1
                                         ID_P1Spannung = 67109378;              // in V
                                         ID_P1Strom = 67109377;                 // in A
                                         ID_P1Leistung = 67109379;              // in W
                                         
                                         //Netz Phase 2
                                         ID_P2Spannung = 67109634;              // in V
                                         ID_P2Strom = 67109633;                 // in A
                                         ID_P2Leistung = 67109635;              // in W
                                         
                                         //Netz Phase 3
                                         ID_P3Spannung = 67109890;              // in V
                                         ID_P3Strom = 67109889;                 // in A
                                         ID_P3Leistung = 67109891;              // in W
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      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');
                                      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');
                                      createState('Solaranlage.Momentanwerte.P2Spannung');
                                      createState('Solaranlage.Momentanwerte.P1Strom');
                                      createState('Solaranlage.Momentanwerte.P2Strom');
                                      createState('Solaranlage.Momentanwerte.P1Leistung');
                                      createState('Solaranlage.Momentanwerte.P2Leistung');
                                      createState('Solaranlage.Momentanwerte.Leistung_String1');
                                      createState('Solaranlage.Momentanwerte.Leistung_String2');
                                      
                                      
                                      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,
                                         
                                         function (error, response, body) {
                                             if(!error && response.statusCode ==200) {
                                                 if(logging) log(body);
                                                 var result = JSON.parse(body).dxsEntries;
                                         		
                                         		var Zustand = 'aus';
                                      
                                         		if (result[20].val == 0) {
                                                 Zustand = 'aus';
                                                 } else if (result[20].value== 1) {
                                                 Zustand = 'Leerlauf';
                                                 } else if (result[20].value == 2) {
                                                 Zustand = 'Anfahren';
                                                 } else if (result[20].value == 3) {
                                                 Zustand = 'Einspeisen MPP';
                                                 } else if (result[20].value == 4) {
                                                 Zustand = 'Einspeisen abgeregelt';
                                                 } else if (result[20].value == 7) {
                                                 Zustand = 'Isolationsmessung';
                                                 } else {
                                                 Zustand = (String('Code ') + String('' + result[20].value));
                                                 }
                                             
                                         		
                                         		
                                                 setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                                                 setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true);
                                                 setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                                                 setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
                                             } 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;
                                      
                                      

                                      Gruß
                                      Martin


                                      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                      Raspeberry mit USB Leseköpfen für Smartmeter
                                      Homematic und Homematic IP

                                      HomoranH 1 Antwort Letzte Antwort
                                      0
                                      • M MartyBr

                                        @homoran
                                        das hier:

                                        Alle Werte kommen bis auf die Werte vom String 3:

                                        
                                        // 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
                                           ID_DCEingangGesamt = 33556736;         // in W
                                           ID_Ausgangsleistung = 67109120;        // in W
                                           ID_Eigenverbrauch = 83888128;          // in W
                                           
                                           //Status
                                           ID_Status = 16780032;                  // 0:Off
                                           
                                           //Statistik - Tag
                                           ID_Ertrag_d = 251658754;               // in Wh
                                           ID_Hausverbrauch_d = 251659010;        // in Wh
                                           ID_Eigenverbrauch_d = 251659266;       // in Wh
                                           ID_Eigenverbrauchsquote_d = 251659278; // in %
                                           ID_Autarkiegrad_d = 251659279;         // in %
                                           
                                           //Statistik - Gesamt
                                           ID_Ertrag_G = 251658753;               // in kWh
                                           ID_Hausverbrauch_G = 251659009;        // in kWh
                                           ID_Eigenverbrauch_G = 251659265;       // in kWh
                                           ID_Eigenverbrauchsquote_G = 251659280; // in %
                                           ID_Autarkiegrad_G = 251659281;         // in %
                                           ID_Betriebszeit = 251658496;           // in h
                                           
                                           //Momentanwerte - PV Generator
                                           ID_DC1Spannung = 33555202;             // in V
                                           ID_DC1Strom = 33555201;                // in A
                                           ID_DC1Leistung = 33555203;             // in W
                                           ID_DC2Spannung = 33555458;             // in V
                                           ID_DC2Strom = 33555457;                // in A
                                           ID_DC2Leistung = 33555459;             // in W
                                           
                                           //Momentanwerte Haus
                                           ID_HausverbrauchSolar = 83886336;      // in W
                                           ID_HausverbrauchBatterie = 83886592;   // in W
                                           ID_HausverbrauchNetz = 83886848;       // in W
                                           ID_HausverbrauchPhase1 = 83887106;     // in W
                                           ID_HausverbrauchPhase2 = 83887362;     // in W
                                           ID_HausverbrauchPhase3 = 83887618;     // in W
                                           
                                           //Netz Netzparameter
                                           ID_NetzAusgangLeistung = 67109120;     // in W
                                           ID_NetzFrequenz = 67110400;            // in Hz
                                           ID_NetzCosPhi = 67110656;
                                           
                                           //Netz Phase 1
                                           ID_P1Spannung = 67109378;              // in V
                                           ID_P1Strom = 67109377;                 // in A
                                           ID_P1Leistung = 67109379;              // in W
                                           
                                           //Netz Phase 2
                                           ID_P2Spannung = 67109634;              // in V
                                           ID_P2Strom = 67109633;                 // in A
                                           ID_P2Leistung = 67109635;              // in W
                                           
                                           //Netz Phase 3
                                           ID_P3Spannung = 67109890;              // in V
                                           ID_P3Strom = 67109889;                 // in A
                                           ID_P3Leistung = 67109891;              // in W
                                        
                                        
                                        
                                        
                                        
                                        
                                        
                                        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');
                                        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');
                                        createState('Solaranlage.Momentanwerte.P2Spannung');
                                        createState('Solaranlage.Momentanwerte.P1Strom');
                                        createState('Solaranlage.Momentanwerte.P2Strom');
                                        createState('Solaranlage.Momentanwerte.P1Leistung');
                                        createState('Solaranlage.Momentanwerte.P2Leistung');
                                        createState('Solaranlage.Momentanwerte.Leistung_String1');
                                        createState('Solaranlage.Momentanwerte.Leistung_String2');
                                        
                                        
                                        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,
                                           
                                           function (error, response, body) {
                                               if(!error && response.statusCode ==200) {
                                                   if(logging) log(body);
                                                   var result = JSON.parse(body).dxsEntries;
                                           		
                                           		var Zustand = 'aus';
                                        
                                           		if (result[20].val == 0) {
                                                   Zustand = 'aus';
                                                   } else if (result[20].value== 1) {
                                                   Zustand = 'Leerlauf';
                                                   } else if (result[20].value == 2) {
                                                   Zustand = 'Anfahren';
                                                   } else if (result[20].value == 3) {
                                                   Zustand = 'Einspeisen MPP';
                                                   } else if (result[20].value == 4) {
                                                   Zustand = 'Einspeisen abgeregelt';
                                                   } else if (result[20].value == 7) {
                                                   Zustand = 'Isolationsmessung';
                                                   } else {
                                                   Zustand = (String('Code ') + String('' + result[20].value));
                                                   }
                                               
                                           		
                                           		
                                                   setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                                                   setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true);
                                                   setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                                                   setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
                                               } 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;
                                        
                                        
                                        HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #236

                                        @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                                        das hier:

                                        das gehört aber hier "eigentlich" nicht rein

                                        @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                                        Alle Werte kommen bis auf die Werte vom String 3:

                                        den hat mein WR ja auch nicht geliefert.

                                        dazu brauche ich, was das Skript aus deinem WR abruft

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • HomoranH Homoran

                                          @martybr nee, taugt alles nichts.

                                          ich galube das ist hier auch der falsche Thread.
                                          bin aber auch nicht mehr sicher, weil es immer drüber und drunter geht.

                                          Zumindest anfangs ging es um die FW <5.3

                                          @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                                          Die Firmware vom Piko ist die 6.11.

                                          sollte damit nicht funktionieren.

                                          welches Script nutzst du denn genau?

                                          M Offline
                                          M Offline
                                          MartyBr
                                          schrieb am zuletzt editiert von
                                          #237

                                          @homoran

                                          Ich habe in diesem "Test-Script" die Werte für den String 3 ergänzt. Es kommen da leider Errors, meine angepasste Version läuft nicht:

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

                                          Liefert Fehler:

                                          15:59:11.002 error javascript.0 (1899) at Object.Piko (script.js.Photovoltaik.Kostal-Piko-Test:133:21)
                                          15:59:22.001 error javascript.0 (1899) at Object.Piko (script.js.Photovoltaik.Kostal-Piko-Test:133:21)
                                          15:59:33.002 error javascript.0 (1899) at Object.Piko (script.js.Photovoltaik.Kostal-Piko-Test:133:21)

                                          Gruß
                                          Martin


                                          Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                          Raspeberry mit USB Leseköpfen für Smartmeter
                                          Homematic und Homematic IP

                                          HomoranH 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          667

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe