Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly Hilfe, PV-Leistung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Hilfe, PV-Leistung

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

      Hallo Steffi81

      Und weiter geht’s 😉

      (Ich hoffe Du bist wieder gesund)

      Ein Versuch der Erklärung.

      Wie vorherigen Beispiele haben nicht geklappt, weil nicht unbedingt auf die komplette Abarbeitung eines Befehls gewartet wird.

      In JavaSript kann man dies erzwingen, in Blockly leider (noch) nicht.

      Beispiel:

      Zeile 1: A=10

      Zeile 2: B=A +10

      Bei der asynchronen Abarbeitung kann es passieren, dass Zeile 2 ausgeführt wird obwohl Zeile 1 noch nicht fertig ist.

      Somit kann es passieren, das B den Wert 10 erhält und nicht 20.

      Ich hoffe das dieses Verhalten auch mal in Blockly abzustellen ist.

      Über den Umweg von lokalen Variablen geht es dann aber doch (hoffentlich).
      147_beispiel.png

      Hier der Export:

      ! <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="{V=mo]DNu%KS;AK8=LrK" x="-87" y="-338"><field name="COMMENT">Jeden Tag um 00:01 Uhr</field> <next><block type="schedule" id="jL4.SW:PoWw-q.KKR%DH"><field name="SCHEDULE">1 0 * * *</field> <statement name="STATEMENT"><block type="comment" id="Ahww~9VX=GWWlB(9aqsP"><field name="COMMENT">aktueller Gesamtwert</field> <next><block type="variables_set" id="|gPu3??__,N,nK__0J=l"><field name="VAR">myPV_Gesamt</field> <value name="VALUE"><block type="get_value" id="t6,+![3-3ICXbUp)Bj_]"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <next><block type="comment" id="D=qb+T%qkgL9r4}{nMDL"><field name="COMMENT">Lokale Variablen initialisieren</field> <next><block type="procedures_callnoreturn" id="07|jy%Q,[R0i?(RhdpB*"><mutation name="initialisieren"></mutation> <next><block type="comment" id="hYf:+t,c#(`I#;X8vbAA"><field name="COMMENT">Hier geht's los</field> <next><block type="controls_if" id="X2JIk;bXE/pvC5.dNX8Z"><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="w}1)G@BCCc-1j|fhXf))"><field name="OP">GT</field> <value name="A"><block type="variables_get" id="E2@%eMh.`bU{vtj7JOGj"><field name="VAR">myPV_VorGesamt</field></block></value> <value name="B"><block type="math_number" id="_Czl-/turH@g=rB:]Mwz"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="comment" id="chjFF9Hm#IP?dmv%G^Ie"><field name="COMMENT">Nur wenn PV_VorGesamt schon einen Wert hat</field> <next><block type="variables_set" id="p96OaTc!^)mA/tjgD5uQ"><field name="VAR">myPV_VorTag</field> <value name="VALUE"><block type="math_arithmetic" id="/GPT5Et;Ue`4Z(`%K{Fj"><field name="OP">MINUS</field> <value name="A"><shadow type="math_number" id="j_!M*xfzb-4EGawO3Kw3"><field name="NUM">1</field></shadow> <block type="variables_get" id="WC6yZ)@;%1]JB0Ti1aUR"><field name="VAR">myPV_Gesamt</field></block></value> <value name="B"><shadow type="math_number" id="45m?:J{?vw}#2BT[Y^0a"><field name="NUM">1</field></shadow> <block type="variables_get" id="ZZ32i3yLk-j3yOQ5xj(x"><field name="VAR">myPV_VorGesamt</field></block></value></block></value> <next><block type="comment" id="?mSu7`rmS[]{=^hR(|h-"><field name="COMMENT">Aktuellen Wert für morgen sichern</field> <next><block type="variables_set" id=")x-.3)xmjybq`R:orRZ="><field name="VAR">myPV_VorGesamt</field> <value name="VALUE"><block type="variables_get" id="IqO/!sl|9|zmh3rCE^SE"><field name="VAR">myPV_Gesamt</field></block></value> <next><block type="comment" id="MMZP1xTG9f/G)nsJIf`7"><field name="COMMENT">Werte für Woche/Monat/Jahr</field> <next><block type="variables_set" id="%o+{n]i=Wqa#H9,S!X9d"><field name="VAR">myPV_Woche</field> <value name="VALUE"><block type="math_arithmetic" id="x;b^MQtzktn(cV1Sx=E?"><field name="OP">ADD</field> <value name="A"><shadow type="math_number" id="`OR^Z3:8=MdvdR-QK]%Y"><field name="NUM">1</field></shadow> <block type="variables_get" id="Y/(ZV.dTiQm8xA_MOli["><field name="VAR">myPV_Woche</field></block></value> <value name="B"><shadow type="math_number" id="KO1?Fi}rrj`ILzyQO/f2"><field name="NUM">1</field></shadow> <block type="variables_get" id="a2^VRT/CpN2*0VQa~k=f"><field name="VAR">myPV_VorTag</field></block></value></block></value> <next><block type="variables_set" id="F0oQoIL++GTCL:0yv63{"><field name="VAR">myPV_Monat</field> <value name="VALUE"><block type="math_arithmetic" id="~X9=Wdf3qIVL:E1p{P%x"><field name="OP">ADD</field> <value name="A"><shadow type="math_number" id="`OR^Z3:8=MdvdR-QK]%Y"><field name="NUM">1</field></shadow> <block type="variables_get" id="Mi:WD3aso@t[BVh;y`d%"><field name="VAR">myPV_Monat</field></block></value> <value name="B"><shadow type="math_number" id="KO1?Fi}rrj`ILzyQO/f2"><field name="NUM">1</field></shadow> <block type="variables_get" id=")Ejtg8|l0,Y[N2cUpPxQ"><field name="VAR">myPV_VorTag</field></block></value></block></value> <next><block type="variables_set" id="uL2AXiPO-(or0%WZ#C[K"><field name="VAR">myPV_Jahr</field> <value name="VALUE"><block type="math_arithmetic" id="1rFZAmThK#{DGuv%kb@g"><field name="OP">ADD</field> <value name="A"><shadow type="math_number" id="`OR^Z3:8=MdvdR-QK]%Y"><field name="NUM">1</field></shadow> <block type="variables_get" id="Gb/2[Ky0jCH+dGoHX]Yw"><field name="VAR">myPV_Jahr</field></block></value> <value name="B"><shadow type="math_number" id="KO1?Fi}rrj`ILzyQO/f2"><field name="NUM">1</field></shadow> <block type="variables_get" id="s7(DDUv9g.FwMjW6wGDg"><field name="VAR">myPV_VorTag</field></block></value></block></value> <next><block type="comment" id="u?e=^OoHZTOPnUj(=`)m"><field name="COMMENT">Wochen-/Monat- und Jahreswechsel</field> <next><block type="controls_if" id=".*Ut:*R-,h7mCTOP`:-K"><value name="IF0"><block type="logic_compare" id="m)YlVQQb`L4=y{h9(ch:"><field name="OP">EQ</field> <value name="A"><block type="time_get" id=")JUH+iyy,,KZ}dP6`xux"><mutation format="false" language="false"></mutation> <field name="OPTION">wd</field></block></value> <value name="B"><block type="math_number" id=";{)kq0labRr%?rY8,,A@"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="comment" id="q/-:jN?6f%X.b`3I)31t"><field name="COMMENT">es ist Montag</field> <next><block type="variables_set" id=":N*}w+4l)FMu+^c`?-HZ"><field name="VAR">myPV_VorWoche</field> <value name="VALUE"><block type="variables_get" id="P2UVICSI+(TOJy/wD|^S"><field name="VAR">myPV_Woche</field></block></value> <next><block type="variables_set" id="OpZ)3jky+0TlB}v[6/X6"><field name="VAR">myPV_Woche</field> <value name="VALUE"><block type="math_number" id="_?yeX[pAh9a{U50(~F,6"><field name="NUM">0</field></block></value></block></next></block></next></block></statement> <next><block type="controls_if" id="C?T5,x)9U#+*5`!/%Xvq"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="QnsuC*,mT8@{/VAV0#;3"><field name="OP">EQ</field> <value name="A"><block type="time_get" id="w]l0YjizLVHO+kXh~+pA"><mutation format="false" language="false"></mutation> <field name="OPTION">DD.MM.</field></block></value> <value name="B"><block type="text" id="Js3Du,fIBC4,!;Vr],3X"><field name="TEXT">01.01.</field></block></value></block></value> <statement name="DO0"><block type="comment" id="4),8Xviy{qF^*:)E6iM^"><field name="COMMENT">Neues Jahr</field> <next><block type="procedures_callnoreturn" id="-J|MYf4EIn`F|a5qkq:9"><mutation name="MonatsWechsel"></mutation> <next><block type="procedures_callnoreturn" id="!jD{/7{BdxYQ_}-|%eTH"><mutation name="JahresWechsel"></mutation></block></next></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="=KSw2QKkWEYy2LAu|5F%"><field name="OP">EQ</field> <value name="A"><block type="convert_tonumber" id="Pqs^d)[+FGyDP)EIQinu"><value name="VALUE"><block type="time_get" id="j:O*7i=%dQ0EY]1wI`Lu"><mutation format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">TT</field></block></value></block></value> <value name="B"><block type="math_number" id="~DXlaOKTAggAN-WTk[yE"><field name="NUM">1</field></block></value></block></value> <statement name="DO1"><block type="comment" id="Rtl!ROra;5ug|YC6UHIV"><field name="COMMENT">1\. eines Monats</field> <next><block type="procedures_callnoreturn" id="juyZg(NRvnJ1)=cNx128"><mutation name="MonatsWechsel"></mutation></block></next></block></statement> <next><block type="comment" id="JIon5Y!#n[0RPp*UN:CQ"><field name="COMMENT">Werte speichern</field> <next><block type="procedures_callnoreturn" id="%@{w;T;4mq~U(DJKpWX_"><mutation name="speichern"></mutation></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></statement> <statement name="ELSE"><block type="comment" id="Vn@Z9!vf0(iDyIXzSyWG"><field name="COMMENT">1x PV_VorGesamt initialisieren</field> <next><block type="control" id="DIp{:oz5KBZ7#TQ,ridU"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_VorGesamt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="J[CBnbIiH1v}f8mk@Z9P"><field name="VAR">myPV_Gesamt</field></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block> <block type="procedures_defnoreturn" id="JSk?u;dAq?gd3/1%s``(" x="712" y="-288"><field name="NAME">initialisieren</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="variables_set" id="mwjxhBUNVSY+;mhvE*ad"><field name="VAR">myPV_VorGesamt</field> <value name="VALUE"><block type="get_value" id="M[E;e2v#lO?lGiW6)z7d"><field name="ATTR">val</field> <field name="OID">javascript.0.PV_VorGesamt</field></block></value> <next><block type="variables_set" id="pP?#U]0|y(@:kJP,#Ndg"><field name="VAR">myPV_VorTag</field> <value name="VALUE"><block type="get_value" id="lFX7`C8786JQ#?Gk!7o["><field name="ATTR">val</field> <field name="OID">javascript.0.PV_VorTag</field></block></value> <next><block type="variables_set" id="njYq9T,XzJ[04HDKC`}3"><field name="VAR">myPV_Woche</field> <value name="VALUE"><block type="get_value" id="w+So?^|EDK^FHp})lO^#"><field name="ATTR">val</field> <field name="OID">javascript.0.PV_Woche</field></block></value> <next><block type="variables_set" id="8j^N~[%a^,]ihudH9l(B"><field name="VAR">myPV_VorWoche</field> <value name="VALUE"><block type="get_value" id="7-t#.`e0yX+(XJN.vdm9"><field name="ATTR">val</field> <field name="OID">javascript.0.PV_VorWoche</field></block></value> <next><block type="variables_set" id="XaHCOuq-+oHk;(kLE:FJ"><field name="VAR">myPV_Monat</field> <value name="VALUE"><block type="get_value" id="u({p4TdvN3_y]t1~u7KV"><field name="ATTR">val</field> <field name="OID">javascript.0.PV_Monat</field></block></value> <next><block type="variables_set" id="vnn^[6,J=4.QtD{J9]`_"><field name="VAR">myPV_VorMonat</field> <value name="VALUE"><block type="get_value" id="Tz7RcjUQ8F,%;|zQ41]2"><field name="ATTR">val</field> <field name="OID">javascript.0.PV_VorMonat</field></block></value> <next><block type="variables_set" id="Kqt%+w,vH`uBw)N7mv=n"><field name="VAR">myPV_Jahr</field> <value name="VALUE"><block type="get_value" id="e-Q[Hgz1mec:+Q43,wcL"><field name="ATTR">val</field> <field name="OID">javascript.0.PV_Jahr</field></block></value> <next><block type="variables_set" id=";T]s2Zp(idQ8uQuwJO/0"><field name="VAR">myPV_VorJahr</field> <value name="VALUE"><block type="get_value" id="y,PW|Jo*hC._sqM.noH^"><field name="ATTR">val</field> <field name="OID">javascript.0.PV_VorJahr</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block> <block type="procedures_defnoreturn" id="}eOpEjI/PHP)t8N/XG*H" x="713" y="-12"><field name="NAME">speichern</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="control" id="(hKb[IU*J#9gOdoTCOgx"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_VorGesamt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="E/~{zUUj}nLAipOoWX/("><field name="VAR">myPV_VorGesamt</field></block></value> <next><block type="control" id="C~rQ.Kcq!o(hZ[}8WjYR"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_VorTag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="-%2KEL(X7MLfMP@w-lk2"><field name="VAR">myPV_VorTag</field></block></value> <next><block type="control" id="@yfkY/?=G_vB47NN*{89"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_Woche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="6Fqk/;jmAFx@3[liPO@L"><field name="VAR">myPV_Woche</field></block></value> <next><block type="control" id="aGCnm?E-0-ap}@urc9w0"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_VorWoche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="D;w=^UhTvi)B.xUW-{n8"><field name="VAR">myPV_VorWoche</field></block></value> <next><block type="control" id="mffNKRglL,5%CHCa]X:2"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_Monat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="B9QTrl?)vG9qAyZ,:(I*"><field name="VAR">myPV_Monat</field></block></value> <next><block type="control" id=",o?{1%~WL/UJMZ}?)r`z"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_VorMonat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="@XqUm{;z;@G%uXfqYt5C"><field name="VAR">myPV_VorMonat</field></block></value> <next><block type="control" id="x~rCmSC)JKOPtY(t?LMQ"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_Jahr</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="*yLY*K^nc5h{h/)Clcx~"><field name="VAR">myPV_Jahr</field></block></value> <next><block type="control" id="Em@:KxA?^xgjn-lTfj?Y"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_VorJahr</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="b,Vt|I3,~4xd(hNVHZHh"><field name="VAR">myPV_VorJahr</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block> <block type="procedures_defnoreturn" id="nO8WoL:p/oR%-9XA~IJe" x="713" y="362"><field name="NAME">MonatsWechsel</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="variables_set" id="{OqW((cfZHZnXh*%6Efi"><field name="VAR">myPV_VorMonat</field> <value name="VALUE"><block type="variables_get" id="4J]^Pq?;89-(Pr949~7L"><field name="VAR">myPV_Monat</field></block></value> <next><block type="variables_set" id="Me*Hni/xE)OB[Hew5cd("><field name="VAR">myPV_Monat</field> <value name="VALUE"><block type="math_number" id="B}|~*)%A3.yjI84v*eK("><field name="NUM">0</field></block></value></block></next></block></statement></block> <block type="procedures_defnoreturn" id=")fw?y^4RO%x]?;0jBas9" x="713" y="463"><field name="NAME">JahresWechsel</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="variables_set" id="n@Jr3{]|J/}K/q,)[*o|"><field name="VAR">myPV_VorJahr</field> <value name="VALUE"><block type="variables_get" id="+_s%NbnI1Z@Q8)D;)R^@"><field name="VAR">myPV_Jahr</field></block></value> <next><block type="variables_set" id="gP3iNAT4o2^1S1Rcl2n%"><field name="VAR">myPV_Jahr</field> <value name="VALUE"><block type="math_number" id="5*DJ#(2ohT.33sjheP^="><field name="NUM">0</field></block></value></block></next></block></statement></block></xml> !

      Grüße

      1 Reply Last reply Reply Quote 0
      • R
        RappiRN Most Active last edited by

        @rantanplan:

        Bei der asynchronen Abarbeitung kann es passieren, dass Zeile 2 ausgeführt wird obwohl Zeile 1 noch nicht fertig ist. `

        Und genau dieses Verhalten war der Grund für mich diese Timeoutvariante vorzuschlagen, ich sagte ja bereits, dass ich das auch so drin habe in meiner Berechnung.

        Ob das allerdings so richtig sauber programmiert ist, oder es vielleicht noch besser gemacht werden kann, das zeigt ja dein Beispiel. 🙂

        Enrico

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

          @RappiRN:

          Und genau dieses Verhalten war der Grund für mich diese Timeoutvariante vorzuschlagen, ich sagte ja bereits, dass ich das auch so drin habe in meiner Berechnung.

          Ob das allerdings so richtig sauber programmiert ist, oder es vielleicht noch besser gemacht werden kann, das zeigt ja dein Beispiel. 🙂 `

          Die "Timeoiutvariante" kann aber noch mehr Durcheinander in der asynchronen Abarbeitung bringen.

          Probiere mal dieses Beispiel.
          147_beispiel.png

          Grüße

          1 Reply Last reply Reply Quote 0
          • S
            Steffi81 last edited by

            Hallo zusammen

            Juhu, es gibt wieder was zu tun 😄 😄 😄

            Ja soweit bin ich wieder gesund, hoffe das bleibt auch so 😄

            Wow, dass ist ja mal ne Erweiterung zu dem anderen Skript, da hast du dir aber richtig Arbeit gemacht. Das es da so gravierende Unterschiede zwischen Java und Blockly gibt, wusste ich nicht.

            Das erklärt auch, warum VorTag nur mit dem Timeout geschrieben wurde und ohne nicht. Werde das bei mir mal testen und dann mal schauen.

            Mfg.

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

              @Steffi81:

              Java und Blockly `
              JavaScript nicht Java 😉

              1 Reply Last reply Reply Quote 0
              • S
                Steffi81 last edited by

                OK, sorry 😄

                Meinte JavaScript 😄

                1 Reply Last reply Reply Quote 0
                • R
                  RappiRN Most Active last edited by

                  @rantanplan:

                  Probiere mal dieses Beispiel. `

                  Habe ich gemacht! 😄 Dieses Durcheinander habe ich erwartet, wir hatten ja auch bei Steffi81 bisher nur einen Wert mit einem Timeout, ich weiß jetzt nicht mehr genau, ob ich dazu was genaueres geschrieben hatte, aber natürlich hätte unser erster Versuch noch mit weiteren Timeouts erweitert werden müssen.

                  Was ich aber inzwischen dazu gelernt habe ist, dass Timeouts ja auch Probleme machen können!

                  Hier mal ein kleiner Ausschnitt aus meiner Verbrauchsberechnung. Das ganze Ding ist noch nicht komplett funktionstüchtig und auch nicht vorzeigefähig, aber die wichtigsten Werte für gestern und vorgestern sowie dem Vormonat kommen. Ich arbeite halt noch dran. Ich lese immer sehr viel mit und versuche dann das Gelesene anzuwenden, daher kommen auch relativ wenig Fragen von mir! 😉

                  ! filename="Zähler.JPG" index="0">~~

                  Enrico

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

                    Leider kann man in dem kleinen Ausschnitt nicht viel erkennen.

                    Wenn Du aber innerhalb der Timer Berechnungen mit Variablen/States durchführst, kannst Du in die gleiche Falle laufen.

                    Momentan ist der Umweg über lokale Variablen der sichere Weg.

                    Nicht schön (jetzt hauen mir die JavaScriptler wieder was um die Ohren 🙂 ) aber sicherer.

                    Grüße

                    1 Reply Last reply Reply Quote 0
                    • R
                      RappiRN Most Active last edited by

                      @rantanplan:

                      Leider kann man in dem kleinen Ausschnitt nicht viel erkennen. `

                      Das ist auch erstmal so gewollt! 😄

                      Wie oben geschrieben, noch nicht vorzeigbar. Ich weiß ja inzwischen auch, dass es sicherer ist, alle Timeouts auch wieder zu beenden, nicht dass da irgendwelche Reste bleiben.

                      @rantanplan:

                      Nicht schön (jetzt hauen mir die JavaScriptler wieder was um die Ohren 🙂 ) aber sicherer. `

                      Gewalt ist keine Lösung!! :lol: :lol:

                      Enrico

                      1 Reply Last reply Reply Quote 0
                      • S
                        Steffi81 last edited by

                        So, ich habe das ganze mal aus probiert.

                        Damit ich nicht bis 00:01 warten muss, habe ich, zum testen, einen festen Zeitpunkt ausprobiert, v.B. 17.00 Uhr. Damit das ganze auch geht, habe ich von Hand den Wert PV_VorGesamt kleiner als den Rechenwert (PV Gesamt ) eingetragen. Das ganze habe ich mehrmals so ausprobiert zu verschieden Zeitpunkten.

                        Ergebnis, zum Zeitpunkt wurde das Script ausgeführt, die Werte Jahr/Monat/Woche wurde jetzt alle richtig geschrieben, VorGesamt wurde auch richtig gesetzt. Der Wert VorTag macht aber immer noch Probleme. Er wird zwar zusammen mit den anderen Werten geschrieben, aber kurz darauf wird der Wert wieder auf 0 gesetzt. Die anderen Werte bleiben alle so erhalten, wie sie gesetzt wurden.

                        Habe das ganze mehrmals durch laufen lassen, jedes mal das selbe. VorTag wird geschrieben, danach gleich wieder auch 0 gesetzt.

                        Sorry für die schlechte Nachricht 😞

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

                          @Steffi81:

                          So, ich habe das ganze mal aus probiert.

                          Damit ich nicht bis 00:01 warten muss, habe ich, zum testen, einen festen Zeitpunkt ausprobiert, v.B. 17.00 Uhr. Damit das ganze auch geht, habe ich von Hand den Wert PV_VorGesamt kleiner als den Rechenwert (PV Gesamt ) eingetragen. Das ganze habe ich mehrmals so ausprobiert zu verschieden Zeitpunkten.

                          Ergebnis, zum Zeitpunkt wurde das Script ausgeführt, die Werte Jahr/Monat/Woche wurde jetzt alle richtig geschrieben, VorGesamt wurde auch richtig gesetzt. Der Wert VorTag macht aber immer noch Probleme. Er wird zwar zusammen mit den anderen Werten geschrieben, aber kurz darauf wird der Wert wieder auf 0 gesetzt. Die anderen Werte bleiben alle so erhalten, wie sie gesetzt wurden.

                          Habe das ganze mehrmals durch laufen lassen, jedes mal das selbe. VorTag wird geschrieben, danach gleich wieder auch 0 gesetzt.

                          Sorry für die schlechte Nachricht 😞 `
                          :shock: :shock: :shock:

                          Erhöhst Du den PV_Gesamt bei jedem Durchgang neu?

                          Läuft da noch etwas anderes?

                          Ich habe hier etliche "Stresstests" durchgeführt. Keine Probleme.

                          Setze mal für die ID Deines Aktors eine Variable ein z.B. "PV_Counter"

                          Also 1. Baustein "setze PV_Gesamt Wert von PV_counter"

                          Setze den Cron auf 2 bis 3 Minuten. und erhöhe den "PV_Counter" unter Objekte manuell.

                          1 Reply Last reply Reply Quote 0
                          • S
                            Steffi81 last edited by

                            nein, hatte immer nur wieder VorGesamt geändert, dachte das reicht, weil die Werte ja geschrieben wurden.

                            weitere Sachen laufen auch nicht.

                            Werde deine Idee mal ausprobieren.

                            mfg

                            1 Reply Last reply Reply Quote 0
                            • S
                              Steffi81 last edited by

                              so, habe das so ausprobiert. Aber auch da, genau das gleiche. Der Wert wird geschrieben und danach wieder auf 0 gesetzt.

                              Habe dann das mit dem timeout noch mal ausprobiert, damit geht das dann. Der Wert wird geschrieben und bleibt dann auch und wird nicht auf 0 gesetzt. Ist schon komisch. Werde das aber noch weiter ausprobieren.

                              Habe ein Screenshot bei gepackt, wie es momentan bei mir aussieht.

                              Gute Nacht 🙂
                              1402_pv_iobroker.png

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

                                Habe jetzt seit einigen Tagen eine Simulation am laufen.

                                Funktioniert so wie es soll. Auch ohne Timer!

                                Wochenwechsel erfolgreich.

                                Warte jetzt noch den Monatswechsel ab.

                                Grüße

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Steffi81 last edited by

                                  Hallo

                                  Habe nun nen paar Tage mir das angeschaut und ausprobiert. Aber komme zu keinem anderen Ergebnis. Ohne den Timer geht es nicht. Es muss auch min. 1000ms sein, alles da drunter geht auch nicht. Habe das ganz dann auch noch für was anderes umgeschrieben, für Netzbezug, mit anderen Variablen, aber auch das selbe Ergebnis.

                                  Versteh das irgendwie auch nicht, wieso das bei dir geht und bei mir nicht.

                                  Habe auch schon mal die ganzen Variablen gelöscht und alles neu gemacht, keine Änderung.

                                  Mir ist dann aufgefallen, wenn ich die lösche und dann von Hand neu als Wert Zahl schreibe, passiert garnichts, also werden garnicht gefüllt, weder mit Timeouts noch ohne. Muss die dann mit deinem ersten Skript automatisch schreiben lassen, dann klappt es auch wieder mit dem Schreiben über Timeout.

                                  Hab ich da dann was falsch gemacht oder ist das dann so gewollt das die sich nicht füllen wenn ich die manuell schreibe?

                                  Mfg

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

                                    Ich würde mal gerne wissen, ob man für Blockly immer einen Trigger benötigt, damit ein Script ausgelöst wird.

                                    Falls ja, wo kann ich denn wohl ein Script einbauen, (ich kann allerdings zur Zeit nur Blockly) welches z.B. diverse Status abfragt und ggfs. darauf reagiert.

                                    LG aus Münster

                                    Volker

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

                                      @Micro1959:

                                      Ich würde mal gerne wissen, ob man für Blockly immer einen Trigger benötigt, damit ein Script ausgelöst wird. `
                                      Ja!

                                      Ganz ioBroker ist ereignisorientiert.
                                      @Micro1959:

                                      Falls ja, wo kann ich denn wohl ein Script einbauen, (ich kann allerdings zur Zeit nur Blockly) welches z.B. diverse Status abfragt und ggfs. darauf reagiert. `
                                      Die Frage verstehe ich nicht. Dafür sind ja die Trigger da.

                                      Schaue Dir mal einige Beiträge in dem Forum an.

                                      Und wenn Du dann eine gezielte Frage hast, mache bitte einen neuen Thread auf.

                                      Grüße

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

                                        Verstehe, also muss ich für jeden State ein Skript machen, um darauf zu reagieren, falls sich etwas verändert.

                                        Ich hatte ursprünglich gedacht, das möglicherweise ein globales sckript immer durchlaufen wird, in dem ich dann die States abfragen kann.

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

                                          @Micro1959:

                                          Verstehe, also muss ich für jeden State ein Skript machen, um darauf zu reagieren, falls sich etwas verändert. `

                                          Ein Trigger kann auch mehrere States abfragen.

                                          Meinen Tipp in dem Forum Blockly Threads zu lesen hast Du übersehen?
                                          @Micro1959:

                                          Ich hatte ursprünglich gedacht, das möglicherweise ein globales sckript immer durchlaufen wird, in dem ich dann die States abfragen kann. `

                                          ioBroker ist das globale Script. 😉

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          831
                                          Online

                                          31.9k
                                          Users

                                          80.2k
                                          Topics

                                          1.3m
                                          Posts

                                          9
                                          84
                                          9932
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo