Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Farbwechsel wiederholen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Farbwechsel wiederholen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @biker1602 last edited by

      @biker1602 sagte in Farbwechsel wiederholen:

      wo ein False ist in der Regel auch ein True

      möglich, aber bis zu deinem Screenshot wussten wir auch das false nicht.

      geh auf den Bleistift und poste die Objektdaten
      das false kann nämlich ein boolscher Wert oder ein String sein

      1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @biker1602 last edited by

        @biker1602 In diesem fall sollte es reichen an der mit dem Roten Pfeil angezeigten Stelle ein "Anhalten Intervall" einzufügen.

        1658989719111-fc1e1d92-5e0d-4308-aeff-5aa79cb11a64-grafik.png

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

          Ich hab das mal nachgestellt und ein sehr seltsames Verhalten mit folgendem Skript festgestellt:

          Screenshot 2022-07-28 114053.png

          Dass bei Triggern natürlich der Intervall erstmal gestoppt wird ist klar.
          Wenn der Wert auf TRUE geändert wird dann startet der Intervall...
          ABER: die Blöcke innerhalb des Intervall starten erst nach 40 Sekunden. Ich kann mich gut daran erinnern das vor einer Weile (ich nutze Intervall eigentlich wenig bis garnicht) beim Triggern der Intervall sofort begonnen und die integrierten Blöcke abgearbeitet hat.

          Ebenso hab ich dann festgestellt dass wenn ich meinen Trigger wieder auf FALSE setze zwar der Intervall gestoppt wird aber die integrierten Blöcke bis zum letzten durchlaufen.

          Ob es wohl möglich ist dass die Intervallfunktion unter einem kürzlichen Update des Adapters "gelitten" hat ?

          Und kann das Verhalten jemand bestätigen ?

          Asgothian paul53 2 Replies Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @DJMarc75 last edited by Asgothian

            @djmarc75 sagte in Farbwechsel wiederholen:

            ABER: die Blöcke innerhalb des Intervall starten erst nach 40 Sekunden. Ich kann mich gut daran erinnern das vor einer Weile (ich nutze Intervall eigentlich wenig bis garnicht) beim Triggern der Intervall sofort begonnen und die integrierten Blöcke abgearbeitet hat.

            Das war immer so. Wenn du einen Block in ein Intervall kapselst wird dieser das erste mal nach Ablauf der Intervallzeit aufgerufen. wenn man das anpassen will muss man die Funktion einmal im Vorfeld ausführen.

            Ebenso hab ich dann festgestellt dass wenn ich meinen Trigger wieder auf FALSE setze zwar der Intervall gestoppt wird aber die integrierten Blöcke bis zum letzten durchlaufen.

            Auch das ist verständlich. Die Bausteine "steuere x mit Verzögerung Y" sind letztendlich gleichzusetzen mit "ausführen Timeout in Y: Steuere X"

            Ob es wohl möglich ist dass die Intervallfunktion unter einem kürzlichen Update des Adapters "gelitten" hat ?

            Nein, das war immer so und ist so letztendlich auch korrekt.

            Und kann das Verhalten jemand bestätigen ?

            Die Lösung für dieses Problem liegt in einer anderen Abarbeitung:

            Screenshot 2022-07-28 at 12.56.39.png

            In diesem Fall bleibt die erste Lichtfarbe 40 Sekunden an, danach geht es mit der jeweils nächsten Farbe weiter.

            A.

            DJMarc75 B 2 Replies Last reply Reply Quote 1
            • DJMarc75
              DJMarc75 @Asgothian last edited by

              @asgothian

              OK, dachte das war mal anders - geklärt.

              Deine Blocklylösung ist ja mal super. Durch die Liste schön erweiterbar.
              Bau das mal nach und speichere mir das in meine Vorlagen 😀

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

                @djmarc75 sagte: die Intervallfunktion unter einem kürzlichen Update des Adapters "gelitten" hat ?

                Nein, das Verhalten war schon immer so: Start mit Verzögerung und Stopp führt zu sofortigem Abbruch.
                Soll sofort gestartet werden, kann man dies mittels einer rekursiven Funktion und Timeout lösen.

                DJMarc75 1 Reply Last reply Reply Quote 1
                • DJMarc75
                  DJMarc75 @paul53 last edited by

                  @paul53 Dann hab ich mich getäuscht was die Intervalle angeht. Nutze diese eigentlich selten, nur um z.B. zu zählen, also rein mit Zahlen und da ist mir das nicht aufgefallen, bzw ist richtig da ja der Wert meiner Variable oder meines DPs nach jedem Intervall erhöht oder verringert wird.

                  1 Reply Last reply Reply Quote 0
                  • B
                    biker1602 @Asgothian last edited by

                    @asgothian
                    Finde ich super, wenn das ganze nur auf Deutsch wäre 😢

                    DJMarc75 Homoran 2 Replies Last reply Reply Quote 0
                    • DJMarc75
                      DJMarc75 @biker1602 last edited by DJMarc75

                      @biker1602


                      Blockly war fehlerhaft

                      Die beiden DPs anpassen natürlich.

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

                        @biker1602 sagte in Farbwechsel wiederholen:

                        @asgothian
                        Finde ich super, wenn das ganze nur auf Deutsch wäre 😢

                        ist es bei dir!
                        oder für den nachbau die Systemsprache v8n iobroker kurz auf englisch stellen

                        1 Reply Last reply Reply Quote 0
                        • B
                          biker1602 @DJMarc75 last edited by

                          @djmarc75 said in Farbwechsel wiederholen:

                          Die beiden DPs anpassen natürlich.

                          Danke ich habe das Blockly kopiert die beiden Datenpunkte ersetzt aber es tut sich nichts.
                          Der obere Datenpunkt ist doch der Schalter und der untere der RGBW Datenpunkt oder?

                          DJMarc75 1 Reply Last reply Reply Quote 0
                          • DJMarc75
                            DJMarc75 @biker1602 last edited by

                            @biker1602 Sorry... Fehler im Blockly behoben:


                            <xml xmlns="https://developers.google.com/blockly/xml">
                            <variables>
                            <variable id="aAiF8fS2+x)HhPBLBjaj">Farben</variable>
                            <variable id="5NQ8W,tcSnJEl/CKI5o7">Farbindex</variable>
                            <variable type="interval" id="Intervall">Intervall</variable>
                            </variables>
                            <block type="variables_set" id="2zQL5c#P=ke_N?OWRj" x="62" y="-462"> <field name="VAR" id="aAiF8fS2+x)HhPBLBjaj">Farben</field> <value name="VALUE"> <block type="lists_create_with" id="n-cVxX[LgF?-YO@EhsZJ"> <mutation items="4"></mutation> <value name="ADD0"> <block type="colour_picker" id="%QNs|L*o-B=b{Coqp|Jz"> <field name="COLOUR">#ff0000</field> </block> </value> <value name="ADD1"> <block type="colour_picker" id="6@ppe]+D#AFA1Q-t?,f)"> <field name="COLOUR">#ffff00</field> </block> </value> <value name="ADD2"> <block type="colour_picker" id="~WhJ.y,ss|V2Z4q|G/3J"> <field name="COLOUR">#33ff33</field> </block> </value> <value name="ADD3"> <block type="colour_picker" id="ZvujsP{!s[!VHUzAn51w"> <field name="COLOUR">#3366ff</field> </block> </value> </block> </value> <next> <block type="variables_set" id="#CB_wiS?8wDrPlykq:Ss"> <field name="VAR" id="5NQ8W,tcSnJEl/CKI5o7">Farbindex</field> <value name="VALUE"> <block type="math_number" id="zyA5y0{3$X0{$y-IP@0">
                            <field name="NUM">0</field>
                            </block>
                            </value>
                            <next>
                            <block type="on_ext" id="~xL$Rzo5IF!ECECG(:/;">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                            <field name="CONDITION">ne</field>
                            <field name="ACK_CONDITION"></field>
                            <value name="OID0">
                            <shadow type="field_oid" id="Xi;I;X|}S@%x9)_Tinh"> <field name="oid">0_userdata.0.TestDP.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_clearinterval" id="xS(3n9!jayl|nd$HoJke"> <field name="NAME">Intervall</field> <next> <block type="controls_if" id="N6(QYY;m4/TxpaIG=@(7"> <value name="IF0"> <block type="on_source" id="-DquW4nv%t[;FDfB%IN8"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id=")KF#5uAgKMtEh7n)fq?y"> <field name="NAME">Intervall</field> <field name="INTERVAL">5</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="math_change" id="iGUM4pJ[qxCJvb1%sBvc"> <field name="VAR" id="5NQ8W,tcSnJEl/CKI5o7">Farbindex</field> <value name="DELTA"> <shadow type="math_number" id="k9+TP3/J_DcTNfy@uR)h"> <field name="NUM">1</field> </shadow> <block type="math_number" id="ANG:((.+QmsnVIqHt:Sf"> <field name="NUM">1</field> </block> </value> <next> <block type="controls_if" id="M~9|(:AXZ|_eV)lhEe#">
                            <value name="IF0">
                            <block type="logic_compare" id="{.e:(5h7)_N5[t]E4;a">
                            <field name="OP">GT</field>
                            <value name="A">
                            <block type="variables_get" id="oFGL:FPq};2t#QUDK
                            rn">
                            <field name="VAR" id="5NQ8W,tcSnJEl/CKI5o7">Farbindex</field>
                            </block>
                            </value>
                            <value name="B">
                            <block type="lists_length" id="Hd?+1nPO,Is6#6jgoah"> <value name="VALUE"> <block type="variables_get" id="z)dt*P:K=GBMK,G=pvo?"> <field name="VAR" id="aAiF8fS2+x)HhPBLBjaj">Farben</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="piU,-sa1D@;U+nBX|.@Z"> <field name="VAR" id="5NQ8W,tcSnJEl/CKI5o7">Farbindex</field> <value name="VALUE"> <block type="math_number" id="-KI%%m,H2~ks})gFmc}M"> <field name="NUM">1</field> </block> </value> </block> </statement> <next> <block type="control" id="l;kPxiW|N1Ud_(!6|-zi"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="lists_getIndex" id="#2)tzGsOW8I4P4@b$Oe3"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="7~|heidI!`Q@4lv]G_j">
                            <field name="VAR" id="aAiF8fS2+x)HhPBLBjaj">Farben</field>
                            </block>
                            </value>
                            <value name="AT">
                            <block type="variables_get" id="aITQ9U+3Mtu)+?{x[f
                            }">
                            <field name="VAR" id="5NQ8W,tcSnJEl/CKI5o7">Farbindex</field>
                            </block>
                            </value>
                            </block>
                            </value>
                            </block>
                            </next>
                            </block>
                            </next>
                            </block>
                            </statement>
                            </block>
                            </statement>
                            </block>
                            </next>
                            </block>
                            </statement>
                            </block>
                            </next>
                            </block>
                            </next>
                            </block>
                            </xml>

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              biker1602 @DJMarc75 last edited by

                              @djmarc75
                              Das Blockly funktioniert, aber er fängt, wenn man einschaltet, mit der Farbe an, die er beim Ausschalten hatte, nicht mit der ersten Farbe in der Liste.

                              DJMarc75 1 Reply Last reply Reply Quote 0
                              • DJMarc75
                                DJMarc75 @biker1602 last edited by

                                @biker1602
                                Jo, genau so ist das Blockly aufgebaut.
                                Um mit der ersten Farbe zu beginnen muss VOR dem Intervall der DP mit der ersten Farbe angesteuert werden.
                                Da darfst Du jetzt selbst bissle aktiv werden. Willst ja schliesslich was lernen 😀

                                B 1 Reply Last reply Reply Quote 0
                                • B
                                  biker1602 @DJMarc75 last edited by biker1602

                                  @djmarc75 said in Farbwechsel wiederholen:

                                  Da darfst Du jetzt selbst bissle aktiv werden. Willst ja schliesslich was lernen

                                  Ich gebe mir Mühe 👍

                                  Habe ich hinbekommen. 😁
                                  Danke für eure Mühe.👍

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  669
                                  Online

                                  32.0k
                                  Users

                                  80.5k
                                  Topics

                                  1.3m
                                  Posts

                                  5
                                  26
                                  582
                                  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