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.
    • Homoran
      Homoran Global Moderator Administrators @Glasfaser last edited by

      @glasfaser du kannst gerne gleich übernehmen.
      Als Programmiernoob bin ich gleich am Ende meiner Kenntnisse, zumal ich nicht per trial und error bei mir so lange testen kann bis es läuft

      Der Spoiler müsste jetzt soweit passen hoffe ich
      kannst du dir den mal ansehen, bitte.

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

        @homoran

        setState('Solaranlage.Momentanwerte.P3Spannung', result[23].value || 0, true);
                   setState('Solaranlage.Momentanwerte.P3Strom', result[24].value || 0, true);
                   setState('Solaranlage.Momentanwerte.Leistung_String3', result[27].value || 0, true);
        

        kommt da nicht 23 , 24 , result 25

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

          @homoran sagte in Status vom Kostal Wechselrichter auslesen?:

          <IP>/api/dxs.json?dxsEntries=33555715

          nein !! Das ist String 3. Ihr so so verdammt schnell, da komme ich nicht mit 😀

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

            @glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:

            kommt da nicht 23 , 24 , result 25

            eben nicht. das stand darin.
            ich habe ja 3 Elemente zugefügt (Spannung, Strom und Leistung)

            obwohl:
            das sind ja nur die IDS, ich hab mir das array gar nicht angesehen 😳

            EDIT:
            du hast recht, es muss doch 25 sein, da Spannung und Strom nicht im array sind

            • werde ich sofort ändern
            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @MartyBr last edited by

              @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

              @homoran sagte in Status vom Kostal Wechselrichter auslesen?:

              <IP>/api/dxs.json?dxsEntries=33555715

              nein !! Das ist String 3. Ihr so so verdammt schnell, da komme ich nicht mit 😀

              das war ja auch so geplant!
              die Frage war ob die Zahl zuvor die Leistung von String 2 brachte

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

                @homoran
                Sorry, das finde ich nicht mehr raus.

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

                  @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                  @homoran
                  Sorry, das finde ich nicht mehr raus.

                  dann nimm mal das Skript aus dem Spoiler, ändere die IP und lass mal laufen.

                  Triggerst du auch auf Smartmeter?

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

                    @homoran

                    Ich habe das Auslesen des KSEM noch nicht geschafft und war froh, dieses Script zu finden.

                    Das Problem beim KSEM und dem PIKO ist, dass die Verbindung beider das Auslesen des PIKO via MODBUS verhindert.

                    Ich habe das Script genommen:

                    // 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
                       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
                    
                    
                    
                    
                    
                    
                    
                    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;
                    
                    

                    Leider fehlen immer noch die Werte für den String 3:

                    Bildschirmfoto 2021-10-04 um 17.03.37.png

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

                      @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                      Leider fehlen immer noch die Werte für den String 3:

                      keine Fehler im log?

                      oder triggert das Skript bei dir gar nicht?

                      @homoran sagte in Status vom Kostal Wechselrichter auslesen?:

                      Triggerst du auch auf Smartmeter?

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

                        @homoran
                        Hier Log:

                        
                        
                        javascript.0
                        2021-10-04 17:12:11.050	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:12:00.130	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:11:55.048	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:11:44.048	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:11:33.057	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:11:22.049	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:11:11.051	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:11:00.119	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:10:55.048	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:10:44.049	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:10:33.049	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:10:22.049	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        javascript.0
                        2021-10-04 17:10:11.051	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                        
                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @MartyBr last edited by Homoran

                          @martybr

                          das nutzt nicht viel.
                          bitte Adapter auf logstufe debug stellen und/oder im logfenster unter dem Skript im Editor nachsehen

                          und die Frage nach dem Trigger bitte endlich beantworten

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

                            @homoran
                            Der Javascript Adapter läuft auf debug. Das Script triggert im Sekundenrythmus, die Werte werden geliefert.
                            Im Log ändert sich trotz Debug nichts.

                            ipt.0
                            2021-10-04 17:17:55.048	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:17:44.050	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:17:33.124	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:17:22.050	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:17:11.050	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:17:00.138	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:16:55.051	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:16:44.052	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:16:33.050	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:16:22.053	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:16:11.049	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:16:00.116	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            javascript.0
                            2021-10-04 17:15:55.051	error	Error in request callback: TypeError: Cannot read property 'value' of undefined
                            
                            

                            Im Script-Editor kommt kein Fehler:

                            Bildschirmfoto 2021-10-04 um 17.21.19.png

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

                              @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                              Im Script-Editor kommt kein Fehler:

                              und was ist das für eine rote Welle am oberen Rand des Screenshots?

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

                                @homoran

                                Markierungen im Script-Editor:

                                Bildschirmfoto 2021-10-04 um 17.25.20.png

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

                                  @martybr lass dir doch nicht alles aus der Nase ziehen!

                                  was steht dann im mouse over, wenn du mit der Maus über die Welle gehst

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

                                    @martybr sagte in Status vom Kostal Wechselrichter auslesen?:

                                    @homoran sagte in Status vom Kostal Wechselrichter auslesen?:

                                    <IP>/api/dxs.json?dxsEntries=33555715

                                    nein !! Das ist String 3. Ihr so so verdammt schnell, da komme ich nicht mit 😀

                                    Bei 33555715

                                    Ist eigentlich dort ein Ergebniss gekommen !?

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

                                      @homoran

                                      Cannot find name "ID_Eigenverbrauch_d"

                                      Das steht bei jeder Variable.

                                      Auch in dem Original-Script, dass einwandfrei funktioniert.

                                      Sorry, ich bin in Scripting nicht so versiert. Habe dein Script genommen, es funktioniert, es fehlen nur die Werte für den String 3.

                                      Bildschirmfoto 2021-10-04 um 17.28.04.png

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

                                        @glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:

                                        Bei 33555715

                                        steht zumindest im code, den er gepostet hat

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

                                          @glasfaser
                                          Ja, der Aufruf liefert genau den fehlenden Wert für den String 3.

                                          {"dxsEntries":[{"dxsId":33555715,"value":137.251205}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}

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

                                            @martybr
                                            Hier der Piko (zeitlich versetzt):

                                            Bildschirmfoto 2021-10-04 um 17.32.42.png

                                            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

                                            900
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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