Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. update javascript -> photovoltaik script läuft auch nicht mehr !!!

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    UNSOLVED update javascript -> photovoltaik script läuft auch nicht mehr !!!

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active last edited by

      Also für mich ist der Adapter nicht stable.

      Jetzt läuft auch das photovoltaik script nicht mehr:

      anbei 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 = 'SN-Login';   // Nutzername der Photovoltaik-Anlage
      var PassAnlage = 'xxxx';   // Password der Photovoltaik-Anlage
      var IPAnlage = '192.168.xxx.xx';   // IP der Photovoltaik-Anlage
      
      var logging = true;
      
      
       function Piko() {
                  var cheerio = require('cheerio');
                  var request = require('request');
      
                  if (logging) log("Piko 5.5 auslesen");
                  //http://SN-Login:WGrZMkb@192.168.243.75
                  request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) {
                          $ = cheerio.load(body);
                          var d = $("td");
      
                          var pwr = parseFloat(d.eq(14).text().trim());   // Energie aktuell in W
                          var day = parseFloat(d.eq(26).text().trim());   // Tagesenergie in kWh
                          var all = parseFloat(d.eq(17).text().trim());   // Gesamtenergie in kWh
                          var v1 = d.eq(56).text().trim();   // PV Generator Nr. 1 - Spannung in V
                          var i1 = d.eq(65).text().trim();   // PV Generator Nr. 1 - Strom in A
                          var p1 = parseInt(v1 * i1);
                          var v2 = d.eq(82).text().trim();   // PV Generator Nr. 1 - Spannung in V
                          var i2 = d.eq(91).text().trim();   // PV Generator Nr. 1 - Strom in A
                          var p2 = parseInt(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("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.Status.Photovoltaik.Tagesleistung', 0);
      });
      
      
      

      Und die Fehlermeldung (javascript stürzt auch komplett ab)
      2b9dc644-0626-4051-83cc-5dd4c9e0e792-image.png

      Wie heute schon mehrmals erwähnt:
      Es läuft seit Monaten und dann : Nach update läuft nix mehr rund.

      Ich betrachte den adapter in keinster Weise als stable !

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

        @bahnuhr
        Seltsam.

        ich habe den Adapter heute morgen auch upgedatet - das Piko Skript läuft einwandfrei

        Strom_aktuell.png

        Für das schlechte Wetter kann der Adapter nichts

        Was hast du denn noch upgedatet, bzw. welche Versionen hast du bei

        • admin
        • js-controller (Hosts)
        • node
        • npm
        Homoran 1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active last edited by

          Rainer,
          Danke für die Info.

          upgadatet: admin und javascript

          Kannst du mir mal dein script senden?
          Hast du das gleiche?

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

            @bahnuhr

            Sorry - Habe nochmal verglichen, habe ein anderes.
            Welche Firmware hast du auf deinem PIKO, mein Skript ist für die neue Version mit Java

            1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active last edited by

              Ne, ich hab die alte Version.

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

                @bahnuhr
                Im MOment sind es ja auch "nur" Fehler, die der Controller noch abfängt.

                Du solltest aber trotzdem mal nachsehen, warum er "d.eq" anmeckert

                Da sollte auch noch mehr Infos im log stehen, wo sich der Übeltäter im Skript versteckt.

                1 Reply Last reply Reply Quote 0
                • bahnuhr
                  bahnuhr Forum Testing Most Active last edited by

                  Ne, mehr Infos gibt es nicht.

                  hab ich oben alle eingehängt.

                  @Homoran sagte in update javascript -> photovoltaik script läuft auch nicht mehr !!!:

                  Im MOment sind es ja auch "nur" Fehler, die der Controller noch abfängt.

                  Und richtig abfangen tut der Controller nicht; javascript stürzt komplett ab und startet neu.

                  1 Reply Last reply Reply Quote 0
                  • Thisoft
                    Thisoft last edited by

                    Nur mal was mir auffällt - kann aber sein dass mir da nur gewisse Spezialitäten von Javascript noch unbekannt sind und ich mich blamiere;-)

                                        $ = cheerio.load(body);
                                        var d = $("td");
                    

                    Kann man "$" wirklich als Variablenname verwenden?

                    1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active last edited by

                      Das Script stammt aus dem Homematic Forum; was ich dann in 01/2017 auf ioB umgeschrieben habe.

                      Seit dem lief dies einwandfrei.

                      Und seit heute nun nicht mehr.

                      1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active last edited by

                        So, ich teste, habe aber bisher keine Lösung gefunden.

                        eq ist seit dem update wohl nicht mehr möglich.

                        Ich weiß, dass mehere hier das Script in Benutz haben.

                        Falls jemand eine Lösung hat bitte hier teilen.

                        Danke.

                        1 Reply Last reply Reply Quote 0
                        • Thisoft
                          Thisoft last edited by

                          Meine Vermutung ist, dass nicht "eq" das Problem ist, sondern dass die Variable "d" leer bzw. Nothing ist. Kannst deren Wert ja zur Kontrolle mal ins Log schreiben lassen...

                          1 Reply Last reply Reply Quote 0
                          • bahnuhr
                            bahnuhr Forum Testing Most Active last edited by

                                               $ = cheerio.load(body);
                                                log (cheerio.load(body));
                                                var d = $("td");
                                                log ("d= " + d);
                            

                            960dc759-a265-4278-a7b8-7a68e48370d3-image.png

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 last edited by paul53

                              if(d) log ("d= " + JSON.stringify(d));
                              
                              1 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active last edited by

                                @paul53 sagte in update javascript -> photovoltaik script läuft auch nicht mehr !!!:

                                if(d) log ("d= " + JSON.stringify(d));

                                01e91a53-cc87-49f8-a1a4-c48b7c937812-image.png

                                paul53 1 Reply Last reply Reply Quote 0
                                • Thisoft
                                  Thisoft last edited by

                                  OK. Dann vergiss mein ganzes Geschreibsel. Dann war meine Vermutung komplett ein Holzweg und ich habe ein Wissensloch ☹

                                  Vielleicht kann mich ja gelegentlich jemand mal aufklären was die Zeile:

                                  $ = cheerio.load(body);
                                  

                                  eigentlich tut...?

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @bahnuhr last edited by

                                    @bahnuhr Das Objekt enthält offenbar nur {length:0};. Dann kann der Rest des Skriptes nicht funktionieren.

                                    1 Reply Last reply Reply Quote 0
                                    • bahnuhr
                                      bahnuhr Forum Testing Most Active last edited by

                                      Das sehe ich jetzt auch so.

                                      Aber warum ist das so?

                                      Lief ja monate lang ohne Probleme.

                                      1 Reply Last reply Reply Quote 0
                                      • wendy2702
                                        wendy2702 @bahnuhr last edited by

                                        @bahnuhr sagte in update javascript -> photovoltaik script läuft auch nicht mehr !!!:

                                        upgadatet: admin und javascript

                                        Welche Versionen?

                                        1 Reply Last reply Reply Quote 0
                                        • bahnuhr
                                          bahnuhr Forum Testing Most Active last edited by

                                          admin: 3.6.0
                                          javascript: 4.1.12

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

                                            @Homoran sagte in update javascript -> photovoltaik script läuft auch nicht mehr !!!:

                                            bzw. welche Versionen hast du bei

                                            • admin
                                            • js-controller (Hosts)
                                            • node
                                            • npm

                                            Bitte von allem, damit wir es einkreisen können

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            934
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            bug
                                            6
                                            41
                                            1425
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo