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. ioBroker Allgemein
  4. Status vom Kostal Wechselrichter auslesen?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

Status vom Kostal Wechselrichter auslesen?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
331 Beiträge 35 Kommentatoren 89.0k Aufrufe 25 Watching
  • Ä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.
  • HomoranH Homoran

    @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

    ok das hat schon fortschritte gebracht....

    Super - jetzt können wir ans finetuning:

    Ich hatte die Datenpunkte unter Messwerte.0 manuell angelegt und dann die Namen bei setState() entsprechend benannt.
    Beim erstellen der Datenpunkte über createState() werden nicht alle erstellt und ggf. auch teilweise mit anderen Namen.

    Meine Tochter bringt gleich ihren Vater ins Bett :joy:
    willst du das selber probieren?

    Du kannst auch einfach die "Messwerte.0" aus allen Namen ganz rausnehmen, dann den Objektbaum löschen und das Skript neu starten. Dann sind die Objekte vielleicht übersichtlicher
    Du kannst auch unnötige States weglassen (Autarkiegrad usw. wenn du das nicht nutzst

    Wenn du dir das nicht zutraust sehe ich es mit dir morgen noch mal an.

    S Offline
    S Offline
    scout1978
    schrieb am zuletzt editiert von
    #141

    @Homoran
    Ich schaue mir das gleich mal an....eventuell bekomme ich ein wenig hin. Will ja was lernen.
    Ich kopiere mir das jetzige mal zur Sicherheit und schaue was ich schaffe.
    vermutlich nicht viel aber versuch macht kluk
    Vielen Dank schon mal
    Bin geplättet wie freundlich hier geholfen wird

    1 Antwort Letzte Antwort
    1
    • HomoranH Homoran

      @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

      ok das hat schon fortschritte gebracht....

      Super - jetzt können wir ans finetuning:

      Ich hatte die Datenpunkte unter Messwerte.0 manuell angelegt und dann die Namen bei setState() entsprechend benannt.
      Beim erstellen der Datenpunkte über createState() werden nicht alle erstellt und ggf. auch teilweise mit anderen Namen.

      Meine Tochter bringt gleich ihren Vater ins Bett :joy:
      willst du das selber probieren?

      Du kannst auch einfach die "Messwerte.0" aus allen Namen ganz rausnehmen, dann den Objektbaum löschen und das Skript neu starten. Dann sind die Objekte vielleicht übersichtlicher
      Du kannst auch unnötige States weglassen (Autarkiegrad usw. wenn du das nicht nutzst

      Wenn du dir das nicht zutraust sehe ich es mit dir morgen noch mal an.

      S Offline
      S Offline
      scout1978
      schrieb am zuletzt editiert von
      #142

      @Homoran
      Also mir raucht die Birne.... Da hab ich zu wenig Ahnung....Bitte morgen um Hilfe
      Mercy

      HomoranH 1 Antwort Letzte Antwort
      0
      • S scout1978

        @Homoran
        Also mir raucht die Birne.... Da hab ich zu wenig Ahnung....Bitte morgen um Hilfe
        Mercy

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #143

        @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

        @Homoran
        Also mir raucht die Birne.... Da hab ich zu wenig Ahnung....Bitte morgen um Hilfe
        Mercy

        Gerne!
        Mach dir schon mal Gedanken, welche Werte du überhaupt brauchst.

        Erhol dich bis dahin :joy:

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        S 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

          @Homoran
          Also mir raucht die Birne.... Da hab ich zu wenig Ahnung....Bitte morgen um Hilfe
          Mercy

          Gerne!
          Mach dir schon mal Gedanken, welche Werte du überhaupt brauchst.

          Erhol dich bis dahin :joy:

          S Offline
          S Offline
          scout1978
          schrieb am zuletzt editiert von
          #144

          @Homoran
          Guten Morgen
          Also DC Eingang Gesammt,Ausgangsleistung,Betriebsstatus,Tagesertrag,Gesammtertrag,Betriebszeit.
          Das würde für den Moment reichen.
          Ich hoffe demnächst einen Speicher zu bekommen, und die Solaranlage zu vergößern. Gibts da erfahrungen was man kaufen sollte?
          Dankeschön!!!!!!

          HomoranH 2 Antworten Letzte Antwort
          0
          • S scout1978

            @Homoran
            Guten Morgen
            Also DC Eingang Gesammt,Ausgangsleistung,Betriebsstatus,Tagesertrag,Gesammtertrag,Betriebszeit.
            Das würde für den Moment reichen.
            Ich hoffe demnächst einen Speicher zu bekommen, und die Solaranlage zu vergößern. Gibts da erfahrungen was man kaufen sollte?
            Dankeschön!!!!!!

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von Homoran
            #145

            @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

            ich hoffe demnächst einen Speicher zu bekommen, und die Solaranlage zu vergößern. Gibts da erfahrungen was man kaufen sollte?

            Da sind wir schon 2 ;-)

            Das was bisher an meine Vorstellungen am nächsten kam war E3DC mit seinen verschiedenen Modellen.
            Inzwischen scheinen aber auch andere Hersteller nachzuziehen.

            Für mich war/ist entscheidend:

            • Li-Batterien - auf keinen Fall Blei!
            • dreiphasig
            • Notstromfähig (nicht unbedingt USV, sondern Funktionsfähigkeit auch bei fehlender Natzanbindung)

            Bin auch für aktuelle Informationen dankbar

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • S scout1978

              @Homoran
              Guten Morgen
              Also DC Eingang Gesammt,Ausgangsleistung,Betriebsstatus,Tagesertrag,Gesammtertrag,Betriebszeit.
              Das würde für den Moment reichen.
              Ich hoffe demnächst einen Speicher zu bekommen, und die Solaranlage zu vergößern. Gibts da erfahrungen was man kaufen sollte?
              Dankeschön!!!!!!

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #146

              @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

              Das würde für den Moment reichen.

              Ich habe "mal eben" das Skript trocken im Editor umgeschrieben.
              Ich bin kein Entwickler und Programmierer!
              Ich lerne auch nur durch Try and Error.

              Deswegen denke ich dass du, wenn du meinst

              @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

              Will ja was lernen.

              auch die notwendige Unterstützung bekommen sollst und

              @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

              Bin geplättet wie freundlich hier geholfen wird

              das auch verdienst.

              User die hier immer wieder aufschlagen und quasi Programmieraufträge vergeben ohne selber auch nur das geringste Anzeichen von Eigeninitiative zu zeigen sind mir ein Graus

              Bitte folgendermaßen vorgehen:

              • aktuelles Skript stoppen
              • aktuellen Objektbaum löschen (wird ein neuer, anderer angelegt!)
              • neues Skript unter anderem Namen anlegen , IP Adresse eingeben (habe ich ganz nach oben verlegt) und speichern
              • Skript starten und hoffen.

              Mögliche Fehlermeldungen dann hier posten, wir schaffen das schon!
              Ich habe das Skript im Prinzip so gelassen, die Pfade etwas verkürzt und die "uninteressanten" Teile nur auskommentiert.
              Zumindest hoffe ich das so.

              // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
              
              //Variable
              
              var IPAnlage = 'IP_eingeben/api/dxs.json';   // IP der Photovoltaik-Anlage
              
              //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
                 
                 //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',0);
              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.P1Strom');
              //createState('Solaranlage.Momentanwerte.P2Strom');
              //createState('Solaranlage.Momentanwerte.P1Leistung');
              //createState('Solaranlage.Momentanwerte.P2Leistung');
              //createState('Solaranlage.Momentanwerte.Leistung_String1');
              //createState('Solaranlage.Momentanwerte.Leistung_String2');
              
              
              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('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', result[20].value || 0, true);
                         //setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                         //setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].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;
              

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              HomoranH 1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

                Das würde für den Moment reichen.

                Ich habe "mal eben" das Skript trocken im Editor umgeschrieben.
                Ich bin kein Entwickler und Programmierer!
                Ich lerne auch nur durch Try and Error.

                Deswegen denke ich dass du, wenn du meinst

                @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

                Will ja was lernen.

                auch die notwendige Unterstützung bekommen sollst und

                @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

                Bin geplättet wie freundlich hier geholfen wird

                das auch verdienst.

                User die hier immer wieder aufschlagen und quasi Programmieraufträge vergeben ohne selber auch nur das geringste Anzeichen von Eigeninitiative zu zeigen sind mir ein Graus

                Bitte folgendermaßen vorgehen:

                • aktuelles Skript stoppen
                • aktuellen Objektbaum löschen (wird ein neuer, anderer angelegt!)
                • neues Skript unter anderem Namen anlegen , IP Adresse eingeben (habe ich ganz nach oben verlegt) und speichern
                • Skript starten und hoffen.

                Mögliche Fehlermeldungen dann hier posten, wir schaffen das schon!
                Ich habe das Skript im Prinzip so gelassen, die Pfade etwas verkürzt und die "uninteressanten" Teile nur auskommentiert.
                Zumindest hoffe ich das so.

                // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                
                //Variable
                
                var IPAnlage = 'IP_eingeben/api/dxs.json';   // IP der Photovoltaik-Anlage
                
                //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
                   
                   //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',0);
                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.P1Strom');
                //createState('Solaranlage.Momentanwerte.P2Strom');
                //createState('Solaranlage.Momentanwerte.P1Leistung');
                //createState('Solaranlage.Momentanwerte.P2Leistung');
                //createState('Solaranlage.Momentanwerte.Leistung_String1');
                //createState('Solaranlage.Momentanwerte.Leistung_String2');
                
                
                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('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', result[20].value || 0, true);
                           //setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                           //setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].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;
                

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von Homoran
                #147

                @scout1978

                Habe mich jetzt doch nicht bremsen können und mich getraut das Skript aif meinem Testsystem parallel zum laufenden System zu starten.

                Es klappt (wenn man die IP nicht vergisst einzugeben ;-) )

                Piko_auslesen_neu.png

                Sind das die Werte, die du brauchst?

                EDIT:
                sehe gerade dass der Status ja hier als numerischer Wert ausgegeben wird.
                Habe mir das damals mit einem Blockly ind Klartext umgewandelt:

                Piko_Status_Klartext.png

                <xml xmlns="http://www.w3.org/1999/xhtml">
                 <block type="on_ext" id="U6uIvYGIpS7D!x+,Vpmv" x="-12" y="-262">
                   <mutation items="1"></mutation>
                   <field name="CONDITION">ne</field>
                   <field name="ACK_CONDITION"></field>
                   <value name="OID0">
                     <shadow type="field_oid" id="f3:wR1WhrJPqZgwmNbPk">
                       <field name="oid">Messwerte.0.Solaranlage.Momentanwerte.Status</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="bBj8AObw9sx4)m0n}f/S">
                       <mutation elseif="5" else="1"></mutation>
                       <value name="IF0">
                         <block type="logic_compare" id="H6]r}ZBdyT@h*O*d342W">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="y8hIoJi+.f{rIBOqj3tn">
                               <field name="ATTR">val</field>
                               <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="8]UnDq3#x@l7rDYMx6*Z">
                               <field name="NUM">0</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="update" id="RJxZ*6B#F3=eLOXL)MCs">
                           <mutation delay_input="false"></mutation>
                           <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status_Klartext</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="text" id=",uLUmes+.g=M9CHIW%fY">
                               <field name="TEXT">aus</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <value name="IF1">
                         <block type="logic_compare" id="[n-xyV|w!m:)pMs5}U2=">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="G1I,6t).Xe123VJpod!#">
                               <field name="ATTR">val</field>
                               <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id=".~oDxm8eZDWRc{V![?Q{">
                               <field name="NUM">1</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO1">
                         <block type="update" id="ZzWupPP1+1}.JJ5O~?[~">
                           <mutation delay_input="false"></mutation>
                           <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status_Klartext</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="text" id="cTE?).qfsKqw}IaEO2.7">
                               <field name="TEXT">Leerlauf</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <value name="IF2">
                         <block type="logic_compare" id="2gEG8![5]C=n/7jd{eeG">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="5*PP](Pg94v;gRkAWe+@">
                               <field name="ATTR">val</field>
                               <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="*yp-@9hBBh(FRm~7W=e;">
                               <field name="NUM">2</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO2">
                         <block type="update" id="7ba*nde2NH^V39s{Fz]b">
                           <mutation delay_input="false"></mutation>
                           <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status_Klartext</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="text" id="cL)v4[?xZk2aXS`TNDQF">
                               <field name="TEXT">Anfahren</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <value name="IF3">
                         <block type="logic_compare" id="TjBZhe2vOY_;516v!KBY">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="z=5gjgq_td56^~jO/k|K">
                               <field name="ATTR">val</field>
                               <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="FmK!DKwU7C46D/MpJg@n">
                               <field name="NUM">3</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO3">
                         <block type="update" id="oJ_I%UOkQ1Rs%/H_A:uN">
                           <mutation delay_input="false"></mutation>
                           <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status_Klartext</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="text" id="ynuL`[+15s,5a[D^v?/0">
                               <field name="TEXT">Einspeisen MPP</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <value name="IF4">
                         <block type="logic_compare" id="MKqAQ8!DD.Ig)Tv@k}d)">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="i+[|iN=pc^84D3!-Mcm5">
                               <field name="ATTR">val</field>
                               <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="9sRqn(m?uLLQosp}j/nT">
                               <field name="NUM">4</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO4">
                         <block type="update" id="E;Xy,YAbG7Tx1%_#Kv~H">
                           <mutation delay_input="false"></mutation>
                           <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status_Klartext</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="text" id="Hg{?ADUX2!gLmx1*arsf">
                               <field name="TEXT">Einspeisen abgeregelt</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <value name="IF5">
                         <block type="logic_compare" id="oD[`+`/Vo=ola}rlCu;-">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="3Zwc^N_lkGV2h@Hp6P!T">
                               <field name="ATTR">val</field>
                               <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="#4nBQwS9OWSP]R-eJNIn">
                               <field name="NUM">7</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO5">
                         <block type="update" id="9.Bz:D)(cy(Bl{`Ax#ec">
                           <mutation delay_input="false"></mutation>
                           <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status_Klartext</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="text" id="JLdKs=lDv.D|!+@cAaF3">
                               <field name="TEXT">Isolationsmessung</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <statement name="ELSE">
                         <block type="update" id="dmn?]^E`me_zDZ,zj~+p">
                           <mutation delay_input="false"></mutation>
                           <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status_Klartext</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="text_join" id="muH4Du32mGvss_4`jz7q">
                               <mutation items="2"></mutation>
                               <value name="ADD0">
                                 <block type="text" id=":7VU7X9Rh[9OR2LIe.Uh">
                                   <field name="TEXT">Code </field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="convert_tostring" id="e:Ff5Hh]3dQ6;KnCRoXp">
                                   <value name="VALUE">
                                     <block type="get_value" id="xCt:yn77@(hX6Iv.521a">
                                       <field name="ATTR">val</field>
                                       <field name="OID">Messwerte.0.Solaranlage.Momentanwerte.Status</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
                </xml>
                

                Dazu musst du noch einen Datenpunkt anlegen und da hineinschreiben

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

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

                  Ich lerne ja auch noch und habe das jetzt mal zum Anlass genommen zu versuchen die Klartextumwandlung des Status' mit in das Skript zu übernehemn. Das war/ist fast mein erster Versuch mit nativem JS - ohne Blockly.

                  Leider geht es nicht ganz so wie ich wollte - den letzten Fehler bekomme ich nicht weg.

                  // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                  
                  //Variable
                  
                  var IPAnlage = '192.168.xxx.yyy/api/dxs.json';   // IP der Photovoltaik-Anlage
                  
                  //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
                     
                     //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.P1Strom');
                  //createState('Solaranlage.Momentanwerte.P2Strom');
                  //createState('Solaranlage.Momentanwerte.P1Leistung');
                  //createState('Solaranlage.Momentanwerte.P2Leistung');
                  //createState('Solaranlage.Momentanwerte.Leistung_String1');
                  //createState('Solaranlage.Momentanwerte.Leistung_String2');
                  
                  
                  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;
                     		
                     		var Zustand = 'aus';
                  
                     		if (result[20] == 0) {
                             Zustand == 'aus';
                             } else if (result[20]== 1) {
                             Zustand == 'Leerlauf';
                             } else if (result[20] == 2) {
                             Zustand == 'Anfahren';
                             } else if (result[20] == 3) {
                             Zustand == 'Einspeisen MPP';
                             } else if (result[20] == 4) {
                             Zustand == 'Einspeisen abgeregelt';
                             } else if (result[20] == 7) {
                             Zustand == 'Isolationsmessung';
                             } else {
                             Zustand == (String('Code ') + String('' + result[20]));
                             }
                         };
                     		
                     		
                             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);
                         } 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;
                  

                  Jetzt benötige ich auch Hilfe. Vielleicht liest @paul53 hier "zufällig" mit.
                  In Zeile 174 kommt Komma erwartet - das übersteigt meine Kenntnisse und ist der Grund warum ich mit Blockly arbeite, da gibt es keine Kommata und Semikola ;-)

                  Zur Erklärung:
                  Ich wollte nach dem parsen des json das 20. Ergebnis im Array (müsste der Status als Ziffer sein) abfangen in Text wandeln, in eine Variable schreiben und den Wert dann in den Datenpunkt schreiben.

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

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

                    Hab's gefunden, da war noch eine geschweifte Klammer und ein Semikolon zu viel.
                    Dann gab es noch den ein oder anderen kleinen Fehler.
                    Habe jetzt alles korrigiert. Bei mir läuft es jetzt so:

                    Piko_Status_Klartext_objects.png

                    // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                    
                    //Variable
                    
                    var url = '192.168.xxx.yyy'; // 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
                       
                       //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.P1Strom');
                    //createState('Solaranlage.Momentanwerte.P2Strom');
                    //createState('Solaranlage.Momentanwerte.P1Leistung');
                    //createState('Solaranlage.Momentanwerte.P2Leistung');
                    //createState('Solaranlage.Momentanwerte.Leistung_String1');
                    //createState('Solaranlage.Momentanwerte.Leistung_String2');
                    
                    
                    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;
                       		
                       		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);
                           } 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;
                    

                    PS auch bei mir lief ein Skript noch, das gar nicht mehr existierte.
                    restart der js-Instanz hat geholfen

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    S M 3 Antworten Letzte Antwort
                    0
                    • HomoranH Homoran

                      Hab's gefunden, da war noch eine geschweifte Klammer und ein Semikolon zu viel.
                      Dann gab es noch den ein oder anderen kleinen Fehler.
                      Habe jetzt alles korrigiert. Bei mir läuft es jetzt so:

                      Piko_Status_Klartext_objects.png

                      // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                      
                      //Variable
                      
                      var url = '192.168.xxx.yyy'; // 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
                         
                         //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.P1Strom');
                      //createState('Solaranlage.Momentanwerte.P2Strom');
                      //createState('Solaranlage.Momentanwerte.P1Leistung');
                      //createState('Solaranlage.Momentanwerte.P2Leistung');
                      //createState('Solaranlage.Momentanwerte.Leistung_String1');
                      //createState('Solaranlage.Momentanwerte.Leistung_String2');
                      
                      
                      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;
                         		
                         		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);
                             } 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;
                      

                      PS auch bei mir lief ein Skript noch, das gar nicht mehr existierte.
                      restart der js-Instanz hat geholfen

                      S Offline
                      S Offline
                      scout1978
                      schrieb am zuletzt editiert von
                      #150

                      @Homoran
                      wow was für ein Aufand.... Gerade zurück vom Spielplatz....
                      versuche das später in einer ruhigen Minute alles zu verstehen und zu testen....
                      Habe demnächst Termin mit unserer Solarfirma... Meine Anforderungen sind identisch.... Ich gebe dann laut wenn ich da mehr weis.
                      Bis Später
                      Grüße Gernot

                      S 1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        Hab's gefunden, da war noch eine geschweifte Klammer und ein Semikolon zu viel.
                        Dann gab es noch den ein oder anderen kleinen Fehler.
                        Habe jetzt alles korrigiert. Bei mir läuft es jetzt so:

                        Piko_Status_Klartext_objects.png

                        // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                        
                        //Variable
                        
                        var url = '192.168.xxx.yyy'; // 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
                           
                           //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.P1Strom');
                        //createState('Solaranlage.Momentanwerte.P2Strom');
                        //createState('Solaranlage.Momentanwerte.P1Leistung');
                        //createState('Solaranlage.Momentanwerte.P2Leistung');
                        //createState('Solaranlage.Momentanwerte.Leistung_String1');
                        //createState('Solaranlage.Momentanwerte.Leistung_String2');
                        
                        
                        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;
                           		
                           		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);
                               } 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;
                        

                        PS auch bei mir lief ein Skript noch, das gar nicht mehr existierte.
                        restart der js-Instanz hat geholfen

                        S Offline
                        S Offline
                        scout1978
                        schrieb am zuletzt editiert von
                        #151

                        @Homoran
                        Bei mir klappts noch nicht...
                        Objekte.png ```
                        javascript.0 2020-08-13 20:53:18.021 info (5941) script.js.Piko_Neu: registered 0 subscriptions and 1 schedule
                        javascript.0 2020-08-13 20:53:17.945 info (5941) Start javascript script.js.Piko_Neu
                        javascript.0 2020-08-13 20:53:17.426 info (5941) received all states
                        javascript.0 2020-08-13 20:53:17.302 info (5941) received all objects
                        javascript.0 2020-08-13 20:53:16.534 info (5941) requesting all objects
                        javascript.0 2020-08-13 20:53:16.531 info (5941) requesting all states
                        javascript.0 2020-08-13 20:53:16.448 info (5941) starting. Version 4.6.17 in /opt/iobroker/node_modules/iobroker.javascript, node: v10.22.0, js-controller: 3.1.6
                        javascript.0 2020-08-13 20:53:09.962 info (2592) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                        javascript.0 2020-08-13 20:53:09.960 info (2592) terminating
                        javascript.0 2020-08-13 20:53:09.958 info (2592) Stop script script.js.Piko_Neu
                        javascript.0 2020-08-13 20:53:09.957 info (2592) Got terminate signal TERMINATE_YOURSELF
                        javascript.0 2020-08-13 20:50:26.259 info (2592) script.js.Piko_Neu: registered 0 subscriptions and 1 schedule
                        javascript.0 2020-08-13 20:50:26.243 info (2592) Start javascript script.js.Piko_Neu
                        javascript.0 2020-08-13 20:50:20.612 info (2592) Stop script script.js.Piko_Neu
                        javascript.0 2020-08-13 20:46:40.994 info (2592) Stop script script.js.Skript_1
                        javascript.0 2020-08-13 20:46:38.134 info (2592) Stop script script.js.Skript_1
                        javascript.0 2020-08-13 20:46:37.474 info (2592) script.js.Skript_1: registered 0 subscriptions and 1 schedule
                        javascript.0 2020-08-13 20:46:37.334 info (2592) Start javascript script.js.Skript_1

                        Habe das Skript 1 gelöscht.... Dann das Piko Neu erstellt..ip eingefügt....instanz neu gestartet....Momentanwerte kommen nicht...weil dunkel?

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • S scout1978

                          @Homoran
                          wow was für ein Aufand.... Gerade zurück vom Spielplatz....
                          versuche das später in einer ruhigen Minute alles zu verstehen und zu testen....
                          Habe demnächst Termin mit unserer Solarfirma... Meine Anforderungen sind identisch.... Ich gebe dann laut wenn ich da mehr weis.
                          Bis Später
                          Grüße Gernot

                          S Offline
                          S Offline
                          scout1978
                          schrieb am zuletzt editiert von
                          #152

                          @scout1978 objekte 2.png
                          Da ist was aufgetaucht

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • S scout1978

                            @Homoran
                            Bei mir klappts noch nicht...
                            Objekte.png ```
                            javascript.0 2020-08-13 20:53:18.021 info (5941) script.js.Piko_Neu: registered 0 subscriptions and 1 schedule
                            javascript.0 2020-08-13 20:53:17.945 info (5941) Start javascript script.js.Piko_Neu
                            javascript.0 2020-08-13 20:53:17.426 info (5941) received all states
                            javascript.0 2020-08-13 20:53:17.302 info (5941) received all objects
                            javascript.0 2020-08-13 20:53:16.534 info (5941) requesting all objects
                            javascript.0 2020-08-13 20:53:16.531 info (5941) requesting all states
                            javascript.0 2020-08-13 20:53:16.448 info (5941) starting. Version 4.6.17 in /opt/iobroker/node_modules/iobroker.javascript, node: v10.22.0, js-controller: 3.1.6
                            javascript.0 2020-08-13 20:53:09.962 info (2592) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                            javascript.0 2020-08-13 20:53:09.960 info (2592) terminating
                            javascript.0 2020-08-13 20:53:09.958 info (2592) Stop script script.js.Piko_Neu
                            javascript.0 2020-08-13 20:53:09.957 info (2592) Got terminate signal TERMINATE_YOURSELF
                            javascript.0 2020-08-13 20:50:26.259 info (2592) script.js.Piko_Neu: registered 0 subscriptions and 1 schedule
                            javascript.0 2020-08-13 20:50:26.243 info (2592) Start javascript script.js.Piko_Neu
                            javascript.0 2020-08-13 20:50:20.612 info (2592) Stop script script.js.Piko_Neu
                            javascript.0 2020-08-13 20:46:40.994 info (2592) Stop script script.js.Skript_1
                            javascript.0 2020-08-13 20:46:38.134 info (2592) Stop script script.js.Skript_1
                            javascript.0 2020-08-13 20:46:37.474 info (2592) script.js.Skript_1: registered 0 subscriptions and 1 schedule
                            javascript.0 2020-08-13 20:46:37.334 info (2592) Start javascript script.js.Skript_1

                            Habe das Skript 1 gelöscht.... Dann das Piko Neu erstellt..ip eingefügt....instanz neu gestartet....Momentanwerte kommen nicht...weil dunkel?

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #153

                            @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

                            Momentanwerte kommen nicht...weil dunkel?

                            Natürlich! Momentan wird nichts erzeugt.
                            Ist das alles was nicht funktioniert?
                            Dann musst du ein paar Solarmodule gegen Lunarmodule tauschen.

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Antwort Letzte Antwort
                            0
                            • S scout1978

                              @scout1978 objekte 2.png
                              Da ist was aufgetaucht

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #154

                              @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

                              Da ist was aufgetaucht

                              Code 0 sollte "aus" heißen.
                              Da ist noch ein Fehler

                              Da muss statt

                              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));
                                         }
                              

                              In der Zeile mit result[20].val == 0 richtig heißen result[20].value == 0, so wie in den anderen Zeilen danach

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              S 1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

                                @scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:

                                Da ist was aufgetaucht

                                Code 0 sollte "aus" heißen.
                                Da ist noch ein Fehler

                                Da muss statt

                                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));
                                           }
                                

                                In der Zeile mit result[20].val == 0 richtig heißen result[20].value == 0, so wie in den anderen Zeilen danach

                                S Offline
                                S Offline
                                scout1978
                                schrieb am zuletzt editiert von
                                #155

                                @Homoran
                                Wow
                                Es klappt alles!!!! Vielen Dank!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                                1 Antwort Letzte Antwort
                                0
                                • K Offline
                                  K Offline
                                  kaybau
                                  schrieb am zuletzt editiert von
                                  #156

                                  Hallo zusammen,
                                  ich nutze auch seit gut 6 Monaten das Javascript zum Auslesen der Werte.
                                  Hat schon mal jemand die Events aus dem Piko BA ausgelesen? Mir dauert die Alarmierung aus dem Support-Portal von Kostal eindeutig zu lange.

                                  http://<IP>/#/info/events

                                  Viele Grüße,
                                  Kay

                                  HomoranH 1 Antwort Letzte Antwort
                                  0
                                  • K kaybau

                                    Hallo zusammen,
                                    ich nutze auch seit gut 6 Monaten das Javascript zum Auslesen der Werte.
                                    Hat schon mal jemand die Events aus dem Piko BA ausgelesen? Mir dauert die Alarmierung aus dem Support-Portal von Kostal eindeutig zu lange.

                                    http://<IP>/#/info/events

                                    Viele Grüße,
                                    Kay

                                    HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von
                                    #157

                                    @kaybau sagte in Status vom Kostal Wechselrichter auslesen?:

                                    Hat schon mal jemand die Events aus dem Piko BA ausgelesen? Mir dauert die Alarmierung aus dem Support-Portal von Kostal eindeutig zu lange.
                                    http://<IP>/#/info/events

                                    für welche Version soll das gelten?
                                    sieht für mich nicht aus wie Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    1 Antwort Letzte Antwort
                                    0
                                    • K Offline
                                      K Offline
                                      kaybau
                                      schrieb am zuletzt editiert von kaybau
                                      #158

                                      Piko BA 8 mit FW 2.32 UI 06.41

                                      HomoranH 1 Antwort Letzte Antwort
                                      0
                                      • K kaybau

                                        Piko BA 8 mit FW 2.32 UI 06.41

                                        HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #159

                                        @kaybau dann gehört das hier nicht in den Thread.
                                        Mach bitte einen neuen auf mit deutlichem Hinweis auf die alte FW

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Antwort Letzte Antwort
                                        0
                                        • K Offline
                                          K Offline
                                          kaybau
                                          schrieb am zuletzt editiert von
                                          #160

                                          Hi @Homoran , Ich nutze das skript "// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)" aus dem Anfang von diesem Thread.
                                          Und es ist die neueste FW , die für den Piko 8 BA verfügbar ist.
                                          Wie liest Du bei deiner FW die Events aus?
                                          76f2469e-ca3f-4737-a611-7880bf12ad52-grafik.png

                                          VG,
                                          Kay

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


                                          Support us

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

                                          765

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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