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.
    • Asgothian
      Asgothian Developer @biker1602 last edited by

      @biker1602 Du musst schon meinen gesamten Post lesen, insbesondere den Nachtrag.

      Wenn du das Intervall nie anhältst dann wird der Farbwechsel dauerhaft angesteuert.

      Beschreibe doch mal das Zeitverhalten des Datenpunktes "switch", und wie du den Farbwechsel ausschalten willst.

      A.

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

        @asgothian
        Eigentlich ist die Idee so, dass wenn Licht angeschaltet wird, die Lampe mit blau anfängt und im Interwall z.B. 30 Sekunden die Farbe wechselt und wenn er bei der letzten Farbe angekommen ist wieder von vorne anfängt. Wenn ich das Licht abschalte, soll egal bei welcher Farbe er ausgegangen ist beim Einschalten wieder mit Blau beginnen. So ist der Plan

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

          @biker1602 Das dieses der Plan ist war schon aus dem vorherigen Post erkennbar. Was nicht erkennbar ist ist wie du das aktuell triggerst, sprich wie sich der Datenpunkt "Switch" verhält und was sich dahinter verbirgt.

          A.

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

            @asgothian
            Das ist nur eine Lampe die ich mit Alexa ein bzw. ausschalten will, wo dann per Blockly der Farbwechsel vorgenommen wird. Meinst du das?

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

              @biker1602 Nein.

              Ich will wissen wie sich der Datenpunkt "Switch" verhält, welche Werte er annehmen kann und wodurch Werteänderungen dieses Datenpunktes angestossen werden.

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

                @asgothian
                Das ist eine Lampe von Shelly. Die ist in der Alexa App und unter Shelly im ioBroker eingebunden.
                cb2a2d70-9c08-478b-872f-1a7815576c7d-grafik.png

                Homoran Asgothian 2 Replies Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @biker1602 last edited by

                  @biker1602 sagte in Farbwechsel wiederholen:

                  Das ist eine Lampe von Shelly.

                  @asgothian sagte in Farbwechsel wiederholen:

                  welche Werte er annehmen kann

                  false wissen wir jetzt schon mal. Was noch?

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

                    @homoran
                    Ich bin ehrlich ich weiß nicht, was ihr da wissen wollt, wo ein False ist in der Regel auch ein True und wenn ich Alexa Sage schalte auf Rot dann macht sie das halt.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            793
                                            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