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

                          905
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

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