Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter pid (pid-Regler) V1.0.x

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    207

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    7.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Test Adapter pid (pid-Regler) V1.0.x

Test Adapter pid (pid-Regler) V1.0.x

Scheduled Pinned Locked Moved Tester
314 Posts 16 Posters 64.5k Views 14 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • fu_zhouF fu_zhou

    @oxident da hast du im Prinzip einen P-Regler gebaut mit Kp = 0,6, sup = 100 und Zykluszeit 1 Sekunde. Die Eigenschaft eines P-Reglers ist, dass es bei einer bleibenden Regelabweichung bleibt, diese wird erst durch einen I-Anteil abgebaut. Ist eine Nachstellzeit Tn parametriert, bekommst du einen PI-Regler, parametrierst du noch eine Vorhaltezeit Tv, bekommst du einen PID-Regler, der noch schneller reagiert, als ein PI-Regler.
    Wenn du dein System zu gleichmäßigen Schwingungen bringen kannst, kannst du z.B. über Ziegler-Nichols oder Chien, Hrones und Reswick Kp, Tn und Tv ermitteln, siehe: https://de.wikipedia.org/wiki/Faustformelverfahren_(Automatisierungstechnik)
    Du musst dabei aber immer bedenken, dass dein System die durch den Regler ausgegebenen Änderungen der Stellgröße = bei dir die Ansteuerung der Lade- und Entladeleistung des Akkus dauerhaft verkraften muss. Es nützt dir ja nichts, wenn du die Nulleinspeisung mit optimalen Reglerparametern hinbekommst, aber nach einem halben Jahr die Elektronik oder der ganze Akku kaputt ist, weil die Bauteile mechanisch/elektronisch nicht für eine stetige Regelung ausgelegt und geeignet sind.

    mcm1957M Offline
    mcm1957M Offline
    mcm1957
    wrote on last edited by
    #216

    @fu_zhou
    DANKE für seinen Support in Regelungstechnik.
    Bei Softwareproblemen kann ich ja helfen - in Regelungstechnik bin ich allerdings eher wenig informiert.

    Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
    Support Repositoryverwaltung.

    Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

    LESEN - gute Forenbeitrage

    1 Reply Last reply
    0
    • fu_zhouF fu_zhou

      Mal ein kurzes Fazit von der PV-Überschussladung: Echt super, mit dem Regler!

      Ich verwende folgende Parameter:

      • Istwert: aktuelle Netzleistung (- = Einspeisung, + = Bezug)
      • Sollwert: 0,1 kW Netzeinspeisung (= -0,1 kW), wobei ich den verschieben kann, z.B. auf +3,0 kW, um auf jeden Fall zu laden (dann halt nicht PV-Überschuss)
      • Kp=0,1, Tn=10s, Tv=0s (bisher nur PI-Regler)
      • sup: 0,2 kW: damit werden Schwankungen im Haus (hier ne Lampe an, da startet der Kühlschrank) gut weggefiltert, ebenso wird damit die Situation verhindert, dass der Regler die Wallbox als Sprungantwort ständig zwischen 2 Stromstärken hin- und herschaltet (z.B. 7A - 8A -7A, die Wallbox goE HomeFix arbeitet nur mit ganzen Ampere)
      • min: die Wallbox startet bei 230V, 6A (= ca.1,4 kW), d.h. mein min ist fix auf 1.3 kW eingestellt => der Regler braucht nicht die gesamte Totzone von 0 bis 1.4 kW hochreglen, bis die Ladung freigegeben wird
      • max: berechne ich dynamisch aus verfügbarer PV-Leistung minus 0,5 kW Grundlast plus Sollwert Netzbezug. Wenn eine Wolke drüber zieht und die PV-Leistung einbricht, muss der Regler nicht erst runterregeln, sondern reduziert die Ladeleistung sehr schnell. Ich nutze daher Kp, nicht Xp, weil die Veränderung von max keinen Einfluss auf y haben darf (außer y > neues max).
      • hold: setze ich auf true, wenn die Anzahl der Phasen (1 nach 3, 3 nach 1) aufgrund der angeforderten Ladeleistung umgeschaltet wird. Die Wallbox pausiert hier kurz den Ladevorgang, was dazu führt, dass die vorherige Ladeleistung schlagartig ins Netz gegeben wird und der Regler mit einem Sprung antworten würde, was dazu führt, dass die Phasen ständig hin- und herschalten und gar nicht mehr geladen wird (durch die Ladepause bei der Phasenumschaltung). hold setze ich wieder auf false, wenn die Phasenumschaltung abgeschlossen ist und die Wallbox mit der neuen Anzahl Phasen weiterlädt

      Ich muss mal sehen, ob ich noch eine Tv ermittle und in wie weit Kp, Tn und sup noch weiter optimiert werden können. Bisher bin ich aber schon sehr zufrieden!

      lobomauL Offline
      lobomauL Offline
      lobomau
      wrote on last edited by lobomau
      #217

      @fu_zhou das ist ein interessanter Anwendungsfall, den sicher einige hier übernehmen können. Vielleicht würde sich hier anbieten einen eigenen thread hierzu anzulegen, oder?
      Also.. ich versuche es grad nachzubauen. Bisher war ich eigentlich ganz zufrieden mit meinem eigenen SCript dazu, aber besser geht immer 😉
      Bisher habe ich immer die Ampere-Zahl geregelt. Wenn ich es richtig sehe nutzt du den unteren DP, der aus Watt die Ampere macht, richtig?

      go-e.1.energy.adjustAmpLevelInWatts
      

      Und wenn ich es richtig verstehe muss ich da irgendwie in der selben Einheit bleiben... also alles in kW?
      Ich habe erstmal ganz plump angefangen. Ein Script setzt den actual value auf die aktuelle Netzleistung vom smartmeter, also wie bei dir (- = Einspeisung, + = Bezug). Der Wert kommt in Watt rein, deswegen teile ich den Wert durch 1000 um auf kW zu kommen:

      9db54a1a-86dc-47cb-bb46-52905a92d70e-image.png

      Den Teil von dir für die max Berechnung habe ich noch nicht implementiert. Ich habe hier erstmal nur die Zahl 3,7 für 3,7 kW eingesetzt und 1,4 kW für min.
      So lasse ich erstmal laufen ohne das dieses Script wirklich eingreift.... sprich der y-Wert wirkt noch nicht aktiv. Set habe ich auf 0 gesetzt.

      Das Ganze scheint schon mal so zu reagieren wie erwartet:
      y wird geregelt zwischen 1,4 und 3,7 kW. Bei Bezug wird es kleiner Richtung 1,4 und bei Einspeisung wird es größer Richtung 3,7.
      Ich werde das mal beobachten und dann mal scharf ausprobieren.

      Mein altes SCript hat bisher immer in 1 A-Schritten geregelt. Interessant wäre es ob das jetzt auch mit größeren Sprüngen funktionieren könnte.

      Host: NUC8i3 mit Proxmox:

      • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
      • Slave: Pi4
      mcm1957M fu_zhouF 2 Replies Last reply
      0
      • lobomauL lobomau

        @fu_zhou das ist ein interessanter Anwendungsfall, den sicher einige hier übernehmen können. Vielleicht würde sich hier anbieten einen eigenen thread hierzu anzulegen, oder?
        Also.. ich versuche es grad nachzubauen. Bisher war ich eigentlich ganz zufrieden mit meinem eigenen SCript dazu, aber besser geht immer 😉
        Bisher habe ich immer die Ampere-Zahl geregelt. Wenn ich es richtig sehe nutzt du den unteren DP, der aus Watt die Ampere macht, richtig?

        go-e.1.energy.adjustAmpLevelInWatts
        

        Und wenn ich es richtig verstehe muss ich da irgendwie in der selben Einheit bleiben... also alles in kW?
        Ich habe erstmal ganz plump angefangen. Ein Script setzt den actual value auf die aktuelle Netzleistung vom smartmeter, also wie bei dir (- = Einspeisung, + = Bezug). Der Wert kommt in Watt rein, deswegen teile ich den Wert durch 1000 um auf kW zu kommen:

        9db54a1a-86dc-47cb-bb46-52905a92d70e-image.png

        Den Teil von dir für die max Berechnung habe ich noch nicht implementiert. Ich habe hier erstmal nur die Zahl 3,7 für 3,7 kW eingesetzt und 1,4 kW für min.
        So lasse ich erstmal laufen ohne das dieses Script wirklich eingreift.... sprich der y-Wert wirkt noch nicht aktiv. Set habe ich auf 0 gesetzt.

        Das Ganze scheint schon mal so zu reagieren wie erwartet:
        y wird geregelt zwischen 1,4 und 3,7 kW. Bei Bezug wird es kleiner Richtung 1,4 und bei Einspeisung wird es größer Richtung 3,7.
        Ich werde das mal beobachten und dann mal scharf ausprobieren.

        Mein altes SCript hat bisher immer in 1 A-Schritten geregelt. Interessant wäre es ob das jetzt auch mit größeren Sprüngen funktionieren könnte.

        mcm1957M Offline
        mcm1957M Offline
        mcm1957
        wrote on last edited by
        #218

        @fu_zhou
        @paul53

        Ein neuer Thread zum Support der regelungstechnischen Fragen (im Gegensatz zu Fragen die die Softwareimplemntierung, Abstürze, Features, ... betreffen, würde wahrscheinölich Sinn machen.
        ABER wie schon geschrieben, ich bin zu wenig Regelungstechniker um hier seriös unterstützen zu können.

        Falls also wer von euch hier bereit ist zu supporten, bitte gern einen Extra Thread aufmachen (oder mir sagen, dann mach ichs). Es kann auch gerne das Wiki (https://github.com/iobroker-community-adapters/ioBroker.pid/wiki) benutzt werden falls das sinnvoll erscheint und jemand z.B. Artikel zum Einsatz mit einer konkreten Aufgabenstellung ablegen will.

        Größter Nachteil diese Threads ist dass ich nicht weiß ob "nicht-tester" hier posten können. Ansonsten stört es mich auch nicht, wenn hier diskutiert wird solange es mit dem pid Adapter im Zusammenhang steht.

        Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
        Support Repositoryverwaltung.

        Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

        LESEN - gute Forenbeitrage

        1 Reply Last reply
        0
        • lobomauL lobomau

          @fu_zhou das ist ein interessanter Anwendungsfall, den sicher einige hier übernehmen können. Vielleicht würde sich hier anbieten einen eigenen thread hierzu anzulegen, oder?
          Also.. ich versuche es grad nachzubauen. Bisher war ich eigentlich ganz zufrieden mit meinem eigenen SCript dazu, aber besser geht immer 😉
          Bisher habe ich immer die Ampere-Zahl geregelt. Wenn ich es richtig sehe nutzt du den unteren DP, der aus Watt die Ampere macht, richtig?

          go-e.1.energy.adjustAmpLevelInWatts
          

          Und wenn ich es richtig verstehe muss ich da irgendwie in der selben Einheit bleiben... also alles in kW?
          Ich habe erstmal ganz plump angefangen. Ein Script setzt den actual value auf die aktuelle Netzleistung vom smartmeter, also wie bei dir (- = Einspeisung, + = Bezug). Der Wert kommt in Watt rein, deswegen teile ich den Wert durch 1000 um auf kW zu kommen:

          9db54a1a-86dc-47cb-bb46-52905a92d70e-image.png

          Den Teil von dir für die max Berechnung habe ich noch nicht implementiert. Ich habe hier erstmal nur die Zahl 3,7 für 3,7 kW eingesetzt und 1,4 kW für min.
          So lasse ich erstmal laufen ohne das dieses Script wirklich eingreift.... sprich der y-Wert wirkt noch nicht aktiv. Set habe ich auf 0 gesetzt.

          Das Ganze scheint schon mal so zu reagieren wie erwartet:
          y wird geregelt zwischen 1,4 und 3,7 kW. Bei Bezug wird es kleiner Richtung 1,4 und bei Einspeisung wird es größer Richtung 3,7.
          Ich werde das mal beobachten und dann mal scharf ausprobieren.

          Mein altes SCript hat bisher immer in 1 A-Schritten geregelt. Interessant wäre es ob das jetzt auch mit größeren Sprüngen funktionieren könnte.

          fu_zhouF Offline
          fu_zhouF Offline
          fu_zhou
          wrote on last edited by fu_zhou
          #219

          @lobomau mach doch mal ein Thread auf "PID-Adapter: Anwendungs-Ideen und -Möglichkeiten" oder so ähnlich.

          @lobomau sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:

          Bisher habe ich immer die Ampere-Zahl geregelt. Wenn ich es richtig sehe nutzt du den unteren DP, der aus Watt die Ampere macht, richtig?

          ich kenne den Datenpunkt so nicht, ich nutze MQTT und verwende da amp.set und versorge den state mit ganzen (Ampere-) Zahlen. Die Stromstärke berechne ich aus der vom Regler ermittelten Leistung in kW und runde auf ganze Zahlen ab. Den Code vom Blockly findest du unten - einfach in Blockly importieren und versuchen nachzuvollziehen 😉
          Warum regle ich die Leistung und nicht die Stromstärke? Weil die Leistung von 1.4 bis 11 kW geht, bei ca. 4 kW aber der Sprung von 16 zurück auf 6 A kommt, während dann mit 3 und nicht mehr mit 1 Phase geladen wird. Wenn du mit max. 3.7 kW laden möchtest (=1-phasig) kannst du auch die Stromstärke von 6 - 16 A regeln.

          @lobomau sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:

          Und wenn ich es richtig verstehe muss ich da irgendwie in der selben Einheit bleiben... also alles in kW?

          Istwert und Sollwert müssen die gleiche Einheit haben, sonst lässt sich ja die Regelabweichung nicht vernünftig berechnen. Der Reglerausgang muss dann zum Stellglied passen, kann 0-100 (%) sein, kann 0-11 (kW) sein, 0-10 (V), 6-16 (A), -1400 - 1400 (U/min) sein usw. (wird ja durch min und max definiert).

          <xml xmlns="https://developers.google.com/blockly/xml">
            <block type="comment" id="6Fzyi%iFMuz;[gx6U^ur" x="-162" y="-462">
              <field name="COMMENT">Objekte für Lademodi</field>
              <next>
                <block type="create" id="g=}k]T}C`/O@fN^KkL8,">
                  <field name="NAME">Wallbox.Laden_mit_3_Phasen</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="Q#$fU7:LQ*wXH$Wmo?^;">
                      <field name="BOOL">FALSE</field>
                    </block>
                  </value>
                  <value name="COMMON">
                    <block type="text" id="()hhu.BXzd@3B9LR{M5L">
                      <field name="TEXT">{"type":"boolean"}</field>
                    </block>
                  </value>
                  <next>
                    <block type="create" id="V2UMyXKwCwkVRQ7Q|H7p">
                      <field name="NAME">Wallbox.Ladestrom</field>
                      <value name="VALUE">
                        <block type="math_number" id=")zxu/!0vjiL|6`/wTm?z">
                          <field name="NUM">6</field>
                        </block>
                      </value>
                      <value name="COMMON">
                        <block type="text" id="IBU`2L$!ri*P0acDm[hq">
                          <field name="TEXT">{"type":"number","unit":"A","min":6,"max":17}</field>
                        </block>
                      </value>
                      <next>
                        <block type="create" id="3ZF*2X8UqK5D2Yrg.=Ja">
                          <field name="NAME">Wallbox.Ladestrom_temp</field>
                          <value name="VALUE">
                            <block type="math_number" id="Os.Q{xlLrT9ukcU2.he:">
                              <field name="NUM">6</field>
                            </block>
                          </value>
                          <value name="COMMON">
                            <block type="text" id="h|$`wDEX7VK:.vb#?+9~">
                              <field name="TEXT">{"type":"number","unit":"A","min":6,"max":17}</field>
                            </block>
                          </value>
                          <next>
                            <block type="comment" id="9(;?A=^Gm:J{1/0kx?D*">
                              <field name="COMMENT">Ladefreigabe nur bei Anforderung &gt;1.4kW</field>
                              <next>
                                <block type="on" id="LI/DnJ,bhNV[GPDQd5x2" disabled="true">
                                  <field name="OID">javascript.0.Wallbox.Ladeleistung</field>
                                  <field name="CONDITION">ne</field>
                                  <field name="ACK_CONDITION"></field>
                                  <statement name="STATEMENT">
                                    <block type="controls_if" id="]g-4ksVUc,L:R`,Sam{]">
                                      <mutation else="1"></mutation>
                                      <value name="IF0">
                                        <block type="logic_compare" id="LR(_Lypo4Eh;q?jxiyWG">
                                          <field name="OP">LT</field>
                                          <value name="A">
                                            <block type="on_source" id="5ICK=yd_RoC2xZ=2nuCd">
                                              <field name="ATTR">state.val</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="math_number" id="z2XHw[s8?rAAc45}wfIg">
                                              <field name="NUM">1.4</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="comment" id="M%HTxJcO2Ix:=1Lvth^w">
                                          <field name="COMMENT">Flatterschutz</field>
                                          <next>
                                            <block type="control" id="7)CJi@2G~T@ov|Nw^8Bk">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                              <field name="OID">mqtt.0.go-eCharger.frc.set</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="math_number" id="u3r[TM0$.O8x/1i[y_L#">
                                                  <field name="NUM">1</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                      <statement name="ELSE">
                                        <block type="control" id="}uF^S[.4}bpeEf|E.^/~">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">mqtt.0.go-eCharger.frc.set</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="math_number" id="4n~49KOkX/ZZAR)1wrfD">
                                              <field name="NUM">0</field>
                                            </block>
                                          </value>
                                        </block>
                                      </statement>
                                    </block>
                                  </statement>
                                  <next>
                                    <block type="comment" id="*(ykd$e~x?uw_M6bq9=5">
                                      <field name="COMMENT">Freigabe Regler nur bei aktiver Ladung</field>
                                      <next>
                                        <block type="on" id="(J,T/^Dj!W64nts%+Q~f">
                                          <field name="OID">javascript.0.PV.Netzleistung</field>
                                          <field name="CONDITION">ne</field>
                                          <field name="ACK_CONDITION"></field>
                                          <statement name="STATEMENT">
                                            <block type="control" id="L+s}}3JbkdP9ird(}dD?">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                              <field name="OID">pid.0.C-Wallbox_Ladeleistung.in.act</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="on_source" id="BW+GhDj$_HcO%0A5`Uig">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="comment" id="lT_D;o/aq/KP3g[/6[=X">
                                                  <field name="COMMENT">"- 0.5" = Grundlast</field>
                                                  <next>
                                                    <block type="control" id="ui]E)FYnxhAtqjDiio_)">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                      <field name="OID">pid.0.C-Wallbox_Ladeleistung.para.max</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="math_constrain" id="~1f,$OZYDw3ka]UGHbrB">
                                                          <value name="VALUE">
                                                            <shadow type="math_number" id="^`IA.,ld+d0I)(kPy`9N">
                                                              <field name="NUM">50</field>
                                                            </shadow>
                                                            <block type="math_arithmetic" id="rd@D|6a,_es.dd@R7Q.z">
                                                              <field name="OP">MINUS</field>
                                                              <value name="A">
                                                                <shadow type="math_number" id="5Tfd4pORy!tC@3lXPp+*">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="math_arithmetic" id="P=JTpM]BWMnggQ^0$;2o">
                                                                  <field name="OP">ADD</field>
                                                                  <value name="A">
                                                                    <shadow type="math_number" id="jV=45_4GcvdMfevaias|">
                                                                      <field name="NUM">1</field>
                                                                    </shadow>
                                                                    <block type="get_value" id="asCeq)lqPS^](|ZJ=~er">
                                                                      <field name="ATTR">val</field>
                                                                      <field name="OID">pid.0.C-Wallbox_Ladeleistung.in.set</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="B">
                                                                    <shadow type="math_number" id="yQ?:r`qozcbv_*^/!;MJ">
                                                                      <field name="NUM">0.5</field>
                                                                    </shadow>
                                                                    <block type="get_value" id="cpWV!jBFH`w(r?EjIGi%">
                                                                      <field name="ATTR">val</field>
                                                                      <field name="OID">lg-ess-home.0.user.essinfo.home.statistics.pcs_pv_total_power</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <shadow type="math_number" id=")BI(2-KYpw={iuPJ2=!e">
                                                                  <field name="NUM">0.5</field>
                                                                </shadow>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="LOW">
                                                            <shadow type="math_number" id="Pz3azW*5Kd,gx3~tI8wM">
                                                              <field name="NUM">1.4</field>
                                                            </shadow>
                                                          </value>
                                                          <value name="HIGH">
                                                            <shadow type="math_number" id="?*r`h-cHu$XdQx+lY.*=">
                                                              <field name="NUM">11.4</field>
                                                            </shadow>
                                                          </value>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                          <next>
                                            <block type="comment" id="R$%zd0jUahW`PPIGw_lZ">
                                              <field name="COMMENT">PID-Adapter hat y (Ladeleistung) verändert</field>
                                              <next>
                                                <block type="comment" id="*|YXiB6@e=%~gJ-enB-{">
                                                  <field name="COMMENT">Berechnung von Strom und Anzahl Phasen</field>
                                                  <next>
                                                    <block type="on" id="Lv1XVslI[XE21]$gixhv">
                                                      <field name="OID">pid.0.C-Wallbox_Ladeleistung.out.y</field>
                                                      <field name="CONDITION">ne</field>
                                                      <field name="ACK_CONDITION"></field>
                                                      <statement name="STATEMENT">
                                                        <block type="controls_if" id="-94`Y!nA+O~2fKFScjGq">
                                                          <mutation elseif="1"></mutation>
                                                          <value name="IF0">
                                                            <block type="logic_compare" id="knkQ5MNMDQSuAO%~TzWI">
                                                              <field name="OP">GTE</field>
                                                              <value name="A">
                                                                <block type="on_source" id="];-|1rg~FCQeqrFcFT0!">
                                                                  <field name="ATTR">state.val</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <block type="math_number" id="Ds%kkB$E0UIh6#9snq+c">
                                                                  <field name="NUM">4.3</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <statement name="DO0">
                                                            <block type="update" id="/0}^g)!y4{][e:rG8)V5">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                              <field name="OID">javascript.0.Wallbox.Laden_mit_3_Phasen</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE">
                                                                <block type="logic_boolean" id=".}pj*s316R_g{2~urmom">
                                                                  <field name="BOOL">TRUE</field>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="update" id="2P=}qq.`fQQ04OAb_Q7(">
                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                  <field name="OID">javascript.0.Wallbox.Ladestrom_temp</field>
                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                  <value name="VALUE">
                                                                    <block type="math_arithmetic" id="]Fs)6Y24R=Id7@(Wc%Uv">
                                                                      <field name="OP">DIVIDE</field>
                                                                      <value name="A">
                                                                        <shadow type="math_number" id="}6c;IG09uA}ji#f*}/u0">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="math_arithmetic" id="./*ky,qeu2Jly-#o:.NA">
                                                                          <field name="OP">MULTIPLY</field>
                                                                          <value name="A">
                                                                            <shadow type="math_number" id="P}tikR,7o8zbZTw,kyiW">
                                                                              <field name="NUM">400</field>
                                                                            </shadow>
                                                                            <block type="on_source" id="I^XZ^2Ny^jPI`*2O;c_X">
                                                                              <field name="ATTR">state.val</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <shadow type="math_number" id="HFR$IT_BfO1Fr=+W9n0y">
                                                                              <field name="NUM">1000</field>
                                                                            </shadow>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <shadow type="math_number" id="=D~E~Voyz4-[!}*TtHg%">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="math_arithmetic" id="J5E4vPyUoz28Mv!Yxe=%">
                                                                          <field name="OP">MULTIPLY</field>
                                                                          <value name="A">
                                                                            <shadow type="math_number" id="{kwtU*UGl5T1w_*XAMm}">
                                                                              <field name="NUM">400</field>
                                                                            </shadow>
                                                                          </value>
                                                                          <value name="B">
                                                                            <shadow type="math_number" id="k=H55W)(6ME~]s52b6^y">
                                                                              <field name="NUM">1</field>
                                                                            </shadow>
                                                                            <block type="math_single" id="/|J#~[u|cI)$^~3|vQA3">
                                                                              <field name="OP">ROOT</field>
                                                                              <value name="NUM">
                                                                                <shadow type="math_number" id="]LN=L2`Z+4=uzwd}DKK*">
                                                                                  <field name="NUM">3</field>
                                                                                </shadow>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </statement>
                                                          <value name="IF1">
                                                            <block type="logic_compare" id="lhSTc~J%TR]tQnvBRk3J">
                                                              <field name="OP">LTE</field>
                                                              <value name="A">
                                                                <block type="on_source" id="NuPp_$3eTiKW[F8EcSZr">
                                                                  <field name="ATTR">state.val</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <block type="math_number" id="WZeW!mvt_8|Ji)a]O,R?">
                                                                  <field name="NUM">4.1</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <statement name="DO1">
                                                            <block type="update" id=".8`KTV|:H]f67+4KkwFY">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                              <field name="OID">javascript.0.Wallbox.Laden_mit_3_Phasen</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE">
                                                                <block type="logic_boolean" id="7tpYqM!BDOjQrWoD@)m~">
                                                                  <field name="BOOL">FALSE</field>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="update" id="v-z)wQ!i}E3KPIoqnf;Q">
                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                  <field name="OID">javascript.0.Wallbox.Ladestrom_temp</field>
                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                  <value name="VALUE">
                                                                    <block type="math_arithmetic" id="#P7..Vx8z^mk`w0/op7$">
                                                                      <field name="OP">DIVIDE</field>
                                                                      <value name="A">
                                                                        <shadow type="math_number" id="fEQ,#vO5*8c)z%KwM{a3">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="math_arithmetic" id="q=M1`]}3*XB,Y77`ZNw(">
                                                                          <field name="OP">MULTIPLY</field>
                                                                          <value name="A">
                                                                            <shadow type="math_number" id="PCER@)4yE#7cF/]heqO]">
                                                                              <field name="NUM">400</field>
                                                                            </shadow>
                                                                            <block type="on_source" id="H%kxy#Tea`Lbcuk^*jm%">
                                                                              <field name="ATTR">state.val</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <shadow type="math_number" id="_I;!W[$Rn+m/O+m(GZn`">
                                                                              <field name="NUM">1000</field>
                                                                            </shadow>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <shadow type="math_number" id="b(U)LH@-Y#=Lxzy*G#5V">
                                                                          <field name="NUM">230</field>
                                                                        </shadow>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </statement>
                                                        </block>
                                                      </statement>
                                                      <next>
                                                        <block type="comment" id="#xW+.d|2.Vtia9K#2I9A">
                                                          <field name="COMMENT">Phasenumschaltung an Wallbox senden, Regler pausieren</field>
                                                          <next>
                                                            <block type="on" id="/q{y(D=]qK]yr0KwDQ*Q">
                                                              <field name="OID">javascript.0.Wallbox.Laden_mit_3_Phasen</field>
                                                              <field name="CONDITION">ne</field>
                                                              <field name="ACK_CONDITION"></field>
                                                              <statement name="STATEMENT">
                                                                <block type="control" id="j}5$_.R^ys2qr?]3?DFP">
                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                  <field name="OID">pid.0.C-Wallbox_Ladeleistung.in.hold</field>
                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                  <value name="VALUE">
                                                                    <block type="logic_boolean" id="]1sVAD$]{P-;J2/=)GLt">
                                                                      <field name="BOOL">TRUE</field>
                                                                    </block>
                                                                  </value>
                                                                  <next>
                                                                    <block type="controls_if" id="sCKj4U,.=qqK^sT[j9-R">
                                                                      <mutation else="1"></mutation>
                                                                      <value name="IF0">
                                                                        <block type="on_source" id="JoZpjKCyF%VUV,gq~8*~">
                                                                          <field name="ATTR">state.val</field>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="control" id="#idta+mDk7An|9R9FSxE">
                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                                          <field name="OID">mqtt.0.go-eCharger.psm.set</field>
                                                                          <field name="WITH_DELAY">TRUE</field>
                                                                          <field name="DELAY_MS">5</field>
                                                                          <field name="UNIT">sec</field>
                                                                          <field name="CLEAR_RUNNING">TRUE</field>
                                                                          <value name="VALUE">
                                                                            <block type="math_number" id="[KoA|W-q-~_IK-~]bT~Y">
                                                                              <field name="NUM">2</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </statement>
                                                                      <statement name="ELSE">
                                                                        <block type="control" id="^xyJKc0U/ntD/akG2fdi">
                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                                          <field name="OID">mqtt.0.go-eCharger.psm.set</field>
                                                                          <field name="WITH_DELAY">TRUE</field>
                                                                          <field name="DELAY_MS">5</field>
                                                                          <field name="UNIT">sec</field>
                                                                          <field name="CLEAR_RUNNING">TRUE</field>
                                                                          <value name="VALUE">
                                                                            <block type="math_number" id="1T`;KG`5.v+,cGi7U-gZ">
                                                                              <field name="NUM">1</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </statement>
                                                              <next>
                                                                <block type="on" id="D=Z$+roFM-SNg72/,9b`">
                                                                  <field name="OID">mqtt.0.go-eCharger.modelStatus</field>
                                                                  <field name="CONDITION">ne</field>
                                                                  <field name="ACK_CONDITION"></field>
                                                                  <statement name="STATEMENT">
                                                                    <block type="controls_if" id="~D;_*(4y7:7F95q|YE*v">
                                                                      <value name="IF0">
                                                                        <block type="logic_compare" id="ofUANLJu18F7)zOxwnKK">
                                                                          <field name="OP">NEQ</field>
                                                                          <value name="A">
                                                                            <block type="on_source" id="1qySnM7=m`b@4K]I^A8F">
                                                                              <field name="ATTR">state.val</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <block type="math_number" id="X{om?Wpv,SD#?)Awr$72">
                                                                              <field name="NUM">23</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="control" id="9o3x0+NZi9FOv$%Jn],I">
                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                                          <field name="OID">pid.0.C-Wallbox_Ladeleistung.in.hold</field>
                                                                          <field name="WITH_DELAY">TRUE</field>
                                                                          <field name="DELAY_MS">5</field>
                                                                          <field name="UNIT">sec</field>
                                                                          <field name="CLEAR_RUNNING">TRUE</field>
                                                                          <value name="VALUE">
                                                                            <block type="logic_boolean" id="]rfM^IuodA02kP75,*w0">
                                                                              <field name="BOOL">FALSE</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </statement>
                                                                  <next>
                                                                    <block type="comment" id="4CFmsu+d62e8[O_1TJJ$">
                                                                      <field name="COMMENT">Ladestrom in ganzen Ampere verzögert an Wallbox senden (Flatterschutz)</field>
                                                                      <next>
                                                                        <block type="on" id="}ee8Ww@51lY/sJH48da=">
                                                                          <field name="OID">javascript.0.Wallbox.Ladestrom_temp</field>
                                                                          <field name="CONDITION">ne</field>
                                                                          <field name="ACK_CONDITION"></field>
                                                                          <statement name="STATEMENT">
                                                                            <block type="update" id="zshQaj)(D+w_TKTgRD:`">
                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                              <field name="OID">javascript.0.Wallbox.Ladestrom</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE">
                                                                                <block type="math_constrain" id="wFmf`{^upWMB2OJdAb|G">
                                                                                  <value name="VALUE">
                                                                                    <shadow type="math_number" id="OolIglBQ1NPR+!O4eGrf">
                                                                                      <field name="NUM">50</field>
                                                                                    </shadow>
                                                                                    <block type="math_round" id="$m0s.BG/!^X?k^Afni8@">
                                                                                      <field name="OP">ROUNDDOWN</field>
                                                                                      <value name="NUM">
                                                                                        <shadow type="math_number" id="`7oxcQI80-L-5|v6l{ZE">
                                                                                          <field name="NUM">3.1</field>
                                                                                        </shadow>
                                                                                        <block type="on_source" id="%v#Z0Z$`8}+tD/BK.cC|">
                                                                                          <field name="ATTR">state.val</field>
                                                                                        </block>
                                                                                      </value>
                                                                                    </block>
                                                                                  </value>
                                                                                  <value name="LOW">
                                                                                    <shadow type="math_number" id="*e`aXaysjQdx*v%uiLb9">
                                                                                      <field name="NUM">6</field>
                                                                                    </shadow>
                                                                                  </value>
                                                                                  <value name="HIGH">
                                                                                    <shadow type="math_number" id="YaWi@k@syv0)}OtI#DEe">
                                                                                      <field name="NUM">16</field>
                                                                                    </shadow>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </statement>
                                                                          <next>
                                                                            <block type="on" id="5fjJvXZz9=9xHMmXqipC">
                                                                              <field name="OID">javascript.0.Wallbox.Ladestrom</field>
                                                                              <field name="CONDITION">ne</field>
                                                                              <field name="ACK_CONDITION"></field>
                                                                              <statement name="STATEMENT">
                                                                                <block type="control" id="s$Nt!/B/Vr%PS,`~~{Dt">
                                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                                                  <field name="OID">mqtt.0.go-eCharger.amp.set</field>
                                                                                  <field name="WITH_DELAY">TRUE</field>
                                                                                  <field name="DELAY_MS">5</field>
                                                                                  <field name="UNIT">sec</field>
                                                                                  <field name="CLEAR_RUNNING">TRUE</field>
                                                                                  <value name="VALUE">
                                                                                    <block type="on_source" id="G}rg6b4k{eWdw-W7?WZp">
                                                                                      <field name="ATTR">state.val</field>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </statement>
                                                                            </block>
                                                                          </next>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </xml>
          

          Synology DS920+ VM, S7-315 PN mit ET200S

          mcm1957M 1 Reply Last reply
          1
          • fu_zhouF fu_zhou

            @lobomau mach doch mal ein Thread auf "PID-Adapter: Anwendungs-Ideen und -Möglichkeiten" oder so ähnlich.

            @lobomau sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:

            Bisher habe ich immer die Ampere-Zahl geregelt. Wenn ich es richtig sehe nutzt du den unteren DP, der aus Watt die Ampere macht, richtig?

            ich kenne den Datenpunkt so nicht, ich nutze MQTT und verwende da amp.set und versorge den state mit ganzen (Ampere-) Zahlen. Die Stromstärke berechne ich aus der vom Regler ermittelten Leistung in kW und runde auf ganze Zahlen ab. Den Code vom Blockly findest du unten - einfach in Blockly importieren und versuchen nachzuvollziehen 😉
            Warum regle ich die Leistung und nicht die Stromstärke? Weil die Leistung von 1.4 bis 11 kW geht, bei ca. 4 kW aber der Sprung von 16 zurück auf 6 A kommt, während dann mit 3 und nicht mehr mit 1 Phase geladen wird. Wenn du mit max. 3.7 kW laden möchtest (=1-phasig) kannst du auch die Stromstärke von 6 - 16 A regeln.

            @lobomau sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:

            Und wenn ich es richtig verstehe muss ich da irgendwie in der selben Einheit bleiben... also alles in kW?

            Istwert und Sollwert müssen die gleiche Einheit haben, sonst lässt sich ja die Regelabweichung nicht vernünftig berechnen. Der Reglerausgang muss dann zum Stellglied passen, kann 0-100 (%) sein, kann 0-11 (kW) sein, 0-10 (V), 6-16 (A), -1400 - 1400 (U/min) sein usw. (wird ja durch min und max definiert).

            <xml xmlns="https://developers.google.com/blockly/xml">
              <block type="comment" id="6Fzyi%iFMuz;[gx6U^ur" x="-162" y="-462">
                <field name="COMMENT">Objekte für Lademodi</field>
                <next>
                  <block type="create" id="g=}k]T}C`/O@fN^KkL8,">
                    <field name="NAME">Wallbox.Laden_mit_3_Phasen</field>
                    <value name="VALUE">
                      <block type="logic_boolean" id="Q#$fU7:LQ*wXH$Wmo?^;">
                        <field name="BOOL">FALSE</field>
                      </block>
                    </value>
                    <value name="COMMON">
                      <block type="text" id="()hhu.BXzd@3B9LR{M5L">
                        <field name="TEXT">{"type":"boolean"}</field>
                      </block>
                    </value>
                    <next>
                      <block type="create" id="V2UMyXKwCwkVRQ7Q|H7p">
                        <field name="NAME">Wallbox.Ladestrom</field>
                        <value name="VALUE">
                          <block type="math_number" id=")zxu/!0vjiL|6`/wTm?z">
                            <field name="NUM">6</field>
                          </block>
                        </value>
                        <value name="COMMON">
                          <block type="text" id="IBU`2L$!ri*P0acDm[hq">
                            <field name="TEXT">{"type":"number","unit":"A","min":6,"max":17}</field>
                          </block>
                        </value>
                        <next>
                          <block type="create" id="3ZF*2X8UqK5D2Yrg.=Ja">
                            <field name="NAME">Wallbox.Ladestrom_temp</field>
                            <value name="VALUE">
                              <block type="math_number" id="Os.Q{xlLrT9ukcU2.he:">
                                <field name="NUM">6</field>
                              </block>
                            </value>
                            <value name="COMMON">
                              <block type="text" id="h|$`wDEX7VK:.vb#?+9~">
                                <field name="TEXT">{"type":"number","unit":"A","min":6,"max":17}</field>
                              </block>
                            </value>
                            <next>
                              <block type="comment" id="9(;?A=^Gm:J{1/0kx?D*">
                                <field name="COMMENT">Ladefreigabe nur bei Anforderung &gt;1.4kW</field>
                                <next>
                                  <block type="on" id="LI/DnJ,bhNV[GPDQd5x2" disabled="true">
                                    <field name="OID">javascript.0.Wallbox.Ladeleistung</field>
                                    <field name="CONDITION">ne</field>
                                    <field name="ACK_CONDITION"></field>
                                    <statement name="STATEMENT">
                                      <block type="controls_if" id="]g-4ksVUc,L:R`,Sam{]">
                                        <mutation else="1"></mutation>
                                        <value name="IF0">
                                          <block type="logic_compare" id="LR(_Lypo4Eh;q?jxiyWG">
                                            <field name="OP">LT</field>
                                            <value name="A">
                                              <block type="on_source" id="5ICK=yd_RoC2xZ=2nuCd">
                                                <field name="ATTR">state.val</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id="z2XHw[s8?rAAc45}wfIg">
                                                <field name="NUM">1.4</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="comment" id="M%HTxJcO2Ix:=1Lvth^w">
                                            <field name="COMMENT">Flatterschutz</field>
                                            <next>
                                              <block type="control" id="7)CJi@2G~T@ov|Nw^8Bk">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">mqtt.0.go-eCharger.frc.set</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="u3r[TM0$.O8x/1i[y_L#">
                                                    <field name="NUM">1</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </statement>
                                        <statement name="ELSE">
                                          <block type="control" id="}uF^S[.4}bpeEf|E.^/~">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">mqtt.0.go-eCharger.frc.set</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="4n~49KOkX/ZZAR)1wrfD">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="comment" id="*(ykd$e~x?uw_M6bq9=5">
                                        <field name="COMMENT">Freigabe Regler nur bei aktiver Ladung</field>
                                        <next>
                                          <block type="on" id="(J,T/^Dj!W64nts%+Q~f">
                                            <field name="OID">javascript.0.PV.Netzleistung</field>
                                            <field name="CONDITION">ne</field>
                                            <field name="ACK_CONDITION"></field>
                                            <statement name="STATEMENT">
                                              <block type="control" id="L+s}}3JbkdP9ird(}dD?">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">pid.0.C-Wallbox_Ladeleistung.in.act</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="on_source" id="BW+GhDj$_HcO%0A5`Uig">
                                                    <field name="ATTR">state.val</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="comment" id="lT_D;o/aq/KP3g[/6[=X">
                                                    <field name="COMMENT">"- 0.5" = Grundlast</field>
                                                    <next>
                                                      <block type="control" id="ui]E)FYnxhAtqjDiio_)">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">pid.0.C-Wallbox_Ladeleistung.para.max</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="math_constrain" id="~1f,$OZYDw3ka]UGHbrB">
                                                            <value name="VALUE">
                                                              <shadow type="math_number" id="^`IA.,ld+d0I)(kPy`9N">
                                                                <field name="NUM">50</field>
                                                              </shadow>
                                                              <block type="math_arithmetic" id="rd@D|6a,_es.dd@R7Q.z">
                                                                <field name="OP">MINUS</field>
                                                                <value name="A">
                                                                  <shadow type="math_number" id="5Tfd4pORy!tC@3lXPp+*">
                                                                    <field name="NUM">1</field>
                                                                  </shadow>
                                                                  <block type="math_arithmetic" id="P=JTpM]BWMnggQ^0$;2o">
                                                                    <field name="OP">ADD</field>
                                                                    <value name="A">
                                                                      <shadow type="math_number" id="jV=45_4GcvdMfevaias|">
                                                                        <field name="NUM">1</field>
                                                                      </shadow>
                                                                      <block type="get_value" id="asCeq)lqPS^](|ZJ=~er">
                                                                        <field name="ATTR">val</field>
                                                                        <field name="OID">pid.0.C-Wallbox_Ladeleistung.in.set</field>
                                                                      </block>
                                                                    </value>
                                                                    <value name="B">
                                                                      <shadow type="math_number" id="yQ?:r`qozcbv_*^/!;MJ">
                                                                        <field name="NUM">0.5</field>
                                                                      </shadow>
                                                                      <block type="get_value" id="cpWV!jBFH`w(r?EjIGi%">
                                                                        <field name="ATTR">val</field>
                                                                        <field name="OID">lg-ess-home.0.user.essinfo.home.statistics.pcs_pv_total_power</field>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </value>
                                                                <value name="B">
                                                                  <shadow type="math_number" id=")BI(2-KYpw={iuPJ2=!e">
                                                                    <field name="NUM">0.5</field>
                                                                  </shadow>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <value name="LOW">
                                                              <shadow type="math_number" id="Pz3azW*5Kd,gx3~tI8wM">
                                                                <field name="NUM">1.4</field>
                                                              </shadow>
                                                            </value>
                                                            <value name="HIGH">
                                                              <shadow type="math_number" id="?*r`h-cHu$XdQx+lY.*=">
                                                                <field name="NUM">11.4</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </statement>
                                            <next>
                                              <block type="comment" id="R$%zd0jUahW`PPIGw_lZ">
                                                <field name="COMMENT">PID-Adapter hat y (Ladeleistung) verändert</field>
                                                <next>
                                                  <block type="comment" id="*|YXiB6@e=%~gJ-enB-{">
                                                    <field name="COMMENT">Berechnung von Strom und Anzahl Phasen</field>
                                                    <next>
                                                      <block type="on" id="Lv1XVslI[XE21]$gixhv">
                                                        <field name="OID">pid.0.C-Wallbox_Ladeleistung.out.y</field>
                                                        <field name="CONDITION">ne</field>
                                                        <field name="ACK_CONDITION"></field>
                                                        <statement name="STATEMENT">
                                                          <block type="controls_if" id="-94`Y!nA+O~2fKFScjGq">
                                                            <mutation elseif="1"></mutation>
                                                            <value name="IF0">
                                                              <block type="logic_compare" id="knkQ5MNMDQSuAO%~TzWI">
                                                                <field name="OP">GTE</field>
                                                                <value name="A">
                                                                  <block type="on_source" id="];-|1rg~FCQeqrFcFT0!">
                                                                    <field name="ATTR">state.val</field>
                                                                  </block>
                                                                </value>
                                                                <value name="B">
                                                                  <block type="math_number" id="Ds%kkB$E0UIh6#9snq+c">
                                                                    <field name="NUM">4.3</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <statement name="DO0">
                                                              <block type="update" id="/0}^g)!y4{][e:rG8)V5">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                <field name="OID">javascript.0.Wallbox.Laden_mit_3_Phasen</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="logic_boolean" id=".}pj*s316R_g{2~urmom">
                                                                    <field name="BOOL">TRUE</field>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="update" id="2P=}qq.`fQQ04OAb_Q7(">
                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                    <field name="OID">javascript.0.Wallbox.Ladestrom_temp</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE">
                                                                      <block type="math_arithmetic" id="]Fs)6Y24R=Id7@(Wc%Uv">
                                                                        <field name="OP">DIVIDE</field>
                                                                        <value name="A">
                                                                          <shadow type="math_number" id="}6c;IG09uA}ji#f*}/u0">
                                                                            <field name="NUM">1</field>
                                                                          </shadow>
                                                                          <block type="math_arithmetic" id="./*ky,qeu2Jly-#o:.NA">
                                                                            <field name="OP">MULTIPLY</field>
                                                                            <value name="A">
                                                                              <shadow type="math_number" id="P}tikR,7o8zbZTw,kyiW">
                                                                                <field name="NUM">400</field>
                                                                              </shadow>
                                                                              <block type="on_source" id="I^XZ^2Ny^jPI`*2O;c_X">
                                                                                <field name="ATTR">state.val</field>
                                                                              </block>
                                                                            </value>
                                                                            <value name="B">
                                                                              <shadow type="math_number" id="HFR$IT_BfO1Fr=+W9n0y">
                                                                                <field name="NUM">1000</field>
                                                                              </shadow>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                        <value name="B">
                                                                          <shadow type="math_number" id="=D~E~Voyz4-[!}*TtHg%">
                                                                            <field name="NUM">1</field>
                                                                          </shadow>
                                                                          <block type="math_arithmetic" id="J5E4vPyUoz28Mv!Yxe=%">
                                                                            <field name="OP">MULTIPLY</field>
                                                                            <value name="A">
                                                                              <shadow type="math_number" id="{kwtU*UGl5T1w_*XAMm}">
                                                                                <field name="NUM">400</field>
                                                                              </shadow>
                                                                            </value>
                                                                            <value name="B">
                                                                              <shadow type="math_number" id="k=H55W)(6ME~]s52b6^y">
                                                                                <field name="NUM">1</field>
                                                                              </shadow>
                                                                              <block type="math_single" id="/|J#~[u|cI)$^~3|vQA3">
                                                                                <field name="OP">ROOT</field>
                                                                                <value name="NUM">
                                                                                  <shadow type="math_number" id="]LN=L2`Z+4=uzwd}DKK*">
                                                                                    <field name="NUM">3</field>
                                                                                  </shadow>
                                                                                </value>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </statement>
                                                            <value name="IF1">
                                                              <block type="logic_compare" id="lhSTc~J%TR]tQnvBRk3J">
                                                                <field name="OP">LTE</field>
                                                                <value name="A">
                                                                  <block type="on_source" id="NuPp_$3eTiKW[F8EcSZr">
                                                                    <field name="ATTR">state.val</field>
                                                                  </block>
                                                                </value>
                                                                <value name="B">
                                                                  <block type="math_number" id="WZeW!mvt_8|Ji)a]O,R?">
                                                                    <field name="NUM">4.1</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <statement name="DO1">
                                                              <block type="update" id=".8`KTV|:H]f67+4KkwFY">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                <field name="OID">javascript.0.Wallbox.Laden_mit_3_Phasen</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="logic_boolean" id="7tpYqM!BDOjQrWoD@)m~">
                                                                    <field name="BOOL">FALSE</field>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="update" id="v-z)wQ!i}E3KPIoqnf;Q">
                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                    <field name="OID">javascript.0.Wallbox.Ladestrom_temp</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE">
                                                                      <block type="math_arithmetic" id="#P7..Vx8z^mk`w0/op7$">
                                                                        <field name="OP">DIVIDE</field>
                                                                        <value name="A">
                                                                          <shadow type="math_number" id="fEQ,#vO5*8c)z%KwM{a3">
                                                                            <field name="NUM">1</field>
                                                                          </shadow>
                                                                          <block type="math_arithmetic" id="q=M1`]}3*XB,Y77`ZNw(">
                                                                            <field name="OP">MULTIPLY</field>
                                                                            <value name="A">
                                                                              <shadow type="math_number" id="PCER@)4yE#7cF/]heqO]">
                                                                                <field name="NUM">400</field>
                                                                              </shadow>
                                                                              <block type="on_source" id="H%kxy#Tea`Lbcuk^*jm%">
                                                                                <field name="ATTR">state.val</field>
                                                                              </block>
                                                                            </value>
                                                                            <value name="B">
                                                                              <shadow type="math_number" id="_I;!W[$Rn+m/O+m(GZn`">
                                                                                <field name="NUM">1000</field>
                                                                              </shadow>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                        <value name="B">
                                                                          <shadow type="math_number" id="b(U)LH@-Y#=Lxzy*G#5V">
                                                                            <field name="NUM">230</field>
                                                                          </shadow>
                                                                        </value>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </statement>
                                                          </block>
                                                        </statement>
                                                        <next>
                                                          <block type="comment" id="#xW+.d|2.Vtia9K#2I9A">
                                                            <field name="COMMENT">Phasenumschaltung an Wallbox senden, Regler pausieren</field>
                                                            <next>
                                                              <block type="on" id="/q{y(D=]qK]yr0KwDQ*Q">
                                                                <field name="OID">javascript.0.Wallbox.Laden_mit_3_Phasen</field>
                                                                <field name="CONDITION">ne</field>
                                                                <field name="ACK_CONDITION"></field>
                                                                <statement name="STATEMENT">
                                                                  <block type="control" id="j}5$_.R^ys2qr?]3?DFP">
                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                    <field name="OID">pid.0.C-Wallbox_Ladeleistung.in.hold</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE">
                                                                      <block type="logic_boolean" id="]1sVAD$]{P-;J2/=)GLt">
                                                                        <field name="BOOL">TRUE</field>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="controls_if" id="sCKj4U,.=qqK^sT[j9-R">
                                                                        <mutation else="1"></mutation>
                                                                        <value name="IF0">
                                                                          <block type="on_source" id="JoZpjKCyF%VUV,gq~8*~">
                                                                            <field name="ATTR">state.val</field>
                                                                          </block>
                                                                        </value>
                                                                        <statement name="DO0">
                                                                          <block type="control" id="#idta+mDk7An|9R9FSxE">
                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                                            <field name="OID">mqtt.0.go-eCharger.psm.set</field>
                                                                            <field name="WITH_DELAY">TRUE</field>
                                                                            <field name="DELAY_MS">5</field>
                                                                            <field name="UNIT">sec</field>
                                                                            <field name="CLEAR_RUNNING">TRUE</field>
                                                                            <value name="VALUE">
                                                                              <block type="math_number" id="[KoA|W-q-~_IK-~]bT~Y">
                                                                                <field name="NUM">2</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </statement>
                                                                        <statement name="ELSE">
                                                                          <block type="control" id="^xyJKc0U/ntD/akG2fdi">
                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                                            <field name="OID">mqtt.0.go-eCharger.psm.set</field>
                                                                            <field name="WITH_DELAY">TRUE</field>
                                                                            <field name="DELAY_MS">5</field>
                                                                            <field name="UNIT">sec</field>
                                                                            <field name="CLEAR_RUNNING">TRUE</field>
                                                                            <value name="VALUE">
                                                                              <block type="math_number" id="1T`;KG`5.v+,cGi7U-gZ">
                                                                                <field name="NUM">1</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </statement>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </statement>
                                                                <next>
                                                                  <block type="on" id="D=Z$+roFM-SNg72/,9b`">
                                                                    <field name="OID">mqtt.0.go-eCharger.modelStatus</field>
                                                                    <field name="CONDITION">ne</field>
                                                                    <field name="ACK_CONDITION"></field>
                                                                    <statement name="STATEMENT">
                                                                      <block type="controls_if" id="~D;_*(4y7:7F95q|YE*v">
                                                                        <value name="IF0">
                                                                          <block type="logic_compare" id="ofUANLJu18F7)zOxwnKK">
                                                                            <field name="OP">NEQ</field>
                                                                            <value name="A">
                                                                              <block type="on_source" id="1qySnM7=m`b@4K]I^A8F">
                                                                                <field name="ATTR">state.val</field>
                                                                              </block>
                                                                            </value>
                                                                            <value name="B">
                                                                              <block type="math_number" id="X{om?Wpv,SD#?)Awr$72">
                                                                                <field name="NUM">23</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                        <statement name="DO0">
                                                                          <block type="control" id="9o3x0+NZi9FOv$%Jn],I">
                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                                            <field name="OID">pid.0.C-Wallbox_Ladeleistung.in.hold</field>
                                                                            <field name="WITH_DELAY">TRUE</field>
                                                                            <field name="DELAY_MS">5</field>
                                                                            <field name="UNIT">sec</field>
                                                                            <field name="CLEAR_RUNNING">TRUE</field>
                                                                            <value name="VALUE">
                                                                              <block type="logic_boolean" id="]rfM^IuodA02kP75,*w0">
                                                                                <field name="BOOL">FALSE</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </statement>
                                                                      </block>
                                                                    </statement>
                                                                    <next>
                                                                      <block type="comment" id="4CFmsu+d62e8[O_1TJJ$">
                                                                        <field name="COMMENT">Ladestrom in ganzen Ampere verzögert an Wallbox senden (Flatterschutz)</field>
                                                                        <next>
                                                                          <block type="on" id="}ee8Ww@51lY/sJH48da=">
                                                                            <field name="OID">javascript.0.Wallbox.Ladestrom_temp</field>
                                                                            <field name="CONDITION">ne</field>
                                                                            <field name="ACK_CONDITION"></field>
                                                                            <statement name="STATEMENT">
                                                                              <block type="update" id="zshQaj)(D+w_TKTgRD:`">
                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                <field name="OID">javascript.0.Wallbox.Ladestrom</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE">
                                                                                  <block type="math_constrain" id="wFmf`{^upWMB2OJdAb|G">
                                                                                    <value name="VALUE">
                                                                                      <shadow type="math_number" id="OolIglBQ1NPR+!O4eGrf">
                                                                                        <field name="NUM">50</field>
                                                                                      </shadow>
                                                                                      <block type="math_round" id="$m0s.BG/!^X?k^Afni8@">
                                                                                        <field name="OP">ROUNDDOWN</field>
                                                                                        <value name="NUM">
                                                                                          <shadow type="math_number" id="`7oxcQI80-L-5|v6l{ZE">
                                                                                            <field name="NUM">3.1</field>
                                                                                          </shadow>
                                                                                          <block type="on_source" id="%v#Z0Z$`8}+tD/BK.cC|">
                                                                                            <field name="ATTR">state.val</field>
                                                                                          </block>
                                                                                        </value>
                                                                                      </block>
                                                                                    </value>
                                                                                    <value name="LOW">
                                                                                      <shadow type="math_number" id="*e`aXaysjQdx*v%uiLb9">
                                                                                        <field name="NUM">6</field>
                                                                                      </shadow>
                                                                                    </value>
                                                                                    <value name="HIGH">
                                                                                      <shadow type="math_number" id="YaWi@k@syv0)}OtI#DEe">
                                                                                        <field name="NUM">16</field>
                                                                                      </shadow>
                                                                                    </value>
                                                                                  </block>
                                                                                </value>
                                                                              </block>
                                                                            </statement>
                                                                            <next>
                                                                              <block type="on" id="5fjJvXZz9=9xHMmXqipC">
                                                                                <field name="OID">javascript.0.Wallbox.Ladestrom</field>
                                                                                <field name="CONDITION">ne</field>
                                                                                <field name="ACK_CONDITION"></field>
                                                                                <statement name="STATEMENT">
                                                                                  <block type="control" id="s$Nt!/B/Vr%PS,`~~{Dt">
                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                                                    <field name="OID">mqtt.0.go-eCharger.amp.set</field>
                                                                                    <field name="WITH_DELAY">TRUE</field>
                                                                                    <field name="DELAY_MS">5</field>
                                                                                    <field name="UNIT">sec</field>
                                                                                    <field name="CLEAR_RUNNING">TRUE</field>
                                                                                    <value name="VALUE">
                                                                                      <block type="on_source" id="G}rg6b4k{eWdw-W7?WZp">
                                                                                        <field name="ATTR">state.val</field>
                                                                                      </block>
                                                                                    </value>
                                                                                  </block>
                                                                                </statement>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </xml>
            
            mcm1957M Offline
            mcm1957M Offline
            mcm1957
            wrote on last edited by
            #220

            @fu_zhou

            Ich hab da mal ein Topic geöffnet.

            Bitte sobald passedn dorthin wechseln wenn es um Anwendung / Regelegungstechnikfragen geht.

            Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
            Support Repositoryverwaltung.

            Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

            LESEN - gute Forenbeitrage

            1 Reply Last reply
            0
            • fu_zhouF Offline
              fu_zhouF Offline
              fu_zhou
              wrote on last edited by fu_zhou
              #221

              ich beobachte gerade die Überschussladung und stelle fest, dass mit der Zykluszeit noch etwas nicht ganz stimmt. Ich habe 500 ms parametriert, das ist auch der Wert, auf den immer wieder gesprungen wird, aber zwischendrin kommen sporadisch "Einbrüche" z.B. auf 41, 280, 340 ms, ich glaube, immer folgend auf die (dynamische) Veränderung von max. @mcm57 kannst du da noch mal reinschauen?

              Ergänzung: Es sieht so aus, als wenn das immer passiert, wenn man einen "para" ändert - auch bei Tn, Kp etc.

              Synology DS920+ VM, S7-315 PN mit ET200S

              mcm1957M 1 Reply Last reply
              0
              • fu_zhouF fu_zhou

                ich beobachte gerade die Überschussladung und stelle fest, dass mit der Zykluszeit noch etwas nicht ganz stimmt. Ich habe 500 ms parametriert, das ist auch der Wert, auf den immer wieder gesprungen wird, aber zwischendrin kommen sporadisch "Einbrüche" z.B. auf 41, 280, 340 ms, ich glaube, immer folgend auf die (dynamische) Veränderung von max. @mcm57 kannst du da noch mal reinschauen?

                Ergänzung: Es sieht so aus, als wenn das immer passiert, wenn man einen "para" ändert - auch bei Tn, Kp etc.

                mcm1957M Offline
                mcm1957M Offline
                mcm1957
                wrote on last edited by
                #222

                @fu_zhou
                Das sollte so nicht sein ist aber denkbar. Ich schaus mir an. Bin nur nicht sicher ob ich heut noch an pc komme. Bin unterwegs.

                Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                Support Repositoryverwaltung.

                Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                LESEN - gute Forenbeitrage

                fu_zhouF 1 Reply Last reply
                0
                • mcm1957M mcm1957

                  @fu_zhou
                  Das sollte so nicht sein ist aber denkbar. Ich schaus mir an. Bin nur nicht sicher ob ich heut noch an pc komme. Bin unterwegs.

                  fu_zhouF Offline
                  fu_zhouF Offline
                  fu_zhou
                  wrote on last edited by
                  #223

                  @mcm57 Ich habe noch einen weiteren Regler hinzugefügt, damit ist die Instanz neu gestartet worden, jetzt scheint last_delta stabil bei 500 ms +- 1ms zu bleiben.

                  Synology DS920+ VM, S7-315 PN mit ET200S

                  fu_zhouF 1 Reply Last reply
                  0
                  • fu_zhouF fu_zhou

                    @mcm57 Ich habe noch einen weiteren Regler hinzugefügt, damit ist die Instanz neu gestartet worden, jetzt scheint last_delta stabil bei 500 ms +- 1ms zu bleiben.

                    fu_zhouF Offline
                    fu_zhouF Offline
                    fu_zhou
                    wrote on last edited by
                    #224

                    @mcm57 beim zweiten Regler aus der Adapter-Instanz ist die Zykluszeit stabil, beim ersten kommt als Reaktion auf eine para Veränderung kurzzeitig der Sprung im last_delta.

                    Synology DS920+ VM, S7-315 PN mit ET200S

                    mcm1957M 1 Reply Last reply
                    0
                    • mcm1957M Offline
                      mcm1957M Offline
                      mcm1957
                      wrote on last edited by
                      #225

                      @fu_zhou
                      Danke
                      Fehler schon gefunden. An sich müßte der Fehler bei allen Reglern auftreten.

                      Ursache ist eine Sonderbehandling von Cycle Time == 0. In diesem Fall wird eine Neuberechnugn getriggert, wenn neue Daten (act, Parameter, ...) eingeleifert werden. Das stammt noch aus der 0.0.0 Version. Ich bin aber zwischenzeitlich überzeutgt, dass das niemand braucht. Bevor ich nun in 3 Itaérationen (:-)) den Bug versuche zu beheben werde ich diese Sonderbahndlung ganz entfernen. Macht das Verhalten klarer nachvollziehbar. Wenn mal wirklich ein Bedarf auftritt nicht zyklisch sondern immer beim SChreiben der Daten neu zu berechnen kann man das ja wieder einfügen. Allerdings glaub ich wär da dann ein eigener State "jetzt berechnen" sinnvoller als diese krude Autiomatik.

                      Neue Release sollte morgen kommen.

                      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                      Support Repositoryverwaltung.

                      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                      LESEN - gute Forenbeitrage

                      fu_zhouF 1 Reply Last reply
                      0
                      • mcm1957M mcm1957

                        @fu_zhou
                        Danke
                        Fehler schon gefunden. An sich müßte der Fehler bei allen Reglern auftreten.

                        Ursache ist eine Sonderbehandling von Cycle Time == 0. In diesem Fall wird eine Neuberechnugn getriggert, wenn neue Daten (act, Parameter, ...) eingeleifert werden. Das stammt noch aus der 0.0.0 Version. Ich bin aber zwischenzeitlich überzeutgt, dass das niemand braucht. Bevor ich nun in 3 Itaérationen (:-)) den Bug versuche zu beheben werde ich diese Sonderbahndlung ganz entfernen. Macht das Verhalten klarer nachvollziehbar. Wenn mal wirklich ein Bedarf auftritt nicht zyklisch sondern immer beim SChreiben der Daten neu zu berechnen kann man das ja wieder einfügen. Allerdings glaub ich wär da dann ein eigener State "jetzt berechnen" sinnvoller als diese krude Autiomatik.

                        Neue Release sollte morgen kommen.

                        fu_zhouF Offline
                        fu_zhouF Offline
                        fu_zhou
                        wrote on last edited by
                        #226

                        @mcm57 Da kann ich voll mitgehen - wie kann's auch anders sein 😉! Ist da nicht eh ein Denkfehler drin? Den I-Anteil will ich doch zyklisch berechnen, um die Regelabweichung abzubauen. Wenn eine Berechnung nur stattfindet, wenn sich Soll oder Ist ändert, bekomme ich doch eigentlich einen reinen P-Regler, auch wenn eine Nachstellzeit paramteriert ist, oder?

                        Synology DS920+ VM, S7-315 PN mit ET200S

                        paul53P mcm1957M 2 Replies Last reply
                        0
                        • fu_zhouF fu_zhou

                          @mcm57 Da kann ich voll mitgehen - wie kann's auch anders sein 😉! Ist da nicht eh ein Denkfehler drin? Den I-Anteil will ich doch zyklisch berechnen, um die Regelabweichung abzubauen. Wenn eine Berechnung nur stattfindet, wenn sich Soll oder Ist ändert, bekomme ich doch eigentlich einen reinen P-Regler, auch wenn eine Nachstellzeit paramteriert ist, oder?

                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #227

                          @fu_zhou sagte: Wenn eine Berechnung nur stattfindet, wenn sich Soll oder Ist ändert, bekomme ich doch eigentlich einen reinen P-Regler, auch wenn eine Nachstellzeit paramteriert ist, oder?

                          Nein, es kann aber lange dauern, bis sich die Regelabweichung ändert. Bis dahin ändert sich das Stellsignal nicht und macht dann plötzlich einen starken Sprung durch die Berechnung des I-Anteils. Deshalb sollte bei aktiviertem I-Anteil (Tn) auch immer eine nicht zu lange Zykluszeit aktiviert sein.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Reply Last reply
                          0
                          • fu_zhouF fu_zhou

                            @mcm57 Da kann ich voll mitgehen - wie kann's auch anders sein 😉! Ist da nicht eh ein Denkfehler drin? Den I-Anteil will ich doch zyklisch berechnen, um die Regelabweichung abzubauen. Wenn eine Berechnung nur stattfindet, wenn sich Soll oder Ist ändert, bekomme ich doch eigentlich einen reinen P-Regler, auch wenn eine Nachstellzeit paramteriert ist, oder?

                            mcm1957M Offline
                            mcm1957M Offline
                            mcm1957
                            wrote on last edited by
                            #228

                            @fu_zhou said in Test neuer Adapter pid (pid-Regler) V0.0.x:

                            @mcm57 Da kann ich voll mitgehen - wie kann's auch anders sein 😉! Ist da nicht eh ein Denkfehler drin? Den I-Anteil will ich doch zyklisch berechnen, um die Regelabweichung abzubauen. Wenn eine Berechnung nur stattfindet, wenn sich Soll oder Ist ändert, bekomme ich doch eigentlich einen reinen P-Regler, auch wenn eine Nachstellzeit paramteriert ist, oder?

                            Nein, dass stimmt so nicht.
                            Der I Fehleranteil würde dann nur über ein längere Zeit summiert und dementsprechende ausfallen.

                            Aber wie schon geschrieben - ich seh den Bedarf nicht und mit fliegt diese Sonderbehandlung die nun schon zum driten (?) Mal nicht wie geplant funtkioniert weill immer wieder ein anderer Sonderfall nichgt codiert ist.

                            Mit 0.0.7 wird ein neuer Wert (hoffentlich) nur mehr berechnet wenn eine Zyklusperiode abgelaufen ist (und der Regler nicht gestoppt ist). Extrawürste gibts nicht mehr.

                            McM

                            Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                            Support Repositoryverwaltung.

                            Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                            LESEN - gute Forenbeitrage

                            1 Reply Last reply
                            0
                            • fu_zhouF fu_zhou

                              @mcm57 beim zweiten Regler aus der Adapter-Instanz ist die Zykluszeit stabil, beim ersten kommt als Reaktion auf eine para Veränderung kurzzeitig der Sprung im last_delta.

                              mcm1957M Offline
                              mcm1957M Offline
                              mcm1957
                              wrote on last edited by
                              #229

                              @fu_zhou
                              Neue Version 0.0.7 released
                              Nun sollten Updates definitiv im Zyklusraster aktualisisert werden solange der Controller nicht gestoppet ist

                              Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                              Support Repositoryverwaltung.

                              Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                              LESEN - gute Forenbeitrage

                              fu_zhouF 1 Reply Last reply
                              0
                              • mcm1957M mcm1957

                                @fu_zhou
                                Neue Version 0.0.7 released
                                Nun sollten Updates definitiv im Zyklusraster aktualisisert werden solange der Controller nicht gestoppet ist

                                fu_zhouF Offline
                                fu_zhouF Offline
                                fu_zhou
                                wrote on last edited by
                                #230

                                @mcm57 super, passt, vielen Dank!

                                Synology DS920+ VM, S7-315 PN mit ET200S

                                mcm1957M 1 Reply Last reply
                                0
                                • fu_zhouF fu_zhou

                                  @mcm57 super, passt, vielen Dank!

                                  mcm1957M Offline
                                  mcm1957M Offline
                                  mcm1957
                                  wrote on last edited by
                                  #231

                                  Die Beschreibung des Adapters gibts nun auch auf deutsch:

                                  https://github.com/iobroker-community-adapters/ioBroker.pid/blob/master/docs/de/pid_de.md

                                  Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                                  Support Repositoryverwaltung.

                                  Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                                  LESEN - gute Forenbeitrage

                                  paul53P 1 Reply Last reply
                                  1
                                  • mcm1957M mcm1957

                                    Die Beschreibung des Adapters gibts nun auch auf deutsch:

                                    https://github.com/iobroker-community-adapters/ioBroker.pid/blob/master/docs/de/pid_de.md

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    wrote on last edited by paul53
                                    #232

                                    @mcm57
                                    In welcher Einheit werden Tn (Nachstellzeit) und Tv (Vorhaltezeit) angegeben?
                                    Da mit Nachkommastellen vermute ich Sekunden.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    mcm1957M 1 Reply Last reply
                                    0
                                    • paul53P paul53

                                      @mcm57
                                      In welcher Einheit werden Tn (Nachstellzeit) und Tv (Vorhaltezeit) angegeben?
                                      Da mit Nachkommastellen vermute ich Sekunden.

                                      mcm1957M Offline
                                      mcm1957M Offline
                                      mcm1957
                                      wrote on last edited by
                                      #233

                                      @paul53
                                      Sollten Sekunden sein.

                                      Die eingegebenen Werte werden in keiner Weise umgerechnet sondern 1:1 in die angegebenen Formeln eingesetzt.

                                      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                                      Support Repositoryverwaltung.

                                      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                                      LESEN - gute Forenbeitrage

                                      paul53P 1 Reply Last reply
                                      0
                                      • mcm1957M mcm1957

                                        @paul53
                                        Sollten Sekunden sein.

                                        Die eingegebenen Werte werden in keiner Weise umgerechnet sondern 1:1 in die angegebenen Formeln eingesetzt.

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        wrote on last edited by
                                        #234

                                        @mcm57 sagte: Sollten Sekunden sein.

                                        Bitte in der Beschreibung angeben.

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        1 Reply Last reply
                                        0
                                        • Q Offline
                                          Q Offline
                                          quorle
                                          wrote on last edited by
                                          #235

                                          Welche Werte würde man dem PI-Regler übergeben müssen, um einen Heizstab nach der vorhandenen PV-Leistung regeln lassen zu können?
                                          Ein 0-100% Regelausgang würde mir reichen. Abschaltung des Reglers über die Temperatur wäre kein Problem ( zusätzliches Blockly ). Aktuelle PV-Leistung und aufgenommene Leistung des Heizstabes sind im ioB vorhanden.

                                          mcm1957M paul53P 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          115

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe