Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zeitschaltuhr mit Blockly

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Zeitschaltuhr mit Blockly

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

      Hallo Zusammen,

      habe nun bereits mehrere Videos zu dem Thema auf Youtube angesehen und auch sonst schon einige Forenbeiträge gelesen. Komme aber irgendwie mit meiner Zeitschaltuhr nicht weiter.
      Kurze Beschreibung, was angedacht ist:
      Zeitschaltuhr zunächst für die Schaltung von Rollläden nach vollgenden Vorgaben/Auswahlmöglichkeiten:

      • Auswahl an welchem Wochentag gesteuert werden soll
      • Uhrzeit auf (Stunden und Minuten Vorgabe)
      • Uhrzeit zu (Stunden und Minuten Vorgabe)

      So sieht dazu mein aktuelles Auswahlfenster aus:
      Auswahlfenster.JPG

      Mein aktuelles BlocklyScript dazu sieht derzeit wie folgt aus (erstmal versucht, nur für einen Tag die die Rollos hochzufahren):Rollo_Blockly.JPG

      <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="jj{|;yr:=cC?3ox#smUE" x="-362" y="-662">
        <field name="SCHEDULE">1 0 * * *</field>
        <statement name="STATEMENT">
          <block type="comment" id="GIu-aHJih;sx[G!D@f6k">
            <field name="COMMENT">Dienstag</field>
            <next>
              <block type="controls_if" id="I=DPj@r}*RfaI-`/W(gA">
                <value name="IF0">
                  <block type="logic_compare" id="+j^L+WhQm{%yxgf-7`w1">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="get_value" id="DJ/f9kBZ@!QL^i49fP#C">
                        <field name="ATTR">val</field>
                        <field name="OID">0_userdata.0.Rollos.Timerzustand.Montag.Aktiv_Zustand</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_boolean" id="iGr`~uG#8TulU]=lV%K7">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="schedule_create" id="uc{csS=bjNfqd}Jzn$mJ">
                    <field name="NAME">Rollos öffnen</field>
                    <value name="SCHEDULE">
                      <shadow type="field_cron" id="b0G4YSg;(/nk8~y?fP0,">
                        <field name="CRON">* * * * *</field>
                      </shadow>
                      <block type="cron_builder" id=".L!igh.LC]y2DVCOY%qq">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="false" as_line="false"></mutation>
                        <field name="LINE">FALSE</field>
                        <field name="WITH_SECONDS">FALSE</field>
                        <value name="DOW">
                          <shadow type="text" id="b4+kjj:~m|OsZcO!x]hw">
                            <field name="TEXT">*</field>
                          </shadow>
                        </value>
                        <value name="MONTHS">
                          <shadow type="text" id="za$.XuU}R|S30)M60RA_">
                            <field name="TEXT">*</field>
                          </shadow>
                        </value>
                        <value name="DAYS">
                          <shadow type="text" id="%*90Z[j7phY-QkZPt;gI">
                            <field name="TEXT">*</field>
                          </shadow>
                        </value>
                        <value name="HOURS">
                          <shadow type="text" id="_7z+zZsB+iQDo)I1+L-V">
                            <field name="TEXT">*</field>
                          </shadow>
                          <block type="text_join" id="BAcnw5FG@Mf@};#xEH6}">
                            <mutation items="1"></mutation>
                            <value name="ADD0">
                              <block type="get_value" id="1=ch2gjj~OEL2#*fD6Mp">
                                <field name="ATTR">val</field>
                                <field name="OID">0_userdata.0.Rollos.Timerzustand.Dienstag.H_An</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <value name="MINUTES">
                          <shadow type="text" id="dY^N-iQ3qzyUqFHe-{2T">
                            <field name="TEXT">*</field>
                          </shadow>
                          <block type="text_join" id="m_2#jZd[GM|rY^+wc#ox">
                            <mutation items="1"></mutation>
                            <value name="ADD0">
                              <block type="get_value" id="KM{_W](3(8^vZ|^+ch/`">
                                <field name="ATTR">val</field>
                                <field name="OID">0_userdata.0.Rollos.Timerzustand.Dienstag.M_An</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="STATEMENT">
                      <block type="procedures_callnoreturn" id="2j$t~(``S)r+`8XA9jw*">
                        <mutation name="öffnen der Rollos"></mutation>
                      </block>
                    </statement>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </statement>
      </block>
      

      Gehalten habe ich mich im wesentlich an die Anleitung hier: https://www.youtube.com/watch?v=U1eESEsCdvY und versucht, diese an meinen Bedarf anzupassen.
      Leider ohne Erfolg. Egal was ich bisher versuchte, immer ohne Erfolg. Bin Leider noch nicht so Sattelfest mit Blockly und hoffe, jemand könnte mir hier helfen zur Lösung zu kommen (wenigstens für einen ganzen Tag.

      BananaJoe Asgothian paul53 3 Replies Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @Vit Hei last edited by

        @vit-hei Es gäbe den Adapter "Zeitschaltuhr" https://github.com/walli545/ioBroker.time-switch
        Der kann genau das alles was du willst und noch mehr. Im Adapter muss man die Zeitpläne anlegen, in VIS das Widget hinzufügen und mit dem Datenpunkt unter Objekte des Adapters verknüpfen. Dann kann man die Zeitpläne in der VIS konfigurieren.
        Sieht natürlich etwas anders aus als deine Darstellung.

        Selber machen ist natürlich auch toll

        Vit Hei 1 Reply Last reply Reply Quote 0
        • Vit Hei
          Vit Hei @BananaJoe last edited by

          @bananajoe
          das ist natürlich der einfachste Weg. Den Adapter hatte ich auch schon gefunden. Allerdings möchte ich das ganze auch verstehen. Das wird nicht klappen wenn ich nur den Adapter bediene.

          J 1 Reply Last reply Reply Quote 0
          • J
            Jan1 @Vit Hei last edited by

            @vit-hei
            Hast mal überlegt, das ganze smart erledigen zu lassen?
            Wenn ich jeden Tag drüber nachdenken müsste wann und wo ich ein Rollladen bediene soll, brauch ich dazu keine Steuerung 😉

            Vit Hei 1 Reply Last reply Reply Quote 0
            • Vit Hei
              Vit Hei @Jan1 last edited by

              @jan1 said in Zeitschaltuhr mit Blockly:

              @vit-hei
              Hast mal überlegt, das ganze smart erledigen zu lassen?
              Wenn ich jeden Tag drüber nachdenken müsste wann und wo ich ein Rollladen bediene soll, brauch ich dazu keine Steuerung 😉

              Nun ja, das ganze ist ja schon (für mich zumindest) smart angedacht und soll auch nicht jeden Tag neu bedient werden.
              Ich stelle für jeden Wochentag die Uhrzeit ein, wann auf- bzw- zu gefahren werden soll. Habe ich mal einen freien Tag, kann ich mir die Zeiten anpassen und werde nicht bei Sonnenaufgang geweckt und wenn ich mal länger draußen bin als der Sonnenuntergang einsetzt, sollen die Rollladen nicht einfach zufahren. Ich halte also nicht viel von den Astro Zeitschaltuhren und möchte lieber flexibel schalten können.
              Es soll außerdem nicht für jeden Rollo einzeln so ein Skript erstellt werden, sondern das Skript soll einen Datenpunkt mit Wahr oder Falsch ansteuern, und dieser Datenpunkt aktiviert ein anderes Skript, welches die Rollladen auf 0% runterfährt oder eben auf 100% hochfährt.
              Später möchte ich gerne meinen Mähroboter und meine Bewässerungssteuerung genauso flexibel ansteuern können. Daher wäre ich dankbar für hilfreiche Kommentare, die mir helfen meinen Fehler zu verstehen, warum das Blockly so nicht funktioniert 😊😉

              Homoran J 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Vit Hei last edited by

                @vit-hei sagte in Zeitschaltuhr mit Blockly:

                warum das Blockly so nicht funktioniert

                Ich kenne diesen Baustein nicht - aber ist das nicht ein Trigger im mache?
                Da gehört der auf keinen Fall hin

                1 Reply Last reply Reply Quote 0
                • J
                  Jan1 @Vit Hei last edited by Jan1

                  @vit-hei
                  Smart ist, wenn der Rollladen das selber erkennt was er tun soll und davon bist Du mit Deinem Vorhaben weit weg.
                  Ich steure das ganze ebenfalls mit Blocklys und den Astrozeiten. Das ganze wiederum in Abhängigkeit meines Kalender wegen freien Tagen und Schicht und zuletzt noch mit ner Anwesenheitserkennung.
                  Die Südseite wird dann noch zusätzlich über den Sonnenstand und vorherrschender Temperatur in der Bude gesteuert. Will ich dann tatsächlich mal manuell was erledigen (ihatte ich bis jetzt nicht so oft), sage ich das fer Tante Alexa. Das ist smart und leicht daran zuerkennen, dass ich gar kein Knopf oder sonstiges betätigen muss 🙂

                  OK, hilft Dir zwar bei der eigentlichen Frage nicht weiter, ändert aber vielleicht Dein Denkansatz zur Steuerung 😉

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

                    @jan1 sagte in Zeitschaltuhr mit Blockly:

                    Smart ist, wenn der Rollladen das selber erkennt was er tun soll

                    also KI
                    der Rollladen muss erkennen, dass ein Kind krank ist oder ein Nachteinstz gefahren wird?

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      Jan1 @Homoran last edited by

                      @homoran
                      Tante Alexa steuert das auch manuell. Smart ist immer ne Verbindung zur KI, sonst wäre es nicht smart 😉

                      Warum ein Rollladen aber erkenn sollte, ob ein Kind krank ist erschießt sich mir nicht wirklich.

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

                        @jan1 sagte in Zeitschaltuhr mit Blockly:

                        Smart ist immer ne Verbindung zur KI, sonst wäre es nicht smart

                        Diese Fehleinschätzung diskutiere ich nicht schon wieder.

                        @jan1 sagte in Zeitschaltuhr mit Blockly:

                        Warum ein Rollladen aber erkenn sollte, ob ein Kind krank ist erschießt sich mir nicht wirklich.

                        sonst wäre er nach deiner Definition nicht smart und würde zur Aufstehenszeit für den Schulbeginn hochfahren

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          Jan1 @Homoran last edited by Jan1

                          @homoran
                          Da haben wir den Fehler Deiner Denkweise, wobei Fehler schon etwas hart ausgedrückt ist.

                          Smart ist die Vorstufe zur KI, da das Ding nicht wirklich denkt und stur das tut was man Ihr über Parameter vorgibt. Das soll auch keine Diskussion werden.

                          Beispiel wie ich das im Schlafzimmer geregelt habe, dann wirds wahrscheinlich einfacher meinem Gedanken dazu zu folgen.
                          Normal gehen die Rollläden in allen beheizen Räumen runter wenn die Sonne weg ist, weil eh kein Licht von draußen und bessere Isolation. Wenn ich nun mal früher zu Bett gehe und Frauchen noch weiter TV schauen möchte, sage ich im Schlafzimmer einfach "Alexa, dunkel", was bewirkt, dass die Rollläden unten bleiben und der BWM das Licht nicht mehr einschaltet. Wenn Frauchen auch früher zu Bett möchte, heißt das dann "Alexa, Feierabend" und es wird alles ausgeschaltet, außer was noch zum zu Bett gehen benötigt wird.
                          Mein Wecker ist das übrigens mit intrigiert und der weiß wann ich Urlaub habe und sonstige freie Tage. Mein Wecker wird mit "Alexa, aufstehen" beendet und somit die Bude auch auf "wach" umgeschaltet und es läuft das normale Tagesprogramm. Krank habe ich noch nicht getestet, weil ich mich nicht erinnern kann, wann der letzte bei uns mal krank war. Sollte aber über manuelles steuern, oder den Eintag "krank" im Kalender genau so machbar sein.

                          Edit:
                          die Rollläden öffnen voll vergessen. Die gehen natürlich nicht von alleine hoch, sondern ebenfalls mit bei dem Kommando "Alexa, aufstehen" und somit wirds erst wieder hell, wenn wirklich einer aufsteht. So habe ich das mit smart Home verstanden und dank des IOBroker bei mir sehr einfach umgesetzt.
                          Klar bastelst so was nicht auf ein Wurf zusammen, sondern das wächst und Frauchen hat ab und an mal ein Wunsch was anders oder zusätzlich rein oder raus soll.

                          1 Reply Last reply Reply Quote 1
                          • Asgothian
                            Asgothian Developer @Vit Hei last edited by

                            @vit-hei

                            Ich würde das ganze prinzipiell anders aufbauen:

                            • Je einen "benannten" Zeitplan für jeden Tag der Woche
                            • Je einen Trigger auf die Datenpunkte die zu den Zeitplänen für diesen Wochentag gehen
                            • Im Trigger den entsprechenden "benannten" Zeitplan löschen und einen neuen anlegen.
                            • Bei Skriptstart alle Zeitpläne anlegen

                            Wichtig dafür sind die beiden weiter unten stehenden Bausteine.

                            Screenshot 2022-01-11 at 11.26.43.png

                            Es ist durchaus möglich einen Zeitplan zu erzeugen der jeden Montag um 14:20 etwas macht. Ich empfehle dazu das durchschauen des Cron Wizards um zu Verstehen wie die Syntax ist.

                            A.

                            Vit Hei 1 Reply Last reply Reply Quote 0
                            • Vit Hei
                              Vit Hei @Asgothian last edited by

                              @asgothian said in Zeitschaltuhr mit Blockly:

                              @vit-hei

                              Ich würde das ganze prinzipiell anders aufbauen:

                              • Je einen "benannten" Zeitplan für jeden Tag der Woche
                              • Je einen Trigger auf die Datenpunkte die zu den Zeitplänen für diesen Wochentag gehen
                              • Im Trigger den entsprechenden "benannten" Zeitplan löschen und einen neuen anlegen.
                              • Bei Skriptstart alle Zeitpläne anlegen

                              Dankeschön.
                              Habe ich nun hinbekommen:

                              <xml xmlns="https://developers.google.com/blockly/xml">
                                <variables>
                                  <variable type="cron" id="Rollos auf/zu">Rollos auf/zu</variable>
                                </variables>
                                <block type="procedures_defnoreturn" id="KjD@@8v2b3[l!Iz4,QCH" x="-838" y="-562">
                                  <field name="NAME">Rollos_Auf</field>
                                  <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                  <statement name="STACK">
                                    <block type="comment" id="|FhckLJj_i~O-Q-8we4c">
                                      <field name="COMMENT">Skript funktioniert für Mittwoch---VH</field>
                                      <next>
                                        <block type="controls_if" id="N@[Q7y~uhX%vi=W_Subm">
                                          <value name="IF0">
                                            <block type="logic_compare" id="{lp2NwS{(F9hF0_)(Y1~">
                                              <field name="OP">EQ</field>
                                              <value name="A">
                                                <block type="get_value" id=")y|Xx]1=:Mo(qJ/P]bgB">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">0_userdata.0.Rollos.Timerzustand.Mittwoch.Mittwoch_ein/aus</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_boolean" id=".My;62PsS:.S(l4NDudp">
                                                  <field name="BOOL">TRUE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="schedule_create" id="f2ex;D{,jkR5P[F/e{(u">
                                              <field name="NAME">Rollos auf/zu</field>
                                              <value name="SCHEDULE">
                                                <shadow type="field_cron" id="}Z$O${@0RX,AU4!kK)Q/">
                                                  <field name="CRON">* * * * *</field>
                                                </shadow>
                                                <block type="cron_builder" id="HZ-xpXQoB/fIeB8NLT)8">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="false" as_line="false"></mutation>
                                                  <field name="LINE">FALSE</field>
                                                  <field name="WITH_SECONDS">FALSE</field>
                                                  <value name="DOW">
                                                    <shadow type="text" id="U@Ml#/x`x2uvVW@h;+19">
                                                      <field name="TEXT">3</field>
                                                    </shadow>
                                                  </value>
                                                  <value name="MONTHS">
                                                    <shadow type="text" id=".OORsyiYSe0p$kV:4*^S">
                                                      <field name="TEXT">*</field>
                                                    </shadow>
                                                  </value>
                                                  <value name="DAYS">
                                                    <shadow type="text" id="$TKDnjAdVXCWFeG3=~o5">
                                                      <field name="TEXT">*</field>
                                                    </shadow>
                                                  </value>
                                                  <value name="HOURS">
                                                    <shadow type="text" id="HW5[hw2v$O=bR2:,ArE+">
                                                      <field name="TEXT">*</field>
                                                    </shadow>
                                                  </value>
                                                  <value name="MINUTES">
                                                    <shadow type="text" id="7$5pc@`1z$YXuUN;vM`.">
                                                      <field name="TEXT">*</field>
                                                    </shadow>
                                                  </value>
                                                </block>
                                              </value>
                                              <statement name="STATEMENT">
                                                <block type="controls_if" id="-q=`JfRqQ2@FdS!,(MxQ">
                                                  <value name="IF0">
                                                    <block type="logic_compare" id="Ul]/CpM8TE}/_lFG:nv]">
                                                      <field name="OP">EQ</field>
                                                      <value name="A">
                                                        <block type="time_get" id="tzZnp_cu`*Vn0aY:2}]Y">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                          <field name="OPTION">hh:mm</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="convert_from_date" id="okj(VDeTV}BjJe+I:/)|">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                          <field name="OPTION">hh:mm</field>
                                                          <value name="VALUE">
                                                            <block type="get_value" id="6/2Bwm6}]dU3mZ+VlP(3">
                                                              <field name="ATTR">val</field>
                                                              <field name="OID">0_userdata.0.Rollos.Timerzustand.Mittwoch.H_An</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <statement name="DO0">
                                                    <block type="control" id="6MkWfqRbg+fx(1o9t[}t">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                      <field name="OID">javascript.0.Rollladensteuerung.VIS.ALL_shutter_OnOff</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="7b_l!`z4nELM[|A%kyXd">
                                                          <field name="BOOL">TRUE</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </statement>
                                                  <next>
                                                    <block type="controls_if" id="ax2q^4c,/j9,QYx-FNV~">
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="P2x2*-a29/Jfn,GxQ}O/">
                                                          <field name="OP">EQ</field>
                                                          <value name="A">
                                                            <block type="time_get" id="#|N,9~`*6Q-,W]2i7A6x">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                              <field name="OPTION">hh:mm</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="convert_from_date" id="xZ{XB7dkHQ3M)q6a-8qb">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                              <field name="OPTION">hh:mm</field>
                                                              <value name="VALUE">
                                                                <block type="get_value" id="/ED;v.u7y-?(dC8#I,.t">
                                                                  <field name="ATTR">val</field>
                                                                  <field name="OID">0_userdata.0.Rollos.Timerzustand.Mittwoch.H_Aus</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="control" id="vq)26KfG@u]7L9:[hjML">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">javascript.0.Rollladensteuerung.VIS.ALL_shutter_OnOff</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="logic_boolean" id="h/|0,Z)74mA1R*xu1;h!">
                                                              <field name="BOOL">FALSE</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                                <block type="procedures_callnoreturn" id="2#?5/,^RbDXuW]Mh2Acu" x="-187" y="-512">
                                  <mutation name="Rollos_Auf"></mutation>
                                  <next>
                                    <block type="on" id="$1t,..3bo,l8YGlFzHaP">
                                      <field name="OID">0_userdata.0.Rollos.Timerzustand.Dienstag.H_An</field>
                                      <field name="CONDITION">ne</field>
                                      <field name="ACK_CONDITION"></field>
                                      <statement name="STATEMENT">
                                        <block type="schedule_clear" id="P0|ssO|C0@|W2N8+cS/i">
                                          <field name="NAME">Rollos auf/zu</field>
                                          <next>
                                            <block type="procedures_callnoreturn" id="$O2wOf{`^NuX9:aq%VXg">
                                              <mutation name="Rollos_Auf"></mutation>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </xml>
                              

                              Bl_TST.JPG
                              Für meine Zwecke reicht es erstmal.

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

                                @vit-hei

                                Sorry wenn ich das so hart schreibe, aber das was Du da machst ist Verschwendung (von Ressourcen). Letztendlich bist du auf dem Weg zu einem vollständigen Skript auf halber Strecke stehengeblieben.

                                Du legst einen Cron Job (einen sich automatisch widerholenden Job) an der jeden Mittwoch einmal pro Minute nachschaut ob die aktuelle Zeit mit einer eingestellten Zeit überein stimmt. Das ganze machst Du 7 mal, um jeweils andere Zeiten zu prüfen bevor du die gleichen Aktoren schaltest. Zusätzlich holst Du die entsprechenden Werte jedes mal aus der Objektdatenbank - sie könnten sich ja geändert haben.

                                Das macht so wenig bis keinen Sinn. Entweder du arbeitest mit einem Heartbeat (einem Skript welches in regelmässigen Abständen etwas tut). Dann macht es Sinn sich die entsprechenden Vergleichswerte in eine geeignete Struktur zu holen (z.Bsp. in eine Liste, in der pro Wochentag jeweils Ein- und Ausschaltzeit stehen, sofern etwas getan werden soll) und prüfst dann in Abhängigkeit vom Tag die entsprechende Uhrzeit und löst die Aktion aus.

                                Die andere Alternative (die deutlich effektiver arbeitet) habe ich oben beschrieben. Pro Tag 2 Cron Jobs die du zusammen baust.
                                Letztendlich hast du dazu schon alles Material vorhanden:

                                Screenshot 2022-01-12 at 07.54.18.png

                                Der einzige "Trick" der in dem Skript ist: Du hast in deinen Eingaben eine Uhrzeit als "HH:mm" vorgesehen. Um da an die Stunden und Minuten zu kommen mache ich daraus eine Liste, so das ich ["HH","mm"] habe, und damit auf die Stunden als 1. Eintrag in der Liste und die Minuten als 2. Eintrag in der Liste zugreifen kann.

                                Triggern tust du die ganze Aktion dadurch das entweder das ein /aus oder die Zeiten für Mittwoch geändert wurden.

                                A.

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

                                  @vit-hei sagte: So sieht dazu mein aktuelles Auswahlfenster aus:

                                  Du hast demnach 5 Datenpunkte pro Wochentag:

                                  • Stunde Auf
                                  • Minute Auf
                                  • Stunde Zu
                                  • Minute Zu
                                  • Freigabe

                                  Das kann man mit einem Minuten-Trigger auswerten:

                                  Bild_2022-01-12_131013.png

                                  Die Stunden müssen dann mit einer führenden 0 eingegeben werden.

                                  Alternativ mit Zahlenvergleich (keine führende 0 erforderlich):

                                  Blockly_temp_oben.JPG
                                  weitere Wochentage
                                  Bild_2022-01-12_151146.png

                                  @Asgothian
                                  14 Zeitpläne (Trigger), die auch noch jeweils an zwei Stellen gestellt werden, und 14 mal setState() sind keinesfalls Ressourcen schonender.

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

                                    @paul53 sagte in Zeitschaltuhr mit Blockly:

                                    14 Zeitpläne (Trigger), die auch noch jeweils an zwei Stellen gestellt werden, und 14 mal setState() sind keinesfalls Ressourcen schonender.

                                    Das ist diskutabel. Die einzelnen Cron Trigger benötigen sehr wenig Rechenleistung, auch wenn es 14 sind. Auch die Kombination mit den notwendigen Triggern, Verglichen mit dem minütlichen Abfragen der gleichen n Datenpunkte über den gesamten Tag.

                                    A.

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

                                      @asgothian sagte: Trigger benötigen sehr wenig Rechenleistung, auch wenn es 14 sind.

                                      Rechenleistung ist auch beim Minuten-Trigger kein Problem. Das Problem bei Node.js ist der RAM-Verbrauch.

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

                                        @paul53
                                        Oh super. Das sieht interessant aus.
                                        Könntest du den Code noch zum Import bereitstellen für beide Varianten?
                                        Würde mich dann mal heute abends damit auseinandersetzen.
                                        Muss im Trigger "Zeitplan" noch was gesetzt werden?

                                        ...und danke schonmal für deine bisherige Anwort. 👍

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

                                          @vit-hei sagte: Könntest du den Code noch zum Import bereitstellen

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</variable>
                                             <variable id="C+7]yPAV$ZrOLzYCrSmh">wd</variable>
                                             <variable id="DC.f(TL:Z(AlF_04Pr:.">std</variable>
                                             <variable id="63!dhN8yGPtu)Ek38R8h">min</variable>
                                           </variables>
                                           <block type="variables_set" id="FC+@Yhgo8fhrb`BrN[]0" x="-138" y="-37">
                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                             <value name="VALUE">
                                               <block type="get_value" id="[:SiIb$z5riZ#!v,d.Ny">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.Blockly.alleRollos</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="schedule" id="M=eo32[P/%0STw,EUcQu">
                                                 <field name="SCHEDULE">* * * * *</field>
                                                 <statement name="STATEMENT">
                                                   <block type="variables_set" id="P?5Wozs;8UJ#E_~M$15/">
                                                     <field name="VAR" id="C+7]yPAV$ZrOLzYCrSmh">wd</field>
                                                     <value name="VALUE">
                                                       <block type="time_get" id=",l`r9KMZJ+Y+%//;A_x?">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                         <field name="OPTION">wd</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="variables_set" id="3N^vT]W5[mh)hgJj)OvG">
                                                         <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                         <value name="VALUE">
                                                           <block type="time_get" id="%MZZibvt*HiSZ8h*$)Gm">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                             <field name="OPTION">h</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="/8.4|Wh!Cg4`hqp8?]}8">
                                                             <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                             <value name="VALUE">
                                                               <block type="time_get" id="@39s8!C6c$GE1_c90%Ti">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                 <field name="OPTION">m</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="logic_switch_case" id="c+`=o9k~X@zDR1iUR$vo">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" case="5" default="1"></mutation>
                                                                 <value name="CONDITION">
                                                                   <block type="variables_get" id=")cyn!PPuEmTWZTAsuv2L">
                                                                     <field name="VAR" id="C+7]yPAV$ZrOLzYCrSmh">wd</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="CASECONDITION0">
                                                                   <block type="math_number" id="[kwI.?o0^BisHH{VNXQ!">
                                                                     <field name="NUM">1</field>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="CASE0">
                                                                   <block type="controls_if" id="(H+.P%uTYc0IpOCP?y^H">
                                                                     <value name="IF0">
                                                                       <block type="get_value" id="M)p)(Yf[{Emlx)~bBWE(">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="controls_if" id="NBm(;WW)t)*`)j`l__zl">
                                                                         <mutation elseif="1"></mutation>
                                                                         <value name="IF0">
                                                                           <block type="logic_operation" id="$ahLJF[5aX+,cwH|39#w" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="_iubJF0E}NWJH}@:G;ev">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="D9k~;7y77rCZ;5x_uZrt">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="eZ#!zq+K`(yQGw+jgHD,">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="Zq7KSZV313@q4`WxB`!p">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="A$H~|(~%19Kv6Dg[%e#4">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="x([TPk7sGug??HY@Da9#">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO0">
                                                                           <block type="variables_set" id="U3F6}-(qJqSUExhEdg8H">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="?~iZQ~#g)MU|ur-2lEiT">
                                                                                 <field name="BOOL">TRUE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                         <value name="IF1">
                                                                           <block type="logic_operation" id="D.~7X1{QyWlkP8#%uT09" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="wCrTi.`{@o2u*az7MGiN">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="CgZ9]qW=10k*S^9~UZav">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="d^qY!s,@VC8MM|T,gFvb">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="(nl;uzlua{VzwE1u3?,`">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="/g%%?S+.w|3@u+G0%cCr">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="theFYD!s)$VzJRWd@iCC">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO1">
                                                                           <block type="variables_set" id="~V`z1|e92%qo.6.`+9Lc">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="C@fhrZhD%7qSpVTt$8IF">
                                                                                 <field name="BOOL">FALSE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </statement>
                                                                 <value name="CASECONDITION1">
                                                                   <block type="math_number" id="o#/l8]C,Ou@qm~681rK9">
                                                                     <field name="NUM">2</field>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="CASE1">
                                                                   <block type="controls_if" id="y#(d?ZANi9W9/+Z9:YgY">
                                                                     <value name="IF0">
                                                                       <block type="get_value" id="a}Cd?gP..`J3N]=j~}|6">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="controls_if" id="o?-||8)o*g:#=uR0jv^q">
                                                                         <mutation elseif="1"></mutation>
                                                                         <value name="IF0">
                                                                           <block type="logic_operation" id="?8`v,32Bk3`xfsb%*][m" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="G(JGceT#uoh%3qUYNLD(">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="dWuxs~JiB]*KM28:SwS`">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="]t{K[8N`pNN!nbrU73/w">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="HiTLy`YnV4|B1fszd~_l">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="d2q~E-6!C$llRI/cvZHR">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="-a5n@}rUiN5R0@tgtAjC">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO0">
                                                                           <block type="variables_set" id="{+Jo4!s94yLR]t*@0sRb">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="G;(XL+Pbr_b0UzrA!v+A">
                                                                                 <field name="BOOL">TRUE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                         <value name="IF1">
                                                                           <block type="logic_operation" id="j*NJEK2OhCFINkrq*_Y_" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id=")Q6=[y7SOX33um2-kx{!">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="[T#bDs9JnxtLx0x~5389">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="xp(b0O5h{i#F5zDHOwZQ">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="-q/IU6tB1,*#5Oa}^I.j">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="/iM1S~q=JJ`UR-IG.4S0">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="C~nWMJ]s?2NDNNp*.r^0">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO1">
                                                                           <block type="variables_set" id="ZLGf^2}Dmc+h7WKPTbje">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="xv*,79v%)h$_V2[@@TqG">
                                                                                 <field name="BOOL">FALSE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </statement>
                                                                 <value name="CASECONDITION2">
                                                                   <block type="math_number" id="{5cV|r+@MoIo;Cm~BB{[">
                                                                     <field name="NUM">3</field>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="CASE2">
                                                                   <block type="controls_if" id="LBO-pg-Hem^R|:?SCmbV">
                                                                     <value name="IF0">
                                                                       <block type="get_value" id="OeU%;x@)5o*SdFQxm?}K">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="controls_if" id="Qj(BB9l),xWCopYo(uY(">
                                                                         <mutation elseif="1"></mutation>
                                                                         <value name="IF0">
                                                                           <block type="logic_operation" id="2e$G?hrq:j/qY_0c5K=)" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="NXK3h{V(T}S$t_1DxHZS">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="O.53m8jEROTTdb:I;=gV">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id=",s||9ZrAq0nZA]qmtMS7">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="8BpnLYw5/dGcb+Zk6kc^">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="HO@vy|,[Kl.@:O;siftA">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="Oi]9S}Tk7Y)P-/vTXS=(">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO0">
                                                                           <block type="variables_set" id="xT!]v-o.h7o3Fri{s.$z">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="nM~[ew]-L-Dlbd#j{HZ-">
                                                                                 <field name="BOOL">TRUE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                         <value name="IF1">
                                                                           <block type="logic_operation" id="ssnQYT$*A5cl6c(nYJB`" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="iGK|OT|W7(w6$MDSA++V">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="E+Q{w-HfN)W1DS-oa?m@">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="Dp5I1jzK!VnpPs+:.jR#">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="~7WL6,jn.5#zg3go+ioU">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="3vVti}Znk+Bd|qx1asjw">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="`e2J@]Vfv@d~Sv@G@V=~">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO1">
                                                                           <block type="variables_set" id="^-xb^}fIk1+1|_S/x#43">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="Bnu)s[H-8uo?n0PB1fgJ">
                                                                                 <field name="BOOL">FALSE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </statement>
                                                                 <value name="CASECONDITION3">
                                                                   <block type="math_number" id="r1G1S}raD^)+z~Q)9xb=">
                                                                     <field name="NUM">4</field>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="CASE3">
                                                                   <block type="controls_if" id="MYq=M0K:1OYg8mmU=hR)">
                                                                     <value name="IF0">
                                                                       <block type="get_value" id="NJ*^?cX!^B4?UnB6{!u0">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="controls_if" id="njFA5l|cuoJtD7zL%9{0">
                                                                         <mutation elseif="1"></mutation>
                                                                         <value name="IF0">
                                                                           <block type="logic_operation" id="xA8Ga_j${S4,{:/_xpWq" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="`P5sCv[nym_7ooD/cf}T">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="}r(%k9Zdo1;Q?#;*Sr],">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="PkX{Oz}I]Fvcg)#VTT3E">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="bL^EL=rYR]crF`R*HVWw">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="RhHdIe72P-8hW0C}M$?u">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="v+YZb6Ep!ysgF#nwKXob">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO0">
                                                                           <block type="variables_set" id="+wqKd^[?3+v}AmG6M/AR">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="}C:KA:Ow0T^MOtc*ruuI">
                                                                                 <field name="BOOL">TRUE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                         <value name="IF1">
                                                                           <block type="logic_operation" id="5BIJ+_ZztDcQ2H2~4Qw3" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="R]F(cL,p$u]2C7Q`;n^2">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="BV3$aRDM$w3U|VqD?=Sv">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="cR3[j82jYMs0v`Nqsvz3">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="kd0s=DL9ZKh~Hpw}@r$a">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="i3qJH[LOh*0}ARL]V%a-">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="/?@oAWhNK~c}JmaRmio1">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO1">
                                                                           <block type="variables_set" id="l*9[$_!%tsoS8~SW8JTN">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="!)FbHrc~|}]ix7k]Qex4">
                                                                                 <field name="BOOL">FALSE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </statement>
                                                                 <value name="CASECONDITION4">
                                                                   <block type="math_number" id="@b$lBgF~A8O%LmCLj4+-">
                                                                     <field name="NUM">5</field>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="CASE4">
                                                                   <block type="controls_if" id="{aMO]}?S[eylvY-H9_#Y">
                                                                     <value name="IF0">
                                                                       <block type="get_value" id="tK8}*V7b{(jNTFm^g0?r">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="controls_if" id="Q|8Z^@3_p`[hB2ko}uGG">
                                                                         <mutation elseif="1"></mutation>
                                                                         <value name="IF0">
                                                                           <block type="logic_operation" id="KRRw4yym*:JWDdG;,ugZ" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="y^AG(.[17)OngNyqf-Jx">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="ac@$V8/VQDoTDX2,Hp;J">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="zqbKz|VOhs**ul3cgnFV">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="^;ylbR=m}ke!YWhKQNu}">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="Rc!D_KF+ph`l_*z/:x8r">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="$lC5;k7lT:=YAAF@pkOI">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO0">
                                                                           <block type="variables_set" id=";0sIGYuPC2Je=9aF7%}s">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id=",r^Y`*{.+R/DQZtUpny8">
                                                                                 <field name="BOOL">TRUE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                         <value name="IF1">
                                                                           <block type="logic_operation" id="Z_z~R;-C;ynYZm/``gG[" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="$BV_-nkx2lW`frqFz;3#">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="D:}NX[EWVAc$x4/rZt4n">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id=";M)giB4pkZyLG+y{I7hc">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="ap8;4I3u_j?ExifygFjR">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="kb:@]`^.63[5gw_iMrjJ">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="?=w:c4ttURTP^I[xD*Lh">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO1">
                                                                           <block type="variables_set" id="~k!CHN-[GO|(3Ol6t/IP">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="|mU785^fBsg-QiVyDe)!">
                                                                                 <field name="BOOL">FALSE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </statement>
                                                                 <value name="CASECONDITION5">
                                                                   <block type="math_number" id="vwrZeuM$G68f(K_$BjVv">
                                                                     <field name="NUM">6</field>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="CASE5">
                                                                   <block type="comment" id="(c;Hb..Cp`Te4};MmD^m">
                                                                     <field name="COMMENT">Samstag</field>
                                                                     <next>
                                                                       <block type="controls_if" id="M^qOSt2aJ,zsk/,_aP?|">
                                                                         <value name="IF0">
                                                                           <block type="get_value" id=";XW$H8(:+p)8k:@X;~-n">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">ID auswählen</field>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO0">
                                                                           <block type="controls_if" id="i$|8)NM,CJH5v=GbM4Un">
                                                                             <mutation elseif="1"></mutation>
                                                                             <value name="IF0">
                                                                               <block type="logic_operation" id="FEkf4(iFGPl@Jy?aXE2Z" inline="false">
                                                                                 <field name="OP">AND</field>
                                                                                 <value name="A">
                                                                                   <block type="logic_compare" id="|Msk_yil}naPoKvet+Af">
                                                                                     <field name="OP">EQ</field>
                                                                                     <value name="A">
                                                                                       <block type="variables_get" id="^!z,b2PzE6YZBwGE$yHc">
                                                                                         <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="B">
                                                                                       <block type="get_value" id="G[gtx]U*HS(?%+xan!^;">
                                                                                         <field name="ATTR">val</field>
                                                                                         <field name="OID">ID auswählen</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="logic_compare" id="H]hc9TQeysldz*wbZR@W">
                                                                                     <field name="OP">EQ</field>
                                                                                     <value name="A">
                                                                                       <block type="variables_get" id="tPmyApKpaRy-xl?7*cZK">
                                                                                         <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="B">
                                                                                       <block type="get_value" id="exY.Me=.t^j8?@l[d=P8">
                                                                                         <field name="ATTR">val</field>
                                                                                         <field name="OID">ID auswählen</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <statement name="DO0">
                                                                               <block type="variables_set" id="ceD)h^pYKfFz.XWZ(8a8">
                                                                                 <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                                 <value name="VALUE">
                                                                                   <block type="logic_boolean" id="b{Q)B$=}Ru1*cF#bNcp9">
                                                                                     <field name="BOOL">TRUE</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </statement>
                                                                             <value name="IF1">
                                                                               <block type="logic_operation" id=".jsd;od/etz/@wR!0$=+" inline="false">
                                                                                 <field name="OP">AND</field>
                                                                                 <value name="A">
                                                                                   <block type="logic_compare" id="5aQmTGKy3%5kj212%_2x">
                                                                                     <field name="OP">EQ</field>
                                                                                     <value name="A">
                                                                                       <block type="variables_get" id="K889:78g-f`R8pkZWjx(">
                                                                                         <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="B">
                                                                                       <block type="get_value" id="}PR,}R47I!-C)CwV7xVT">
                                                                                         <field name="ATTR">val</field>
                                                                                         <field name="OID">ID auswählen</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="logic_compare" id="S}oIc~kkU}q#Z9^9tdoD">
                                                                                     <field name="OP">EQ</field>
                                                                                     <value name="A">
                                                                                       <block type="variables_get" id="JZL14WtZZKBI1MVNau|V">
                                                                                         <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="B">
                                                                                       <block type="get_value" id="nYu5H7^}MVVk|_p:-)(i">
                                                                                         <field name="ATTR">val</field>
                                                                                         <field name="OID">ID auswählen</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <statement name="DO1">
                                                                               <block type="variables_set" id="kM(2pX0!01*gtW!gDD$-">
                                                                                 <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                                 <value name="VALUE">
                                                                                   <block type="logic_boolean" id="*sFI;Qa)Pw17{_aKg+i3">
                                                                                     <field name="BOOL">FALSE</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </statement>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </statement>
                                                                 <statement name="ONDEFAULT">
                                                                   <block type="controls_if" id="1p2R:^-pa(J+uUGAzTo[">
                                                                     <value name="IF0">
                                                                       <block type="get_value" id="{!zdE+Fw[r)Ol`A++@B{">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="controls_if" id=",Q_zL$oaG4p81ZhJWkOE">
                                                                         <mutation elseif="1"></mutation>
                                                                         <value name="IF0">
                                                                           <block type="logic_operation" id="mGXX(+tH5VyJJZGj/@N}" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="T|y|/y@1.6ip$zMQoOGG">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="}sdGe,-9tM4aVG8Spc+_">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="Zz$TJu|g~@,[Ie,M(Vc@">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="%sEFs+9s(-605Cdql8Jo">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="8|qNNbZu_ud18F)z?]^g">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="v=Q|*S}|Yt5$-~kdR[0K">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO0">
                                                                           <block type="variables_set" id="{Ll;QcZ9#hmT$Hlfrut=">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="u+U.kd~9FUc7JBa`.^?z">
                                                                                 <field name="BOOL">TRUE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                         <value name="IF1">
                                                                           <block type="logic_operation" id="6QwX4v(MILT^R@#T7J/r" inline="false">
                                                                             <field name="OP">AND</field>
                                                                             <value name="A">
                                                                               <block type="logic_compare" id="3MY7Squr|/=egZ9:2cvy">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="jq_f%Xd^DCEX~!dC5PBU">
                                                                                     <field name="VAR" id="DC.f(TL:Z(AlF_04Pr:.">std</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="6FSG~H!*f7zc3{HS8GrB">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="logic_compare" id="I#(IYOvQ|*EHzJ?m)_d^">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="variables_get" id="bw5JVP-I%?UqVyVZ4663">
                                                                                     <field name="VAR" id="63!dhN8yGPtu)Ek38R8h">min</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="get_value" id="U10L8_(E7hD+_S;g[fMs">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO1">
                                                                           <block type="variables_set" id="ief*KVUPCK^-]UC)E:V/">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                             <value name="VALUE">
                                                                               <block type="logic_boolean" id="rZrbBVtsy@EK7~/$4vCY">
                                                                                 <field name="BOOL">FALSE</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </statement>
                                                                 <next>
                                                                   <block type="controls_if" id="8p+.T*-MRp|rHsy@?8Jv">
                                                                     <value name="IF0">
                                                                       <block type="logic_compare" id="DF,AUI7dw%g*cMGxL7ZC">
                                                                         <field name="OP">NEQ</field>
                                                                         <value name="A">
                                                                           <block type="variables_get" id="+MeeN0:[V`eX|`A|ra,h">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="B">
                                                                           <block type="get_value" id="@(%j/d!6PGKSOOhBW5|G">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">0_userdata.0.Blockly.alleRollos</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="control" id="[VBlbNzW`}8]{Op3:jt}">
                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                         <field name="OID">0_userdata.0.Blockly.alleRollos</field>
                                                                         <field name="WITH_DELAY">FALSE</field>
                                                                         <value name="VALUE">
                                                                           <block type="variables_get" id="Op1l9vHL.wj@SfxE9oaX">
                                                                             <field name="VAR" id="[_?X;O$!IC%o`kx/xK;*">rollos_hoch</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                          </xml>
                                          

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

                                            @paul53

                                            Vielen dank für den Code.

                                            Jetzt aber noch eine Verständnisfrage den 7. Tag.
                                            Ist das so korrekt in deinem Code mit "default" und dann den üblichen Tagescode gesetzt ohne die Tageszahl?
                                            Würde das so am Sonntag auch funktionieren? Oder sollte es da genauso stehen wie bei allen anderen Tagen "im Falle von 7"?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            727
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            21
                                            1224
                                            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