Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Status vom Kostal Wechselrichter auslesen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      amnesia106 last edited by

      Vielen Dank für deine schnelle Anwort, nur leider kommen dort keine Werte bei mir raus.

      Die ip ist korrekt, da ich den Status korrekt angezeigt bekomme…

      Status aber mit :

      (?:\s+([a-zA-Z äöüÄÖÜ]+))
      
      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        Ich kann es leider nicht mehr testen.

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • A
          amnesia106 last edited by

          Kleines Update:

          Die Werte werden nun ausgelesen- aber nicht in die dazugehörigen Objekte geschrieben. Im Parser Adapter werden die richtigen Werte angezeigt, wenn ich auf den „Schraubenschlüssel“ drücke. Also unten im Ergebnis steht alles korrekt. Die Objekte bleiben aber leer- sprich Parser schreibt das Ergebnis nicht in die dazugehörigen Objekte, die Parser selbst erstellt.

          Woran liegt’s?

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

            Bitte Screenshot von der Konfiguration der abfragen

            im Parser adapter

            Gruß

            Rainer

            1 Reply Last reply Reply Quote -1
            • B
              blackplanet333 last edited by

              Ich klinke mich hier auch mal ein.

              Bekomme mittlerweile auch die Werte im Schraubenschlüssel Symbol, aber leider nicht in den Objekten.

              Auch unter regex101 wird das Ergebnis angezeigt.

              Sollte eigendlich nur mit einer iOBroker Einstellung zu tun haben oder?

              Rollen und Typ hab ich alle Kombinationen durchprobiert. Keine Anzeige.

              Ich denke es liegt evtl. noch an den Leerzeichen vor dem jeweiligen Wert? (Bild)

              Angezeigt wird's im Schraubenschlüssel Symbol und unter regex101 wenn ich das eingebe:

              #FFFFFF">\n(..\d*)

              Aber wie gesagt in den Objekten nicht. Kann mir hier jemand beim Code helfen so das es auch iOBroker kapiert?
              6001_ohne_titel2.jpeg
              6001_3.jpeg

              1 Reply Last reply Reply Quote 0
              • B
                blackplanet333 last edited by

                6001_2.jpeg

                1 Reply Last reply Reply Quote 0
                • B
                  blackplanet333 last edited by

                  habs nun selber geschafft…

                  1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User last edited by

                    Hallo

                    Ich habe es auch soweit hinbekommen, jedoch - wie schon bekannt - werden keine Werte im Objekt angezeigt bzw. abgefüllt!?

                    Jemand eine Lösung hierzu? Denn wenn ich keine Werte im Objekt habe, kann ich diese auch nicht für die Visualisierung nutzen.

                    Danke und Gruss

                    Vazi

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User last edited by

                      @Vazi:

                      Hallo

                      Ich habe es auch soweit hinbekommen, jedoch - wie schon bekannt - werden keine Werte im Objekt angezeigt bzw. abgefüllt!?

                      Jemand eine Lösung hierzu? Denn wenn ich keine Werte im Objekt habe, kann ich diese auch nicht für die Visualisierung nutzen.

                      Danke und Gruss

                      Vazi `

                      Habe den "Fehler" gefunden…!! 😄

                      Die Werte sind ja unter javascirpt.0 aufgeführt! Von dort kann ich die Werte nun ja für alles mögliche holen.

                      M 1 Reply Last reply Reply Quote 0
                      • P
                        PRozAC last edited by

                        Kann mir vielleicht nochmal jemand sagen bzw. helfen warum der Wert zwar in den Einstellungen angezeigt, aber nicht in das entsprechende Objekt übernommen wird?

                        Ich bekomme leider als Quality device error 0x44 zurück. Die Fehlermeldung besagt wohl, dass die Nummer oder der String nicht gefunden werden konnte.

                        Ich habe einen Piko 5.5 mit der "alten" Oberfläche ohne JSON API. Deshalb gehe ich davon aus, dass ich das Script nicht nutzen kann/muss und somit auch nicht unter der Javascript Instanz nach den Werten suchen muss 🙂

                        1 Reply Last reply Reply Quote 0
                        • bahnuhr
                          bahnuhr Forum Testing Most Active last edited by

                          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

                          S E 2 Replies Last reply Reply Quote 0
                          • Y
                            Yoschi147 last edited by

                            Hi,

                            ich habe einen Piko 7.0 mit der UI Version 6.20 und FW 5.42 welchen ich gerne mit iobroker auslesen möchte.

                            Ich habe hier schon einige Beiträge gelesen und verschiedene Scripte probiert. Allerdings funktionieren diese bei mir nicht da diese wohl alle für 5.36 und älter sind.

                            Hat jemand von euch schon ein Script das mit einer neueren Version funktioniert?

                            Viele Grüße

                            Yoschi

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

                              Probier das mal:

                              // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                              
                              //Variable
                              
                               //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 Genertor
                                  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
                              
                              var IPAnlage = '192.168.123.456/api/dxs.json';   // IP der Photovoltaik-Anlage
                              
                              createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d',0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G',0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit',0);
                              createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
                              createState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch',0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d');
                              createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', 0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', 0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', 0);
                              createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', 0);
                              createState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung');
                              createState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung');
                              createState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom');
                              createState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom');
                              createState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung');
                              createState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung');
                              
                              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;
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value); 
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', result[7].value, true);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', result[8].value, true);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value);
                                          setState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit', result[13].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung', result[14].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung', result[15].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom', result[16].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom', result[17].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung', result[18].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung', result[19].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.Status', result[20].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1', result[21].value, true);
                                          setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2', result[22].value, true);
                                      } else {
                                          log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
                                      }
                                  });
                              }
                              
                              schedule("*/10 * 5-23 * * *", Piko);
                              

                              IP anpassen und ggf. Schedule. im Moment wird zwischen 5:00 und 23:59 alle 10 Sekunden geparst

                              Gruß

                              rainer

                              1 Reply Last reply Reply Quote 0
                              • Y
                                Yoschi147 last edited by

                                Hi,

                                vielen Dank funktioniert auf anhieb. Weist du bis zu welcher Version vom Piko das Script laufen sollte? Also FW und UI Version? Würde nämlich auch gerne updaten wenn das Script danach noch geht 🙂

                                Viele Grüße

                                Yoschi

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

                                  @Yoschi147:

                                  Weist du bis zu welcher Version vom Piko das Script laufen sollte? `
                                  Nö!

                                  ich denke aber, dass es da kein Problem gibt.

                                  Der große unterschied vor und nach der 5.31 liegt darin, dass vorher HTML-Seiten existierten, die geparst werden konnten, und danach alles mit java läuft.

                                  Gruß

                                  Rainer

                                  1 Reply Last reply Reply Quote 0
                                  • Y
                                    Yoschi147 last edited by

                                    Danke für dein Feedback.

                                    Mir ist gerade noch aufgefallen das im Script selbst die Variablen für P3 (dritte Phase) angelegt ist. Aber das Script diese nicht ausliest.

                                    Ich hatte mein Script um die jeweiligen P3 Zeilen erweitert, aber leider kommen dann für den Part nicht die richtigen werte raus. Ein Wert wird auch gar nicht erst ausgelesen.

                                    
                                     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
                                    

                                    8567_bildschirmfoto_2018-08-29_um_14.00.30.png

                                    1 Reply Last reply Reply Quote 0
                                    • hg6806
                                      hg6806 Most Active last edited by

                                      Guten Morgen,

                                      funktioniert das eigentlich auch bei einem Kostal PLENTICORE plus?

                                      Ich würde das gerne mit Batteriespeicher kaufen, ein System sollte aber unbedingt an ioBroker angebunden werden 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Hideloop last edited by

                                        Plenticore Plus kannst Du ganz einfach über den Modbus Adapter auslesen.

                                        Grüße,

                                        Loop

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          stoepselinho last edited by

                                          Hallo zusammen,

                                          trotz Code

                                          (?:\s+([a-zA-Z äöüÄÖÜ]+))
                                          

                                          wird mir bei Störung immer nur St angezeigt.

                                          Rolle -> Wert

                                          Typ -> String

                                          Alles ander Finktioniert ohne Probleme

                                          hat jemand eine Idee?

                                          1 Reply Last reply Reply Quote 0
                                          • Diginix
                                            Diginix last edited by

                                            Kann mir hier jemand die modbus Adapter Einstellungen für ein Plenticore Plus 5.5 mit Firmware 1.30 erklären oder als Screenshot zeigen.
                                            Habe die IP, Port und GeräteID eingetragen, sonst noch nichts weiter. Die Instanz bleibt aber gelb. Im Log steht "Serial is not available", habe aber TCP gewählt.

                                            J 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            749
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            35
                                            331
                                            58788
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo