Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. CRON ... ich heul gleich :-(

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    CRON ... ich heul gleich :-(

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

      Hallo Community,

      ich bin gerade an einem Blockly dass ab X Uhr bei meinem Verstärker regelmäßig auf den Stromverbrauch schauen soll um ihn auszuschalten, nur um ihn dann am nächsten Tag um Y Uhr wieder anzuschalten. Ok, das mal zur Ausgangssituation. Das ganze ist gelöst in einem verschachtelten Blockly und funktioniert mit manuellen Eingaben auch soweit ganz gut. Da man das ganze aber auch verstellen können soll, wollte ich das ganze dynamisch tun. Hier verzweifel ich. Vielleicht kennt ja jemand die Lösung 🙂

      Wenn ich das so stehen lasse, startet iobroker um 11 Uhr 23 das Script ... wunderbar
      c950a6d3-1323-46fd-b38f-13b01b820aec-image.png

      Der Wert von Uhrzeit_Sonos_...._Stunde ist 11 und eine "Number", Uhrzeit_Sonos...Minute ist 23 und ebenfalls eine "Number"

      Eigentlich würde ich erwarten, dass wenn ich nun die Bausteine zusammenziehe, alles genau so funktioniert wie bei der händischen Eingabe ....
      5e930cba-2b7e-49e8-a89c-34d9f5a6e895-image.png
      ... tut es aber nicht.

      Wo nutze ich das CRON falsch ??

      Schonmal Danke vorab für eure Unterstützung 🙂
      Steffen

      Homoran paul53 E 3 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @steffensammet last edited by

        @steffensammet sagte in CRON ... ich heul gleich 😞:

        Wo nutze ich das CRON falsch ??

        was machst du da überhaupt?

        Der Trigger ist innerhalb einer Funktion?

        und sonst nichts?

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

          @steffensammet sagte: Wo nutze ich das CRON falsch ??

          Es wird ein anderer Zeitplan gestoppt als der, der geändert werden soll.

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

            Sorry, ich muss euch natürlich das ganze Bild zeigen. Wie bereits geschrieben, geht es darum dass es zwei Eingaben gibt. Um welche Zeit sollen die AMPs eingeschaltet werden und ab welcher Zeit können sie ausgeschalten werden (unter der Bedingung dass keine Musik mehr gespielt wird).

            Erstmal fange ich bei der Funktion an. Sie läuft mit Start des Skript an und wird nochmals getriggert falls sich eine Uhrzeit (Start oder Ende) ändert:

            68f16eff-d7b7-4308-bcbf-c5020f00149c-image.png

            Wenn die Zeit soweit ist, dass meine AMPs eingeschaltet werden sollen, sollte dieses Skript das tun:

            24779590-868e-47f2-a9ff-603711da9f32-image.png

            Es wird erst eine Überwachung gestoppt die mir die AMPs ausschaltet; danach werden die AMPs eingeschalten.

            Soweit so gut, nun hier die Überwachung des Ausschalteteils

            37c49575-1287-4773-a567-51c37eddb8fa-image.png

            Ab der Uhrzeit "Sonos darf ausgehen" soll im 5 Minutentakt abgefragt werden ob noch Musik läuft. Um nicht in die Bredullie zu kommen, man schaltet die AMPs an, bis alles hochgefahren ist wird schon wieder der Strom gekappt, habe ich eine Variable "Sonos wieder abschalten" die erstmal getriggert wird bevor dann 5 Minuten später tatsächlich geschalten wird....

            Wie gesagt, die Zeit-Trigger der CRON Funktion reagieren (warum auch immer) nicht 😞

            13c5806e-875d-4297-bad5-ae09fa8474f5-image.png

            7356f69d-aae5-4c27-a5c1-68da4211386c-image.png

            Steffen

            <xml xmlns="https://developers.google.com/blockly/xml">
              <variables>
                <variable type="cron" id="Sonos AMP anschalten">Sonos AMP anschalten</variable>
                <variable type="cron" id="Sonos AMP ausschalten Startzeitpunkt der Abfrage">Sonos AMP ausschalten Startzeitpunkt der Abfrage</variable>
                <variable type="cron" id="Sonos AMP abfrage">Sonos AMP abfrage</variable>
              </variables>
              <block type="procedures_callnoreturn" id="M.f?|B/?3Mr~4LuJnXKE" x="63" y="-62">
                <mutation name="registriere Sonos Ansschalten"></mutation>
                <next>
                  <block type="procedures_callnoreturn" id="rnbEg_zxp~+!}8H{G}}4">
                    <mutation name="registriere Sonos Ausschalten"></mutation>
                    <next>
                      <block type="on_ext" id="UI@hVhdtN%w$lz#GZ|JS">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation>
                        <field name="CONDITION">ne</field>
                        <field name="ACK_CONDITION"></field>
                        <value name="OID0">
                          <shadow type="field_oid" id="6J?k@#WZv6!*}HlI~MA/">
                            <field name="oid">0_userdata.0.Sound.Uhrzeit_Sonos_AMP_anschalten_heute_Minute</field>
                          </shadow>
                        </value>
                        <value name="OID1">
                          <shadow type="field_oid" id=")WJz$NIJO/rr*|JjrdNQ">
                            <field name="oid">0_userdata.0.Sound.Uhrzeit_Sonos_AMP_anschalten_heute_Stunde</field>
                          </shadow>
                        </value>
                        <value name="OID2">
                          <shadow type="field_oid" id="FM|YeC9)D4CH{#]2D_^?">
                            <field name="oid">0_userdata.0.Sound.Uhrzeit_Sonos_AMP_ausschalten_heute_Minute</field>
                          </shadow>
                        </value>
                        <value name="OID3">
                          <shadow type="field_oid" id="6yZ`03=8eww0(4,Tq%2)">
                            <field name="oid">0_userdata.0.Sound.Uhrzeit_Sonos_AMP_ausschalten_heute_Stunde</field>
                          </shadow>
                        </value>
                        <statement name="STATEMENT">
                          <block type="procedures_callnoreturn" id="j],]-]q]izYDzv0|Z2ny">
                            <mutation name="registriere Sonos Ansschalten"></mutation>
                            <next>
                              <block type="procedures_callnoreturn" id="k/mU:H*B-@9/aWaU$`XT">
                                <mutation name="registriere Sonos Ausschalten"></mutation>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
              <block type="procedures_defnoreturn" id="v8L8H/_;GQ.{,i?@snnn" x="63" y="263">
                <field name="NAME">registriere Sonos Ansschalten</field>
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                <statement name="STACK">
                  <block type="schedule_create" id="{Fu.cG-=(@$l9G`0eDEV">
                    <field name="NAME">Sonos AMP anschalten</field>
                    <value name="SCHEDULE">
                      <shadow type="field_cron" id="k[sGhHcvY4/$epZc|n8m">
                        <field name="CRON">* * * * *</field>
                      </shadow>
                      <block type="cron_builder" id="bd};=2Pt`{8gUZ3~SzHF">
                        <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="D9S.#:g./|#K]6I/2V-o">
                            <field name="TEXT">*</field>
                          </shadow>
                        </value>
                        <value name="MONTHS">
                          <shadow type="text" id="3P^gi!n/0:OE:+pMCPGr">
                            <field name="TEXT">*</field>
                          </shadow>
                        </value>
                        <value name="DAYS">
                          <shadow type="text" id="j@@RpIIF+a0f/}C$ce,w">
                            <field name="TEXT">*</field>
                          </shadow>
                        </value>
                        <value name="HOURS">
                          <shadow type="text" id="1,-24W^%2}SlOlbCxp~~">
                            <field name="TEXT">11</field>
                          </shadow>
                          <block type="get_value" id="prO?xcKzbI@-ER{YB-3t">
                            <field name="ATTR">val</field>
                            <field name="OID">0_userdata.0.Sound.Uhrzeit_Sonos_AMP_anschalten_heute_Stunde</field>
                          </block>
                        </value>
                        <value name="MINUTES">
                          <shadow type="text" id="1I{Zmr?.G|5rLa^Y`Z?g">
                            <field name="TEXT">25</field>
                          </shadow>
                          <block type="get_value" id="Sn6xSW.h:!=]v+jS4uqE">
                            <field name="ATTR">val</field>
                            <field name="OID">0_userdata.0.Sound.Uhrzeit_Sonos_AMP_anschalten_heute_Minute</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="STATEMENT">
                      <block type="debug" id="rU7nIm|JvcSHMPx@$ri$">
                        <field name="Severity">log</field>
                        <value name="TEXT">
                          <shadow type="text" id="[u:hQB_]1lOCRa9LN{0S">
                            <field name="TEXT">Stop Abfrage</field>
                          </shadow>
                        </value>
                        <next>
                          <block type="schedule_clear" id="EoaWQ9RmaG,PGf,Y,77q">
                            <field name="NAME">Sonos AMP abfrage</field>
                            <next>
                              <block type="control" id="W^OSi?L3NWl|Q}mH?f6%">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">bshb.0.hdm:ZigBee:50325ffffe6f76b9.PowerSwitch.switchState</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="text" id="pf6Qc234$.vnpCqDRz=c">
                                    <field name="TEXT">ON</field>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                </statement>
              </block>
              <block type="procedures_defnoreturn" id="K:vtn#ngOw|0R%u+fx+V" x="1013" y="263">
                <field name="NAME">registriere Sonos Ausschalten</field>
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                <statement name="STACK">
                  <block type="schedule_clear" id="[[7l7/,6Yx[Y9?d#ESn1">
                    <field name="NAME">Sonos AMP abfrage</field>
                    <next>
                      <block type="schedule_create" id="q+(+Xj9#inHw`1W.;JBX">
                        <field name="NAME">Sonos AMP ausschalten Startzeitpunkt der Abfrage</field>
                        <value name="SCHEDULE">
                          <shadow type="field_cron" id="*G/K{z$(0D/=!-@q`=0-">
                            <field name="CRON">* * * * *</field>
                          </shadow>
                          <block type="cron_builder" id="MB)CtdtF=tuJd^v%G)aF">
                            <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="t-6VBz_Rj;PRc;wZz_{$">
                                <field name="TEXT">*</field>
                              </shadow>
                            </value>
                            <value name="MONTHS">
                              <shadow type="text" id="v6lpuR^%m,OxzwjXatKr">
                                <field name="TEXT">*</field>
                              </shadow>
                            </value>
                            <value name="DAYS">
                              <shadow type="text" id="S=.O2!@w@s*kT6vE5:bf">
                                <field name="TEXT">*</field>
                              </shadow>
                            </value>
                            <value name="HOURS">
                              <shadow type="text" id="h)JX)+zEQtE@umR}Q:Qa">
                                <field name="TEXT">11</field>
                              </shadow>
                              <block type="get_value" id="vwF*srWBVa`jFOF~d|/l">
                                <field name="ATTR">val</field>
                                <field name="OID">0_userdata.0.Sound.Uhrzeit_Sonos_AMP_ausschalten_heute_Stunde</field>
                              </block>
                            </value>
                            <value name="MINUTES">
                              <shadow type="text" id="AO_`g-YD6$1tZhgRZq0?">
                                <field name="TEXT">23</field>
                              </shadow>
                              <block type="get_value" id="DD3(v]rk8:,zct?ca#Y=">
                                <field name="ATTR">val</field>
                                <field name="OID">0_userdata.0.Sound.Uhrzeit_Sonos_AMP_ausschalten_heute_Minute</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="STATEMENT">
                          <block type="schedule_create" id="]?~G|OIXSQBEC!UA~EIH">
                            <field name="NAME">Sonos AMP abfrage</field>
                            <value name="SCHEDULE">
                              <shadow type="field_cron" id="fyhLCD5cucp:Db6*q%0+">
                                <field name="CRON">* * * * *</field>
                              </shadow>
                              <block type="field_cron" id="n/u)gVyMV+p9+$8Fd@`|">
                                <field name="CRON">*/5 * * * *</field>
                              </block>
                            </value>
                            <statement name="STATEMENT">
                              <block type="debug" id="+#HYSC`s7Opem/}mh2@@">
                                <field name="Severity">log</field>
                                <value name="TEXT">
                                  <shadow type="text" id="$dNw#e%t[]El~~^9$G+4">
                                    <field name="TEXT">Abschaltabfrage</field>
                                  </shadow>
                                </value>
                                <next>
                                  <block type="controls_if" id="K}|/gckZGEYXiO,cxuc3">
                                    <mutation else="1"></mutation>
                                    <value name="IF0">
                                      <block type="logic_compare" id="~QA7*G9SjbZ+KGG{=nyZ">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="get_value" id="_}O:E.hVjO@/XUD^#~NJ">
                                            <field name="ATTR">val</field>
                                            <field name="OID">0_userdata.0.Sound.Sonos_AMP_spielen_Musik</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="logic_boolean" id="N3[oZu/awSZ?3Sx4KjVp">
                                            <field name="BOOL">TRUE</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="control" id="7YjC;%Fc7G_}Kb`Y#!@9">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">0_userdata.0.Sound.Sonos_wieder_abschalten</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="logic_boolean" id="KF}ufc@.l;e2x4g6O-#Q">
                                            <field name="BOOL">FALSE</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="debug" id="Jjs.N52iI/7mWGbGB,G-">
                                            <field name="Severity">log</field>
                                            <value name="TEXT">
                                              <shadow type="text" id="G!N9`@w+*:ME[%^B.[4$">
                                                <field name="TEXT">Musik läuft, Sonos AMPs werden nicht abgeschaltet</field>
                                              </shadow>
                                            </value>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                    <statement name="ELSE">
                                      <block type="controls_if" id="VzwB~!elD(fZ9GW$@9!I">
                                        <mutation else="1"></mutation>
                                        <value name="IF0">
                                          <block type="logic_compare" id="1.aOjF6@)qRcg.-Q6nR_">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                              <block type="get_value" id="gbxCl7wX.:SL7qm)lRCK">
                                                <field name="ATTR">val</field>
                                                <field name="OID">bshb.0.hdm:ZigBee:50325ffffe6f76b9.PowerSwitch.switchState</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="text" id="NdQ}5*Ca,POH#a;mN=#j">
                                                <field name="TEXT">OFF</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="debug" id="/;fiLcE6]^y*sPh4X5=%">
                                            <field name="Severity">log</field>
                                            <value name="TEXT">
                                              <shadow type="text" id="(wVd@^%+T}k~[R]HPs!s">
                                                <field name="TEXT">Sonos AMPs sind bereits abgeschaltet</field>
                                              </shadow>
                                            </value>
                                          </block>
                                        </statement>
                                        <statement name="ELSE">
                                          <block type="controls_if" id="Ou|pFlI!41w9t;N),B[%">
                                            <mutation else="1"></mutation>
                                            <value name="IF0">
                                              <block type="logic_compare" id=".KxNI$ROGW,e76E{OMP*">
                                                <field name="OP">EQ</field>
                                                <value name="A">
                                                  <block type="get_value" id="%^RCM/~:Up,JMCmMIyr%">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">0_userdata.0.Sound.Sonos_wieder_abschalten</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="logic_boolean" id="r6)0W06Io0Ec@FQYJNqe">
                                                    <field name="BOOL">FALSE</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="debug" id="yG95t:$GRFjj]bB_Pzy;">
                                                <field name="Severity">log</field>
                                                <value name="TEXT">
                                                  <shadow type="text" id="$lXaGBT`#Dw7%:z|kJ?~">
                                                    <field name="TEXT">Kein Sonos AMP spielt etwas; Abschaltung erfolgt in 5 Minuten falls nichts abgespielt wird</field>
                                                  </shadow>
                                                </value>
                                                <next>
                                                  <block type="control" id="yTT={[]dqvPIG_Of:7%i">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                    <field name="OID">0_userdata.0.Sound.Sonos_wieder_abschalten</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="logic_boolean" id="[7kwQ|{SB(3.ns}``akD">
                                                        <field name="BOOL">TRUE</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </next>
                                              </block>
                                            </statement>
                                            <statement name="ELSE">
                                              <block type="debug" id="***e4UNinq4IomO@|p46">
                                                <field name="Severity">log</field>
                                                <value name="TEXT">
                                                  <shadow type="text" id="+7d}/HM30aKH*}P(9`Iq">
                                                    <field name="TEXT">Sonos AMPs werden jetzt abgeschalten</field>
                                                  </shadow>
                                                </value>
                                                <next>
                                                  <block type="control" id=".39~2$.21T*munZJ]X2}">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                    <field name="OID">bshb.0.hdm:ZigBee:50325ffffe6f76b9.PowerSwitch.switchState</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="text" id="f70fmQm/bg0prx#PH!v^">
                                                        <field name="TEXT">OFF</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </next>
                                              </block>
                                            </statement>
                                          </block>
                                        </statement>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </xml>
            
            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @steffensammet last edited by

              @steffensammet sagte: getriggert falls sich eine Uhrzeit (Start oder Ende) ändert:

              Im Trigger müssen alle Zeitpläne gestoppt werden, bevor sie neu registriert werden.

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

                Danke @paul53

                ich habe den Stop eingefügt. Mal schauen obs klappt 🙂

                0b842d59-e518-4cd1-b457-0f4cda9e6e48-image.png

                Steffen

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

                  @steffensammet
                  Mache es besser so (braucht weniger Ressourcen):

                  Blockly_temp.JPG

                  S 1 Reply Last reply Reply Quote 0
                  • E
                    ecki-noname @steffensammet last edited by

                    ich würde es so machen:
                    Bildschirmfoto 2023-11-29 um 19.24.24.png

                    haus-automatisierung 1 Reply Last reply Reply Quote 0
                    • S
                      steffensammet @paul53 last edited by

                      Danke ! Es scheint zu funktionieren 🙂

                      1 Reply Last reply Reply Quote 0
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active @ecki-noname last edited by

                        @ecki-noname sagte in CRON ... ich heul gleich 😞:

                        ich würde es so machen:

                        Das ergibt aber nur super wenig Sinn. Die "Datum / Uhrzeit"-Blöcke sind überflüssig und sorgen eher für Probleme (Zeitzonen-Thematik). Außerdem wird der Cron dann nur genau 1x angelegt und danach nie wieder angepasst. Selbst, wenn sich die Werte ändern.

                        @paul53 hat ja schon die schönste Lösung genannt.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        555
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        5
                        10
                        514
                        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