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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Photovoltaik Script

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Photovoltaik Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
41 Beiträge 10 Kommentatoren 5.8k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #13

    @paul53

    Habe als type nun number gesetzt (bei createState).

    Bei den Variablen wurde teilweise string eingelesen. Diese musste ich wandeln mit parseFloat.

    (hoffe das war richtig).

    Danach habe ich die mit NaN auf 0 geetzt.

    Läuft jetzt so.

    Wenn dir noch etwas auffällt, dann Rückinfo an mich, Danke.

    @homoran

    Nutzername bei den Variablen ergänzt.

    Achso, nun das Script:

    ! ````
    /* Photovoltaik: Piko 5.5 Anlage
    ! Diese Script stammt aus dem Homematic Forum. Von wem weiß ich nicht mehr.
    Lief bei mir als ccu.io.Script einwandfrei.
    ! Dieses Script habe ich nun auf iobroker umgeschrieben.
    ! @bahnuhr
    02.01.2017 Dieter Müller
    */
    ! //Variaben
    var idaktuell = 'javascript.0.Status.Photovoltaik.Leistung_aktuell';
    var idTag = 'javascript.0.Status.Photovoltaik.Tagesleistung';
    var idall = 'javascript.0.Status.Photovoltaik.Leistung_gesamt';
    var idP1 = 'javascript.0.Status.Photovoltaik.Leistung_Strang1';
    var idP2 = 'javascript.0.Status.Photovoltaik.Leistung_Strang2';
    ! var NameAnlage = 'abcdefgh'; // Nutzername der Photovoltaik-Anlage
    var PassAnlage = 'abcde'; // Password der Photovoltaik-Anlage
    var IPAnlage = '192.168.xxx.xx'; // IP der Photovoltaik-Anlage
    ! var logging = true;
    ! // Ab hier nix mehr ändern
    createState(idaktuell, {
    type: 'number',
    name: 'Leistung aktuell',
    min: 0,
    def: 0,
    role: 'value'
    });
    createState(idTag, {
    type: 'number',
    name: 'Tagesleistung',
    min: 0,
    def: 0,
    role: 'value'
    });
    createState(idall, {
    type: 'number',
    name: 'Leistung gesamt',
    min: 0,
    def: 0,
    role: 'value'
    });
    createState(idP1, {
    type: 'number',
    name: 'Leistung Strang 1',
    min: 0,
    def: 0,
    role: 'value'
    });
    createState(idP2, {
    type: 'number',
    name: 'Leistung Strang 2',
    min: 0,
    def: 0,
    role: 'value'
    });
    ! function Piko() {
    var cheerio = require('cheerio');
    var request = require('request');
    ! if (logging) log("Piko 5.5 auslesen");
    request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
    $ = cheerio.load(body);
    var d = $("td");
    var pwr = parseFloat(d.eq(14).text().trim());
    var day = parseFloat(d.eq(26).text().trim());
    var all = parseFloat(d.eq(17).text().trim());
    var v1 = d.eq(56).text().trim();
    var i1 = d.eq(65).text().trim();
    var p1 = v1 * i1;
    var v2 = d.eq(82).text().trim();
    var i2 = d.eq(91).text().trim();
    var p2 = v2 * i2;
    if (isNaN(pwr)) pwr = 0;
    if (isNaN(p1)) p1 = 0;
    if (isNaN(p2)) p2 = 0;

                    if (logging) log("Leistung aktuell= " + pwr);
                    if (logging) log("Tagesleistung= " + day);
                    if (logging) log("Leistung gesamt= " + all);
    				if (logging) log("Leistung Strang 1= " + p1);
    				if (logging) log("Leistung Strang 2= " + p2);
    

    ! setState(idaktuell, pwr);
    setState(idTag, day);
    setState(idall, all);
    setState(idP1, p1);
    setState(idP2, p2);
    });
    }
    ! schedule("3,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
    log ("Auslöser: Schedule");
    Piko();
    });

    
    Viel Spass damit.
    
    mfg
    
    Dieter

    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
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #14

      @bahnuhr:

      Bei den Variablen wurde teilweise string eingelesen. Diese musste ich wandeln mit parseFloat.

      (hoffe das war richtig). `
      Ja.
      @bahnuhr:

      Wenn dir noch etwas auffällt, dann Rückinfo an mich, `
      Skripte künftig bitte innerhalb von Code-Tags posten.

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

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

        @paul53:

        Skripte künftig bitte innerhalb von Code-Tags posten. `
        Ich hab es gerade korrigiert

        Gruß

        Rainer

        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 Offline
          S Offline
          Strizz
          schrieb am zuletzt editiert von
          #16

          Hallo,

          ich besitze auch den Wechselrichter Piko 5.5 und würde das Script gerne mal testen. Leider hakt es da bei mir. Im Logfile bekomme ich folgende Fehlermeldung
          ` > 11:17:00.496 [error] javascript.0 script.js.common.Piko_auslesen: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/cheerio' at Piko (script.js.common.Piko_auslesen:66:27), at Object. (script.js.common.Piko_auslesen:103:4), at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1500:34), at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:175:10), at null._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:479:11), at Timer.listOnTimeout (timers.js:92:15)

          11:17:00.496 [info] javascript.0 script.js.common.Piko_auslesen: Piko 5.5 auslesen `

          Soweit ich das verstehe, fehlt mir das Javascript-Module cheerio. Wie komme ich denn da dran? Fehlt mir nur ein Update?

          Ich habe nodejs version 4.4.5. Das ganze läuft auf eine Raspi 2.

          Wäre schön, wenn mir jemand auf die Sprünge helfen könnte.

          Gruß

          Strizz

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

            @Strizz:

            Soweit ich das verstehe, fehlt mir das Javascript-Module cheerio. Wie komme ich denn da dran? `
            üblicherweise in der Konfiguration des JS-Adapters eintragen - Adapter neu starten und gut ist.

            @Strizz:

            Fehlt mir nur ein Update? `
            kann ich nicht beurteilen, da ich es nicht weiß. Sollte das Paket schon irgendwo in einer veralteten Version drin sein, bringt natürlich der Eintrag in der Konfiguration nichts.

            Gruß

            Rainer

            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 Offline
              S Offline
              Strizz
              schrieb am zuletzt editiert von
              #18

              Hallo Rainer,

              Neustart hat nicht geholfen, Neuinstallation auch nicht. Kein Cheerio in dem besagten Verzeichnis.

              Noch eine Idee?

              Strizz

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

                @Strizz:

                Neustart hat nicht geholfen, Neuinstallation auch nicht. `
                Hast du denn cheerio:
                @Homoran:

                in der Konfiguration des JS-Adapters eintragen `

                Gruß

                Rainer

                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 Offline
                  S Offline
                  Strizz
                  schrieb am zuletzt editiert von
                  #20

                  Hallo Rainer,

                  wo steht denn so was? Aber genau das war es. Script läuft. Wenn jetzt nur noch die Sonne scheinen würde!

                  Herzlichen Dank

                  Ulrich

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

                    @Strizz:

                    wo steht denn so was? `
                    Bereits in meiner ersten Antwort ;-)

                    Du hast anscheind das darauffolgende zwar durchgeführt, aber nicht die Grundlagen dafür gelegt ;-)

                    Außerdem steht es hier:

                    http://www.iobroker.net/?page_id=5319&l … figuration

                    direkt der erste Satz unter dem Bild:
                    > Die eigentliche Konfiguration besteht aus der Eingabe von zusätzlichen zu ladenden npm-Module (durch Komma getrennt),…

                    Gruß

                    Rainer

                    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 Offline
                      S Offline
                      Strizz
                      schrieb am zuletzt editiert von
                      #22

                      Hallo Rainer,

                      danke für den Hinweis. Bei mir laufen etwa 10 Javascript-Programme. Da habe ich nie ein zusätzliches npm-Module gebraucht. Deshalb bin ich auch nicht auf die Idee gekommen. Bin halt etwas ahnungslos in diesen Dingen.

                      Was das Script angeht, habe ich mich zu früh gefreut. Es gibt zwar keine Fehlermeldungen mehr, aber auch noch keine Werte. Ich habe auf meiner Piko 5.5 die UI-Version 06.11. Ich weiß nicht, ob es daran liegt. Aber mit pvserver:passwort@ipadresse - wie es in dem Script vorgesehen ist - , kann ich mich nicht auf dem Webserver der Piko einloggen.Werde mal weiter probieren. Wenn du noch eine Idee hast, wäre ich natürlich dankbar.

                      Mfg

                      Strizz

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

                        @Strizz:

                        Aber mit pvserver:passwort@ipadresse - wie es in dem Script vorgesehen ist - , kann ich mich nicht auf dem Webserver der Piko einloggen `

                        ich schon!

                        Direkt in die Adresszeile eingegeben klappt das.

                        Hast du das richtige passwort?

                        Gruß

                        Rainer

                        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 Offline
                          S Offline
                          Strizz
                          schrieb am zuletzt editiert von
                          #24

                          Hallo Rainer,

                          habe es gerade noch mal mit anderen Browsern versucht. Es geht einfach nicht! Username und Passwort stimmen. Ich lande immer auf der Homepage von Piko und muss mich dann weiter per Hand einloggen. Hast du auch die UI-Version 06.11?

                          Mfg

                          Strizz

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

                            Wenn das das ist was bei Einstellungen steht habe ich ver 3.75 :o

                            Gruß

                            Rainer

                            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 Offline
                              S Offline
                              Strizz
                              schrieb am zuletzt editiert von
                              #26

                              Hallo Rainer,

                              bei mir gibt es einen Menüpunkt "Info -> Versionen". Das sieht dann so aus wie auf dem Bild.

                              234_piko.png

                              Ich fürchte, da hat Kostal etwas geändert.

                              MfG

                              Strizz

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

                                @Strizz:

                                bei mir gibt es einen Menüpunkt "Info -> Versionen". Das sieht dann so aus wie auf dem Bild. `
                                Boa ey - wie schick :shock:

                                ich hab wohl noch die MS-DOS Variante:
                                144_iobroker_kostal.jpg

                                Gruß

                                Rainer

                                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 Offline
                                  S Offline
                                  Strizz
                                  schrieb am zuletzt editiert von
                                  #28

                                  Ja, das war es dann wohl! Danke für deine Mühe.

                                  Mit freundlichen Grüßen

                                  Strizz

                                  Gesendet von iPad mit Tapatalk Pro

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    michi050
                                    schrieb am zuletzt editiert von
                                    #29

                                    Hallo,

                                    ich habe das Skript für den Piko 5.5 installiert, es funktioniert wunderbar. Da sich der Router des PIKO nur dann einschaltet, wenn ich zu Hause bin, bringt mir das Skript logischerweise eine Fehlermeldung alle 5 Minuten. Nun zu meiner Frage: Kann ich das Skript per Datenpunkt aus der CCU nach Bedarf aktivieren / deaktivieren?

                                    Vielen Dank im Voraus

                                    Gruß Michael

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

                                      @michi050:

                                      Hallo,

                                      ich habe das Skript für den Piko 5.5 installiert, es funktioniert wunderbar. Da sich der Router des PIKO nur dann einschaltet, wenn ich zu Hause bin, bringt mir das Skript logischerweise eine Fehlermeldung alle 5 Minuten. Nun zu meiner Frage: Kann ich das Skript per Datenpunkt aus der CCU nach Bedarf aktivieren / deaktivieren?

                                      Vielen Dank im Voraus

                                      Gruß Michael `

                                      Was meinst du genau?

                                      Willst du das Script starten, wenn z.B. die Systemvariable auf der ccu2 auf anwesend geht ?

                                      So startet das Script alle 5 Min.

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

                                      Das nehm raus und starte auf die Veränderung der SV:

                                      on({id: "Systemvariable .....", change: "ne", val: true}, function() {   // SV wurde geändert auf true
                                          log("Auslöser SV .... true);
                                          Piko();
                                      }); 
                                      

                                      fertig.

                                      mfg


                                      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
                                      • M Offline
                                        M Offline
                                        michi050
                                        schrieb am zuletzt editiert von
                                        #31

                                        Hallo Dieter,

                                        vielen Dank zunächst. Das Script soll sich erst aktivieren, wenn ich zu Hause bin ( Anwesenheit true) und dann alle 5 Minuten aktualisieren. Wenn ich gehe ( Anwesenheit false), dann soll es sich wieder deaktivieren. In Deinen Beispiel dürfte es sich doch nur einmal bei Anwesenheit aktualisieren dann nicht mehr, oder?

                                        Gruß Michael

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

                                          ok, dann so:

                                          schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () {
                                          	var Anw = getState('SV.....').val;
                                          	if (Anw === true) {
                                          		log ("Auslöser: Schedule");
                                          		Piko();
                                          	}
                                          });
                                          

                                          Das heißt:

                                          Schedeule wird alle 5 Min. ausgeführt.

                                          Und dann wird Anwesenheit geprüft.

                                          Und nur wenn Anw true dann gehe zum Script.

                                          so richtig ?

                                          mfg


                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          797

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          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