Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wie einfache Zeitschaltung?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wie einfache Zeitschaltung?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators last edited by

      Ich verstehe dein scenario nicht ganz machbar ist das auf jedenfall mit blockly….

      Also Steckdose soll an in 2 Zeiträumen aber nur wen Temperatur?

      Was für Geräte/Sensoren hast du?

      Kriegen bwir schon hin !

      ~Dutch


      Send from mobile device

      1 Reply Last reply Reply Quote 0
      • N
        noxx last edited by

        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 Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          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 Reply Quote 0
          • paul53
            paul53 last edited by

            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();
            }); 
            
            
            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              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
                 }
              }); 
              
              1 Reply Last reply Reply Quote 0
              • rantanplan
                rantanplan last edited by

                Hallo noxx

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

                Grüße

                1 Reply Last reply Reply Quote 0
                • N
                  noxx last edited by

                  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 Reply Quote 0
                  • rantanplan
                    rantanplan last edited by

                    @noxx:

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

                    1 Reply Last reply Reply Quote 0
                    • N
                      noxx last edited by

                      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 Reply Quote 0
                      • paul53
                        paul53 last edited by

                        @noxx:

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

                        1 Reply Last reply Reply Quote 0
                        • rantanplan
                          rantanplan last edited by

                          @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

                          1 Reply Last reply Reply Quote 0
                          • N
                            noxx last edited by

                            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 Reply Quote 0
                            • paul53
                              paul53 last edited by

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

                              1 Reply Last reply Reply Quote 0
                              • rantanplan
                                rantanplan last edited by

                                @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" 😄

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

                                Liebe Grüße

                                1 Reply Last reply Reply Quote 0
                                • N
                                  noxx last edited by

                                  Schon gut 🙂

                                  Ich werde es mal versuchen…

                                  Gruß

                                  Gesendet von meinem GT-I9195 mit Tapatalk

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Master77 last edited by

                                    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 Reply Quote 0
                                    • D
                                      dna909 last edited by

                                      @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~~

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Master77 last edited by

                                        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 Reply Quote 0
                                        • D
                                          dna909 last edited by

                                          @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

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            Master77 last edited by

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

                                            Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            883
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            34
                                            8752
                                            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