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. Visualisierung
  4. [Vorlage] Variable Zeitsteuerung mit VIS Editor

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    945

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

[Vorlage] Variable Zeitsteuerung mit VIS Editor

Scheduled Pinned Locked Moved Visualisierung
vistemplate
919 Posts 47 Posters 283.9k Views 75 Watching
  • 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.
  • G GiuseppeS

    @Glasfaser
    Wäre wohl ziemlich schnell integriert. Soll es tatsächlich mit dem Schlüssel debugLog kombiniert werden oder doch lieber mit stdLog? Bei debugLog hängen auch die States Änderungen für die Bedingungen.
    Bei stdLog wäre dann das Setzen / Löschen des Timers sichtbar und hiermit auch die Ausführung. Einverstanden? Bei debugLog wäre es somit auch automatisch mit drin.

    GlasfaserG Offline
    GlasfaserG Offline
    Glasfaser
    wrote on last edited by Glasfaser
    #200

    @GiuseppeS

    Boey dreimal von mir durchgelesen und nicht verstanden was du schreibst bzw. meinst :face_with_rolling_eyes: :cry:

    Nicht eine Zukunftsausgabe sondern eine aktuelle Schaltausgabe wenn der Schedule ( für den Rollladen ) geschaltet hat .

    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

    G 1 Reply Last reply
    0
    • GlasfaserG Glasfaser

      @GiuseppeS

      Boey dreimal von mir durchgelesen und nicht verstanden was du schreibst bzw. meinst :face_with_rolling_eyes: :cry:

      Nicht eine Zukunftsausgabe sondern eine aktuelle Schaltausgabe wenn der Schedule ( für den Rollladen ) geschaltet hat .

      G Offline
      G Offline
      GiuseppeS
      wrote on last edited by GiuseppeS
      #201

      @Glasfaser

      :laughing:

      Ok, kein Thema. Zumindest hatte ich dich richtig verstanden und habe es eben schon integriert. Upload in Post 1 ist aktualisiert.

      Wer bereits eine aktuelle Version hat kann auch nur die folgende Funktion "autoScheduler" ersetzen:

      (verändert habe ich Zeile 32 bis 35, bezogen auf unteren Code-Ausschnitt)

      // schedules werden variabel erstellt; zunächst wird gelöscht und wenn create=true wird neu erstellt
      function autoScheduler(TimerJSON, deviceName, timerNr) {
          var sollwert, tmpSollwert;
          var scheduleNr = (TimerJSON[deviceName][timerNr].DeviceNr * 10) + timerNr;
          var create = TimerJSON[deviceName][timerNr].Aktiv;
          var cronString = TimerJSON[deviceName][timerNr].Cron;
          var objID = TimerJSON[deviceName][timerNr].ObjID;
          sollwert = tmpSollwert = TimerJSON[deviceName][timerNr].Sollwert;
          // Auswertung der Bedingungen
          var conditionState = condEval(TimerJSON[deviceName][timerNr]);
          // Timer zunächst immer löschen
          (function () {
              if (cronArr[scheduleNr]) {
                  if(stdLog){console.log("Schedule für \"" + deviceName + " #" + timerNr + "\" (" + scheduleNr + ") gelöscht!");}
                  clearSchedule(cronArr[scheduleNr]); cronArr[scheduleNr] = null;
              }
              else {
                  if(debugLog){console.log("Schedule für \"" + deviceName + " #" + timerNr + "\" (" + scheduleNr + ") nicht vorhanden! Kein Löschen notwendig!");}
              }
          })();
          // Timer neu erstellen falls AKTIV == true
          if (create){
              if (conditionState){
                  // Verschiedene Mappings aus DropDown zu realen States
                  if (sollwert == "An"){sollwert = true}
                  else if (sollwert == "Aus"){sollwert = false}
                  else if (sollwert == "Auf"){sollwert = 100}
                  else if (sollwert == "Ab"){sollwert = 0}
                  else (sollwert = parseInt(sollwert));
                  if(debugLog){console.log("Schedule für \"" + deviceName + " #" + timerNr + "\" erstellen:");}
                  if(stdLog){console.log("Schedule \"" + deviceName + " #" + timerNr + "\": " + scheduleNr + " | " + cronString + " | " + objID + " | " + sollwert);}
                  if(stdLog){            
                      cronArr[scheduleNr] = schedule(cronString, function(){ setState(objID, sollwert); console.log("Timer: " + deviceName + " (" + tmpSollwert + ")")});
                  } else {
                      cronArr[scheduleNr] = schedule(cronString, function(){ setState(objID, sollwert); });
                  }
              }
              else {
                  if(debugLog){console.log("Schedule für \"" + deviceName + " #" + timerNr + "\" (" + scheduleNr + ") nicht erstellt: Bedingung(en) nicht erfüllt!");}
              }
          }
          return conditionState;
      }
      

      Log-Ausgabe erfolgt wenn entweder die Variable stdLog oder debugLog auf "true" gesetzt ist. (Default: stdLog = true)

      GlasfaserG 1 Reply Last reply
      1
      • G GiuseppeS

        @Glasfaser

        :laughing:

        Ok, kein Thema. Zumindest hatte ich dich richtig verstanden und habe es eben schon integriert. Upload in Post 1 ist aktualisiert.

        Wer bereits eine aktuelle Version hat kann auch nur die folgende Funktion "autoScheduler" ersetzen:

        (verändert habe ich Zeile 32 bis 35, bezogen auf unteren Code-Ausschnitt)

        // schedules werden variabel erstellt; zunächst wird gelöscht und wenn create=true wird neu erstellt
        function autoScheduler(TimerJSON, deviceName, timerNr) {
            var sollwert, tmpSollwert;
            var scheduleNr = (TimerJSON[deviceName][timerNr].DeviceNr * 10) + timerNr;
            var create = TimerJSON[deviceName][timerNr].Aktiv;
            var cronString = TimerJSON[deviceName][timerNr].Cron;
            var objID = TimerJSON[deviceName][timerNr].ObjID;
            sollwert = tmpSollwert = TimerJSON[deviceName][timerNr].Sollwert;
            // Auswertung der Bedingungen
            var conditionState = condEval(TimerJSON[deviceName][timerNr]);
            // Timer zunächst immer löschen
            (function () {
                if (cronArr[scheduleNr]) {
                    if(stdLog){console.log("Schedule für \"" + deviceName + " #" + timerNr + "\" (" + scheduleNr + ") gelöscht!");}
                    clearSchedule(cronArr[scheduleNr]); cronArr[scheduleNr] = null;
                }
                else {
                    if(debugLog){console.log("Schedule für \"" + deviceName + " #" + timerNr + "\" (" + scheduleNr + ") nicht vorhanden! Kein Löschen notwendig!");}
                }
            })();
            // Timer neu erstellen falls AKTIV == true
            if (create){
                if (conditionState){
                    // Verschiedene Mappings aus DropDown zu realen States
                    if (sollwert == "An"){sollwert = true}
                    else if (sollwert == "Aus"){sollwert = false}
                    else if (sollwert == "Auf"){sollwert = 100}
                    else if (sollwert == "Ab"){sollwert = 0}
                    else (sollwert = parseInt(sollwert));
                    if(debugLog){console.log("Schedule für \"" + deviceName + " #" + timerNr + "\" erstellen:");}
                    if(stdLog){console.log("Schedule \"" + deviceName + " #" + timerNr + "\": " + scheduleNr + " | " + cronString + " | " + objID + " | " + sollwert);}
                    if(stdLog){            
                        cronArr[scheduleNr] = schedule(cronString, function(){ setState(objID, sollwert); console.log("Timer: " + deviceName + " (" + tmpSollwert + ")")});
                    } else {
                        cronArr[scheduleNr] = schedule(cronString, function(){ setState(objID, sollwert); });
                    }
                }
                else {
                    if(debugLog){console.log("Schedule für \"" + deviceName + " #" + timerNr + "\" (" + scheduleNr + ") nicht erstellt: Bedingung(en) nicht erfüllt!");}
                }
            }
            return conditionState;
        }
        

        Log-Ausgabe erfolgt wenn entweder die Variable stdLog oder debugLog auf "true" gesetzt ist. (Default: stdLog = true)

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        wrote on last edited by
        #202

        @GiuseppeS

        Top , DANKE :+1:

        Timer zum Test erstellt :

        1.JPG

        Ausgabe bei der Uhrzeit :

        2.JPG

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        1 Reply Last reply
        0
        • GlasfaserG Glasfaser

          @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

          ... Ich sehe diese Version als Final an, da ich keine weiteren Ideen für Optimierungen habe.

          Da wäre ich mir nicht so sicher :sunglasses: , mir fällt schon was ein :thinking_face:

          GlasfaserG Offline
          GlasfaserG Offline
          Glasfaser
          wrote on last edited by
          #203

          @Glasfaser sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

          @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

          ... Ich sehe diese Version als Final an, da ich keine weiteren Ideen für Optimierungen habe.

          Da wäre ich mir nicht so sicher :sunglasses: , mir fällt schon was ein :thinking_face:

          @GiuseppeS

          Da gibt es immer nützliche Updates die man findet :blush:

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          G 1 Reply Last reply
          0
          • GlasfaserG Glasfaser

            @Glasfaser sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

            @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

            ... Ich sehe diese Version als Final an, da ich keine weiteren Ideen für Optimierungen habe.

            Da wäre ich mir nicht so sicher :sunglasses: , mir fällt schon was ein :thinking_face:

            @GiuseppeS

            Da gibt es immer nützliche Updates die man findet :blush:

            G Offline
            G Offline
            GiuseppeS
            wrote on last edited by
            #204

            @Glasfaser
            :rolling_on_the_floor_laughing:
            Da habe ich die Kreativität anderer User unterschätzt :+1:

            GlasfaserG 1 Reply Last reply
            0
            • G GiuseppeS

              @Glasfaser
              :rolling_on_the_floor_laughing:
              Da habe ich die Kreativität anderer User unterschätzt :+1:

              GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              wrote on last edited by Glasfaser
              #205

              @GiuseppeS

              So , habe es auf @Mic Skript angepasst , damit es in meinen Logs gefiltert wird.
              Mic : Log-Datei aufbereiten für VIS

              Ergebnis ::+1:

              1.JPG

              .
              ToDo , wie es gemacht wird :

              Text Timer:

              4.JPG

              auf meinen Filterwert +++ geändert

              2.JPG

              Skriptanpassung im Log Skript von @Mic

              6.JPG

              5.JPG

              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

              GlasfaserG 1 Reply Last reply
              1
              • GlasfaserG Glasfaser

                @GiuseppeS

                So , habe es auf @Mic Skript angepasst , damit es in meinen Logs gefiltert wird.
                Mic : Log-Datei aufbereiten für VIS

                Ergebnis ::+1:

                1.JPG

                .
                ToDo , wie es gemacht wird :

                Text Timer:

                4.JPG

                auf meinen Filterwert +++ geändert

                2.JPG

                Skriptanpassung im Log Skript von @Mic

                6.JPG

                5.JPG

                GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                wrote on last edited by Glasfaser
                #206

                @GiuseppeS

                Was mir noch einfällt , was ich immer selber geändert habe , ist die Minuten Auswahl im Edit PopUP.

                Vielleicht eine Anregung es zu ändern , da nicht so viele wissen wie es geht bzw. nicht mit den 5 Minuten Schritten gebunden sind !?

                8.jpg

                [{"tpl":"tplJquiSelectList","data":{"oid":"javascript.0.Timer.Devices.Editor.Min","g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"manuell","visibility-groups-action":"hide","values":"00;01;02;03;04;05;06;07;08;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59","texts":"00;01;02;03;04;05;06;07;08;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59","height":"100","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":true,"class":"mdui-select noSwipe","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"visibility-oid":"javascript.0.Timer.RollladenOG.Editor.DropDownAstro","name":"manuellMin"},"style":{"left":"247px","top":"143px","height":"39px","width":"52px","z-index":"10"},"widgetSet":"jqui"}]
                


                Deine Vorlage mit 5 Minuten schritten :

                9.jpg

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                G 1 Reply Last reply
                0
                • GlasfaserG Glasfaser

                  @GiuseppeS

                  Was mir noch einfällt , was ich immer selber geändert habe , ist die Minuten Auswahl im Edit PopUP.

                  Vielleicht eine Anregung es zu ändern , da nicht so viele wissen wie es geht bzw. nicht mit den 5 Minuten Schritten gebunden sind !?

                  8.jpg

                  [{"tpl":"tplJquiSelectList","data":{"oid":"javascript.0.Timer.Devices.Editor.Min","g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"manuell","visibility-groups-action":"hide","values":"00;01;02;03;04;05;06;07;08;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59","texts":"00;01;02;03;04;05;06;07;08;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59","height":"100","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":true,"class":"mdui-select noSwipe","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"visibility-oid":"javascript.0.Timer.RollladenOG.Editor.DropDownAstro","name":"manuellMin"},"style":{"left":"247px","top":"143px","height":"39px","width":"52px","z-index":"10"},"widgetSet":"jqui"}]
                  


                  Deine Vorlage mit 5 Minuten schritten :

                  9.jpg

                  G Offline
                  G Offline
                  GiuseppeS
                  wrote on last edited by GiuseppeS
                  #207

                  @Glasfaser
                  Ja, das ist eine Sache die ich manchmal vermisse. Hatte versucht ein Kompromiss zu finden, das eine gewisse Auswahl erfüllt aber wo man nicht ewig scrollen muss.

                  Zwei Vorschläge für die Umsetzung:

                  • eine neue Variable oben im Skript, wo die Schrittweite in Minuten FREI angegeben wird: 1 bedeutet alle 0,1,2,...,59. Eine 2 bedeutet 0,2,4,6,...,58. Für die aktuelle Auswahl müsste entsprechend eine 5 eingetragen werden.
                  • Andere Möglichkeit wäre, dass ich zukünftig das Dropdown für Offsets berücksichtige (aktuell ausgeblendet und daher unberücksichtigt). Manuelle Auswahl wäre weiterhin in 5-Minuten Schritten, aber mit Offset würde es minutiös korrigiert werden können. Vorteil hier: keine weiteren Variablen. Nachteil: noch ein Dropdown für die Einstellung der manuellen Uhrzeit relevant.

                  Welche Option wird bevorzugt?

                  GlasfaserG 1 Reply Last reply
                  0
                  • G GiuseppeS

                    @Glasfaser
                    Ja, das ist eine Sache die ich manchmal vermisse. Hatte versucht ein Kompromiss zu finden, das eine gewisse Auswahl erfüllt aber wo man nicht ewig scrollen muss.

                    Zwei Vorschläge für die Umsetzung:

                    • eine neue Variable oben im Skript, wo die Schrittweite in Minuten FREI angegeben wird: 1 bedeutet alle 0,1,2,...,59. Eine 2 bedeutet 0,2,4,6,...,58. Für die aktuelle Auswahl müsste entsprechend eine 5 eingetragen werden.
                    • Andere Möglichkeit wäre, dass ich zukünftig das Dropdown für Offsets berücksichtige (aktuell ausgeblendet und daher unberücksichtigt). Manuelle Auswahl wäre weiterhin in 5-Minuten Schritten, aber mit Offset würde es minutiös korrigiert werden können. Vorteil hier: keine weiteren Variablen. Nachteil: noch ein Dropdown für die Einstellung der manuellen Uhrzeit relevant.

                    Welche Option wird bevorzugt?

                    GlasfaserG Offline
                    GlasfaserG Offline
                    Glasfaser
                    wrote on last edited by Glasfaser
                    #208

                    @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                    @Glasfaser
                    Ja, das ist eine Sache die ich manchmal vermisse. Hatte versucht ein Kompromiss zu finden, das eine gewisse Auswahl erfüllt aber wo man nicht ewig scrollen muss.

                    Zwei Vorschläge für die Umsetzung:

                    • eine neue Variable oben im Skript, wo die Schrittweite in Minuten FREI angegeben wird: 1 bedeutet alle 0,1,2,...,59. Eine 2 bedeutet 0,2,4,6,...,58.

                    Jipp …. auf dem Handy sieht es anders aus ….:grinning: , nutze kein Handy deshalb fällt es nicht auf !

                    Dann lass doch den User mit der Auswahl "Variable" entscheiden , die Idee / Umsetzung finde ich gut :+1:

                    1 = 0 …. bis 59 Min
                    2 = 0 , 5, 10,15 …. 55 Min

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    G 1 Reply Last reply
                    0
                    • GlasfaserG Glasfaser

                      @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                      @Glasfaser
                      Ja, das ist eine Sache die ich manchmal vermisse. Hatte versucht ein Kompromiss zu finden, das eine gewisse Auswahl erfüllt aber wo man nicht ewig scrollen muss.

                      Zwei Vorschläge für die Umsetzung:

                      • eine neue Variable oben im Skript, wo die Schrittweite in Minuten FREI angegeben wird: 1 bedeutet alle 0,1,2,...,59. Eine 2 bedeutet 0,2,4,6,...,58.

                      Jipp …. auf dem Handy sieht es anders aus ….:grinning: , nutze kein Handy deshalb fällt es nicht auf !

                      Dann lass doch den User mit der Auswahl "Variable" entscheiden , die Idee / Umsetzung finde ich gut :+1:

                      1 = 0 …. bis 59 Min
                      2 = 0 , 5, 10,15 …. 55 Min

                      G Offline
                      G Offline
                      GiuseppeS
                      wrote on last edited by GiuseppeS
                      #209

                      @Glasfaser sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                      @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                      @Glasfaser
                      Ja, das ist eine Sache die ich manchmal vermisse. Hatte versucht ein Kompromiss zu finden, das eine gewisse Auswahl erfüllt aber wo man nicht ewig scrollen muss.

                      Zwei Vorschläge für die Umsetzung:

                      • eine neue Variable oben im Skript, wo die Schrittweite in Minuten FREI angegeben wird: 1 bedeutet alle 0,1,2,...,59. Eine 2 bedeutet 0,2,4,6,...,58.

                      Jipp …. auf dem Handy sieht es anders aus ….:grinning: , nutze kein Handy deshalb fällt es nicht auf !

                      Dann lass doch den User mit der Auswahl "Variable" entscheiden , die Idee / Umsetzung finde ich gut :+1:

                      1 = 0 …. bis 59 Min
                      2 = 0 , 5, 10,15 …. 55 Min

                      Die Idee hierbei war eher:

                      1 = 0.... bis 59 Min
                      2 = 0, 2, 4... bis 58 Min
                      .
                      .
                      5 = 0, 5, 10.... bis 55 Min

                      So hätte ich noch mehr Möglichkeiten abgehakt und der Aufwand wäre sogar minimal geringer.

                      Ok?

                      GlasfaserG K 2 Replies Last reply
                      1
                      • G GiuseppeS

                        @Glasfaser sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                        @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                        @Glasfaser
                        Ja, das ist eine Sache die ich manchmal vermisse. Hatte versucht ein Kompromiss zu finden, das eine gewisse Auswahl erfüllt aber wo man nicht ewig scrollen muss.

                        Zwei Vorschläge für die Umsetzung:

                        • eine neue Variable oben im Skript, wo die Schrittweite in Minuten FREI angegeben wird: 1 bedeutet alle 0,1,2,...,59. Eine 2 bedeutet 0,2,4,6,...,58.

                        Jipp …. auf dem Handy sieht es anders aus ….:grinning: , nutze kein Handy deshalb fällt es nicht auf !

                        Dann lass doch den User mit der Auswahl "Variable" entscheiden , die Idee / Umsetzung finde ich gut :+1:

                        1 = 0 …. bis 59 Min
                        2 = 0 , 5, 10,15 …. 55 Min

                        Die Idee hierbei war eher:

                        1 = 0.... bis 59 Min
                        2 = 0, 2, 4... bis 58 Min
                        .
                        .
                        5 = 0, 5, 10.... bis 55 Min

                        So hätte ich noch mehr Möglichkeiten abgehakt und der Aufwand wäre sogar minimal geringer.

                        Ok?

                        GlasfaserG Offline
                        GlasfaserG Offline
                        Glasfaser
                        wrote on last edited by
                        #210

                        @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                        So hätte ich noch mehr Möglichkeiten abgehakt und der Aufwand wäre sogar minimal geringer.

                        Ok?

                        Ja , stimmt so kann jeder mehr entscheiden wie er es haben will :+1:

                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                        G 1 Reply Last reply
                        0
                        • GlasfaserG Glasfaser

                          @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                          So hätte ich noch mehr Möglichkeiten abgehakt und der Aufwand wäre sogar minimal geringer.

                          Ok?

                          Ja , stimmt so kann jeder mehr entscheiden wie er es haben will :+1:

                          G Offline
                          G Offline
                          GiuseppeS
                          wrote on last edited by
                          #211

                          @Glasfaser
                          Aufwand ist sehr gering, werde es wahrscheinlich später noch einstellen. Evtl aber auch erst morgen. Für dich wahrscheinlich eher uninteressant da schon selbst umgesetzt.

                          GlasfaserG 1 Reply Last reply
                          0
                          • G GiuseppeS

                            @Glasfaser
                            Aufwand ist sehr gering, werde es wahrscheinlich später noch einstellen. Evtl aber auch erst morgen. Für dich wahrscheinlich eher uninteressant da schon selbst umgesetzt.

                            GlasfaserG Offline
                            GlasfaserG Offline
                            Glasfaser
                            wrote on last edited by
                            #212

                            @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                            @Glasfaser
                            ….Für dich wahrscheinlich eher uninteressant da schon selbst umgesetzt.

                            …… deshalb der Vorschlag von mir !

                            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                            1 Reply Last reply
                            0
                            • A Offline
                              A Offline
                              ak1
                              wrote on last edited by
                              #213

                              Ich habe mich heute erstmalig mit dieser Lösung beschäftigt und ich bin ehrlich beeindruckt. @GiuseppeS Toll gemacht!

                              Eigentlich müsste doch als Anwendungsfall hier auch die Erstellung einer Anwesenheitssimulation möglich sein. Aufgrund der Berücksichtigung von Astro-Zeiten, Zufallsabweichungen und Bedingungen für die Timer sind die wichtige Komponenten ja vorhanden.

                              Hat das vielleicht jemand schon versucht oder sich Gedanken dazu gemacht?

                              Selbst solche Szenarien müssten sich abbilden lassen: Ist der Sonnenaufgang vor der Aufstehzeit, dann braucht der Timer zum Licht Anschalten nicht ausgelöst werden, Ansonsten schon. Eine entsprechende Bedingung ließe sich ja zyklisch per Skript ermitteln und beim Timer auswerten.

                              VG
                              ak1

                              G 1 Reply Last reply
                              0
                              • A ak1

                                Ich habe mich heute erstmalig mit dieser Lösung beschäftigt und ich bin ehrlich beeindruckt. @GiuseppeS Toll gemacht!

                                Eigentlich müsste doch als Anwendungsfall hier auch die Erstellung einer Anwesenheitssimulation möglich sein. Aufgrund der Berücksichtigung von Astro-Zeiten, Zufallsabweichungen und Bedingungen für die Timer sind die wichtige Komponenten ja vorhanden.

                                Hat das vielleicht jemand schon versucht oder sich Gedanken dazu gemacht?

                                Selbst solche Szenarien müssten sich abbilden lassen: Ist der Sonnenaufgang vor der Aufstehzeit, dann braucht der Timer zum Licht Anschalten nicht ausgelöst werden, Ansonsten schon. Eine entsprechende Bedingung ließe sich ja zyklisch per Skript ermitteln und beim Timer auswerten.

                                VG
                                ak1

                                G Offline
                                G Offline
                                GiuseppeS
                                wrote on last edited by GiuseppeS
                                #214

                                @ak1
                                Schön, dass die diese Lösung gefällt :blush:
                                Das Skript lässt sich beliebig oft anwenden, daher gibt es die Variable "path" weit oben im Skript. Einfach Skript nochmal kopieren und oben die Variable anpassen.
                                Bei den Views VOR dem nochmaligen Import öffnen und mit Copy/Paste den Pfadanteil "Devices" durch deinen neuen Pfad ersetzen.

                                Ich nutze das Skript zwei Mal: für die allgemeine Rollladen-Steuerung und für die Anwesenheitssimulation.

                                Für deine Idee müsstest du zwar ein Hilfsskript verwenden, aber es wäre möglich. Als Output müsste aus dem Skript ein State mit true oder false beschrieben werden. Das State dann als Bedingung nutzen.

                                1 Reply Last reply
                                0
                                • G GiuseppeS

                                  @Glasfaser sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                                  @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                                  @Glasfaser
                                  Ja, das ist eine Sache die ich manchmal vermisse. Hatte versucht ein Kompromiss zu finden, das eine gewisse Auswahl erfüllt aber wo man nicht ewig scrollen muss.

                                  Zwei Vorschläge für die Umsetzung:

                                  • eine neue Variable oben im Skript, wo die Schrittweite in Minuten FREI angegeben wird: 1 bedeutet alle 0,1,2,...,59. Eine 2 bedeutet 0,2,4,6,...,58.

                                  Jipp …. auf dem Handy sieht es anders aus ….:grinning: , nutze kein Handy deshalb fällt es nicht auf !

                                  Dann lass doch den User mit der Auswahl "Variable" entscheiden , die Idee / Umsetzung finde ich gut :+1:

                                  1 = 0 …. bis 59 Min
                                  2 = 0 , 5, 10,15 …. 55 Min

                                  Die Idee hierbei war eher:

                                  1 = 0.... bis 59 Min
                                  2 = 0, 2, 4... bis 58 Min
                                  .
                                  .
                                  5 = 0, 5, 10.... bis 55 Min

                                  So hätte ich noch mehr Möglichkeiten abgehakt und der Aufwand wäre sogar minimal geringer.

                                  Ok?

                                  K Online
                                  K Online
                                  K_o_bold
                                  wrote on last edited by
                                  #215

                                  @GiuseppeS , @Glasfaser,

                                  sehr gute Idee mir der Variablen. So ist es für verschiedene Anwenderwünsche flexibel und das drop down wird nicht ewig lang :blush:

                                  Top!
                                  Grüße

                                  1 Reply Last reply
                                  0
                                  • A Offline
                                    A Offline
                                    ak1
                                    wrote on last edited by
                                    #216

                                    @GiuseppeS
                                    Hast Du ggf. mal einen Screenshot (nur einen Ausschnitt) mit 2-3 Timern, die Du im Rahmen der Anwesenheitssteuerung zum Ein- und Ausschalten von Lichtern nutzt? Vielleicht ein Besipiel, wo Du tatsächlich auch Astro-Zeiten einbeziehst.

                                    VG
                                    ak1

                                    G 1 Reply Last reply
                                    0
                                    • K Online
                                      K Online
                                      K_o_bold
                                      wrote on last edited by
                                      #217

                                      @GiuseppeS ,

                                      Mir fällt gerade noch eine andere Idee ein.
                                      Ich nutze dein Skript u.a. für meinen Staubsauger.
                                      Jetzt möchte ich einen Timer erstellen, der nur morgen einmal zu einer bestimmten Zeit aktiviert wird und anschließend wieder deaktiviert ist.
                                      Also einen einmaligen Timer.
                                      Z.B. Wochentag und Zeit auswählen wie bisher und zusätzlich noch eine Editiermöglichkeit für einmalig.

                                      Siehst du da eine Möglichkeit?

                                      G 1 Reply Last reply
                                      0
                                      • A ak1

                                        @GiuseppeS
                                        Hast Du ggf. mal einen Screenshot (nur einen Ausschnitt) mit 2-3 Timern, die Du im Rahmen der Anwesenheitssteuerung zum Ein- und Ausschalten von Lichtern nutzt? Vielleicht ein Besipiel, wo Du tatsächlich auch Astro-Zeiten einbeziehst.

                                        VG
                                        ak1

                                        G Offline
                                        G Offline
                                        GiuseppeS
                                        wrote on last edited by
                                        #218

                                        @ak1 sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                                        @GiuseppeS
                                        Hast Du ggf. mal einen Screenshot (nur einen Ausschnitt) mit 2-3 Timern, die Du im Rahmen der Anwesenheitssteuerung zum Ein- und Ausschalten von Lichtern nutzt? Vielleicht ein Besipiel, wo Du tatsächlich auch Astro-Zeiten einbeziehst.

                                        VG
                                        ak1

                                        A_Übersicht.jpg

                                        B_PopUp.jpg

                                        A 1 Reply Last reply
                                        0
                                        • G GiuseppeS

                                          @ak1 sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                                          @GiuseppeS
                                          Hast Du ggf. mal einen Screenshot (nur einen Ausschnitt) mit 2-3 Timern, die Du im Rahmen der Anwesenheitssteuerung zum Ein- und Ausschalten von Lichtern nutzt? Vielleicht ein Besipiel, wo Du tatsächlich auch Astro-Zeiten einbeziehst.

                                          VG
                                          ak1

                                          A_Übersicht.jpg

                                          B_PopUp.jpg

                                          A Offline
                                          A Offline
                                          ak1
                                          wrote on last edited by
                                          #219

                                          @GiuseppeS
                                          Danke!

                                          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

                                          459

                                          Online

                                          32.5k

                                          Users

                                          81.6k

                                          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