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.
    • 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
                                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            814
                                            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