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.
    • S
      Steffi81 last edited by

      Ok, werd das mal versuchen, kann nur etwas dauern.

      Mfg

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

        Hi,

        ich würde anstelle nano eher z.b. so in das log schauen:

        cat iobroker.2017-11-12.log |grep java
        

        das "java" am Ende ersetzt du durch das was du suchen willst.

        Wenn du "java" nimmst kommt alles mit "javascript" raus.

        Macht es vielleicht etwas übersichtlicher auf der Konsole.

        Anstelle von WinSCP nutze ich immer Filezilla.

        Gruß

        Mirko

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

          Nabend

          So, leider wieder das gleiche wie die letzten Tage. Keine Änderung. Habe mal nen Auszug aus dem Log angefügt, hoffe ist das richtige. Denke das vom Javascript ist das richtige. Zwischen 00:00 Uhr und 00:30 Uhr gibt es keinen keinen Eintrag. Habe auch die anderen Tage mal durch geschaut, da steht nirgends etwas, was auf das besagt Skript hinweißt. Da steht immer nur die LowBat Ausgabe und mein Tinten Status meines Druckers.

          mfg
          1402_java_log.png

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

            Mal ne Frage, wo soll denn der log-Eintrag aus dem Script herkommen, da steht doch gar nichts von loggen. Möglicherweise würde eine Umstellung auf "debug" diese Infos bringen, hat das schon einer irgendwo eingestellt?

            Kann es sein, dass die Ausführungen in der falls-Klammer so zeitnah erfolgen, dass die Einträge PV_VorTag und PV-VorGesamt zeitgleich geschrieben werden? Wie ist denn die Ausführung genau, ich habe eine ähnliches Script und habe eine Verzögerung von wenigen hundert Millisekunden um sicher zu gehen, dass da nichts gleichzeitig geschrieben wird. :?:

            Enrico

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

              @RappiRN:

              Mal ne Frage, wo soll denn der log-Eintrag aus dem Script herkommen, da steht doch gar nichts von loggen. Möglicherweise würde eine Umstellung auf "debug" diese Infos bringen, hat das schon einer irgendwo eingestellt? `
              Es sollte geprüft werden, ob Systemfehler vorliegen, falsche Variablen Type usw.

              @RappiRN:

              Kann es sein, dass die Ausführungen in der falls-Klammer so zeitnah erfolgen, dass die Einträge PV_VorTag und PV-VorGesamt zeitgleich geschrieben werden? Wie ist denn die Ausführung genau, ich habe eine ähnliches Script und habe eine Verzögerung von wenigen hundert Millisekunden um sicher zu gehen, dass da nichts gleichzeitig geschrieben wird. :?: `

              Das wäre auch noch eine Möglichkeit.

              Zumal der Test von Steffi81 am Tag ja funktioniert hatte.

              Könnte sein, dass sein ioBroker um 00:01 Uhr mit diversen anderen Sachen beschäftigt ist.

              Man könnte es auch mal um 00:05 Uhr versuchen.

              Das mit den Verzögerungen ist so eine Sache.

              1. "Steuere ID01 mit 5 Verzögerung 10 Sek"

              2. "Steuere ID02 mit Wert von ID01 + 100"

              Die Verzögerung bei 1. unterbricht NICHT das Programm.

              Es wird also zuerst Zeile 2. ausgeführt und 10 Sek. später Zeile 1.

              Wenn wir bei Programmstart davon ausgehen, dass ID01 = 0 ist.

              Wird ID02 nie den Wert 105 bekommen.

              Grüße

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

                Guten Morgen

                Habe Enricos Idee mal versucht in den Skript umzusetzten und etwas abgeändert.. Den Bezugspunkt für den Gesamtwert habe ich aber geändert, der Wert ändert sich schneller als mein PV 😄

                Durch die Verzögerung ändert sich tatsächlich der Wert von VorTag. Wäre das mit der Zeitverzögerung an der richtigen Stelle, oder war das eher Zufall, dass das geklappt hat? Hatte da ja letztens schon was ausprobiert, klappt ja auch erst, dann nicht mehr.

                Habe da mal nen paar Screenshots beigepackt.

                mfg
                1402_iobroker_bezug.png
                1402_iobroker_bezug_skript.png

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

                  Stell doch wieder um auf die alte Auslösezeit und dann wieder warten bis morgen, bist du ja schon gewöhnt! 😄

                  Enrico

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

                    Habe es jetzt mal auf 00:10 Uhr geändert. Vielleicht hat Rantanplan ja recht und mehrere Sachen laufen zusätzlich noch um 00:01 Uhr.

                    Ja, habe das warten als neues Hobby für mich entdeckt :lol:

                    mfg

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

                      Guten Morgen

                      So, es scheint zu klappen. VorTag wurde geschrieben. Das kommt auch hin, der Wert.

                      Muss jetzt nur mal schauen, Woche war vorm umschreiben "0", weil ja neu Woche angefangen hat. Da müsste ja eigentlich auch jeden Tag der Wert vom VorTag dann reingeschrieben werden der sich dann ja bis zum WE addiert, oder? Da wurde dann auch nen Wert rein geschrieben, nur ist der um einiges höher als der vom VorTag.

                      Das kann jetzt aber auch mit dem ganzen hin und her probieren zu tun haben, werde das mal beobachten. Wenn das dann weiter nicht stimmt, muss ich nochmal im Skript schauen.

                      Werde berichten 😄

                      Mfg

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

                        @Steffi81:

                        So, es scheint zu klappen. VorTag wurde geschrieben. Das kommt auch hin, der Wert. `
                        Hast Du jetzt die Triggerzeit geändert, den Timeout gesetzt oder beides?

                        @Steffi81:

                        Das kann jetzt aber auch mit dem ganzen hin und her probieren zu tun haben, werde das mal beobachten. `
                        Gehe ich auch von aus.
                        @Steffi81:

                        Werde berichten 😄 `
                        Wir warten auch :lol:

                        Grüße

                        1 Reply Last reply Reply Quote 0
                        • P
                          pix last edited by

                          Hallo,

                          ich habe sowas mal für meine Homematic-Zähler und EM1000 FS20 Zähler in Javascript geschrieben:

                          http://forum.iobroker.net/viewtopic.php?f=21&t=2262

                          Die größte Herausforderung bestand darin zu erkennen, wenn die Geräte nach dem Abschalten oder Stromausfall/Abziehen von Steckdose

                          den fortlaufenden Zähler zurückgesetzt haben. Daher habe ich einen Virtuellen Zähler (Backup) mitlaufen lassen.

                          Bei mir läuft das Skript noch, fast fehlerfrei. 8-)

                          Da dein Zählerstand immer wächst und sich nie zurücksetzt, ist die ganz Sache viel leichter. Im geposteten Skript sind ein paar Trigger für die Umschalt-/Speicherzeiten (Tag, Woche,Monat und Jahr sind klar, Quartal muss man etwas basteln).

                          Es wird mit jeder Änderung des Zählers ein Differenz zu den bisherigen Zählerständen von Jahr, Quartal, Monat, Woche, Tag (theoretisch auch Stunde oder gar Minute möglich) gebildet.

                          Schau mal rein.

                          Gruß

                          Pix

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

                            Mahlzeit

                            Habe beides gemacht. Die Zeit auf 00:10 Uhr geändert und das Timeout auf 2000 ms. Denke 1000 ms hätten auch gereicht, aber sicher ist sicher 🙂

                            Denke auch nicht das es an der Zeit gelegen hat, hatte das mit verschieden Zeiten ausprobiert und es klappte nicht.

                            Aber dennoch habe ich die Zeit geändert, um diese Möglichkeit auszuschließen.

                            Mfg

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

                              @Steffi81:

                              Habe beides gemacht. `
                              Hmm. Ich kann mir gar nicht vorstellen, dass Dein System so träge ist, das es sich bei normalen Rechen- und Variablenoperationen "verschluckt".

                              Ist schon Merkwürdig.

                              Grüße

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

                                Tja, keine Ahnung. Aber wenn es so geht, dann bin ich damit sehr zufrieden 😄

                                Wenn es geht 😄

                                Mfg

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

                                  Nabend

                                  So, es ist so wie gehabt. Der VorTag Wert wird geschrieben, Woche/Monat/Jahr auch. Nur passen die Werte von den dreien nicht. Sie erhöhen sich zwar jedesmal, aber nicht um den Wert vom VorTag, was sie ja sollten, oder? Also ich mein um den Wert von VorTag erhöhen, oder?

                                  Werd mir das wohl noch mal an schauen. Kann ich das Skript "reseten", also so, dass alles von 0 anfängt? Ansonsten lösch ich das mal und mach es nochmal komplett neu.

                                  Mal sehen wann ich das schaffe, liege momentan dank einer Erkältung flach.

                                  Mfg

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

                                    @Steffi81:

                                    So, es ist so wie gehabt. Der VorTag Wert wird geschrieben, Woche/Monat/Jahr auch. Nur passen die Werte von den dreien nicht. Sie erhöhen sich zwar jedesmal, aber nicht um den Wert vom VorTag, was sie ja sollten, oder? Also ich mein um den Wert von VorTag erhöhen, oder? `
                                    Ja, so kann man es ja auch im Blockly lesen.

                                    Wertebeisiele:

                                    Bezug_Gesamt= 5000

                                    Bezug_VorGesamt =4500

                                    Bezug_VorTag = Bezug_Gesamt (5000) - Bezug_VorGesamt (4500)

                                    Bezug_Woche = Bezug_Woche + Bezug_Vortag (500)

                                    usw.
                                    @Steffi81:

                                    Kann ich das Skript "reseten", also so, dass alles von 0 anfängt? `
                                    Na klar. Einfach unter Objekte die Variablen auf 0 setzen.

                                    Dann wird wieder beim 1. Ausführen NUR der Wert "Bezug_Gesamt" gefüllt.

                                    Außer Du schreibst 5 vor 12 den aktuellen Wert Deines Zählers da rein.

                                    Den Timer würde ich wieder aus dem Blockly nehmen.

                                    Das muss auch ohne gehen.

                                    Noch etwas zu Deinem Trigger! Habe ich gerade erst gesehen.

                                    Bei Dir steht "5 10 ***" das bedeutet 10:05 Uhr jeden Tag!!!???

                                    Da müsste stehen"5 0 * * *" entspricht 00:05 Uhr jeden Tag

                                    oder "10 0 * * *" entspricht 00:10 Uhr Jeden Tag.

                                    Die Werte kannst Du auch direkt oben in das Feld eingeben.

                                    Grüße und Gute Besserung

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

                                      Hallo Steffi81

                                      Mach mal Pause und werde gesund. 😉

                                      Ich habe mal einen "Stresstest" mit dem Blockly gemacht.

                                      ES FUNKTIONIERT NICHT!

                                      Oder nur manchmal :roll:

                                      Die Zahlen werden nur sporadisch und unterschiedlich aktualisiert.

                                      Muss ich mal genauer anschauen.

                                      Melde mich.

                                      Grüße

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

                                        Guten Morgen

                                        Das mit dem Timer in dem Screenshot, da hatte ich was ausprobiert um nicht immer 24 std warten zu müssen 🙂 Ist mir dann nach dem hochladen aufgefallen, sorry. In dem aktuellen ist die Zeit auf 00:10 Uhr geändert.

                                        Ok, wenn da anscheinend was nicht mit stimmt, dann warte ich ab. Dann lass ich den Timer erstmal, bis es eine Lösung gibt. Ändere das dann alles in einem ab, dann brauch ich mich nicht mit der Erkältung vorn PC setzten.

                                        Danke für die Genesungsgrüße.

                                        Mfg

                                        1 Reply Last reply Reply Quote 0
                                        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            402
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            84
                                            9934
                                            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