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.
    • 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

                            824
                            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