Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly, ModBus und Grafana

    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

    Blockly, ModBus und Grafana

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

      Hallo Gemeinde,

      ich stehe vor folgender Herausforderung:

      Ausgangssituation:
      WIr betreiben eine PV-Anlage mit einem Solis-Wechselrichter. Dieser liefert über Modbus für die einzelnen Strings Strom und Spannung, so dass man die Leistung der Anlage berechnen (Strom x Spannung) und entsprechend in eine Systemvariable des ioBroker schreiben kann mit dem Ziel, sie anschließend über Grafana darstellen zu lassen.

      Um das System nicht zu überlasten lasse ich das script alle 2 min laufen. Dies funktioniert auch, die Daten werden in die influx.db geschrieben und im Grafana angezeigt -> bis zum "Problem" 😉

      Problemstellung:

      Wenn ich die "Häufigkeit" des scriptes ändere, also z.B. von 2 auf 5 min, dann werden für ca. 1h die Werte über das script in die Systemvariablen des ioBroker geschrieben - aber dann nicht mehr, das script berechnet nicht mehr und die timestamps in den SV "bleiben stehen".

      Die Modbus-Verbindung steht, in den Objekten des Modbus-Adapters ändern sich die Werte regelmäßig, aber das script schreibt eben nicht mehr die SV.

      Dank euch!!

      Modbus.jpg
      Script.jpg

      Systemvariablen.jpg

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

        @nachtfuchs sagte in Blockly, ModBus und Grafana:

        Um das System nicht zu überlasten lasse ich das script alle 2 min laufen.

        ich lasse ähnliche Berechnungen alle 6 Sekunden lsufen. Ohne Probleme.

        @nachtfuchs sagte in Blockly, ModBus und Grafana:

        das script berechnet nicht mehr

        woran machst du das fest?

        @nachtfuchs sagte in Blockly, ModBus und Grafana:

        und die timestamps in den SV "bleiben stehen".

        SV = State (Datenpunkt)?

        N 1 Reply Last reply Reply Quote 0
        • N
          Nachtfuchs @Homoran last edited by

          @homoran

          Hallo, mal wieder mein Retter in der Not 😉

          Dass das script nicht rechnet mache ich daran fest, dass die Systemvariable (= SV) im ioBroker nicht aktualisiert wird und somit die influx.db keinen neuen Datenpunkt bekommt...

          Was mich eben wundert ist, dass es etwa 1 h funktioniert, und dann nicht mehr...

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

            @nachtfuchs sagte in Blockly, ModBus und Grafana:

            dass die Systemvariable (= SV) im ioBroker

            nochmals:

            @homoran sagte in Blockly, ModBus und Grafana:

            SV = State (Datenpunkt)?

            @nachtfuchs sagte in Blockly, ModBus und Grafana:

            Dass das script nicht rechnet

            erkennt man, indem man mit einem debug-Baustein die Rechnung überprüft.

            @nachtfuchs sagte in Blockly, ModBus und Grafana:

            und somit die influx.db keinen neuen Datenpunkt bekommt...

            dies ist aber schon die dritte Ebene, die klemmen könnte.

            @nachtfuchs sagte in Blockly, ModBus und Grafana:

            Was mich eben wundert ist, dass es etwa 1 h funktioniert, und dann nicht mehr...

            da wäre zu prüfen, ob da der Server als ganzes überlastet ist (aber nicht wegen des Skripts als solches).

            PS ich schieb das mal aus England nach D!

            N 2 Replies Last reply Reply Quote 0
            • N
              Nachtfuchs @Homoran last edited by

              @homoran

              Sorry, was meinst Du mit "debug-Baustein" ?

              Meister Mopper 1 Reply Last reply Reply Quote 0
              • Meister Mopper
                Meister Mopper @Nachtfuchs last edited by

                @nachtfuchs sagte in Blockly, ModBus und Grafana:

                @homoran

                Sorry, was meinst Du mit "debug-Baustein" ?

                59d3424c-e9a8-40e1-8d7d-47cda4b47dfc-grafik.png

                N 1 Reply Last reply Reply Quote 0
                • N
                  Nachtfuchs @Meister Mopper last edited by

                  @meister-mopper

                  Danke, ist angelegt - und nun?

                  debug.jpg

                  Homoran 1 Reply Last reply Reply Quote 0
                  • N
                    Nachtfuchs @Homoran last edited by Nachtfuchs

                    @homoran said in Blockly, ModBus und Grafana:

                    @nachtfuchs sagte in Blockly, ModBus und Grafana:

                    und somit die influx.db keinen neuen Datenpunkt bekommt...

                    dies ist aber schon die dritte Ebene, die klemmen könnte.

                    Wie gesagt, die timestamps der Systemvariablen im Java script sind "alt".

                    Konkret: die Zeitstempel sind aktuell, aber der "zuletzt geändert"-Zeitpunkt ist in der Vergangenheit (> 1 Tag).

                    Und wie gesagt, wenn ich jetzt die Skripausführung von alle 2 min auf 1 min ändere schreibt er fleißig...

                    Bilder: das kleine ist vor der Umstellung auf Ausführung alle 2 min, das große nach der Umstellung

                    Zeitstempel.jpg

                    Zeitstempel 2.jpg

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

                      @nachtfuchs sagte in Blockly, ModBus und Grafana:

                      und nun?

                      was steht im log (Protokolle)?

                      Was hast du eigentlich alles unter Global an Skripten?
                      sollen die da wirklich sein?

                      EDIT!
                      Hast du für den debug Block etwa ein eigenes Skript angelegt?
                      Der Block muss in deinem zu untersuchenden Skript eingebaut werden um dich zu informieren wann und wo es klemmt.

                      N 1 Reply Last reply Reply Quote 0
                      • N
                        Nachtfuchs @Homoran last edited by Nachtfuchs

                        @homoran

                        Ich habe das script mal um 18:17 laufen lassen, um Fehlermeldungen direkt zuordnen zu können.

                        Der einzige Log-Eintrag für 18:17 ist der angehängte.

                        Log.jpg

                        Um 18:17 hat das script korrekt gerechnet und die Systemvariablen gesetzt ...

                        1817.jpg

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

                          @nachtfuchs sagte in Blockly, ModBus und Grafana:

                          Ich habe das script mal um 18:17 laufen lassen, um Fehlermeldungen direkt zuordnen zu können.

                          welches Skript?

                          @homoran sagte in Blockly, ModBus und Grafana:

                          Hast du für den debug Block etwa ein eigenes Skript angelegt?
                          Der Block muss in deinem zu untersuchenden Skript eingebaut werden um dich zu informieren wann und wo es klemmt.

                          N 1 Reply Last reply Reply Quote 0
                          • N
                            Nachtfuchs @Homoran last edited by

                            @homoran

                            Sorry: das "Rechenscript".

                            Ist mittlerweile wieder auf "jede Minute" umgestellt.

                            Script.jpg

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

                              @nachtfuchs der debug Block ist ja gar nicht integriert

                              N 1 Reply Last reply Reply Quote 0
                              • N
                                Nachtfuchs @Homoran last edited by

                                @homoran

                                Stimmt ... 😉

                                Anbei die screenshots des scripts und des Protokolls.

                                Ab dem morgen wurden die Variablen geändert, die influx.db gefüllt - aber um 09:32 passierte das nicht mehr.

                                Jetzt habe ich zu Testzwecken das script um 11:59 einmalig ausführen lassen - da hat er wieder in die Variablen geschrieben... ich verzweifel hier noch ...

                                Script.jpg

                                Log.jpg

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

                                  @nachtfuchs sagte in Blockly, ModBus und Grafana:

                                  ich verzweifel hier noch ...

                                  @homoran sagte in Blockly, ModBus und Grafana:

                                  Was hast du eigentlich alles unter Global an Skripten?
                                  sollen die da wirklich sein?

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

                                    @nachtfuchs

                                    ich sehe keinen debug output
                                    was steht im Zeitplan?
                                    Warum kein Cron?

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

                                      @nachtfuchs sagte: die Leistung der Anlage berechnen (Strom x Spannung)

                                      Das liefert die Scheinleistung - nicht die Wirkleistung.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      549
                                      Online

                                      31.9k
                                      Users

                                      80.2k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      17
                                      628
                                      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