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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Frage] Piko Wechslerichter 5.5 (Firmware 5.31) auslesen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    245

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[Frage] Piko Wechslerichter 5.5 (Firmware 5.31) auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
24 Beiträge 5 Kommentatoren 5.2k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #8

    @Strizz:

    Er läuft zwar ohne Fehler durch, aber es werden keine Werte eingefügt. `
    @Strizz:

    Es funktioniert! Ich bin happy! `
    Wo lag der Fehler ?
    @Strizz:

    Wie kann ich das Programm morgens mit Sonnenaufgang starten, dann tagsüber alle 5 Minuten ausführen und mit Sonnenuntergang beenden? `
    Das sollte so funktionieren (nicht getestet):

    ...
    var timer = null;
    
    schedule({astro: "sunrise"}, function () {
        timer = schedule("3,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
            log ("Auslöser: Schedule");
            Piko();
        });
    });
    
    schedule({astro: "sunset"}, function () {
        if(timer) clearSchedule(timer);
    });
    
    

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      Strizz
      schrieb am zuletzt editiert von
      #9

      Hallo paul53,

      danke für die schnelle Antwort. Allerdings scheint etwas nicht zu stimmen:

      Wenn ich den Code so reinkopiere , wie er ist, bekomme ich die Fehlermeldung:

      SyntaxError: Unexpected token )
      

      Wenn ich in der letzten Zeile dann noch eine geschweifte Klammer einfüge, verschwindet Syntax-Error Meldung. Statt dessen erfolgt jedoch die Meldung

      schedule callback missing
      

      Da stehe ich dann wieder auf dem Schlauch.

      Kannst du noch mal helfen?

      Strizz

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #10

        Sorry, es fehlt die geschweifte Klammer (zu) hinter "sunset". Habe es korrigiert.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          Strizz
          schrieb am zuletzt editiert von
          #11

          Super! Danke für die schnelle Hilfe.

          Strizz

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #12

            Damit die Erfassung nicht erst ab nächsten Morgen funktioniert, sollte das Skript ergänzt werden:

            ...
            // Script start
            if(isAstroDay()) {
                timer = schedule("3,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                    log ("Auslöser: Schedule");
                    Piko();
                });
            }
            

            oder Du vereinfachst das Skript:

            ...
            schedule("3,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                if(isAstroday()) {
                    log ("Auslöser: Schedule");
                    Piko();
                }
            });
            
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Strizz
              schrieb am zuletzt editiert von
              #13

              Hallo paul53,

              die Sonne scheint bei uns zwar nicht mehr, so dass eh erst morgen weiter aufgezeichnet wird. Ich habe das Script aber geändert.

              Werde das Script jetzt mal einige Zeit testen und dann hier insgesamt veröffentlichen. Vielleicht hat der eine oder andere ja denselben Wechselrichter.

              Nochmal besten Dank.

              Strizz

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                Strizz
                schrieb am zuletzt editiert von
                #14

                OH, war wohl zu schnell. Erhalte jetzt die Fehlermeldung

                	javascript.0 ReferenceError: isAstroday is not defined at Object. (script.js.common.Piko_auslesen:131:8) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1500:34) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:175:10) at null._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:479:11) at Timer.listOnTimeout (timers.js:92:15)
                

                Wo steckt denn da der Wurm?

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Strizz
                  schrieb am zuletzt editiert von
                  #15

                  Habe mal diese Zeile geändert

                   if(isAstroDay ()) {
                  

                  Großes 'D' und ein Leerzeichen eingefügt. Jetzt kommen keine Fehlermeldungen mehr.

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #16

                    Sorry, mein Fehler: Mit großem 'D' wie in dem Skript im gleichen Beitrag darüber.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      danielwester
                      schrieb am zuletzt editiert von
                      #17

                      Hallo, ich bin hier im Forum auf dieses Script für den Piko Wechselrichter gestoßen und wollte er gerne Ausprobieren.

                      Das Script läuft auch ohne fehler durch, nur stehen die werte alle auf 0. Weis jemand was ich falsch mache?? :?: :?:

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

                        Hallo und Willkommen im Forum!

                        Wie sieht denn dein Webinterface aus?

                        Es gibt da verschiedene Versionen.

                        Mehr nach Win10 oder nach DOS?

                        Gruß

                        Rainer

                        kein Support per PN! - Fragen im Forum stellen -
                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          danielwester
                          schrieb am zuletzt editiert von
                          #19

                          mehr nach Win 10

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

                            Dann ist das hier das richtige Skript.

                            Du hast aber schon die Änderungen, die im Laufe des Threads kamen eingepflegt?

                            • und die IP angepasst?

                            • und ggf. Password und User?

                            Gruß

                            Rainer

                            kein Support per PN! - Fragen im Forum stellen -
                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              danielwester
                              schrieb am zuletzt editiert von
                              #21

                              Ja, die IP adresse habe ich geändert. Passwort und User habe ich nicht gesehen das ich es eingeben muss.

                              Die Änderungen habe ich nicht angepasst, da ich nicht weiß wo :?

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                Strizz
                                schrieb am zuletzt editiert von
                                #22

                                Hallo danielwester,

                                da ich nicht weiß, ob du dein Problem inzwischen lösen konntest, schicke ich dir mal das endgültige Script, so wie es bei mir seit einigen Monaten läuft. Anpassen musst du nur die IP-Nummer sonst nichts. Der erste Teil des Scripts enthält alle auslesbaren Werte. Mich interessiert derzeit allerdings nur ein Teil davon. Nur wenn du mehr willst, muss du das Script anpassen.

                                // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                                
                                //Variaben
                                
                                 //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.178.50/api/dxs.json';   // IP der Photovoltaik-Anlage
                                
                                createState('Piko.Ausgangsleistung', 0);
                                createState('Piko.Autarkiegrad_d',0);
                                createState('Piko.Autarkiegrad_G',0);
                                createState('Piko.Betriebszeit',0);
                                createState('Piko.DCEingangGesamt',0);
                                createState('Piko.Eigenverbrauch',0);
                                createState('Piko.Eigenverbrauch_d');
                                createState('Piko.Eigenverbrauch_G', 0);
                                createState('Piko.Eigenverbrauchsquote_d', 0);
                                createState('Piko.Eigenverbrauchsquote_G', 0);
                                createState('Piko.Ertrag_d', 0);
                                createState('Piko.Ertrag_G', 0);
                                createState('Piko.Hausverbrauch_d', 0);
                                createState('Piko.Hausverbrauch_G', 0);
                                createState('Piko.P1Spannung');
                                createState('Piko.P2Spannung');
                                createState('Piko.P1Strom');
                                createState('Piko.P2Strom');
                                createState('Piko.P1Leistung');
                                createState('Piko.P2Leistung');
                                
                                var logging = true;
                                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,
                                
                                    function (error, response, body) {
                                        if(!error && response.statusCode ==200) {
                                            if(logging) log(body);
                                            var result = JSON.parse(body).dxsEntries;
                                            setState('Piko.DCEingangGesamt', result[0].value);
                                            setState('Piko.Ausgangsleistung', result[1].value);
                                            setState('Piko.Eigenverbrauch', result[2].value);
                                            setState('Piko.Eigenverbrauch_d', result[3].value); 
                                            setState('Piko.Eigenverbrauch_G', result[4].value);
                                            setState('Piko.Eigenverbrauchsquote_d', result[5].value);
                                            setState('Piko.Eigenverbrauchsquote_G', result[6].value);
                                            setState('Piko.Ertrag_d', result[7].value);
                                            setState('Piko.Ertrag_G', result[8].value);
                                            setState('Piko.Hausverbrauch_d', result[9].value);
                                            setState('Piko.Hausverbrauch_G', result[10].value);
                                            setState('Piko.Autarkiegrad_G', result[11].value);
                                            setState('Piko.Autarkiegrad_d', result[12].value);
                                            setState('Piko.Betriebszeit', result[13].value);
                                            setState('Piko.P1Spannung', result[14].value);
                                            setState('Piko.P2Spannung', result[15].value);
                                            setState('Piko.P1Strom', result[16].value);
                                            setState('Piko.P2Strom', result[17].value);
                                            setState('Piko.P1Leistung', result[18].value);
                                            setState('Piko.P2Leistung', result[19].value);
                                        } else {
                                            log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
                                        }
                                    });
                                }
                                
                                schedule("3,12,22,32,42,52,59 * * * *", function () {
                                    if(isAstroDay ()) {
                                        log ("Auslöser: Schedule");
                                        Piko();
                                    }
                                });
                                
                                

                                Hoffe, das hilft dir weiter.

                                Strizz

                                1 Antwort Letzte Antwort
                                0
                                • O Offline
                                  O Offline
                                  Obilarius
                                  schrieb am zuletzt editiert von
                                  #23

                                  Hallo zusammen.

                                  kann mir jemand von euch sagen wo ihr diese Nummern (ID_DCEingangGesamt = 33556736) herhabt?

                                  Habe einen Kostal Piko mit FW 6.3.

                                  Das Script an sich funktioniert bei mir schon wunderbar nur habe ich noch einen Batteriespeicher bei dem ich auch gerne noch die Daten haben würde.

                                  Das müssten ja auch nur weitere Felder sein die ich mit der URL(JSON) abfragen kann oder?

                                  Gruß Sascha

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    Strizz
                                    schrieb am zuletzt editiert von
                                    #24

                                    Hallo Sascha,

                                    ich habe die Werte damals im Photovoltaik-Forum in folgendem Thread gefunden

                                    „https://www.photovoltaikforum.com/kosta … 15856.html“

                                    Vielleicht kannst du dort mal nachfragen.

                                    Gruß

                                    Strizz

                                    Gesendet von iPad mit Tapatalk Pro

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


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    461

                                    Online

                                    32.7k

                                    Benutzer

                                    82.5k

                                    Themen

                                    1.3m

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

                                    • Du hast noch kein Konto? Registrieren

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