Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Eigenverbrauch PV - PIKO

    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

    Eigenverbrauch PV - PIKO

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @mkrobe last edited by

      @mkrobe sagte in Eigenverbrauch PV - PIKO:

      ich hab's nicht so mit Scripten und ohne die Community, die solche zu Verfügung stellt, würde ich sowas nicht auf die Reihe kriegen

      ich auch nicht, ich traue mich aber (sicherungskopie vorausgesetzt) in skripten Zeilen zu duplizieren und sie anzupassen

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

        @Homoran
        ... das zumindest versuche ich dann auch.
        aber alleine die Variablen in DuckDuckGo zu suchen ...
        ...wüsste ich erstmal nicht wonach man da sucht 🙄

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

          @mkrobe sagte in Eigenverbrauch PV - PIKO:

          wüsste ich erstmal nicht wonach man da sucht

          "PIKO"
          "ID_DC1Spannung"

          und erhält:
          https://www.msxfaq.de/sonst/iot/kostal15.htm

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

            @Homoran 👍

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

              @mkrobe Hier ist "mein" Skript.

              // 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
                  ID_DC3Spannung = 33555714;             // in V
                  ID_DC3Strom = 33555713;                // in A
                  ID_DC3Leistung = 33555715;             // 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.xxx.yyy/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');
              createState('Messwerte.0.Solaranlage.Momentanwerte.P3Leistung');
              createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1');
              createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2');
              createState('Messwerte.0.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_DC3Leistung,
                  
                  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 || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.Status', result[20].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
                          setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String3', result[23].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;
              

              bitte noch die IP anpassen
              ich versuche eben noch "trocken" den String 3 einzubauen

              EDIT: Done - ohne Gewähr

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

                @Homoran sagte in Eigenverbrauch PV - PIKO:

                bitte noch die IP anpassen
                ich versuche eben noch "trocken" den String 3 einzubauen
                EDIT: Done - ohne Gewähr

                Danke schonmal!
                Script läuft, aber ist eigentlich wie das alte, es werden nur die Leistungswerte "Netzseite" angezeigt, nicht jedoch die Leistungswerte der PV-Strings.

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

                  @mkrobe Wann hast du das Skript genommen?
                  stand da schon EDIT?

                  ggf. nochmals die Datenpunkte alle löschen und das Skript neu starten

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

                    @mkrobe
                    Hab nochmal was geändert

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

                      ....jetzt läufts, Vielen Dank!

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

                        @mkrobe sagte in Eigenverbrauch PV - PIKO:

                        ....jetzt läufts, Vielen Dank!

                        Alle drei Strings?

                        Es wäre noch möglich für die Strings auch die Spannung und die Stromstärke zu bekommen, war mir aber nicht wichtig

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

                          Ich habe einfach die Paramter geändert:

                              //PV String 1
                              ID_P1Spannung = 33555202;              // in V
                              ID_P1Strom = 33555201;                 // in A
                              ID_P1Leistung = 33555203;              // in W
                              //PV String 2
                              ID_P2Spannung = 33555458;              // in V
                              ID_P2Strom = 33555457;                 // in A
                              ID_P2Leistung = 33555459;              // in W
                              //PV String 3
                              ID_P3Spannung = 33555714;              // in V
                              ID_P3Strom = 33555713;                 // in A
                              ID_P3Leistung = 33555715;              // in W
                          
                          

                          Da mich die Netzwerte nicht interessieren.
                          Habe damit alles was ich brauche. Nur mit der grafischen Darstellung muß ich noch viel lernen, ich mach das in Flott für jeden Wert und dann in vis runtime füge ich die irgendwie zusammen. So eine Grafik wie Du hast...... da bin ich ja mal meilenweit weg 😉 Das ist mir im Moment noch zu hoch. Aber: "mühsam ernährt sich das Eichhörnchen" 🙂

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

                            @mkrobe sagte in Eigenverbrauch PV - PIKO:

                            o eine Grafik wie Du hast...... da bin ich ja mal meilenweit weg

                            die ist auch über Jahre gewachsen

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

                              Kann man eigentlich im Script die Werte auf 1 oder 2 Stellen hinter dem Komma beschneiden?

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

                                @mkrobe sagte in Eigenverbrauch PV - PIKO:

                                Kann man eigentlich im Script die Werte auf 1 oder 2 Stellen hinter dem Komma beschneiden?

                                Ja!

                                man kann das, ich nicht wirklich so aus der Hinterhand ;-9

                                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

                                991
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                5
                                57
                                3967
                                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