Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?

NEWS

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

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

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

Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?

Geplant Angeheftet Gesperrt Verschoben Visualisierung
94 Beiträge 8 Kommentatoren 10.4k Aufrufe 7 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

    @discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

    Wo lege ich die Datenpunkte an...?

    unter objects im Baum 0_userdata.0

    diese IDs musst du dann im Script eintragen

    EDIT:
    oder mit dem Script von @Bahnuhr unter javascript.0 (wenn .0 deine Instanz ist!)

    bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #39

    @homoran

    Rainer, geht beides.
    Die angelegten Datenpunkte müssen dann halt mit dem Script passen.

    Manuell anlegen bei den Objekten ist auch möglich.


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    HomoranH 1 Antwort Letzte Antwort
    0
    • bahnuhrB bahnuhr

      @homoran

      Rainer, geht beides.
      Die angelegten Datenpunkte müssen dann halt mit dem Script passen.

      Manuell anlegen bei den Objekten ist auch möglich.

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

      @bahnuhr sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

      geht beides.

      klar doch!
      nur dein Post tauchte erst vor meinem auf, als ich abgedrückt hatte

      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 -

      bahnuhrB 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @bahnuhr sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

        geht beides.

        klar doch!
        nur dein Post tauchte erst vor meinem auf, als ich abgedrückt hatte

        bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #41

        @homoran

        Sonst bist du immer schneller 😉


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • bahnuhrB bahnuhr

          @discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

          @bahnuhr Habe jetzt das Script am Laufen, IP, Benutzer und Kennwort meines Wechselrichters eingetragen.
          Wo lege ich die Datenpunkte an...?

          Sorry für die vielen blöden Fragen...

          Mit einem solchen Script. Kannst danach wieder löschen.

          // Photovoltaik -------------------------------------------------------------------------------------------------------------
          createState('javascript.0.Geräte.Photovoltaik.Leistung_aktuell', 0, {type: 'number',name: 'Leistung aktuell',min: 0,role: 'per Script'});
          createState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0, {type: 'number',name: 'Tagesleistung',min: 0,role: 'per Script'});
          createState('javascript.0.Geräte.Photovoltaik.Leistung_gesamt', 0, {type: 'number',name: 'Leistung gesamt',min: 0,role: 'per Script'});
          createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang1', 0, {type: 'number',name: 'Leistung Strang 1',min: 0,role: 'per Script'});
          createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang2', 0, {type: 'number',name: 'Leistung Strang 2',min: 0,role: 'value'});
          
          
          D Offline
          D Offline
          discotosca
          schrieb am zuletzt editiert von
          #42

          @bahnuhr Vielen lieben Dank. Ich habe es tatsächlich hinbekommen, obwohl ich von Javascript ehrlich NULL Plan habe...
          Eine Frage nur noch, mein Wechselrichter hat 3 Strings... Kann man das irgendwie anpassen...?

          Gruß Jörg... (Und nochmals lieben Dank...)

          HomoranH 1 Antwort Letzte Antwort
          0
          • D discotosca

            @bahnuhr Vielen lieben Dank. Ich habe es tatsächlich hinbekommen, obwohl ich von Javascript ehrlich NULL Plan habe...
            Eine Frage nur noch, mein Wechselrichter hat 3 Strings... Kann man das irgendwie anpassen...?

            Gruß Jörg... (Und nochmals lieben Dank...)

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

            @discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

            Kann man das irgendwie anpassen...?

            wenn man weiß wo die Werte kommen
            ich rate mal [11] und [13]??
            @bahnuhr ?

            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 -

            D 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

              Kann man das irgendwie anpassen...?

              wenn man weiß wo die Werte kommen
              ich rate mal [11] und [13]??
              @bahnuhr ?

              D Offline
              D Offline
              discotosca
              schrieb am zuletzt editiert von
              #44

              @homoran ... Bitte nochmal für jemanden, der nicht bis zum Hals im JavaScript steckt... 😞

              HomoranH 1 Antwort Letzte Antwort
              0
              • D discotosca

                @homoran ... Bitte nochmal für jemanden, der nicht bis zum Hals im JavaScript steckt... 😞

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

                @discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                @homoran ... Bitte nochmal für jemanden, der nicht bis zum Hals im JavaScript steckt... 😞

                also für mich!

                irgendwo in der Abfrage steht das Ergebnis
                ich tippe an Position 11 und 13.

                du kannst über den Browser das Ergebnis abrufen.
                leider habe ich diese alte Version nicht mehr und müsste selber nach der Vorgehensweise suchen.
                Das kannst du auch. @bahnuhr hat einen weiteren Thread verlinkt

                EDIT:
                Abruf über den Browser müsste so gehen
                http://User:Passwort@IP

                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 -

                bahnuhrB 2 Antworten Letzte Antwort
                0
                • HomoranH Homoran

                  @discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                  @homoran ... Bitte nochmal für jemanden, der nicht bis zum Hals im JavaScript steckt... 😞

                  also für mich!

                  irgendwo in der Abfrage steht das Ergebnis
                  ich tippe an Position 11 und 13.

                  du kannst über den Browser das Ergebnis abrufen.
                  leider habe ich diese alte Version nicht mehr und müsste selber nach der Vorgehensweise suchen.
                  Das kannst du auch. @bahnuhr hat einen weiteren Thread verlinkt

                  EDIT:
                  Abruf über den Browser müsste so gehen
                  http://User:Passwort@IP

                  bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #46

                  @homoran sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                  http://User:Passwort@IP

                  Ja, das müsste gehen.

                  Du musst halt, wie @Homoran schon geschrieben hat rausfinden, an welcher Position deine Daten kommen.
                  Und dann das Script erweitern.

                  Probier es aus. Funktioniert dann schon.


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                    @homoran ... Bitte nochmal für jemanden, der nicht bis zum Hals im JavaScript steckt... 😞

                    also für mich!

                    irgendwo in der Abfrage steht das Ergebnis
                    ich tippe an Position 11 und 13.

                    du kannst über den Browser das Ergebnis abrufen.
                    leider habe ich diese alte Version nicht mehr und müsste selber nach der Vorgehensweise suchen.
                    Das kannst du auch. @bahnuhr hat einen weiteren Thread verlinkt

                    EDIT:
                    Abruf über den Browser müsste so gehen
                    http://User:Passwort@IP

                    bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #47

                    @homoran sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                    http://User:Passwort@IP

                    Ne, funktioniert doch nicht.
                    Dann wird nur die normale UI angezeigt.

                    Schalte aber doch mal logging auf true und schaue dann was im log steht.
                    Und dann durchzählen.


                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                    Danke.
                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                    ScreenToGif :https://www.screentogif.com/downloads.html

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • bahnuhrB bahnuhr

                      @homoran sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                      http://User:Passwort@IP

                      Ne, funktioniert doch nicht.
                      Dann wird nur die normale UI angezeigt.

                      Schalte aber doch mal logging auf true und schaue dann was im log steht.
                      Und dann durchzählen.

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

                      @bahnuhr sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                      Dann wird nur die normale UI angezeigt.

                      ok!
                      ist schon zu lange her.
                      Dann mit der rechren Maustaste auf die Website, "Quelltext anzeigen" anklicken und diesen hier in code-tags posten.

                      @bahnuhr Das müsste bei dir aber auch gehen, wenn auch nur mit 0-Werten

                      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 -

                      bahnuhrB 1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @bahnuhr sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                        Dann wird nur die normale UI angezeigt.

                        ok!
                        ist schon zu lange her.
                        Dann mit der rechren Maustaste auf die Website, "Quelltext anzeigen" anklicken und diesen hier in code-tags posten.

                        @bahnuhr Das müsste bei dir aber auch gehen, wenn auch nur mit 0-Werten

                        bahnuhrB Online
                        bahnuhrB Online
                        bahnuhr
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #49

                        @homoran sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                        @bahnuhr Das müsste bei dir aber auch gehen, wenn auch nur mit 0-Werten

                        ja, geht

                        Ich würde es aber mit "logging" probieren


                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                        Danke.
                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                        ScreenToGif :https://www.screentogif.com/downloads.html

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • bahnuhrB bahnuhr

                          @homoran sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                          @bahnuhr Das müsste bei dir aber auch gehen, wenn auch nur mit 0-Werten

                          ja, geht

                          Ich würde es aber mit "logging" probieren

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

                          @bahnuhr sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                          ja, geht

                          wäre es dir möglich das umzusetzen, bitte?
                          @discotosca schafft das nicht

                          @discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                          obwohl ich von Javascript ehrlich NULL Plan habe...

                          dann wäre es ja gemäß meiner damaligen Vorgehensweise vielleicht doch mit dem Parser für dich einfacher

                          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 -

                          bahnuhrB 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @bahnuhr sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                            ja, geht

                            wäre es dir möglich das umzusetzen, bitte?
                            @discotosca schafft das nicht

                            @discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                            obwohl ich von Javascript ehrlich NULL Plan habe...

                            dann wäre es ja gemäß meiner damaligen Vorgehensweise vielleicht doch mit dem Parser für dich einfacher

                            bahnuhrB Online
                            bahnuhrB Online
                            bahnuhr
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #51

                            @homoran sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:

                            wäre es dir möglich das umzusetzen, bitte?
                            @discotosca schafft das nicht

                            Na klar.
                            @discotosca
                            Schick mir das log nachdem du logging auf true gesetzt hast.
                            Dann schau ich mal.


                            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                            Danke.
                            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                            ScreenToGif :https://www.screentogif.com/downloads.html

                            1 Antwort Letzte Antwort
                            1
                            • bahnuhrB Online
                              bahnuhrB Online
                              bahnuhr
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von bahnuhr
                              #52

                              So, ich habe mir mein log mal angeschaut und das Script angepasst.
                              Bitte prüfen und Rückinfo.

                              1. Variablen anlegen:
                              // Photovoltaik -------------------------------------------------------------------------------------------------------------
                              createState('javascript.0.Geräte.Photovoltaik.Leistung_aktuell', 0, {type: 'number',name: 'Leistung aktuell',min: 0,role: 'per Script'});
                              createState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0, {type: 'number',name: 'Tagesleistung',min: 0,role: 'per Script'});
                              createState('javascript.0.Geräte.Photovoltaik.Leistung_gesamt', 0, {type: 'number',name: 'Leistung gesamt',min: 0,role: 'per Script'});
                              createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang1', 0, {type: 'number',name: 'Leistung Strang 1',min: 0,role: 'per Script'});
                              createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang2', 0, {type: 'number',name: 'Leistung Strang 2',min: 0,role: 'value'});
                              createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang3', 0, {type: 'number',name: 'Leistung Strang 3',min: 0,role: 'value'}); 
                              

                              2 angepasstes Script:

                              
                              // Photovoltaik: Piko 5.5 Anlage (alte Firmware)
                              // Danke an homoran für den regex
                              // @bahnuhr; 03/2019 Dieter Müller
                              // @bahnuhr; 10/2021 Dieter Müller - angepasst auf 3 String
                              
                              //Variaben
                                  var idaktuell = 'javascript.0.Geräte.Photovoltaik.Leistung_aktuell';
                                  var idTag = 'javascript.0.Geräte.Photovoltaik.Tagesleistung';
                                  var idall = 'javascript.0.Geräte.Photovoltaik.Leistung_gesamt';
                                  var idP1 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang1';
                                  var idP2 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang2';
                                  var idP3 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang3';
                              
                                  var NameAnlage = 'xxx';        // Nutzername der Photovoltaik-Anlage
                                  var PassAnlage = 'xxx';         // Password der Photovoltaik-Anlage
                                  var IPAnlage = '192.168.xxx.xxx';    // IP der Photovoltaik-Anlage
                              
                                  var logging = false;
                                  var request = require('request');
                              
                              
                               function Piko() {
                                  log("Piko 5.5 auslesen");
                                  var results = [];
                                  request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
                                      var d = body.toString();
                                      if (logging) log (d);
                                      var reg = /#FFFFFF">[^\d]+([^<]+)/g
                                      var z = reg.exec(d);
                              
                                      while(z != null) {
                                          if (isNaN(z[1])) {
                                              if (logging) log("keine Zahl= "+ z[1]);
                                              z[1] = 0;
                                          } else {
                                              if (logging) log("Zahl= "+ z[1]);
                                              parseFloat(z[1]);
                                          }
                                          results[results.length] = z[1];
                                          z = reg.exec(d);
                                      }
                                      if (logging) log("results= "+ results);
                              
                                  // Werte zuordnen
                                      var pwr = results[0];           // Energie aktuell in W
                                      var day = results[2];           // Tagesenergie in kWh
                                      var all = results[1];           // Gesamtenergie in kWh
                                      var v1 = results[3];            // PV Generator Nr. 1 - Spannung in V
                                      var i1 = results[5];            // PV Generator Nr. 1 - Strom in A
                                      var p1 = parseInt(v1 * i1);
                                      var v2 = results[7];            // PV Generator Nr. 2 - Spannung in V
                                      var i2 = results[9];            // PV Generator Nr. 2 - Strom in A
                                      var p2 = parseInt(v2 * i2);
                                      var v3 = results[11];            // PV Generator Nr. 3 - Spannung in V
                                      var i3 = results[13];            // PV Generator Nr. 3 - Strom in A
                                      var p3 = parseInt(v3 * i3);
                              
                                      if (logging) log("Leistung aktuell= " + pwr + " W");
                                      if (logging) log("Tagesleistung= " + day + " kWh");
                                      if (logging) log("Leistung gesamt= " + all + " kWh");
                                      if (logging) log("Leistung Strang 1= " + p1 + " W");
                                  	if (logging) log("Leistung Strang 2= " + p2 + " W");
                                  	if (logging) log("Leistung Strang 3= " + p3 + " W");
                              
                                      setState(idaktuell, parseFloat(pwr));
                                      setState(idTag, parseFloat(day));
                                      setState(idall, parseFloat(all));
                                      setState(idP1, parseFloat(p1));
                                      setState(idP2, parseFloat(p2));
                                      setState(idP3, parseFloat(p3));
                                  });
                              }
                              
                              
                              schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                                  log ("Auslöser: Schedule");
                              	Piko();
                              });
                              
                              schedule("3 0 * * *", function () {     // Variablen löschen um 00:03 Uhr   
                                  setState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0);
                              });
                              
                              

                              mfg
                              Dieter

                              Edit: zeile 13 berichtigt


                              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                              Danke.
                              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                              ScreenToGif :https://www.screentogif.com/downloads.html

                              W D I 3 Antworten Letzte Antwort
                              3
                              • bahnuhrB bahnuhr

                                So, ich habe mir mein log mal angeschaut und das Script angepasst.
                                Bitte prüfen und Rückinfo.

                                1. Variablen anlegen:
                                // Photovoltaik -------------------------------------------------------------------------------------------------------------
                                createState('javascript.0.Geräte.Photovoltaik.Leistung_aktuell', 0, {type: 'number',name: 'Leistung aktuell',min: 0,role: 'per Script'});
                                createState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0, {type: 'number',name: 'Tagesleistung',min: 0,role: 'per Script'});
                                createState('javascript.0.Geräte.Photovoltaik.Leistung_gesamt', 0, {type: 'number',name: 'Leistung gesamt',min: 0,role: 'per Script'});
                                createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang1', 0, {type: 'number',name: 'Leistung Strang 1',min: 0,role: 'per Script'});
                                createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang2', 0, {type: 'number',name: 'Leistung Strang 2',min: 0,role: 'value'});
                                createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang3', 0, {type: 'number',name: 'Leistung Strang 3',min: 0,role: 'value'}); 
                                

                                2 angepasstes Script:

                                
                                // Photovoltaik: Piko 5.5 Anlage (alte Firmware)
                                // Danke an homoran für den regex
                                // @bahnuhr; 03/2019 Dieter Müller
                                // @bahnuhr; 10/2021 Dieter Müller - angepasst auf 3 String
                                
                                //Variaben
                                    var idaktuell = 'javascript.0.Geräte.Photovoltaik.Leistung_aktuell';
                                    var idTag = 'javascript.0.Geräte.Photovoltaik.Tagesleistung';
                                    var idall = 'javascript.0.Geräte.Photovoltaik.Leistung_gesamt';
                                    var idP1 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang1';
                                    var idP2 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang2';
                                    var idP3 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang3';
                                
                                    var NameAnlage = 'xxx';        // Nutzername der Photovoltaik-Anlage
                                    var PassAnlage = 'xxx';         // Password der Photovoltaik-Anlage
                                    var IPAnlage = '192.168.xxx.xxx';    // IP der Photovoltaik-Anlage
                                
                                    var logging = false;
                                    var request = require('request');
                                
                                
                                 function Piko() {
                                    log("Piko 5.5 auslesen");
                                    var results = [];
                                    request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
                                        var d = body.toString();
                                        if (logging) log (d);
                                        var reg = /#FFFFFF">[^\d]+([^<]+)/g
                                        var z = reg.exec(d);
                                
                                        while(z != null) {
                                            if (isNaN(z[1])) {
                                                if (logging) log("keine Zahl= "+ z[1]);
                                                z[1] = 0;
                                            } else {
                                                if (logging) log("Zahl= "+ z[1]);
                                                parseFloat(z[1]);
                                            }
                                            results[results.length] = z[1];
                                            z = reg.exec(d);
                                        }
                                        if (logging) log("results= "+ results);
                                
                                    // Werte zuordnen
                                        var pwr = results[0];           // Energie aktuell in W
                                        var day = results[2];           // Tagesenergie in kWh
                                        var all = results[1];           // Gesamtenergie in kWh
                                        var v1 = results[3];            // PV Generator Nr. 1 - Spannung in V
                                        var i1 = results[5];            // PV Generator Nr. 1 - Strom in A
                                        var p1 = parseInt(v1 * i1);
                                        var v2 = results[7];            // PV Generator Nr. 2 - Spannung in V
                                        var i2 = results[9];            // PV Generator Nr. 2 - Strom in A
                                        var p2 = parseInt(v2 * i2);
                                        var v3 = results[11];            // PV Generator Nr. 3 - Spannung in V
                                        var i3 = results[13];            // PV Generator Nr. 3 - Strom in A
                                        var p3 = parseInt(v3 * i3);
                                
                                        if (logging) log("Leistung aktuell= " + pwr + " W");
                                        if (logging) log("Tagesleistung= " + day + " kWh");
                                        if (logging) log("Leistung gesamt= " + all + " kWh");
                                        if (logging) log("Leistung Strang 1= " + p1 + " W");
                                    	if (logging) log("Leistung Strang 2= " + p2 + " W");
                                    	if (logging) log("Leistung Strang 3= " + p3 + " W");
                                
                                        setState(idaktuell, parseFloat(pwr));
                                        setState(idTag, parseFloat(day));
                                        setState(idall, parseFloat(all));
                                        setState(idP1, parseFloat(p1));
                                        setState(idP2, parseFloat(p2));
                                        setState(idP3, parseFloat(p3));
                                    });
                                }
                                
                                
                                schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                                    log ("Auslöser: Schedule");
                                	Piko();
                                });
                                
                                schedule("3 0 * * *", function () {     // Variablen löschen um 00:03 Uhr   
                                    setState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0);
                                });
                                
                                

                                mfg
                                Dieter

                                Edit: zeile 13 berichtigt

                                W Offline
                                W Offline
                                w00dy
                                schrieb am zuletzt editiert von w00dy
                                #53

                                @bahnuhr
                                Hab's mal getestet:

                                29.10.2021, 18:04:25.626	[error]: javascript.0 (708) script.js.Photovoltaik.Kostal-Piko-auslesen compile failed:
                                at script.js.Photovoltaik.Kostal-Piko-auslesen:13
                                

                                LG,
                                w00dy

                                M 1 Antwort Letzte Antwort
                                0
                                • W w00dy

                                  @bahnuhr
                                  Hab's mal getestet:

                                  29.10.2021, 18:04:25.626	[error]: javascript.0 (708) script.js.Photovoltaik.Kostal-Piko-auslesen compile failed:
                                  at script.js.Photovoltaik.Kostal-Piko-auslesen:13
                                  
                                  M Offline
                                  M Offline
                                  MartyBr
                                  schrieb am zuletzt editiert von
                                  #54

                                  @w00dy
                                  In Zeile 13

                                  var idP3 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang3;

                                  fehlt das Hochkomma '

                                  Gruß
                                  Martin


                                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                  Raspeberry mit USB Leseköpfen für Smartmeter
                                  Homematic und Homematic IP

                                  W 1 Antwort Letzte Antwort
                                  1
                                  • M MartyBr

                                    @w00dy
                                    In Zeile 13

                                    var idP3 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang3;

                                    fehlt das Hochkomma '

                                    W Offline
                                    W Offline
                                    w00dy
                                    schrieb am zuletzt editiert von
                                    #55

                                    @martybr
                                    ...stimmt, - läuft 👍

                                    LG,
                                    w00dy

                                    1 Antwort Letzte Antwort
                                    0
                                    • bahnuhrB bahnuhr

                                      So, ich habe mir mein log mal angeschaut und das Script angepasst.
                                      Bitte prüfen und Rückinfo.

                                      1. Variablen anlegen:
                                      // Photovoltaik -------------------------------------------------------------------------------------------------------------
                                      createState('javascript.0.Geräte.Photovoltaik.Leistung_aktuell', 0, {type: 'number',name: 'Leistung aktuell',min: 0,role: 'per Script'});
                                      createState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0, {type: 'number',name: 'Tagesleistung',min: 0,role: 'per Script'});
                                      createState('javascript.0.Geräte.Photovoltaik.Leistung_gesamt', 0, {type: 'number',name: 'Leistung gesamt',min: 0,role: 'per Script'});
                                      createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang1', 0, {type: 'number',name: 'Leistung Strang 1',min: 0,role: 'per Script'});
                                      createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang2', 0, {type: 'number',name: 'Leistung Strang 2',min: 0,role: 'value'});
                                      createState('javascript.0.Geräte.Photovoltaik.Leistung_Strang3', 0, {type: 'number',name: 'Leistung Strang 3',min: 0,role: 'value'}); 
                                      

                                      2 angepasstes Script:

                                      
                                      // Photovoltaik: Piko 5.5 Anlage (alte Firmware)
                                      // Danke an homoran für den regex
                                      // @bahnuhr; 03/2019 Dieter Müller
                                      // @bahnuhr; 10/2021 Dieter Müller - angepasst auf 3 String
                                      
                                      //Variaben
                                          var idaktuell = 'javascript.0.Geräte.Photovoltaik.Leistung_aktuell';
                                          var idTag = 'javascript.0.Geräte.Photovoltaik.Tagesleistung';
                                          var idall = 'javascript.0.Geräte.Photovoltaik.Leistung_gesamt';
                                          var idP1 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang1';
                                          var idP2 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang2';
                                          var idP3 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang3';
                                      
                                          var NameAnlage = 'xxx';        // Nutzername der Photovoltaik-Anlage
                                          var PassAnlage = 'xxx';         // Password der Photovoltaik-Anlage
                                          var IPAnlage = '192.168.xxx.xxx';    // IP der Photovoltaik-Anlage
                                      
                                          var logging = false;
                                          var request = require('request');
                                      
                                      
                                       function Piko() {
                                          log("Piko 5.5 auslesen");
                                          var results = [];
                                          request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
                                              var d = body.toString();
                                              if (logging) log (d);
                                              var reg = /#FFFFFF">[^\d]+([^<]+)/g
                                              var z = reg.exec(d);
                                      
                                              while(z != null) {
                                                  if (isNaN(z[1])) {
                                                      if (logging) log("keine Zahl= "+ z[1]);
                                                      z[1] = 0;
                                                  } else {
                                                      if (logging) log("Zahl= "+ z[1]);
                                                      parseFloat(z[1]);
                                                  }
                                                  results[results.length] = z[1];
                                                  z = reg.exec(d);
                                              }
                                              if (logging) log("results= "+ results);
                                      
                                          // Werte zuordnen
                                              var pwr = results[0];           // Energie aktuell in W
                                              var day = results[2];           // Tagesenergie in kWh
                                              var all = results[1];           // Gesamtenergie in kWh
                                              var v1 = results[3];            // PV Generator Nr. 1 - Spannung in V
                                              var i1 = results[5];            // PV Generator Nr. 1 - Strom in A
                                              var p1 = parseInt(v1 * i1);
                                              var v2 = results[7];            // PV Generator Nr. 2 - Spannung in V
                                              var i2 = results[9];            // PV Generator Nr. 2 - Strom in A
                                              var p2 = parseInt(v2 * i2);
                                              var v3 = results[11];            // PV Generator Nr. 3 - Spannung in V
                                              var i3 = results[13];            // PV Generator Nr. 3 - Strom in A
                                              var p3 = parseInt(v3 * i3);
                                      
                                              if (logging) log("Leistung aktuell= " + pwr + " W");
                                              if (logging) log("Tagesleistung= " + day + " kWh");
                                              if (logging) log("Leistung gesamt= " + all + " kWh");
                                              if (logging) log("Leistung Strang 1= " + p1 + " W");
                                          	if (logging) log("Leistung Strang 2= " + p2 + " W");
                                          	if (logging) log("Leistung Strang 3= " + p3 + " W");
                                      
                                              setState(idaktuell, parseFloat(pwr));
                                              setState(idTag, parseFloat(day));
                                              setState(idall, parseFloat(all));
                                              setState(idP1, parseFloat(p1));
                                              setState(idP2, parseFloat(p2));
                                              setState(idP3, parseFloat(p3));
                                          });
                                      }
                                      
                                      
                                      schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                                          log ("Auslöser: Schedule");
                                      	Piko();
                                      });
                                      
                                      schedule("3 0 * * *", function () {     // Variablen löschen um 00:03 Uhr   
                                          setState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0);
                                      });
                                      
                                      

                                      mfg
                                      Dieter

                                      Edit: zeile 13 berichtigt

                                      D Offline
                                      D Offline
                                      discotosca
                                      schrieb am zuletzt editiert von
                                      #56

                                      @bahnuhr Habe gerade erst gesehen, dass du mir das Script angepasst hast.
                                      Hervorragend, vielen Dank.
                                      Habe gerade das Script gegen dein 3-String-Script getauscht, läuft...

                                      Vielen lieben Dank...

                                      Wenn noch eine Frage in mir aufkommen sollte, darf ich mich dann melden...?

                                      DANKE & einen schönen Abend noch...

                                      1 Antwort Letzte Antwort
                                      0
                                      • H Offline
                                        H Offline
                                        HotMaggi
                                        schrieb am zuletzt editiert von
                                        #57

                                        @bahnuhr

                                        Das angepasste Script mit angepassten Variablen erzeugt bei mir WarnMeldungen und es werden keine Variablen aktualisiert, ich habe den schedule Teil ausgenommen um es erstmal manuell zu starten...

                                        Name und Kennwort habe ich nachträglich unkenntlich gemacht.

                                        error.jpg

                                        Geräte.jpg

                                        // Photovoltaik: Piko 5.5 Anlage (alte Firmware)
                                        // Danke an homoran für den regex
                                        // @bahnuhr; 03/2019 Dieter Müller
                                        // @bahnuhr; 10/2021 Dieter Müller - angepasst auf 3 String
                                         
                                        //Variaben
                                            var idaktuell = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_aktuell';
                                            var idTag = '0_userdata.0.Geraete.PV.Photovoltaik.Tagesleistung';
                                            var idall = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_gesamt';
                                            var idP1 = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_Strang1';
                                            var idP2 = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_Strang2';
                                            var idP3 = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_Strang3';
                                         
                                            var NameAnlage = 'pvXXXX';        // Nutzername der Photovoltaik-Anlage
                                            var PassAnlage = 'pXXXXX';         // Password der Photovoltaik-Anlage
                                            var IPAnlage = '192.168.1.8';    // IP der Photovoltaik-Anlage
                                         
                                            var logging = false;
                                            var request = require('request');
                                         
                                         
                                         function Piko() {
                                            log("Piko 5.5 auslesen");
                                            var results = [];
                                            request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
                                                var d = body.toString();
                                                if (logging) log (d);
                                                var reg = /#FFFFFF">[^\d]+([^<]+)/g
                                                var z = reg.exec(d);
                                         
                                                while(z != null) {
                                                    if (isNaN(z[1])) {
                                                        if (logging) log("keine Zahl= "+ z[1]);
                                                        z[1] = 0;
                                                    } else {
                                                        if (logging) log("Zahl= "+ z[1]);
                                                        parseFloat(z[1]);
                                                    }
                                                    results[results.length] = z[1];
                                                    z = reg.exec(d);
                                                }
                                                if (logging) log("results= "+ results);
                                         
                                            // Werte zuordnen
                                                var pwr = results[0];           // Energie aktuell in W
                                                var day = results[2];           // Tagesenergie in kWh
                                                var all = results[1];           // Gesamtenergie in kWh
                                                var v1 = results[3];            // PV Generator Nr. 1 - Spannung in V
                                                var i1 = results[5];            // PV Generator Nr. 1 - Strom in A
                                                var p1 = parseInt(v1 * i1);
                                                var v2 = results[7];            // PV Generator Nr. 2 - Spannung in V
                                                var i2 = results[9];            // PV Generator Nr. 2 - Strom in A
                                                var p2 = parseInt(v2 * i2);
                                                var v3 = results[11];            // PV Generator Nr. 3 - Spannung in V
                                                var i3 = results[13];            // PV Generator Nr. 3 - Strom in A
                                                var p3 = parseInt(v3 * i3);
                                         
                                                if (logging) log("Leistung aktuell= " + pwr + " W");
                                                if (logging) log("Tagesleistung= " + day + " kWh");
                                                if (logging) log("Leistung gesamt= " + all + " kWh");
                                                if (logging) log("Leistung Strang 1= " + p1 + " W");
                                            	if (logging) log("Leistung Strang 2= " + p2 + " W");
                                            	if (logging) log("Leistung Strang 3= " + p3 + " W");
                                         
                                                setState(idaktuell, parseFloat(pwr));
                                                setState(idTag, parseFloat(day));
                                                setState(idall, parseFloat(all));
                                                setState(idP1, parseFloat(p1));
                                                setState(idP2, parseFloat(p2));
                                                setState(idP3, parseFloat(p3));
                                            });
                                        }
                                         
                                        Piko();
                                        
                                         return;
                                         
                                        schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                                            log ("Auslöser: Schedule");
                                        	Piko();
                                        });
                                         
                                        schedule("3 0 * * *", function () {     // Variablen löschen um 00:03 Uhr   
                                            setState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0);
                                        });
                                        
                                        
                                        HomoranH 1 Antwort Letzte Antwort
                                        0
                                        • H HotMaggi

                                          @bahnuhr

                                          Das angepasste Script mit angepassten Variablen erzeugt bei mir WarnMeldungen und es werden keine Variablen aktualisiert, ich habe den schedule Teil ausgenommen um es erstmal manuell zu starten...

                                          Name und Kennwort habe ich nachträglich unkenntlich gemacht.

                                          error.jpg

                                          Geräte.jpg

                                          // Photovoltaik: Piko 5.5 Anlage (alte Firmware)
                                          // Danke an homoran für den regex
                                          // @bahnuhr; 03/2019 Dieter Müller
                                          // @bahnuhr; 10/2021 Dieter Müller - angepasst auf 3 String
                                           
                                          //Variaben
                                              var idaktuell = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_aktuell';
                                              var idTag = '0_userdata.0.Geraete.PV.Photovoltaik.Tagesleistung';
                                              var idall = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_gesamt';
                                              var idP1 = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_Strang1';
                                              var idP2 = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_Strang2';
                                              var idP3 = '0_userdata.0.Geraete.PV.Photovoltaik.Leistung_Strang3';
                                           
                                              var NameAnlage = 'pvXXXX';        // Nutzername der Photovoltaik-Anlage
                                              var PassAnlage = 'pXXXXX';         // Password der Photovoltaik-Anlage
                                              var IPAnlage = '192.168.1.8';    // IP der Photovoltaik-Anlage
                                           
                                              var logging = false;
                                              var request = require('request');
                                           
                                           
                                           function Piko() {
                                              log("Piko 5.5 auslesen");
                                              var results = [];
                                              request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
                                                  var d = body.toString();
                                                  if (logging) log (d);
                                                  var reg = /#FFFFFF">[^\d]+([^<]+)/g
                                                  var z = reg.exec(d);
                                           
                                                  while(z != null) {
                                                      if (isNaN(z[1])) {
                                                          if (logging) log("keine Zahl= "+ z[1]);
                                                          z[1] = 0;
                                                      } else {
                                                          if (logging) log("Zahl= "+ z[1]);
                                                          parseFloat(z[1]);
                                                      }
                                                      results[results.length] = z[1];
                                                      z = reg.exec(d);
                                                  }
                                                  if (logging) log("results= "+ results);
                                           
                                              // Werte zuordnen
                                                  var pwr = results[0];           // Energie aktuell in W
                                                  var day = results[2];           // Tagesenergie in kWh
                                                  var all = results[1];           // Gesamtenergie in kWh
                                                  var v1 = results[3];            // PV Generator Nr. 1 - Spannung in V
                                                  var i1 = results[5];            // PV Generator Nr. 1 - Strom in A
                                                  var p1 = parseInt(v1 * i1);
                                                  var v2 = results[7];            // PV Generator Nr. 2 - Spannung in V
                                                  var i2 = results[9];            // PV Generator Nr. 2 - Strom in A
                                                  var p2 = parseInt(v2 * i2);
                                                  var v3 = results[11];            // PV Generator Nr. 3 - Spannung in V
                                                  var i3 = results[13];            // PV Generator Nr. 3 - Strom in A
                                                  var p3 = parseInt(v3 * i3);
                                           
                                                  if (logging) log("Leistung aktuell= " + pwr + " W");
                                                  if (logging) log("Tagesleistung= " + day + " kWh");
                                                  if (logging) log("Leistung gesamt= " + all + " kWh");
                                                  if (logging) log("Leistung Strang 1= " + p1 + " W");
                                              	if (logging) log("Leistung Strang 2= " + p2 + " W");
                                              	if (logging) log("Leistung Strang 3= " + p3 + " W");
                                           
                                                  setState(idaktuell, parseFloat(pwr));
                                                  setState(idTag, parseFloat(day));
                                                  setState(idall, parseFloat(all));
                                                  setState(idP1, parseFloat(p1));
                                                  setState(idP2, parseFloat(p2));
                                                  setState(idP3, parseFloat(p3));
                                              });
                                          }
                                           
                                          Piko();
                                          
                                           return;
                                           
                                          schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                                              log ("Auslöser: Schedule");
                                          	Piko();
                                          });
                                           
                                          schedule("3 0 * * *", function () {     // Variablen löschen um 00:03 Uhr   
                                              setState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0);
                                          });
                                          
                                          
                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von Homoran
                                          #58

                                          @hotmaggi
                                          nähere Informationen stehen im log! (Protokolle)

                                          in den Zeilen 65-70 werden die Datenpunkte beschrieben.

                                          Hast du diese angelegt?

                                          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 -

                                          H 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

                                          533

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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