Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly - setStateDelayed mit Fehler in der Umsetzung ?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Blockly - setStateDelayed mit Fehler in der Umsetzung ?

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

      @Dutchman:

      in deinem falls unter debug stehen keine abfrage, falls = value ? `
      Die Abfrage ist korrekt und entspricht

      if(obj.state.val) { // Bewegung erkannt
      
      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        @paul53:

        @Dutchman:

        in deinem falls unter debug stehen keine abfrage, falls = value ? `
        Die Abfrage ist korrekt und entspricht

        if(obj.state.val) { // Bewegung erkannt
        ```` `  
        

        ok verstanden danke Paul

        Dan ist der Fehler hier aber das der time nicht resettet wird wen "an" erkannt wurden.

        Anstatt mit Verzögerung müsste man in blockly dan mit einen richtigen timeout / stop time out block arbeiten

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

          @BigWumpus:

          Aktualisiere - die Verzögerung funktioniert, das löschen nicht (immer false).

          Steuere - alles funktioniert. `
          Ich habe keine Ahnung was Du damit sagen willst.

          Kann es sein das Dein BM immer nur "true/wahr" liefert?

          Grüße

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

            Buah…

            ich wundere mich hier schon über die versch. Programmier-Exzesse gar nicht mehr ...

            mein BWM meldet "true" bei Bewegung und nach 60 Sekunden wieder "false", wenn Ruhe ist:

            javascript.0	2018-04-15 20:27:12.787	info	script.js.meins.BaZi-Bewegung_folgen(1): BaZi-Bewegung: false
            javascript.0	2018-04-15 20:26:12.854	info	script.js.meins.BaZi-Lampe_schalten: BaZi-Lampe ein
            javascript.0	2018-04-15 20:26:12.736	info	script.js.meins.BaZi-Bewegung_folgen(1): BaZi-Bewegung: true
            

            Die Timer-Konstruktion habe ich versch. ausprobiert, Alles funktionierte nicht.

            Jetzt mit "Steuere" statt "Aktualisiere" läuft es. Da ist ein Fehler im Blockly !

            @Dutchman:

            Die Variable "value" wird im Kopf des Triggers mit dem Wert des abgefragten Datenpunktes gefüllt und kann dann verwendet werden.

            @Dutchman:

            "If true" ist ungeführ so viel wert wie "if true=true".

            @Dutchman:

            Über das Löschen des Timers bei BWM=true können wir streiten, da könnte es ein Problem bei ca. 9 Minuten Stillhalten geben…

            Der Fehler im Blockly bleibt ja, egal was ich schreibe, wenn das "true" für das Setzen des Timers nicht an Javascript übergeben wird.

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

              @Dutchman:

              • genau das scenario posten was du erreichen möchtest.

              • dein blockly exportieren und hier posten (nicht den generierten java code sonder den blocky export !) `

              Das Szenario steht oben im Thread.

              Den Blockly könnte ich auch schicken, würde aber nichts bringen, weil man den Fehler nur erkennt, wenn man einfach eine "Aktualisiere"-Anweisung mit Verzögerung und "löschen falls läuft" in Blockly eingibt und auf Code-Anzeige umschaltet. (das hatte ich darum gepostet).

              Dann nmmt man in der Blockly-Anzeige den Haken bei "löschen wenn läuft" raus und schaltet wieder auf die Code-Anzeige um. Das gleiche Ergebnis bei versch. Quelltext - ist schon merkwürdig.

              Und keine Angst, der Script läuft prima mit einem kleinen XIAOMI-Bewegungsmelder hier. Ich hätte noch 2 Philips Hue-BWM anzubieten, die fliegen nämlich raus.

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

                @BigWumpus:

                Buah…

                ich wundere mich hier schon über die versch. Programmier-Exzesse gar nicht mehr ... `
                OK. Ich bin hier raus.

                1 Reply Last reply Reply Quote 0
                • Dutchman
                  Dutchman Developer Most Active Administrators last edited by

                  Ok…

                  Fragen :

                  • der Bewegungsmelder gibt einen Wert true (wen Bewegung) und false (wen keine Bewegung) ?

                  • diese Daten kommen auch Life rein ohne Verzögerung ?

                  • wen Bewegung Dan Licht an ?

                  • wen keine Bewegung mehr nach 10 min aus ?

                  Hab ich das so richtig verstanden ?!?


                  Send from mobile device

                  Das schöne ios hat Auto Korrektur zum k****

                  Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                    @Dutchman:

                    • der Bewegungsmelder gibt einen Wert true (wen Bewegung) und false (wen keine Bewegung) ?

                    • diese Daten kommen auch Life rein ohne Verzögerung ?

                    • wen Bewegung Dan Licht an ?

                    • wen keine Bewegung mehr nach 10 min aus ? `

                    Ja (Timeout 60 Sekunden)

                    Ja

                    Ja

                    Ja (jetzt)

                    1 Reply Last reply Reply Quote 0
                    • Dutchman
                      Dutchman Developer Most Active Administrators last edited by

                      Das scenarion klinkt nicht kompliziert und ich würde es auf diese weise lösen.

                      Hierin fragen ich den BMW ab auf Änderungen,

                      ist Bewegung wahr

                      • sollte die Lampe aus sein geht sie an und stopt eventuelle timer

                      • sollte die Lampe bereits an sein stoppt nur der time (um doppeltes schalten zu vermeiden

                      ist Bewegung unwahr

                      • aktiviere timer für 10 Minuten

                      • schalte nach Ablauf die Lampe aus

                      979_screen_shot_2018-04-15_at_22.08.24.png

                      blocky export:

                       <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="*?Q;v#g,}Q[X1V;Up{fp" x="-188" y="12"><field name="OID">javascript.2.BWM</field>
                          <field name="CONDITION">ne</field>
                      
                          <statement name="STATEMENT"><block type="controls_if" id="E!w;6q:m.x1q)rPRp*of"><mutation elseif="2"></mutation>
                              <value name="IF0"><block type="logic_operation" id="mp4EeT(Q++deK(RwU0DD" inline="false"><field name="OP">AND</field>
                                  <value name="A"><block type="logic_compare" id="MUno8@nbg0a7JhWW~vKl"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="_@f+8i`+Vr.|MhM}cZ?C"><field name="ATTR">val</field>
                                          <field name="OID">javascript.2.BWM</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="V=P|BryQwCL-N(dCkmo0"><field name="BOOL">TRUE</field></block></value></block></value> 
                                  <value name="B"><block type="logic_compare" id="/YewW0C+po|9+dV4NViz"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="SeOT|8nH7J?].z;uaqCR"><field name="ATTR">val</field>
                                          <field name="OID">javascript.2.LAMPE</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="rUp5NU#KC.hMl;5;@)e="><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                              <statement name="DO0"><block type="timeouts_cleartimeout" id="Uv4pkl%j=q.iF?C}CcgH"><field name="NAME">timeout</field>
                                  <next><block type="control" id="x=RRVZLmnUU8cb]bMHaI"><mutation delay_input="false"></mutation>
                                      <field name="OID">javascript.2.LAMPE</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE"><block type="logic_boolean" id="i[`LOwIbi0zu.VY.*VdM"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> 
                              <value name="IF1"><block type="logic_operation" id=",o-p]ifAXEA)8nGpc]~a" inline="false"><field name="OP">AND</field>
                                  <value name="A"><block type="logic_compare" id="CoiXrUHg|GH7!,7KZK9V"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="K.Y]V2XQZ4Yl4.fQe2B("><field name="ATTR">val</field>
                                          <field name="OID">javascript.2.BWM</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="20A1FNRX!m?_PaKsDX{P"><field name="BOOL">TRUE</field></block></value></block></value> 
                                  <value name="B"><block type="logic_compare" id="WP@E:n:2Vv//n{n)K:Fa"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="eN%-(/T*3^BsJ=ZUh^64"><field name="ATTR">val</field>
                                          <field name="OID">javascript.2.LAMPE</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="|(OxGxW[]_EdVe%Oj9Z8"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                              <statement name="DO1"><block type="timeouts_cleartimeout" id="%`Vm_V8lA1B7@sy=5JmR"><field name="NAME">timeout</field></block></statement> 
                              <value name="IF2"><block type="logic_operation" id="*A%PX0#.v/_wK}#:w*bW" inline="false"><field name="OP">AND</field>
                                  <value name="A"><block type="logic_compare" id="_/6@/O}u7j,__%#_?k(0"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="0x4Wp?QlR^mSKqN%OTI("><field name="ATTR">val</field>
                                          <field name="OID">javascript.2.BWM</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="{NrFe@@PVeBUT@bLb)Jf"><field name="BOOL">FALSE</field></block></value></block></value> 
                                  <value name="B"><block type="logic_compare" id="bz(zT+z-VKVy{Y,hXc;M"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="_,sN(+*m1L{[DU;GknTH"><field name="ATTR">val</field>
                                          <field name="OID">javascript.2.LAMPE</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="j,5pa`k4D:dSp)4~aWIu"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                              <statement name="DO2"><block type="timeouts_settimeout" id="J)PH}h)awJQsRU=3j(x*"><field name="NAME">timeout</field>
                                  <field name="DELAY">10</field>
                                  <field name="UNIT">min</field>
                                  <statement name="STATEMENT"><block type="control" id="!UE9O,@qJU^9Dz`~M,))"><mutation delay_input="false"></mutation>
                                      <field name="OID">javascript.2.LAMPE</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE"><block type="logic_boolean" id="dkeuXbFXEikmQ(#*W.,{"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></statement></block></xml> 
                      
                      

                      im unterschied zu deiner ansehensweise setze ich bewusste timer ein und stoppe diese anstatt die Blöcke im Steuerblock

                      ~Dutch

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

                        Ja prima !!!

                        Fakt ist aber, dass ich soviel Blockly programmieren kann, wie ich will, die Umsetzung in Javascript ist buggy!

                        Alle beschäftigen sich hier mit Blockly und den tollsten Scripts, niemand sieht den Fehler.

                        1 Reply Last reply Reply Quote 0
                        • AlCalzone
                          AlCalzone Developer last edited by

                          @BigWumpus:

                          Fakt ist aber, dass ich soviel Blockly programmieren kann, wie ich will, die Umsetzung in Javascript ist buggy!

                          Alle beschäftigen sich hier mit Blockly und den tollsten Scripts, niemand sieht den Fehler. `
                          Wo du Recht hast…

                          Hab mal ein Issue erstellt: https://github.com/ioBroker/ioBroker.ja ... issues/105

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

                            @BigWumpus:

                            Ja prima !!!

                            Fakt ist aber, dass ich soviel Blockly programmieren kann, wie ich will, die Umsetzung in Javascript ist buggy!

                            Alle beschäftigen sich hier mit Blockly und den tollsten Scripts, niemand sieht den Fehler. `
                            Bin zwar schon raus…..Aber....welchen Fehler?

                            Bis jetzt sehe ich nur einen Fehler :roll:

                            Sorry, ist sonst nicht meine Art.

                            1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators last edited by

                              @BigWumpus:

                              Ja prima !!!

                              Fakt ist aber, dass ich soviel Blockly programmieren kann, wie ich will, die Umsetzung in Javascript ist buggy!

                              Alle beschäftigen sich hier mit Blockly und den tollsten Scripts, niemand sieht den Fehler. `

                              Bin dann wohl zu doof den Fehler zu sehen oder umgehen ihn halt auf meine Weise.

                              Bin dann auch raus

                              –-----------------------

                              Send from mobile device

                              Das schöne ios hat Auto Korrektur zum k****

                              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                                @AlCalzone:

                                Hab mal ein Issue erstellt: https://github.com/ioBroker/ioBroker.ja … issues/105 `
                                Das wird ja her immer interessanter :?

                                Ab welchem Status/Level kann man sich hier zeitlich "vormogeln".

                                Ich verliere hier immer mehr die Lust 😢

                                Grüße

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

                                  Dein Datenpunkt für die Lampe liegt unter admin.0, dort (und auch unter allen anderen, außer javascript.0 und selbst angelegten Objekten) sollten keine eigenen Objekte angelegt werden, das hat auch schon zu Fehlern in der Ausführung von Scripten geführt!

                                  Enrico

                                  1 Reply Last reply Reply Quote 0
                                  • AlCalzone
                                    AlCalzone Developer last edited by

                                    @rantanplan:

                                    Ab welchem Status/Level kann man sich hier zeitlich "vormogeln".

                                    Ich verliere hier immer mehr die Lust 😢 `
                                    Hö, was meinst du?

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

                                      @BigWumpus:

                                      Ich verwendete im Blockly "aktualisiere <id>mit <unwahr>, verzögert 10 Min und lösche falls läuft.

                                      Blockly erzeugt dann einen Code:

                                      ….

                                      Für mich ist das ein Fehler...</unwahr></id> ` Korrekt erkannt! 🙂

                                      Ich habe den Fehler im Blockly behoben.

                                      Neueste Version vom Javascript Adapter über Github installieren - danach die Javascript Instanz neu starten. 😉

                                      @rantanplan:

                                      @AlCalzone:

                                      Hab mal ein Issue erstellt: https://github.com/ioBroker/ioBroker.ja … issues/105 `
                                      Das wird ja her immer interessanter :?

                                      Ab welchem Status/Level kann man sich hier zeitlich "vormogeln".

                                      Ich verliere hier immer mehr die Lust 😢 `
                                      Was genau meinst du damit?

                                      Du kannst dich gerne auf Github registrieren und selber die Issues öffnen.

                                      Da sehen wir Entwickler die Fehler schneller als hier im Forum - weil wir da eine eMail erhalten:

                                      "Ein neuer Fehler wurde gemeldet..".. 😉

                                      Gruß

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

                                        @AlCalzone:

                                        Hab mal ein Issue erstellt: https://github.com/ioBroker/ioBroker.ja … issues/105 `

                                        DANKE!

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          Fabian last edited by

                                          Mit iobroker-javascript 3.6.4 ist der Fehler wieder da. Eventuell auch schon in einer früheren Version.

                                          https://github.com/ioBroker/ioBroker.ja … issues/277

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          491
                                          Online

                                          31.7k
                                          Users

                                          79.7k
                                          Topics

                                          1.3m
                                          Posts

                                          8
                                          23
                                          1915
                                          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