Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. 30min Pause nach Skript Ausführung

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    241

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

30min Pause nach Skript Ausführung

Scheduled Pinned Locked Moved Skripten / Logik
7 Posts 5 Posters 920 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    marfa84
    wrote on last edited by
    #1

    Moin Leute,

    da ich gerade nicht weiter komme, benötige ich leider erneut Eure Hilfe.

    Ich habe einen Bewegungsmelder im Flur und dieser soll bei einer Bewegung den ALEXA Spot mit dem Aktuellen Hausakku Zustand in % ansprechen.

    Dieses funktioniert auch soweit, jedoch bei <u>jeder erkannten Bewegung</u> (kann nervig werden alle 3-4min)

    Ich möchte daher eine Pause von 30min einfügen, wie könnte man das realisieren ?

    Beispiel:

    Bewegung = Skript wird ausgeführt und ALEXA wird angesprochen.

    Nach z.B. 10min erneute Bewegung = ALEXA wird <u>nicht</u> angesprochen.

    Ab 30min erneute Bewegung = ALEXA wird wieder angesprochen.

     <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="c`tY=3A*f9R)GRP!v1(J" x="-1087" y="-1237"><mutation items="1"></mutation>
        <field name="CONDITION">true</field>
    
        <value name="OID0"><shadow type="field_oid" id="/_mPzc3/#;@#?,fl?V]E"><field name="oid">hm-rpc.1.000########011B.1.MOTION</field></shadow></value> 
        <statement name="STATEMENT"><block type="controls_if" id="F.`-8f|g+oj=O6Y2,pF!"><value name="IF0"><block type="time_compare_ex" id="83Q@?/7*xIE-+^a3awCp"><mutation end_time="true" actual_time="true"></mutation>
                <field name="USE_ACTUAL_TIME">TRUE</field>
                <field name="OPTION">between</field>
                <value name="START_TIME"><shadow type="text" id="uaeUg*:~ycr]({{Q0N9E"><field name="TEXT">09:00</field></shadow></value> 
                <value name="END_TIME"><shadow type="text" id="7XQ,ZZv:HH4q[!INGgyn"><field name="TEXT">19:00</field></shadow></value></block></value> 
            <statement name="DO0"><block type="variables_set" id="Y]p/4ILH|ZHtu0t;rzv5"><field name="VAR">Zwischenspeicher</field>
                <value name="VALUE"><block type="get_value" id="|`b|CAJPAkZuP5l_NNzT"><field name="ATTR">val</field>
                    <field name="OID">alexa2.0.Echo-Devices.########.Player.volume</field></block></value> 
                <next><block type="control" id="A]CspWv7CrQK~S]NIX!b"><mutation delay_input="true"></mutation>
                    <field name="OID">alexa2.0.Echo-Devices.########.Player.volume</field>
                    <field name="WITH_DELAY">TRUE</field>
                    <field name="DELAY_MS">100</field>
                    <field name="UNIT">ms</field>
                    <field name="CLEAR_RUNNING">FALSE</field>
                    <value name="VALUE"><block type="math_number" id="5,rHrGS]*s#w0G]E)=*{"><field name="NUM">45</field></block></value> 
                    <next><block type="controls_if" id="qWhnWk.9%-W7`Ll-9Oia"><value name="IF0"><block type="logic_compare" id="B_AOEYWh@k;p,;!;^e!C"><field name="OP">LT</field>
                            <value name="A"><block type="get_value" id="EasG|iShEZEa^Q=0c@[C"><field name="ATTR">val</field>
                                <field name="OID">modbus.0.holdingRegisters.210_Act__state of charge</field></block></value> 
                            <value name="B"><block type="text" id=":CF?qp1Hyh?m0HsxH?D;"><field name="TEXT">21</field></block></value></block></value> 
                        <statement name="DO0"><block type="control" id="%qbPCo,ZXCn:+ApoIo/c"><mutation delay_input="false"></mutation>
                            <field name="OID">alexa2.0.Echo-Devices.########.Commands.speak</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE"><block type="text_join" id="5LB_!O:!AA#M3NC92,2W"><mutation items="3"></mutation>
                                <value name="ADD0"><block type="text" id="JimV{=[+z2^)Fj}GhFM`"><field name="TEXT">Die Haus Batterie hat einen aktuellen Zustand von</field></block></value> 
                                <value name="ADD1"><block type="get_value" id="n(L`42cPPitV5H4;b4Mr"><field name="ATTR">val</field>
                                    <field name="OID">modbus.0.holdingRegisters.210_Act__state of charge</field></block></value> 
                                <value name="ADD2"><block type="text" id="7,VdIx+zmO)JXj-xcl/C"><field name="TEXT">Prozent, daher bitte die Energiekosten einsparen. Vielen Dank !</field></block></value></block></value> 
                            <next><block type="control" id="RyDcq48z@I1eSZxohpsy"><mutation delay_input="true"></mutation>
                                <field name="OID">alexa2.0.Echo-Devices.########.Player.volume</field>
                                <field name="WITH_DELAY">TRUE</field>
                                <field name="DELAY_MS">9</field>
                                <field name="UNIT">sec</field>
                                <field name="CLEAR_RUNNING">FALSE</field>
                                <value name="VALUE"><block type="variables_get" id="=r*S/[TMrNpcHR}Q=b[J"><field name="VAR">Zwischenspeicher</field></block></value></block></next></block></statement></block></next></block></next></block></statement></block></statement> 
        <next><block type="on_ext" id="Qs*-gVE#iT-S674{0/n4"><mutation items="1"></mutation>
            <field name="CONDITION">true</field>
    
            <value name="OID0"><shadow type="field_oid" id="_kIuG2JJn,JoC5:Dmn_z"><field name="oid">hm-rpc.1.00091709AC011B.1.MOTION</field></shadow></value> 
            <statement name="STATEMENT"><block type="controls_if" id="bCJJxquzJvv:!TZB!+DA"><value name="IF0"><block type="time_compare_ex" id="vg(q9.sl))?6gma}xu=b"><mutation end_time="true" actual_time="true"></mutation>
                    <field name="USE_ACTUAL_TIME">TRUE</field>
                    <field name="OPTION">between</field>
                    <value name="START_TIME"><shadow type="text" id=";c~}XVdia~~;o0k7,Ni3"><field name="TEXT">09:00</field></shadow></value> 
                    <value name="END_TIME"><shadow type="text" id=";CJH~iz_;NZ,xd1Rc)Nt"><field name="TEXT">19:00</field></shadow></value></block></value> 
                <statement name="DO0"><block type="variables_set" id=".GcC7YyJ3sdSCjV4frg["><field name="VAR">Zwischenspeicher</field>
                    <value name="VALUE"><block type="get_value" id="r)kMjVb..)+D-qiXfVa?"><field name="ATTR">val</field>
                        <field name="OID">alexa2.0.Echo-Devices.########.Player.volume</field></block></value> 
                    <next><block type="control" id="f(C]y)HwEU_[BK6l3Kls"><mutation delay_input="true"></mutation>
                        <field name="OID">alexa2.0.Echo-Devices.########.Player.volume</field>
                        <field name="WITH_DELAY">TRUE</field>
                        <field name="DELAY_MS">100</field>
                        <field name="UNIT">ms</field>
                        <field name="CLEAR_RUNNING">FALSE</field>
                        <value name="VALUE"><block type="math_number" id="3#rPD.QN49iX(5GP_U`6"><field name="NUM">45</field></block></value> 
                        <next><block type="controls_if" id="{Rgg7pTC+i-K,}{9JOgY"><value name="IF0"><block type="logic_operation" id="QLAW^bdfA2eQD/0og_Tb"><field name="OP">AND</field>
                                <value name="A"><block type="logic_compare" id="F,J%,x6B+]il`jNF^Nvu"><field name="OP">GT</field>
                                    <value name="A"><block type="get_value" id="u?+EhX1lo_1)zM@-q,!O"><field name="ATTR">val</field>
                                        <field name="OID">modbus.0.holdingRegisters.210_Act__state of charge</field></block></value> 
                                    <value name="B"><block type="text" id="m@E1rx8=?~?l:NkS+!jf"><field name="TEXT">21</field></block></value></block></value> 
                                <value name="B"><block type="logic_compare" id=";%vl~=#/.]Y?zm]b7Wm?"><field name="OP">LT</field>
                                    <value name="A"><block type="get_value" id="A%.w@^481giW24YlX058"><field name="ATTR">val</field>
                                        <field name="OID">modbus.0.holdingRegisters.210_Act__state of charge</field></block></value> 
                                    <value name="B"><block type="text" id="[hyZ_HMQWbtFF91vhr/w"><field name="TEXT">95</field></block></value></block></value></block></value> 
                            <statement name="DO0"><block type="control" id="#Zf=q3Ncr+yfr|d1}j{I"><mutation delay_input="false"></mutation>
                                <field name="OID">alexa2.0.Echo-Devices.########.Commands.speak</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE"><block type="text_join" id=".!XNL4M|8;kX;[?pRF=t"><mutation items="3"></mutation>
                                    <value name="ADD0"><block type="text" id="pWWQuCv;cI(kk=c8|z|_"><field name="TEXT">Die Haus Batterie hat einen aktuellen Zustand von</field></block></value> 
                                    <value name="ADD1"><block type="get_value" id="zH8F5+.F*bY8~]}Ra6s#"><field name="ATTR">val</field>
                                        <field name="OID">modbus.0.holdingRegisters.210_Act__state of charge</field></block></value> 
                                    <value name="ADD2"><block type="text" id="Jdd(-7@6GIeuI83t9m*X"><field name="TEXT">Prozent</field></block></value></block></value> 
                                <next><block type="control" id="}[9X?e~YkXYi?W@8Bl+C"><mutation delay_input="true"></mutation>
                                    <field name="OID">alexa2.0.Echo-Devices.########.Player.volume</field>
                                    <field name="WITH_DELAY">TRUE</field>
                                    <field name="DELAY_MS">9</field>
                                    <field name="UNIT">sec</field>
                                    <field name="CLEAR_RUNNING">FALSE</field>
                                    <value name="VALUE"><block type="variables_get" id="#!3b,/eg7kU-UhMfI*kK"><field name="VAR">Zwischenspeicher</field></block></value></block></next></block></statement></block></next></block></next></block></statement></block></statement> 
            <next><block type="on_ext" id="Xr/2ZeSXZL].BV]z*+ik"><mutation items="1"></mutation>
                <field name="CONDITION">true</field>
    
                <value name="OID0"><shadow type="field_oid" id="`?T{FGE0PpUSX%0F~a`Y"><field name="oid">hm-rpc.1.00091709AC011B.1.MOTION</field></shadow></value> 
                <statement name="STATEMENT"><block type="controls_if" id="9BvZ(-xRtf7rsyHyg09B"><value name="IF0"><block type="time_compare_ex" id="Gsx+l71fMpTcdDkU/,8["><mutation end_time="true" actual_time="true"></mutation>
                        <field name="USE_ACTUAL_TIME">TRUE</field>
                        <field name="OPTION">between</field>
                        <value name="START_TIME"><shadow type="text" id="P%nNPSPAyj~}N8{#nfXX"><field name="TEXT">09:00</field></shadow></value> 
                        <value name="END_TIME"><shadow type="text" id="U@_.#}B-4;16@y~A=OQt"><field name="TEXT">19:00</field></shadow></value></block></value> 
                    <statement name="DO0"><block type="variables_set" id="{Y;:f:6*SwMh@ei#b2ZF"><field name="VAR">Zwischenspeicher</field>
                        <value name="VALUE"><block type="get_value" id="k]SX7vD/E)pJ;4;wOJRQ"><field name="ATTR">val</field>
                            <field name="OID">alexa2.0.Echo-Devices.#########.Player.volume</field></block></value> 
                        <next><block type="control" id="@RP@bLUs-|2X9f,0n-g;"><mutation delay_input="true"></mutation>
                            <field name="OID">alexa2.0.Echo-Devices.#########.Player.volume</field>
                            <field name="WITH_DELAY">TRUE</field>
                            <field name="DELAY_MS">100</field>
                            <field name="UNIT">ms</field>
                            <field name="CLEAR_RUNNING">FALSE</field>
                            <value name="VALUE"><block type="math_number" id="9O*;ijB8-CpU^sn8zzO]"><field name="NUM">45</field></block></value> 
                            <next><block type="controls_if" id="%w`=[p6_t7[/_gqEX!b_"><value name="IF0"><block type="logic_compare" id="T)H*a.9f!eKH[b@]~r=u"><field name="OP">GT</field>
                                    <value name="A"><block type="get_value" id="xYHG^|_M?akBb}ichZG)"><field name="ATTR">val</field>
                                        <field name="OID">modbus.0.holdingRegisters.210_Act__state of charge</field></block></value> 
                                    <value name="B"><block type="text" id="p2Blpf}?C}}TW+*Gm0}L"><field name="TEXT">94</field></block></value></block></value> 
                                <statement name="DO0"><block type="control" id="JArR3|FNvP-fEV*]Cws]"><mutation delay_input="false"></mutation>
                                    <field name="OID">alexa2.0.Echo-Devices.########.Commands.speak</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE"><block type="text_join" id="H:eo]YUwCGH/%`#*wd;#"><mutation items="3"></mutation>
                                        <value name="ADD0"><block type="text" id="#iqoW`[~z_Rn-4HZYagy"><field name="TEXT">Die Haus Batterie hat einen aktuellen Zustand von</field></block></value> 
                                        <value name="ADD1"><block type="get_value" id="n@vpg9W*5B5|/^1ul./x"><field name="ATTR">val</field>
                                            <field name="OID">modbus.0.holdingRegisters.210_Act__state of charge</field></block></value> 
                                        <value name="ADD2"><block type="text" id="(]KkzqO{YpE(A4rb@fgs"><field name="TEXT">Prozent, daher bitte die Waschmaschine oder andere Verbraucher anstellen. Vielen Dank !</field></block></value></block></value> 
                                    <next><block type="control" id="T[pa5K:udiWMQy0cfTYu"><mutation delay_input="true"></mutation>
                                        <field name="OID">alexa2.0.Echo-Devices.########.Player.volume</field>
                                        <field name="WITH_DELAY">TRUE</field>
                                        <field name="DELAY_MS">9</field>
                                        <field name="UNIT">sec</field>
                                        <field name="CLEAR_RUNNING">FALSE</field>
                                        <value name="VALUE"><block type="variables_get" id="2pFZ=tI;%mQ5K(:`5WHy"><field name="VAR">Zwischenspeicher</field></block></value></block></next></block></statement></block></next></block></next></block></statement></block></statement></block></next></block></next></block></xml> 
    
    1 Reply Last reply
    0
    • Digi-KaiD Offline
      Digi-KaiD Offline
      Digi-Kai
      wrote on last edited by
      #2

      nur so als Idee:

      Du könntest dir einen Datenpunkt anlegen, in dem die letzte Bewegung als Timestamp abgespeichert wird.

      Bei Auslösen des Bewegungsmelders sollte dann dein Script prüfen, ob zischen der aktuellen Zeit und dem Timestamp z.B. die Zeit von 10 min überschritten wurde.

      if (jetzt - timestamp > 10) {
      Aktion ausführen 
      }
      
      1 Reply Last reply
      0
      • sissiwupS Offline
        sissiwupS Offline
        sissiwup
        wrote on last edited by
        #3

        Hi,

        auf der CCU würde ich so etwas über eine Sperr-Variable machen.

        Ansage nur, wenn Bewegung und frei.

        Bei Ansage: frei->gesperrt. In 30 Minuten wieder auf frei.

        Wichtig: Im Init/oder Nachskript die Variable auf frei setzen, sonst geht es schief falls du in der Sperrzeit neu startest.

        MfG

        Sissi

        –-----------------------------------------

        1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


        1 Reply Last reply
        0
        • M Offline
          M Offline
          marfa84
          wrote on last edited by
          #4

          @sissiwup:

          Hi,

          auf der CCU würde ich so etwas über eine Sperr-Variable machen.

          Ansage nur, wenn Bewegung und frei.

          Bei Ansage: frei->gesperrt. In 30 Minuten wieder auf frei.

          Wichtig: Im Init/oder Nachskript die Variable auf frei setzen, sonst geht es schief falls du in der Sperrzeit neu startest. `

          Danke für die schnellen Antworten. :D

          Ich bin nun das Problem erstmal mit einer HM-Sperr-Variable (Akku Ansage= frei/gesperrt) und einem HM-Programm angegangen, konnte es aber bislang noch nicht umfangreich testen, weil meine Frau im Bett kränkelt und sonst der Hammer kreist :lol:

          Homematic Programm:
          12554_akku_ansage_programm.png

          ioBroker Skript:
          12554_akku_ansage.png

          1 Reply Last reply
          0
          • M Offline
            M Offline
            marfa84
            wrote on last edited by
            #5

            Leider habe ich gerade festgestellt das es wie oben Beschrieben, nicht funktioniert. :!:

            Begründung:

            Da ich den Bewegungsmelder nicht nur für die o.g. Ansage verwende, ist das Gerät so eingestellt, das er einen Mindestsendeabstand von 4min eingestellt hat. Somit kann der HmIP-SMI Bewegungsmelder "nur" alle 4min neu auslösen um seinen Akku auf lange Sicht zu schonen. Wenn also einer nach 5min durch den Flur schlendert, wird das o.g. HM-Programm "Akku Ansage" bei Änderung immer neu Ausgelöst und die 30min werden somit nicht eingehalten. ;)

            @Digi-Kai:

            nur so als Idee:

            Du könntest dir einen Datenpunkt anlegen, in dem die letzte Bewegung als Timestamp abgespeichert wird.

            Bei Auslösen des Bewegungsmelders sollte dann dein Script prüfen, ob zischen der aktuellen Zeit und dem Timestamp z.B. die Zeit von 10 min überschritten wurde.

            if (jetzt - timestamp > 10) {
            Aktion ausführen 
            }
            ```` `  
            

            Digi-Kai könntest du mir bitte deinen Vorschlag etwas umfangreicher für Dummi´s erläutern, weil ich Anfänger bin, vielen Dank.

            Datenpunk anlegen = Gerät bei Homematic unter CuX Daemon anlegen, damit ich das beim ioBroker finde ?

            Timestamp = ?

            Dein Script prüfen = welches Script meinst du ?

            Wo soll ich deinen Code einfügen ?

            Ich würde mich sehr freuen, wenn du mir helfen könntest, vielen Dank !

            Liebe Grüße

            Martin

            1 Reply Last reply
            0
            • R Offline
              R Offline
              radierer
              wrote on last edited by
              #6

              @marfa84:

              Begründung:

              Da ich den Bewegungsmelder nicht nur für die o.g. Ansage verwende, ist das Gerät so eingestellt, das er einen Mindestsendeabstand von 4min eingestellt hat. Somit kann der HmIP-SMI Bewegungsmelder "nur" alle 4min neu auslösen um seinen Akku auf lange Sicht zu schonen. Wenn also einer nach 5min durch den Flur schlendert, wird das o.g. HM-Programm "Akku Ansage" bei Änderung immer neu Ausgelöst und die 30min werden somit nicht eingehalten. ;) `

              Mach doch einfach in die "Wenn" Bedingung den Systemzustand als "nur prüfen" mit rein .. dann sollte es doch gehen.

              Also wenn Bewegung erkannt (bei Änderung ..) UND Systemzustand "frei" (nur prüfen), DANN …

              So sollten die 30 Min. eingehalten und die nächste Sperre erfolgt bei >= 30 Min.

              1 Reply Last reply
              0
              • paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #7

                Prinzip:
                493_blockly_30min_sperre.jpg

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                574

                Online

                32.7k

                Users

                82.5k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Home
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe