Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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.8k

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

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

Wie einfache Zeitschaltung?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
34 Beiträge 7 Kommentatoren 9.1k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • rantanplanR Online
    rantanplanR Online
    rantanplan
    schrieb am zuletzt editiert von
    #24

    So wie lobomau das gemacht hat geht es natürlich auch.

    (ist aber etwas umständlicher)

    Viele Wege führen nach Rom.

    Grüße

    Rantanplan

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

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Master77
      schrieb am zuletzt editiert von
      #25

      Vielen Dank für die hilfreichen Tipps und die zusammengestellten Skripte. Wie gesagt, ich bin gerade erst am Anfang mit IoBroker. Habe bereits einiges hin bekommen, nur die Sache mit Blockly macht mir zu schaffen. Nachdem ich eure Zusammenstellung sehe kommt langsam Licht ins Dunkel. Werde die ganze Sache mal testen und dann wie gesagt sofort berichten. Nochmals vielen Dank…..

      Gruß Markus

      Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        noxx
        schrieb am zuletzt editiert von
        #26

        @paul53:

        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
           }
        }); 
        ```` `  
        

        Hallo,

        bin gerade zufällig zuhause und sehe das die Pumpe läuft.

        fritzdect.0	2017-07-07 13:08:02.327	info	polling! fritzdect is alive
        fritzdect.0	2017-07-07 13:06:00.916	info	Turned switch 087610163304 on
        fritzdect.0	2017-07-07 13:06:00.157	info	SWITCH ID: 087610163304 identified for command
        fritzdect.0	2017-07-07 13:03:02.314	info	polling! fritzdect is alive
        fritzdect.0	2017-07-07 13:03:00.920	info	Turned switch 087610163304 off
        fritzdect.0	2017-07-07 13:03:00.158	info	SWITCH ID: 087610163304 identified for command
        fritzdect.0	2017-07-07 13:02:00.921	info	Turned switch 087610163304 off
        fritzdect.0	2017-07-07 13:02:00.157	info	SWITCH ID: 087610163304 identified for command
        fritzdect.0	2017-07-07 13:00:01.320	info	Turned switch 087610163304 off
        fritzdect.0	2017-07-07 13:00:00.166	info	SWITCH ID: 087610163304 identified for command
        fritzdect.0	2017-07-07 12:59:00.905	info	Turned switch 087610163304 off
        fritzdect.0	2017-07-07 12:59:00.156	info	SWITCH ID: 087610163304 identified for command
        fritzdect.0	2017-07-07 12:58:02.307	info	polling! fritzdect is alive
        fritzdect.0	2017-07-07 12:58:00.912	info	Turned switch 087610163304 on
        fritzdect.0	2017-07-07 12:58:00.156	info	SWITCH ID: 087610163304 identified for command
        fritzdect.0	2017-07-07 12:57:01.332	info	Turned switch 087610163304 on
        fritzdect.0	2017-07-07 12:57:00.155	info	SWITCH ID: 087610163304 identified for command
        fritzdect.0	2017-07-07 12:56:00.925	info	Turned switch 087610163304 on
        fritzdect.0	2017-07-07 12:56:00.156	info	SWITCH ID: 087610163304 identified for command
        fritzdect.0	2017-07-07 12:55:00.915	info	Turned switch 087610163304 on
        fritzdect.0	2017-07-07 12:55:00.155	info	SWITCH ID: 087610163304 identified for command
        

        ID der Temp Sensors:

        rflink.0.channels.Cresta_1.TEMP

        Aktuell 23,2°. Normal dürfte die doch nicht angehen, oder?
        2880_1.png

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #27

          @noxx:

          Aktuell 23,2°. Normal dürfte die doch nicht angehen, oder? `
          War es vielleicht zwischen 12:45 und 13:00 mal über 25 °C und die Pumpe läuft noch aufgrund der Mindestlaufzeit ?

          Um zu sehen, was wann passiert, helfen zum Testen ein par Logs, z.B. am Ende der Funktion Zeitschaltung

              log('morgen: ' + morgen + ', mittag: ' + mittag + ', Temperatur: ' + temp + ', abend: ' + abend + ', Mindestlaufzeit: ' + minOn);
          

          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 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            noxx
            schrieb am zuletzt editiert von
            #28

            Nein, habe gerade Pumpe ausgeschaltet und nun ist die wieder

            an

            fritzdect.0	2017-07-07 14:43:02.520	info	polling! fritzdect is alive
            fritzdect.0	2017-07-07 14:40:01.339	info	Turned switch 087610163304 on
            fritzdect.0	2017-07-07 14:40:00.157	info	SWITCH ID: 087610163304 identified for command
            fritzdect.0	2017-07-07 14:38:02.509	info	polling! fritzdect is alive
            fritzdect.0	2017-07-07 14:36:00.924	info	Turned switch 087610163304 off
            fritzdect.0	2017-07-07 14:36:00.156	info	SWITCH ID: 087610163304 identified for command
            fritzdect.0	2017-07-07 14:35:00.923	info	Turned switch 087610163304 off
            fritzdect.0	2017-07-07 14:35:00.157	info	SWITCH ID: 087610163304 identified for command
            fritzdect.0	2017-07-07 14:34:01.457	info	Turned switch 087610163304 off
            fritzdect.0	2017-07-07 14:34:00.156	info	SWITCH ID: 087610163304 identified for command
            fritzdect.0	2017-07-07 14:33:02.500	info	polling! fritzdect is alive
            fritzdect.0	2017-07-07 14:32:00.935	info	Turned switch 087610163304 on
            fritzdect.0	2017-07-07 14:32:00.158	info	SWITCH ID: 087610163304 identified for command
            fritzdect.0	2017-07-07 14:31:00.954	info	Turned switch 087610163304 on
            fritzdect.0	2017-07-07 14:31:00.158	info	SWITCH ID: 087610163304 identified for command
            fritzdect.0	2017-07-07 14:30:00.933	info	Turned switch 087610163304 on
            fritzdect.0	2017-07-07 14:30:00.156	info	SWITCH ID: 087610163304 identified for command
            

            Beim LOG gibts nen Fehler

            14:45:06.350	[info]	javascript.0 Stop script script.js.common.PoolPumpe
            14:45:06.389	[info]	javascript.0 Start javascript script.js.common.PoolPumpe
            14:45:06.391	[error]	javascript.0 script.js.common.PoolPumpe: ReferenceError: morgen is not defined at script.js.common.PoolPumpe:29:18 at ContextifyScript.Script.runInContext (vm.js:35:29)
            
            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;
            
            schedule('* * * * *', function() {  // jede Minute
               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);
            });
            
            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
               }
            }); 
            
            log('morgen: ' + morgen + ', mittag: ' + mittag + ', Temperatur: ' + temp + ', abend: ' + abend + ', Mindestlaufzeit: ' + minOn);
            

            EDIT

            Sehe gerade, das die Temp Anzeige manchmal auf 26°C springt, warum auch immer. Na wird wohl der "Fehler" liegen. Evtl

            empfange ich auf dem selben Kanal auch einen Sensor vom Nachbarn….

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #29

              Am Ende des Skripts wird das Log nur einmal bei Skriptstart ausgeführt. Richtig:

              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;
              
              schedule('* * * * *', function() {  // jede Minute
                 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);
                 log('morgen: ' + morgen + ', mittag: ' + mittag + ', Temperatur: ' + temp + ', abend: ' + abend + ', Mindestlaufzeit: ' + minOn);
              });
              
              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
                 }
              });
              
              

              Dann kommt auch die Fehlermeldung nicht, denn die Variable morgen ist lokal innerhalb der Funktion.

              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 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                Master77
                schrieb am zuletzt editiert von
                #30

                Hallo zusammen. Habe am Wochenende wieder ein wenig Zeit zum bastel und ausprobieren gehabt. Das Skript von dna909 funktioniert super. Habe nur noch eine Frage dazu. Wenn ich bei laufender Zeitschaltuhr das Bauteil aus der Reihe schalte ( Zeitschaltuhr Statur Bauteil aus und ich schalte per Schalter in Vis das Bauteil an) ändert die Zeitschaltuhr das relativ schnell wieder. Kann man diese Zeitspanne nicht ein wenig verlängern? Habe schon versucht bei Blocky unter Zeitplan auf alle zwei Stunden zu ändern. Hatte gedacht das durch diese Einstellung der Status der Zeitschaltuhr alle zwei Stunden geprüft wird. Ist dem nicht so? Danke im voraus für eure Hilfe. Im Anhang nochmal das Blocky Diagramm.

                Gruß Markus

                Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk
                2754_screenshot_20170710-220715.png

                1 Antwort Letzte Antwort
                0
                • rantanplanR Online
                  rantanplanR Online
                  rantanplan
                  schrieb am zuletzt editiert von
                  #31

                  @Master77:

                  Hallo zusammen. Habe am Wochenende wieder ein wenig Zeit zum bastel und ausprobieren gehabt. Das Skript von dna909 funktioniert super. Habe nur noch eine Frage dazu. Wenn ich bei laufender Zeitschaltuhr das Bauteil aus der Reihe schalte ( Zeitschaltuhr Statur Bauteil aus und ich schalte per Schalter in Vis das Bauteil an) ändert die Zeitschaltuhr das relativ schnell wieder. Kann man diese Zeitspanne nicht ein wenig verlängern? Habe schon versucht bei Blocky unter Zeitplan auf alle zwei Stunden zu ändern. Hatte gedacht das durch diese Einstellung der Status der Zeitschaltuhr alle zwei Stunden geprüft wird. Ist dem nicht so? Danke im voraus für eure Hilfe. Im Anhang nochmal das Blocky Diagramm. `
                  Hallo Master77

                  Bilder bitte NIE als Link sondern als ".png" hier einbetten.

                  Ich konnte mir Dein Bild also nicht genau anschauen.

                  Bitte Deinen Beitrag editieren und Screenshot ändern.

                  Grundsätzlich ist es schwierig in eine automatik manuell einzugreifen.

                  Woher soll das Script den wissen, dass Du etwas manuell geändert hast?

                  Das würde nur über eine zusätzliche Variable gehen.

                  Grüße

                  Rantanplan

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

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Master77
                    schrieb am zuletzt editiert von
                    #32

                    Hallo. Habe den Beitrag nochmal editiert. Durch den Zeitplan kann man doch einen Intervall angeben in dem die Zeitschaltuhr prüft ob der Status der gegeben sein muss aus stimmt. Beispielsweise wenn ich die Pumpe manuelle um 19 Uhr nochmal anschalte die Zeitschaltuhr aber erst nach einer vorgegebenen Zeit den Status erneut prüft. Hatte gedacht das geht in dem abgebildeten Zeitplan Blocky. So hatte ich es zumindest verstanden als ich auf die *****drauf gegangen bin. Jedoch hatte die Änderung in dem Zeitplan nicht den gewünschten Erfolg gebracht.

                    Gruß Markus

                    Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk

                    1 Antwort Letzte Antwort
                    0
                    • rantanplanR Online
                      rantanplanR Online
                      rantanplan
                      schrieb am zuletzt editiert von
                      #33

                      Hallo Master77

                      So etwas passiert wenn in einem Thread unterschiedliche Probleme bearbeitet werden.

                      In der ursprünglichen Anforderung ging es um eine Pumpe die in einem bestimmten Zeitraum für eine bestimmte Dauer läuft.

                      Dein gezeigtes Beispiel hat einen Trigger, der JEDE MINUTE startet.

                      Zwischen 18 und 24 Uhr wird die Lampe eingeschaltet WENN sie AUS ist.

                      Zu jedem anderen Zeitpunkt (sonst-Teil) wird die Lampe ausgeschaltet WENN sie AN ist.

                      Wenn Du die Lampe um 10 Uhr einschaltest, wird sie SPÄTESTENS eine Minute danach wieder ausgeschaltet.

                      Was willst Du erreichen?

                      Eventuell in einem neuen Thread mit "[FRAGE] Blockly…....." im Betreff.

                      Grüße

                      Rantanplan

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

                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        Master77
                        schrieb am zuletzt editiert von
                        #34

                        Hallo. Da es in dem ursprünglichen Beitrag ebenfalls um eine Blocky Zeitschaltuhr ging hatte ich gedacht ich klinke mich in das Thema mit ein. Wollte hier ja nicht für Unordnung sorgen. Was ich genau möchte hatte ich ja bereits geschrieben. Aus der Reihe manuell schalten und die Zeitschaltuhr soll erst nach einer Zeit x den Zustand erneut prüfen und ggf korrigieren. Nicht bereits nach 1 Minute. Werde selber noch mal versuchen die Sache auf die Kette zu bekommen. Ansonsten muss ich halt einen neuen Thread auf machen.

                        Gruß Markus

                        Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        789

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe