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. Wie einfache Zeitschaltung?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Wie einfache Zeitschaltung?

Scheduled Pinned Locked Moved Skripten / Logik
34 Posts 7 Posters 9.1k 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.
  • N Offline
    N Offline
    noxx
    wrote on last edited by
    #3

    Danke

    Es gibt 3 Zustände

    8:00 - 9:00 Pumpe an

    12:00 - 17:00 Pumpe an, wenn Temperatur > 25°C (Mindestlaufzeit 30 Minuten)

    18:00 - 20:00 Pumpe an

    Habe nochmal was probiert, keine Ahnung ob das gehen würde.

    Gruß
    2880_1.png
    2880_2.png

    1 Reply Last reply
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      wrote on last edited by
      #4

      Also zwischen 8-9 und 18-20 muss die Pumpe immer an sein und zwischen 12 und 17 nur wen Temperatur > 25 Grad

      Stimmt das ?

      Soll die Pumpe Dan aus wenn < 25 Grad oder immer mindestens 30 min laufen egal was die Temperatur sagt

      (Bin auf der Suche wie die die logic für mittags meinst)

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

      Send from mobile device

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

        Vorschlag in Javascript:

        var idTemp = 'rflink.0.channels.Cresta_1.TEMP';
        var idAktor = 'fritzdect.0.DECT200_087610163304.state';
        
        var mittag = compareTime('12:00', '17:00', 'between');
        var minOn = false;
        var temp = getState(idTemp).val;
        var aktor = getState(idAktor).val;
        
        function setOn() {
           if(!aktor) setState(idAktor, true);
           aktor = true;
        }
        
        function setOff() {
           if(aktor) setState(idAktor, false);
           aktor = false;
        }
        
        function setMinOn() {
           setOn();
           minOn = true;
           setTimeout(function() {
              minOn = false;
              if(temp < 25) setOff();
           }, 1800000);
        }
        
        schedule('0 8 * * *', setOn);
        schedule('0 9 * * *', setOff);
        schedule('0 12 * * *', function () {
           mittag = true;
           if(temp > 25) setMinOn();
        });
        schedule('0 17 * * *', function() {
           mittag = false;
           setOff();
        });
        schedule('0 18 * * *', setOn);
        schedule('0 20 * * *', setOff);
        
        on(idTemp, function(dp) {
           temp = dp.state.val;
           if(temp > 25 && mittag && !aktor) setMinOn();
           if(temp < 25 && mittag && !minOn) setOff();
        }); 
        
        

        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
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #6

          Bessere Lösung, da hier das Senden nach einer Minute wiederholt wird, falls es nicht erfolgreich (Ack = true) war:

          var idTemp = 'rflink.0.channels.Cresta_1.TEMP';
          var idAktor = 'fritzdect.0.DECT200_087610163304.state';
          
          var minOn = false;
          var temp = getState(idTemp).val;
          var aktor = getState(idAktor).val;
          
          function Zeitschaltung() {
             var morgen = compareTime('08:00', '09:00', 'between');
             var mittag = compareTime('12:00', '17:00', 'between');
             var abend = compareTime('18:00', '20:00', 'between');
             if(morgen || (mittag && temp > 25) || abend) {
                if(!aktor) setState(idAktor, true);
             } else if(aktor && !minOn) setState(idAktor, false);
          }
          
          schedule('* * * * *', Zeitschaltung);  // jede Minute
          
          on(idTemp, function(dp) {
             temp = dp.state.val;
          });
          
          on({id: idAktor, ack: true}, function(dp) {
             aktor = dp.state.val;
             if(aktor) {
                minOn = true;
                setTimeout(function() {minOn = false;}, 1800000);  // 30 Minuten
             }
          }); 
          

          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
          • rantanplanR Offline
            rantanplanR Offline
            rantanplan
            wrote on last edited by
            #7

            Hallo noxx

            Hier mal eine Möglichkeit für Mittags in Blockly.
            147_mittags.png

            Grüße

            Rantanplan

            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

            1 Reply Last reply
            0
            • N Offline
              N Offline
              noxx
              wrote on last edited by
              #8

              danke…

              @paul53

              um 8:00 ist die Pumpe angegangen, aber auch kurz nach 12:00. Temperatur ist

              aber unter 25°C

              die anderen teste ich dann auch noch

              1 Reply Last reply
              0
              • rantanplanR Offline
                rantanplanR Offline
                rantanplan
                wrote on last edited by
                #9

                @noxx:

                die anderen teste ich dann auch noch `
                Gibt es schon ein Ergebnis?

                Rantanplan

                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                1 Reply Last reply
                0
                • N Offline
                  N Offline
                  noxx
                  wrote on last edited by
                  #10

                  noch nicht, sorry. ich war heute den ganzen Tag erfolglos damit

                  beschäftigt ESPeasy am laufen zu bekommen.

                  Ich werde deinen Blockly auf jeden Falls noch testen und etwas

                  rumspielen damit…

                  trotzdem eine Frage zum Digramm: Schaltet die Pumpe immer nach 30 Minuten ab?

                  30 Min sollte die Mindestlaufzeit sein. Bin jetzt nicht sicher ob es das macht (ungetestet).

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

                    @noxx:

                    Frage zum Digramm: Schaltet die Pumpe immer nach 30 Minuten ab? `
                    In dem Blockly-Beispiel: Ja.

                    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
                    • rantanplanR Offline
                      rantanplanR Offline
                      rantanplan
                      wrote on last edited by
                      #12

                      @noxx:

                      trotzdem eine Frage zum Digramm: Schaltet die Pumpe immer nach 30 Minuten ab? `

                      Wie paul53 bereits geschrieben hat, Ja.

                      Wenn die Bedingungen weiter erfüllt werden, schaltet sich die Pumpe aber nach einer Minute wieder für 30 Min. ein.

                      Grüße

                      Rantanplan

                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                      1 Reply Last reply
                      0
                      • N Offline
                        N Offline
                        noxx
                        wrote on last edited by
                        #13

                        ok, hatte ich mir fast gedacht.

                        ich probiere es mal aus. evtl macht es mehr sinn, sofern

                        man keine Mindestlaufzeit definieren kann, auf

                        WENN (ZWISCHEN 12:00 und 17:00) UND (T>25,0) PUMPE AN

                        WENN (ZWISCHEN 12:00 und 17:00) UND (T<24,5) PUMPE AUS

                        anzupassen. Ich probiere es mal aus…

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

                          @noxx:

                          …sofern man keine Mindestlaufzeit definieren kann `
                          Kann man (siehe mein 2. Skript).

                             } else if(aktor && !minOn) setState(idAktor, false);
                          

                          schaltet nur aus, wenn der Aktor "Ein" und die Mindestlaufzeit (minOn) bereits abgelaufen ist.

                          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
                          • rantanplanR Offline
                            rantanplanR Offline
                            rantanplan
                            wrote on last edited by
                            #15

                            @paul53:

                            @noxx:

                            …sofern man keine Mindestlaufzeit definieren kann `
                            Kann man (siehe mein 2. Skript).

                               } else if(aktor && !minOn) setState(idAktor, false);
                            

                            schaltet nur aus, wenn der Aktor "Ein" und die Mindestlaufzeit (minOn) bereits abgelaufen ist. `
                            Ginge auch in Blockly ;)

                            Das Thema lautet doch "wie EINFACHE Zeitschaltung" :D

                            Und möchte noxx ein fertiges Script von uns oder möchte er auch noch etwas tun? ;)

                            Liebe Grüße

                            Rantanplan

                            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                            1 Reply Last reply
                            0
                            • N Offline
                              N Offline
                              noxx
                              wrote on last edited by
                              #16

                              Schon gut :-)

                              Ich werde es mal versuchen…

                              Gruß

                              Gesendet von meinem GT-I9195 mit Tapatalk

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                Master77
                                wrote on last edited by
                                #17

                                Hallo zusammen….

                                Ich hoffe für noxx ist es OK wenn ich mich mal mit in das Thema einklinken da ich ebenfalls auf der Suche nach einer ganz einfachen Zeitschaltuhr bin. Befasse mich erst seit kurzem mit IoBroker und allem was dazu gehört. Bisher habe ich auch schon einiges hin bekommen. Woran ich jedoch verzweifel ist Java Skript und Blockly. Ich bin jetzt schon ein paar Tage an dem Thema und bekomme es einfach nicht hin. Ich habe die Blocks wie ich der Meinung war wie sie richtig zusammen gesetzt werden abgespeichert und in Vis habe ich das Skript dann dem entsprechenden Schalter zugewiesen. Ohne Erfolg. Kann sich das mal einer von euch anschauen? Es geht um eine Pumpe die zwischen 10.00 Uhr und 18.00 laufen soll. Wenn ich sie von Hand vorher anschalte, soll sie an bleiben in dem vorgegebenen Zeitraum und dann aus gehen. Der letzte Versuch sah wie folgt aus. Danke im voraus für eure Hilfe.~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201707 ... 3ebc4a.jpg">https://uploads.tapatalk-cdn.com/20170706/17cd392fdb0c032cd924fcc3833ebc4a.jpg</link_text>" />

                                Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk~~

                                1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  dna909
                                  wrote on last edited by
                                  #18

                                  @Master77:

                                  Hallo zusammen….

                                  Ich hoffe für noxx ist es OK wenn ich mich mal mit in das Thema einklinken da ich ebenfalls auf der Suche nach einer ganz einfachen Zeitschaltuhr bin. Befasse mich erst seit kurzem mit IoBroker und allem was dazu gehört. Bisher habe ich auch schon einiges hin bekommen. Woran ich jedoch verzweifel ist Java Skript und Blockly. Ich bin jetzt schon ein paar Tage an dem Thema und bekomme es einfach nicht hin. Ich habe die Blocks wie ich der Meinung war wie sie richtig zusammen gesetzt werden abgespeichert und in Vis habe ich das Skript dann dem entsprechenden Schalter zugewiesen. Ohne Erfolg. Kann sich das mal einer von euch anschauen? Es geht um eine Pumpe die zwischen 10.00 Uhr und 18.00 laufen soll. Wenn ich sie von Hand vorher anschalte, soll sie an bleiben in dem vorgegebenen Zeitraum und dann aus gehen. Der letzte Versuch sah wie folgt aus. Danke im voraus für eure Hilfe.~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201707 ... 3ebc4a.jpg">https://uploads.tapatalk-cdn.com/20170706/17cd392fdb0c032cd924fcc3833ebc4a.jpg</link_text>" />

                                  Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk~~ ` ~~Dein Trigger macht keinen Sinn. Benutze dafür den Zeitplan und lasse das in bestimmten Intervallen ausführen.

                                  MfG

                                  dna909~~

                                  Intel NUC7PJYH mit Proxmox, Odroid U2, CCU2, Philips Hue, ESP8266, Xiaomi Robot, Google Chromecast Audio, Instar 6012HD, Bosch HNG6764S6

                                  1 Reply Last reply
                                  0
                                  • M Offline
                                    M Offline
                                    Master77
                                    wrote on last edited by
                                    #19

                                    Hallo

                                    Kannst du mir bei der Zusammenstellung der Blöcke behilflich sein? Wie gesagt, ich tue mich noch ein wenig schwer damit….

                                    Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk

                                    1 Reply Last reply
                                    0
                                    • D Offline
                                      D Offline
                                      dna909
                                      wrote on last edited by
                                      #20

                                      @Master77:

                                      Hallo

                                      Kannst du mir bei der Zusammenstellung der Blöcke behilflich sein? Wie gesagt, ich tue mich noch ein wenig schwer damit….

                                      Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk `

                                      Probiers mal so, Datenpunkte musst Du natürlich anpassen:
                                      2269_unbenannt2.png

                                      Intel NUC7PJYH mit Proxmox, Odroid U2, CCU2, Philips Hue, ESP8266, Xiaomi Robot, Google Chromecast Audio, Instar 6012HD, Bosch HNG6764S6

                                      1 Reply Last reply
                                      0
                                      • M Offline
                                        M Offline
                                        Master77
                                        wrote on last edited by
                                        #21

                                        Vielen Dank. Werde ich nachher direkt mal testen und dann berichten.

                                        Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk

                                        1 Reply Last reply
                                        0
                                        • lobomauL Offline
                                          lobomauL Offline
                                          lobomau
                                          wrote on last edited by
                                          #22

                                          @dna909:

                                          @Master77:

                                          Hallo zusammen….

                                          Ich hoffe für noxx ist es OK wenn ich mich mal mit in das Thema einklinken da ich ebenfalls auf der Suche nach einer ganz einfachen Zeitschaltuhr bin. Befasse mich erst seit kurzem mit IoBroker und allem was dazu gehört. Bisher habe ich auch schon einiges hin bekommen. Woran ich jedoch verzweifel ist Java Skript und Blockly. Ich bin jetzt schon ein paar Tage an dem Thema und bekomme es einfach nicht hin. Ich habe die Blocks wie ich der Meinung war wie sie richtig zusammen gesetzt werden abgespeichert und in Vis habe ich das Skript dann dem entsprechenden Schalter zugewiesen. Ohne Erfolg. Kann sich das mal einer von euch anschauen? Es geht um eine Pumpe die zwischen 10.00 Uhr und 18.00 laufen soll. Wenn ich sie von Hand vorher anschalte, soll sie an bleiben in dem vorgegebenen Zeitraum und dann aus gehen. Der letzte Versuch sah wie folgt aus. Danke im voraus für eure Hilfe.~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201707 ... 3ebc4a.jpg">https://uploads.tapatalk-cdn.com/20170706/17cd392fdb0c032cd924fcc3833ebc4a.jpg</link_text>" />

                                          Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk~~ ` ~~Dein Trigger macht keinen Sinn. Benutze dafür den Zeitplan und lasse das in bestimmten Intervallen ausführen.

                                          MfG

                                          dna909~~ ` ~~Stimmt. Dein Trigger macht keinen Sinn.

                                          Das Bespiel von dna909 konnte ich nicht ganz nachvollziehen, deswegen nochmal eine andere Möglichkeit, falls die nicht laufen sollte.

                                          Ich würde einfach um 18 Uhr prüfen ob die Pumpe aus ist -> dann einschalten; und um 18 Uhr prüfen ob sie läuft -> dann ausschalten.

                                          Zusätzlich soll man die Pumpe zwischen 10 und 18 Uhr nicht ausschalten dürfen, d.h. sie schaltet immer in diesem Zeitraum an, falls man sie (aus Versehen) ausschaltet:

                                          EDIT: in dem Beispiel würde die Pumpe nach 18 Uhr natürlich durchlaufen bis 18 Uhr, es sei denn man schaltet sie aus, wenn es nicht zw. 10 und 18 Uhr ist. Also das könnte man noch abfangen.

                                          1146_unbenannt.jpg

                                          Blockly Code:

                                          ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                                          ! <block type="schedule" id="tg]HB5dw=O)Y:ThO4e_i" x="138" y="87"><field name="SCHEDULE">0 10 * * </field>
                                          ! <statement name="STATEMENT"><block type="controls_if" id=";B4MZTZs)?584%[:Hrqz"><value name="IF0"><block type="logic_compare" id="ITMwFh
                                          CL{+8I-gxdeL#"><field name="OP">EQ</field>
                                          ! <value name="A"><block type="get_value" id="QWkcfS0Xt@1-|4JX`p~"><field name="ATTR">val</field>
                                          ! <field name="OID">hm-rpc.0.LEQ0183615.1.STATE</field></block></value>
                                          ! <value name="B"><block type="logic_boolean" id="M
                                          ]/5X28i)cB-xKzvxc"><field name="BOOL">FALSE</field></block></value></block></value>
                                          ! <statement name="DO0"><block type="control" id="b^mJ2E#@h%pv#=P2(uF7"><mutation delay_input="false"></mutation>
                                          ! <field name="OID">hm-rpc.0.LEQ0183615.1.STATE</field>
                                          ! <field name="WITH_DELAY">FALSE</field>
                                          ! <value name="VALUE"><block type="logic_boolean" id="%^|XcteMCnsJ{F`o,GXW"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement>
                                          ! <next><block type="schedule" id="%3w-`2Y;EBEk6OQf6Fz-"><field name="SCHEDULE">0 18 * * </field>
                                          ! <statement name="STATEMENT"><block type="controls_if" id="[RrY9:vooU9Cq_e#^lYp"><value name="IF0"><block type="logic_compare" id="T2bO8;w3zS%)kcp@;c3"><field name="OP">EQ</field>
                                          ! <value name="A"><block type="get_value" id="xNh)O:FOtk;Sj1J.hMtF"><field name="ATTR">val</field>
                                          ! <field name="OID">hm-rpc.0.LEQ0183615.1.STATE</field></block></value>
                                          ! <value name="B"><block type="logic_boolean" id="mS8TX!w
                                          ~7)tL_BP7k)"><field name="BOOL">TRUE</field></block></value></block></value>
                                          ! <statement name="DO0"><block type="control" id=")5cv|.F`1aAqM~f%b=#"><mutation delay_input="false"></mutation>
                                          ! <field name="OID">hm-rpc.0.LEQ0183615.1.STATE</field>
                                          ! <field name="WITH_DELAY">FALSE</field>
                                          ! <value name="VALUE"><block type="logic_boolean" id="ko+r3aF|nR;DCl8rp4Ym"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement>
                                          ! <next><block type="on_ext" id="*cI4N9R^w+
                                          `a.=0vBjR"><mutation items="1"></mutation>
                                          ! <field name="CONDITION">ne</field>
                                          ! <value name="OID0"><shadow type="field_oid" id="#juxne4;52U=J:ZC-Kj."><field name="oid">hm-rpc.0.LEQ0183615.1.STATE</field></shadow></value>
                                          ! <statement name="STATEMENT"><block type="controls_if" id="+]3bM6JXd`/AqQ.b[6DZ"><value name="IF0"><block type="logic_operation" id="A!k=5mNd;.)Kq-T,WChz" inline="false"><field name="OP">AND</field>
                                          ! <value name="A"><block type="time_compare" id="c!`3#wtN8Bm.my7i+vD)"><mutation end_time="true"></mutation>
                                          ! <field name="OPTION">between</field>
                                          ! <field name="START_TIME">10:00</field>
                                          ! <field name="END_TIME">18:00</field></block></value>
                                          ! <value name="B"><block type="logic_compare" id="7nX3f[f)M%Q#/PZn}Q-1"><field name="OP">EQ</field>
                                          ! <value name="A"><block type="get_value" id="^x-kBOauN;)6es6aHrU_"><field name="ATTR">val</field>
                                          ! <field name="OID">hm-rpc.0.LEQ0183615.1.STATE</field></block></value>
                                          ! <value name="B"><block type="logic_boolean" id="mAY
                                          ^v?7W%l[6?OQ6to1"><field name="BOOL">FALSE</field></block></value></block></value></block></value>
                                          ! <statement name="DO0"><block type="control" id="x:m~n]#dINvw4:Ym.uag"><mutation delay_input="false"></mutation>
                                          ! <field name="OID">hm-rpc.0.LEQ0183615.1.STATE</field>
                                          ! <field name="WITH_DELAY">FALSE</field>
                                          ! <value name="VALUE"><block type="logic_boolean" id="HX[U9~bgI?14H|/yEs2^"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></next></block></xml>~~

                                          Host: NUC8i3 mit Proxmox:

                                          • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                                          • Slave: Pi4
                                          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

                                          789

                                          Online

                                          32.4k

                                          Users

                                          81.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