Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Photovoltaik Script

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Photovoltaik Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Strizz last edited by

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

      Mit freundlichen Grüßen

      Strizz

      Gesendet von iPad mit Tapatalk Pro

      1 Reply Last reply Reply Quote 0
      • M
        michi050 last edited by

        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 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active last edited by

          @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

          1 Reply Last reply Reply Quote 0
          • M
            michi050 last edited by

            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 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active last edited by

              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

              1 Reply Last reply Reply Quote 0
              • M
                michi050 last edited by

                Ich danke Dir herzlich, Dieter 🙂

                1 Reply Last reply Reply Quote 0
                • P
                  piet1 last edited by

                  Ich hab jetzt auch meine ersten Programmierversuche gestartet 😄 Garagentor funktioniert jetzt über App dank Arduino!! - http://www.instructables.com/id/Arduino-WiFi-Garage-Door-Opener/ Infos dazu.

                  Den Erwerb einer PV überlegen wir uns auch schon eine Zeit lang, sollte es soweit kommen, probiere ich dein Skript auch sehr gerne aus! 🙂

                  Aktuell sind wir nämlich nur bei eine PV-Projekt der https://www.stw.at eingemietet, selber haben wir derzeit nur Solar-Zellen am Dach.

                  Meinst du, mit kleinen Änderungen kann man dein Script auch dafür verwenden?

                  Gruß,

                  piet

                  1 Reply Last reply Reply Quote 0
                  • M
                    michi050 last edited by

                    Hallo,

                    ich habe das Script von Bahnuhr zum Auslesen der Daten vom Kostal in Gebrauch. Es funktioniert grundsätzlich ganz gut, aber so 2-3mal pro Tag bringt das Script die Instanz der Java Scriptengine zum Absturz. Dies hat zur Folge, dass alle laufenden Prozesse unterbrochen werden, bis die Instanz neu gestartet ist.

                    Ohne das Script grundsätzlich verändern zu wollen wäre die Frage ob es sinnvoll ist, eine weitere Instanz (JavaScript.1) zu installieren und in dieser das Kostalscript isoliert zu betreiben? Dann würde die Instanz Javascript.0 zumindest nicht mehr abstürzen. Wäre der Ansatz richtig?

                    Danke u. Gruß

                    Michael

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

                      Was heisst "bringt zum Absturz"!? Welche Fehler gibts denn?

                      1 Reply Last reply Reply Quote 0
                      • P
                        pix last edited by

                        Hallo Michael,

                        unbedingt! Das ist die schnellste Lösung bevor man sich das Skript vornimmt. So lässt sich auch rausfinden, ob nur das Photovoltaik Skript oder ein weiteres Skript, das parallel läuft (zB gleichzeitig auch von einer Webseite parst), den Fehler ausführt.

                        Also schnell eine neue Instanz erstellen!

                        Gruß

                        Pix

                        EDIT:

                        Neue oder verdächtige Skripte laufen bei mir immer in der Instanz 2.

                        Skripte, die getestet sind und Daten aus dem Internet benötigen in Instanz 1.

                        Alle lebenswichtigen Skripte (ohne Internetbedarf) in Instanz 0.

                        1 Reply Last reply Reply Quote 0
                        • M
                          michi050 last edited by

                          @ apollon77:

                          Es wird versucht Daten auszulesen, danach stehen im Log Fehlerzeilen, im Anschluß wird die Instanz neu gestartet. Es kommt selten vor, aber laufende Prozesse sind dann jeweils beendet.

                          @ pix

                          Vielen Dank. Also unter Adapter nur eine weitere Javascript/Coffeescript Engine (+) installieren?

                          Gruß

                          Miichael

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

                            @michi050:

                            @ apollon77:

                            Es wird versucht Daten auszulesen, danach stehen im Log Fehlerzeilen, im Anschluß wird die Instanz neu gestartet. Es kommt selten vor, aber laufende Prozesse sind dann jeweils beendet. `
                            Dann dann mal her mit den Fehlerzeilen 🙂

                            1 Reply Last reply Reply Quote 0
                            • M
                              michi050 last edited by

                              Hallo Apollo,

                              hier das Log der Fehlermeldung.

                              Gruß Michael
                              1914_kostal.jpg

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

                                Spontan tippe ich das es Fälle gibt wo dein Request in einen Fehler läuft. Dann ist "body" leer.

                                Das wird aktuell im Skript aber nicht abgefangen. Und scheinbar fängt es die cheerio-Library beim Aufruf

                                                    $ = cheerio.load(body);
                                

                                auch nicht ab.

                                Ich würde ja noch ein "if (body) { …}" in den request einbauen oder wenigstens noch den responsecode prüfen - der ist bei den Fehlerfällen bestimmt auch nicht 200 ... Also hier fehlt einfach Fehlerhandling 🙂

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                820
                                Online

                                31.7k
                                Users

                                79.8k
                                Topics

                                1.3m
                                Posts

                                10
                                41
                                5196
                                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