Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Leistungssteuerung PV-Wechselrichter "0-Einspeisung"

    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

    Leistungssteuerung PV-Wechselrichter "0-Einspeisung"

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      fellpower @paul53 last edited by fellpower

      @paul53

      Aufm Papier hat das Netzteil 480W DC Leistung. Verluste sind nicht inbegriffen 😉 AC dürfte aber etwas höher sein ^^

      Aber der PID dürfte doch gar nicht loslegen, wenn ich aktuell +250W Bezug habe ^^

      Er regelt quasi genau verkehrt herum.

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

        @fellpower sagte: 480W DC Leistung.

        Dann verringere Xp auf 5000, damit der Regler schneller reagiert.

        @fellpower sagte in Leistungssteuerung PV-Wechselrichter "0-Einspeisung":

        250W Bezug

        250 / 5000 = 5 %, also startet der Regler (bei Xp = 5000) mit 45 % und läuft Richtung 0 %.

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

          @paul53

          Ich glaube wir missverstehen uns gerade.

          Sobald ich den PI anmache und 250W Bezug habe, regelt der PI den Dimmer hoch, damit erzeugt er noch mehr Bezug, den ich ja nicht haben will. Da gerade +250W Bezug anstehen, darf er ja nicht das Ladegerät anmachen, da ja gerade kein Überschuss produziert wird. Es ist dunkel draussen - und mein WR liefert nix mehr.

          Also die Richtung ist verkehrt. Er versucht die +250W auf NULL zu regeln, aber da er ja ein Ladegerät steuert, erzeugt er mehr Bezug, wenn er hochregelt. Er müsste jetzt gar nix machen, bzw den Dimmer auf NULL halten, bis wieder negativer Bezug, also Einspeisung vorliegen würde ^^

          PS: Der Regler läuft bis 100% durch und bleibt da auch ^^

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

            @fellpower sagte: regelt der PI den Dimmer hoch

            Im Bild sehe ich -100. Also sollte er bei Einspeisung (negative Werte) hoch und bei Bezug runter regeln.

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

              @paul53
              tut er aber nicht.

              Schalte ich ein, geht er in Schritten auf 100% Dimmerwert

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

                @fellpower sagte: Wo liegt der Fehler?

                Das müssen Additionen sein - keine Divisionen:

                Blockly_temp.JPG

                Verkleinere Tn auf 4.

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

                  @paul53

                  oh man, na klar! das war natürlich der super FAIL 😞

                  Ich geh in die Ecke und schäme mich. Danke Paul!

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

                    @fellpower bitte keine externen "Hoster" verwenden

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      fellpower @Homoran last edited by

                      @homoran

                      Okay, merke ich mir für die Zukunft. Mein Video war leider zu groß zum Einbetten. Ich nehms raus.

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

                        @fellpower sagte in Leistungssteuerung PV-Wechselrichter "0-Einspeisung":

                        Mein Video war leider zu groß zum Einbetten.

                        versuch es beim nächsten mal mit screen2gif.
                        (natürlich auch nur mit minimalen Einstellungen und nicht 4k 24fps 😁 )

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          fellpower @Homoran last edited by fellpower

                          Moin Leute

                          Seit dem neusten JS Controller Update, geht das PID Script nicht mehr. Der Wert für den Shelly, also die Stellgröße Springt nur noch hin und her. Hat jemand ne Idee?

                          107c0077-0d77-4516-bae4-28bfab23ef0c-image.png

                          475661d3-64b8-4350-871a-8d6bf38271d7-image.png

                          pid.gif

                          Rechts bei Dimmer ist das Steuersignal. Es spinnt total, obwohl ich keine Einspeisung habe (Leistung Haus). Es sollte also bei Null sein. Habe ich Überschuss, springt es auch nur rum.

                          Jemand ne Idee?

                          Nachtrag: Ich habe mal mein "altes" Script probiert - das funktioniert tadellos. Muss also am PID liegen ^^

                          9eac0def-ff7d-4bfa-9833-6f8991133af0-image.png

                          alteregelung.gif

                          Hab dann ne komplett frische Installation gemacht. Und es passiert genau das Gleiche. Also muss es am neuen JS Controller liegen - das ist das Einzige, was ich geändert habe.

                          mcm1957 paul53 2 Replies Last reply Reply Quote 0
                          • mcm1957
                            mcm1957 @fellpower last edited by mcm1957

                            @fellpower
                            Kann mir nicht wirklich vorstellen welchen Einfluss der js-controller auf dein Blockly hätte. Wenn dann liegt es eher am (wahrscheinlich auch vorgenommenen) Upodate des javascript Adapters.

                            Aber debug mal dein Skript und grenze ein welche Daten sich wie unverändert verändern. Log z.B. den Shella Power Wert, die Timestamps udn die berechneten Werte mit. Dann solltest du sehen können wo unerwartete Daten auftauchen.

                            Wenn dein "altes Skript" besser funktioniert dann schau auch mal was der Unterschied in den Skripten ist.

                            P.S: Bitte nenn mal die Version des javascript Adapters und die Version von node die du im Einsatz hast.

                            F 1 Reply Last reply Reply Quote 1
                            • paul53
                              paul53 @fellpower last edited by paul53

                              @fellpower sagte Hat jemand ne Idee?

                              Am js-controller kann es nicht liegen. Ist vielleicht Xp zu klein, so dass die Regelung instabil ist?
                              Bau Debug ein, um das Verhalten zu testen.

                              Blockly_temp.JPG

                              Anmerkung: Es handelt sich um einen PI-Regler (nicht PID).

                              1 Reply Last reply Reply Quote 1
                              • F
                                fellpower @mcm1957 last edited by fellpower

                                @mcm1957
                                @paul53

                                Nein - es liegt am Update des Controllers / JS Adapters.

                                Bevor ich das Update gemacht habe, hat das Script sehr gut funktioniert. Der PI hat smooth und schön auf Null geregelt, ohne diese Sprünge. Und genau die sind das Problem. Der Wert für "Helligkeit" des Shelly springt, wie man sieht - und zwar sieht man den "echten" Regelwert auch sehr gut - nur das da irgendwas überlagert wird. Und nein, kein anderer Adapter schreibt in diese Variable.

                                Sorry, für die Verwirrung, natürlich ist es ein PI.

                                Ich sende euch gleich einen Debug. (Wird schwierig, da ich gerade keinen Überschuss produziere) - aber man sieht am ersten aufgenommenen GIF ja, wie der Stellwert (Dimmer - Ladegerät in %) springt. Das er mal schnell steigt, kann ja mal sein, aber man sieht, das dort irgendwie 2 Werte drin sind. Einmal der richtige Wert - und irgendwas, was nicht gelöscht wird.

                                Ein Debug atm sieht so aus - aber er regelt ja jetzt auch nix.

                                javascript.0	17:01:18.969	info	script.js.PID: Bezug:602.88W, p:-20.096%, i:-10.068096%, Output:19.835904
                                javascript.0	17:01:20.960	info	script.js.PID: Bezug:592.69W, p:-19.756333333333334%, i:-19.911689083333336%, Output:10.33197758333333
                                javascript.0	17:01:22.960	info	script.js.PID: Bezug:599.5W, p:-19.983333333333334%, i:-29.903355750000003%, Output:0.11331091666666282
                                javascript.0	17:01:24.967	info	script.js.PID: Bezug:605.75W, p:-20.191666666666666%, i:-29.903355750000003%, Output:0
                                javascript.0	17:01:26.959	info	script.js.PID: Bezug:599.03W, p:-19.967666666666666%, i:-29.903355750000003%, Output:0
                                javascript.0	17:01:28.958	info	script.js.PID: Bezug:599.14W, p:-19.971333333333334%, i:-29.903355750000003%, Output:0
                                javascript.0	17:01:30.955	info	script.js.PID: Bezug:597.95W, p:-19.93166666666667%, i:-29.903355750000003%, Output:0
                                javascript.0	17:01:32.954	info	script.js.PID: Bezug:596.56W, p:-19.88533333333333%, i:-29.903355750000003%, Output:0
                                javascript.0	17:01:34.924	info	script.js.PID: Bezug:607.37W, p:-20.245666666666665%, i:-29.903355750000003%, Output:0
                                javascript.0	17:01:37.942	info	script.js.PID: Bezug:592.42W, p:-19.74733333333333%, i:-29.903355750000003%, Output:0
                                javascript.0	17:01:38.953	info	script.js.PID: Bezug:596.78W, p:-19.892666666666667%, i:-29.903355750000003%, Output:0
                                javascript.0	17:01:40.953	info	script.js.PID: Bezug:595.22W, p:-19.840666666666667%, i:-29.903355750000003%, Output:0
                                

                                Hier mal, wenn ich den PI "umdrehe". also anstatt -100 habe ich mal auf 100 gestellt. Er spring wieder brutal.

                                javascript.0	17:07:07.258	info	Start JavaScript script.js.PID (Blockly)
                                javascript.0	17:07:07.261	info	script.js.PID: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                javascript.0	17:07:09.071	info	script.js.PID: Bezug:734.37W, p:24.479%, i:12.31905675%, Output:86.79805675
                                javascript.0	17:07:11.063	info	script.js.PID: Bezug:731.67W, p:24.389%, i:24.46477875%, Output:98.85377875
                                javascript.0	17:07:13.062	info	script.js.PID: Bezug:721.68W, p:24.055999999999997%, i:24.46477875%, Output:100
                                javascript.0	17:07:15.061	info	script.js.PID: Bezug:924.39W, p:30.813%, i:24.46477875%, Output:100
                                javascript.0	17:07:17.070	info	script.js.PID: Bezug:1212.5W, p:40.416666666666664%, i:24.46477875%, Output:100
                                javascript.0	17:07:19.065	info	script.js.PID: Bezug:1209.46W, p:40.315333333333335%, i:24.46477875%, Output:100
                                javascript.0	17:07:20.974	info	Stopping script script.js.PID
                                

                                Man sieht aber auch, das einige Werte anders aussehen, obwohl er nicht regelt. "p" hat mal mehr Nachkommastellen, mal nicht.

                                javascript.0	17:11:13.758	info	Start JavaScript script.js.PID (Blockly)
                                javascript.0	17:11:13.760	info	script.js.PID: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                javascript.0	17:11:15.137	info	script.js.PID: Bezug:715.96 W, p:-23.865333333333336 %, i:-12.016195333333334 %, Output:14.11847133333333
                                javascript.0	17:11:17.126	info	script.js.PID: Bezug:715.53 W, p:-23.851 %, i:-23.876105083333336 %, Output:2.272894916666665
                                javascript.0	17:11:19.171	info	script.js.PID: Bezug:706.51 W, p:-23.550333333333334 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:21.127	info	script.js.PID: Bezug:706.82 W, p:-23.56066666666667 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:23.130	info	script.js.PID: Bezug:723.13 W, p:-24.104333333333333 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:25.132	info	script.js.PID: Bezug:734.86 W, p:-24.495333333333335 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:27.129	info	script.js.PID: Bezug:705.18 W, p:-23.505999999999997 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:29.146	info	script.js.PID: Bezug:699.43 W, p:-23.31433333333333 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:31.134	info	script.js.PID: Bezug:670.96 W, p:-22.365333333333336 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:33.271	info	script.js.PID: Bezug:666.57 W, p:-22.219 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:35.134	info	script.js.PID: Bezug:666.46 W, p:-22.215333333333334 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:37.160	info	script.js.PID: Bezug:671.75 W, p:-22.391666666666666 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:39.207	info	script.js.PID: Bezug:622.61 W, p:-20.753666666666668 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:41.151	info	script.js.PID: Bezug:704.9 W, p:-23.496666666666666 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:43.305	info	script.js.PID: Bezug:699.36 W, p:-23.312 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:45.157	info	script.js.PID: Bezug:695.66 W, p:-23.188666666666666 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:47.205	info	script.js.PID: Bezug:680.47 W, p:-22.682333333333332 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:49.242	info	script.js.PID: Bezug:695.27 W, p:-23.175666666666665 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:51.149	info	script.js.PID: Bezug:688.67 W, p:-22.955666666666666 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:53.153	info	script.js.PID: Bezug:686.35 W, p:-22.878333333333334 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:55.145	info	script.js.PID: Bezug:696.13 W, p:-23.204333333333334 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:57.154	info	script.js.PID: Bezug:654.18 W, p:-21.805999999999997 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:11:59.143	info	script.js.PID: Bezug:692.86 W, p:-23.095333333333333 %, i:-23.876105083333336 %, Output:0
                                javascript.0	17:12:00.882	info	Stopping script script.js.PID
                                

                                Ein richtiges Debug kann ich erst wieder morgen früh machen, wenn er auch richtig regeln kann.

                                mcm1957 paul53 2 Replies Last reply Reply Quote 0
                                • mcm1957
                                  mcm1957 @fellpower last edited by mcm1957

                                  @fellpower

                                  Hier mal, wenn ich den PI "umdrehe". also anstatt -100 habe ich mal auf 100 gestellt. Er spring wieder brutal.

                                  Das überrascht dich?

                                  Man sieht aber auch, das einige Werte anders aussehen, obwohl er nicht regelt. "p" hat mal mehr Nachkommastellen, mal nicht.

                                  Na dass die Nachkommastellen variieren ist ja wohl kein Problem. Ergänze die fehlenden Stellen einfach mal mit Nullen 🙂 - trailing Nullen werden halt nicht angezeigt.

                                  Werte mal dein Log aus, rechne manuell nach und eruiere welcher Wert sich da anders verhält als du erwartest.

                                  Wenn du mit js-Adapter den Javascript Adapter meinst - ja der kann hier mitspielen. Nur das der js-controlelr hier einen nennenswerten Einfluss hat (ausgenommen dein Skript ist empfindlich auf verändertes Timing) bezweifle ich nach wie vor.

                                  Das ist noch ioffen:

                                  Bitte nenn mal die Version des javascript Adapters und die Version von node die du im Einsatz hast.

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    fellpower @mcm1957 last edited by

                                    @mcm1957
                                    Nein, das überrascht mich nicht. Aber wir reden aneinander vorbei.

                                    Das Script hat vor dem Update von JS-Controller und Scriptausführung mit Node.js: v18.20.4 sehr gut funktioniert. Erst NACHDEM JS-Controller und Scriptausführung geupdatet wurden, funktioniert es nicht mehr, wie es soll. Da brauch ich nichts nachrechnen, ob es stimmen könnte. Es hatte bis vor dem Update gestimmt.

                                    Node.js: v18.20.4 und Scriptausführung: 8.7.6 SInd die fehlenden Infos, die du noch haben wolltest.

                                    Guck dir doch mal das GIF an:

                                    pid.gif

                                    Bei "Leistung Haus" siehst du den Wert, der bei Überschuss auf NULL geregelt werden soll. Bei "Dimmer Ladegerät" siehst du den Wert, der das macht. Das ist meine Steuergröße für ein Ladegerät.

                                    Dieser Wert sollte (und ist vorher) - jeh nach Höhe des Überschusses, durchaus auch mal sprunghaft - auf einen Wert gestiegen.
                                    NACH dem Update, sieht man es 2 Werte sind, welche da irgendwie ne Rolle spielen. Man sieht am Zeiger, das einmal der Output Wert angezeigt wird - und einmal ein anderer Wert - scheinbar.

                                    Er könnte / sollte ja so regeln: 0% - 10% - 20% usw

                                    Was er aber macht ist: 0% - 10%(30% Sprung) - wieder 10% - 40% Sprung.

                                    Sieht man doch eindeutig auf dem Bild, das es so nicht richtig ist. Und DAS hat er vor den Updates nicht gemacht - und es stört massiv meine Akkuladung ^^

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

                                      @fellpower sagte: Man sieht aber auch, das einige Werte anders aussehen, obwohl er nicht regelt.

                                      Schau mal die Berechnung von output an. Da passt was nicht. In diesen Zeilen passt die Berechnung mit "output = 50 + p + i":

                                      javascript.0	17:11:15.137	info	script.js.PID: Bezug:715.96 W, p:-23.865333333333336 %, i:-12.016195333333334 %, Output:14.11847133333333
                                      javascript.0	17:11:17.126	info	script.js.PID: Bezug:715.53 W, p:-23.851 %, i:-23.876105083333336 %, Output:2.272894916666665
                                      

                                      In dieser und weiteren Zeilen müsste output > 0 sein:

                                      javascript.0	17:11:39.207	info	script.js.PID: Bezug:622.61 W, p:-20.753666666666668 %, i:-23.876105083333336 %, Output:0
                                      

                                      EDIT: Das kommt wahrscheinlich von dieser Oder-Verknüpfung:

                                      Blockly_temp.JPG

                                      Was soll sie bewirken?

                                      F 1 Reply Last reply Reply Quote 0
                                      • mcm1957
                                        mcm1957 @fellpower last edited by

                                        @fellpower

                                        Ich nehme die Aussage schon zur Kenntnis dass es irgendeine eine Änderungen gegeben haben muss wenn dein Skript sich nun anders verhält als vorher. Aber um den Fehler einzugrenzen der bei deinem Script auftritt wirst du nicht drum herumkommen nachzurechnen oder sonstwie festzustellen was denn nun anders funktioniert wie erwartet. Ohne eine konkrete Angabe dass eine Rechenoperation was anderes liefert als sie soll oder dass Updates nicht vorgenommen werden oder ... werden wir nicht weiterkommen. Das Bild ist nett aber hilft bei einer Problemeingrenzung wenig. Aber da du ja weißt was dein Skript tun soll, kannst du ja feststellen wo es das nicht tut.

                                        Wenn sich der Wert sprunghaft ändert, grenze bitte ein warum. Log die in der Berechnung verwendeten Timestamps jedenfalls auch mit. Ändern sich die Input Werte sprunghaft? Wird was falsch berechnet? Hat dein Script ein Timingproblem? Passen die Timestamps?

                                        Sorry, aber es wird sicher kein Dev dein Script debuggen.

                                        Bisher ist mir kein Fehler in Java Script / Blockly bekannt der mit deinem Problem in Zusammenhng stehen könnte.

                                        1 Reply Last reply Reply Quote 1
                                        • F
                                          fellpower @paul53 last edited by fellpower

                                          @paul53

                                          Der Output wird auf Null gestellt, wenn der HM400 Wechselrichter an ist. Das hat auch so funktioniert. Macht ja keinen Sinn, den Akku mit dem Strom zu laden, den der Wechselrichter aus dem Akku holt, der geladen werden soll ^^

                                          @mcm1957
                                          Natürlich nehme auch ich zur Kenntnis, das ihr mir hier in eurer Freizeit helft. Es mag vielleicht manchmal etwas komisch rüber kommen, wenn ich etwas schreibe - aber man geht ja prinzipiell erstmal davon aus, das etwas besser funktionieren sollte, nach einem Update.

                                          Ich habe soeben mal das - bisher tadellos funktionierende Script - auf eine Komplett frische Installation (LCX im Proxmox, ohne Docker) gezogen mit :

                                          Node.js: v20.16.0
                                          JS-Controller 6.0.9
                                          Scriptausführung 8.7.6

                                          Gleiche Probleme.

                                          Niemand muss mein Blockly debuggen, weil es ja vor dem Update funktioniert hat. Viel mehr ist die Frage, was ist jetzt bei der Scriptausführung anders?

                                          Kann ich eine andere Version (die davor) von der Scriptausführung installieren? Wenn ja, wie? Das ich das mal gegentesten kann. (Schon gefunden - und mal die Version davor installiert - morgen früh weiß ich mehr)

                                          Homoran mcm1957 paul53 3 Replies Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @fellpower last edited by

                                            @fellpower sagte in Leistungssteuerung PV-Wechselrichter "0-Einspeisung":

                                            Viel mehr ist die Frage, was ist jetzt bei der Scriptausführung anders?

                                            und genau das musst du uns sagen.

                                            @fellpower sagte in Leistungssteuerung PV-Wechselrichter "0-Einspeisung":

                                            weil es ja vor dem Update funktioniert hat.

                                            es hat auch schon Dinge gegeben die gefixt wurden, und vorher hätte es auch nicht funktionieren dürfen.

                                            Deswegen brauchen wir von dir die Info was genau mit welcher Version anders läuft.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            419
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            19
                                            152
                                            20812
                                            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