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
      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
                                        • 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

                                            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