Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Sleeptimer mit Countdown

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Sleeptimer mit Countdown

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pix last edited by

      Hallo Andi,

      ich habe mal schnell ein Skript von mir umgebogen. Es ist noch nicht ganz so, wie du es willst. Kann aber nicht mehr weitermachen, Familie meckert 😉

      Vier Widgets:

      ! [{"tpl":"tplHqCircle","data":{"visibility-cond":">","visibility-val":"0","oid":"javascript.2.Countdown.Sleeptimer.countdown_seconds","min":"0","max":"{javascript.2.Countdown.Sleeptimer.countdown_seconds}","step":"1","displayPrevious":true,"readOnly":true,"unit":" s","visibility-oid":"","name":"Countdown","caption":"bis zur Aktivierung","hideNumber":false,"color":"#ffffff","thickness":"0.15","cursor":"","bgcolor":"#f00f36","linecap":true,"anticlockwise":false,"oid-working":"javascript.2.Countdown.Sleeptimer.countdown_seconds","oid-signal":"","angleArc":"360","angleOffset":"0","comment":"","digits":"0","is_comma":"true","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},"style":{"left":"823px","top":"433px","width":"200px","height":"200px","z-index":"80","text-align":"center","color":"#e7f5f9","font-family":"","font-style":"","font-weight":"","font-size":"","background-color":"rgba(0,140,200,1)","border-radius":"490px"},"widgetSet":"hqwidgets"},{"tpl":"tplValueStringRaw","data":{"oid":"javascript.2.Countdown.Sleeptimer.countdown","visibility-cond":"==","visibility-val":1,"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},"style":{"left":"1032px","top":"475px","z-index":"20","color":"white","width":"137px","height":"32px"},"widgetSet":"basic"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.2.Countdown.Sleeptimer.trigger30min","visibility-cond":"==","visibility-val":1,"buttontext":"30","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,"value":"true"},"style":{"left":"1043px","top":"536px"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.2.Countdown.Sleeptimer.trigger60min","visibility-cond":"==","visibility-val":1,"buttontext":"60","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,"value":"true"},"style":{"left":"1043px","top":"581px"},"widgetSet":"jqui"}] !

      Skript:

      ! ````
      /* Countdown
      ! 01.08.2016 pix
      ! */
      ! var interval = null;
      var countdown = 60 * 1000; // 60min * 60s * 1000ms
      ! createState('Countdown.Sleeptimer.countdown', seconds2text(countdown), {name: 'Sleeptimer Countdown / Restzeit', type: 'string'});
      createState('Countdown.Sleeptimer.countdown_seconds', countdown, {name: 'Sleeptimer Countdown / Restzeit in s', type: 'number', def: countdown});
      createState('Countdown.Sleeptimer.afterCount', {name: 'Sleeptimer Countdown / afterCount', type: 'boolean', def: false});
      createState('Countdown.Sleeptimer.countTrigger', {name: 'Sleeptimer Countdown / countTrigger', type: 'boolean', def: false});
      ! var idCountdown = 'javascript.'+ instance +'.Countdown.Sleeptimer.countdown',
      idCountdown_sec = 'javascript.'+ instance +'.Countdown.Sleeptimer.countdown_seconds',
      idAfterCount = 'javascript.'+ instance +'.Countdown.Sleeptimer.afterCount',
      idTrigger = 'javascript.'+ instance +'.Countdown.Sleeptimer.countTrigger';
      ! // SPEZIFISCHE UMSETZUNG für a-flow
      createState('Countdown.Sleeptimer.trigger30min', {name: 'Sleeptimer 30min Timer', type: 'boolean', def: false});
      createState('Countdown.Sleeptimer.trigger60min', {name: 'Sleeptimer 60min Timer', type: 'boolean', def: false});
      ! var id30min = 'javascript.'+ instance +'.Countdown.Sleeptimer.trigger30min',
      id60min = 'javascript.'+ instance +'.Countdown.Sleeptimer.trigger60min';
      ! // Countdown
      ! function seconds2text(_seconds) {
      var sec_num = parseInt(_seconds, 10); // don't forget the second param
      var hours = Math.floor(sec_num / 3600);
      var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
      var seconds = sec_num - (hours * 3600) - (minutes * 60);
      ! var time;
      if (hours > 0) {
      // if (hours < 10) {hours = "0" + hours;}
      if (minutes < 10) {minutes = "0" + minutes;}
      if (seconds < 10) {seconds = "0" + seconds;}
      // time = hours + ' Stunden, ' + minutes + ' Minuten und ' + seconds + ' Sekunden'; // original
      time = hours + ':' + minutes + ':' + seconds + ' Std.';
      } else if (minutes > 0) {
      if (minutes < 10) {minutes = "0" + minutes;}
      if (seconds < 10) {seconds = "0" + seconds;}
      // time = minutes + ' Minuten und ' + seconds + ' Sekunden'; // original
      time = minutes + ':' + seconds + 'min';
      } else {
      if (seconds < 10) {seconds = "0" + seconds;}
      // time = seconds + ' Sekunden'; // original
      time = seconds + ' s';
      }
      return time;
      }
      ! function count() {
      // remove trigger
      if (getState(idTrigger).val) setState(idTrigger, false);
      ! // Abbruch bei Knopfdruck
      if ( getState(id30min).val || getState(id60min).val ) {
      setState(idCountdown, 0);
      setState(idAfterCount, false);
      clearInterval(interval);
      interval = null;
      }

      if (countdown > 1) {
          setState(idCountdown_sec, parseInt(countdown,10));
          setState(idCountdown, seconds2text(--countdown));
      } else {
          clearInterval(interval);
          interval = null;
          setState(idCountdown_sec, 0);
          setState(idCountdown, seconds2text(0));
          setState(idAfterCount, true);
      }
      

      }

      ! on(idTrigger, function (obj) {
      if (obj.state.val) {
      setState(idCountdown_sec, parseInt(countdown,10));
      setState(idCountdown, seconds2text(countdown));
      setState(idAfterCount, false);
      if (!interval) {
      count();
      interval = setInterval(count, 1000);
      }
      }
      });
      // wenn idAfterCount true wird, kann eine Aktion ausgeführt werden
      on(idAfterCount, function (obj) {
      if (obj.state.val) {
      log('Countdown abgelaufen');
      // weitere Aktionen einfügen
      }
      });
      ! // Taster für VIS
      ! createState('Countdown.Sleeptimer.trigger30min', {name: 'Sleeptimer 30min Timer', type: 'boolean', def: false});
      createState('Countdown.Sleeptimer.trigger60min', {name: 'Sleeptimer 60min Timer', type: 'boolean', def: false});
      ! var id30min = 'javascript.'+ instance +'.Countdown.Sleeptimer.trigger30min',
      id60min = 'javascript.'+ instance +'.Countdown.Sleeptimer.trigger60min';
      ! function sleeptimer(dauer) {
      if (interval) { // wenn Countdown schon läuft
      clearInterval(interval);
      interval = null;
      setState(idCountdown_sec, parseInt(0,10));
      setState(idCountdown, seconds2text(0));
      log(dauer + 'min Sleeptimer gestoppt');
      } else {
      countdown = dauer * 60; // Dauer festlegen (in Minuten)
      setState(idTrigger, true); // Countdown starten
      log(dauer + 'min Sleeptimer gestartet');
      }
      }
      ! on(id30min, function (obj) { // bei jeder Änderung
      if (obj.state.val) {
      sleeptimer(30); // 30min Zeit übergeben
      setStateDelayed(id30min, false, 250); // nach viertel Sekunde wieder auf false
      }
      });
      ! on(id60min, function (obj) { // bei jeder Änderung
      if (obj.state.val) {
      sleeptimer(60); // 60min Zeit übergeben
      setStateDelayed(id60min, false, 250); // nach viertel Sekunde wieder auf false
      }
      });
      ! ````
      261_bildschirmfoto_2016-08-01_um_21.45.46.jpg
      261_bildschirmfoto_2016-08-01_um_21.45.36.jpg

      Kurz erklärt, wie es läuft:

      Die beiden Knöpfe 30 und 60 sind booleans und werden bei Druck auf true gesetzt (danach automatisch nach einer Viertlsekunde wieder auf false). Wenn einer von beiden auf true geht, wird eine Funktion (sleeptimer) gestartet und entweder 30 oder 60 mit übergeben.

      Wenn der Countdown schon läuft, wird er gestoppt und auf 0 gesetzt (interval = null), wenn er nicht läuft, wird er auf 30 bzw. 60min gesetzt und gestartet.

      Die Restzeit wird im Countdown Widget noch in Sekunden angezeigt. Das schaffe ich heut nicht mehr zu ändern. Ein Widget daneben zeigt die Zeit formatiert [hh:][mm:]ss

      Ich hoffe, du meintest mit "Anhalten" auch wirklich den Reset auf 0. Denn Anhalten und dann weiterlaufen lassen, kann ich (noch) nicht.

      Dieser Fehler ist bekannt:

      Countdown.Sleeptimer.countdown: "number". Please fix, while deprecated and will not work in next versions.
      
      

      Nur wenn der Countdown regulär abgelaufen ist, wird das Objekt idAfterCount auf true gesetzt. Im Skript ist schon eine passende Subscription vorbereitet. Da hinein kannst du dann eine Aktion packen, zum Beispiel setState('Multimedia', false);

      Das Skript läuft in allen Javascript Instanzen, die Widgets sind auf Instanz 2 eingestellt.

      Probier mal aus!

      Gruß

      Pix

      1 Reply Last reply Reply Quote 0
      • A
        a-flow last edited by

        @Pix: Genial… Vielen Dank für Deine Mühe!

        Ich werde das heute Abend mal testen. Wo und wie muss ich das Skript speichern? Ich habe bisher immer nur mit Node-Red gearbeitet und von Java habe ich keine Ahnung.

        Gesendet von meinem F5121 mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • P
          pix last edited by

          das Vorgehen ist hier auf der Javascript-Adapter-Doku auf iobroker.net beschrieben:

          http://www.iobroker.net/docu/?page_id=156&lang=de

          Gruß

          Pix

          1 Reply Last reply Reply Quote 0
          • htrecksler
            htrecksler Forum Testing last edited by

            Daumen hoch - gleich geklaut und eingebaut.

            Funktioniert perfekt. Ich weiß noch nicht wofür, aber ich werde es sicher irgendwo brauchen.

            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by

              Das freut mich sehr! 😄

              Man kann einiges damit machen:

              • automatisch abschalten lassen (eine Art https://de.wikipedia.org/wiki/Totmanneinrichtung) * Ventilator
              *   Lötkolben
              
              *   Fernseher (Begrenzung für Kinder)
              
              *   Bügeleisen
              
              *   Zeit am Computer 
              
              • sich erinnern lassen
                • wird vom Wecker gestartet und läuft rückwärts bis zum Aufstehen (Sleeptimer eben)

                • Arbeit erledigen und Restzeit als Pause nutzen 😄

                • Zeit bis Sonnenuntergang (wenn bei astro mit shift -60min / -30min gestartet)

              Einige der Anwendungen passen nicht so ganz. Wenn man den Timer anhalten kann, zählt er ggf. auch nicht genau bis 0. Das lässt sich aber alles einstellen.

              Ich habe beim Start meiner alten Spülmaschine zurückzähöen lassen. Die lief immer gleich lang. Die neue hat den Countdown im Display.

              Gruß

              Pix

              1 Reply Last reply Reply Quote 0
              • Jeeper.at
                Jeeper.at last edited by

                @pix:

                • Zeit am Computer `

                LOL, die will ich gar nicht so genau wissen. 🙂

                1 Reply Last reply Reply Quote 0
                • A
                  a-flow last edited by

                  Ich habe das Skript zum Laufen gebracht und das Widget importiert. Im Widget habe ich dann auch die Verknüpfungen zum Skript erneuert. Leider funktioniert das Teil bei mir dennoch nicht…

                  Hat da jemand eine Idee?

                  1 Reply Last reply Reply Quote 0
                  • A
                    a-flow last edited by

                    Hallo,

                    Ich komme da absolut nicht weiter. Kann mir bitte jemand helfen…

                    Danke!

                    Gesendet von meinem F5121 mit Tapatalk

                    1 Reply Last reply Reply Quote 0
                    • htrecksler
                      htrecksler Forum Testing last edited by

                      würde dir ja gerne helfen, zumal es bei mir direkt funktionierte.

                      Aber ohne zu wissen was genau nicht funktioniert ist das schwer.

                      Was genau funktioniert denn nicht? gibt es Einträge im Log?

                      Eventuell helfen auch Screenshots weiter?

                      1 Reply Last reply Reply Quote 0
                      • P
                        pix last edited by

                        Exportiere mal dein Widget hier rein.

                        1 Reply Last reply Reply Quote 0
                        • A
                          a-flow last edited by

                          Hier meine Widgets… Sie unterscheiden sich aber fast gar nicht von deinen!

                          ! ````
                          [{"tpl":"tplHqCircle","data":{"visibility-cond":">","visibility-val":"0","oid":"javascript.0.Countdown.Sleeptimer.countdown_seconds","min":"0","max":"javascript.0.Countdown.Sleeptimer.countdown_seconds","step":"1","displayPrevious":true,"readOnly":true,"unit":" s","visibility-oid":"","name":"Countdown","caption":"bis zur Aktivierung","hideNumber":false,"color":"#ffffff","thickness":"0.15","cursor":"","bgcolor":"#f00f36","linecap":true,"anticlockwise":false,"oid-working":"javascript.0.Countdown.Sleeptimer.countdown_seconds","oid-signal":"","angleArc":"360","angleOffset":"0","comment":"","digits":"0","is_comma":"true","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},"style":{"left":"450px","top":"170px","width":"200px","height":"200px","z-index":"80","text-align":"center","color":"#e7f5f9","font-family":"","font-style":"","font-weight":"","font-size":"","background-color":"rgba(0,140,200,1)","border-radius":"490px"},"widgetSet":"hqwidgets"},{"tpl":"tplValueStringRaw","data":{"oid":"javascript.0.Countdown.Sleeptimer.countdown","visibility-cond":"==","visibility-val":1,"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},"style":{"left":"650px","top":"210px","z-index":"20","color":"white","width":"137px","height":"32px"},"widgetSet":"basic"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.Countdown.Sleeptimer.trigger30min","visibility-cond":"==","visibility-val":1,"buttontext":"30","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,"value":"true"},"style":{"left":"670px","top":"270px"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.Countdown.Sleeptimer.trigger60min","visibility-cond":"==","visibility-val":1,"buttontext":"60","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,"value":"true"},"style":{"left":"670px","top":"310px"},"widgetSet":"jqui"}]

                          
                          Das Java-Skript habe ich unter folgendem Pfad abgelegt: /global/sleeptimer/. Im Skript selbst habe ich gar nichts geändert.
                          1 Reply Last reply Reply Quote 0
                          • htrecksler
                            htrecksler Forum Testing last edited by

                            eines ganz schnell vorweg…

                            Scripte die unter "global" liegen werden an alle anderen scripte angehängt. Es dort abzulegen ist sicher "suboptimal"

                            1 Reply Last reply Reply Quote 0
                            • htrecksler
                              htrecksler Forum Testing last edited by

                              sieht das bei dir unter Objekte –> Javascript.0 (außer den bose-Punkten) genauso aus?
                              115_einstellungjavascript.jpg

                              1 Reply Last reply Reply Quote 0
                              • htrecksler
                                htrecksler Forum Testing last edited by

                                und das script ist auch gestartet?
                                115_script.jpg

                                1 Reply Last reply Reply Quote 0
                                • A
                                  a-flow last edited by

                                  @htrecksler: Danke für Deine Mühe! Ich habe das Skript jetzt von GLOBAL nach COMMON gepackt. Alles andere, was du geschrieben hast, habe ich kontrolliert. Was mir nur aufgefallen ist, dass mir der Unterordner "1" im Ordner "Countdown" fehlt. Bei mir ist da lediglich der Ordner "Sleeptimer" aufgeführt.

                                  LEIDER läuft der Countdown immer noch nicht 😞

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    Arminhh last edited by

                                    @a-flow:

                                    @htrecksler: Danke für Deine Mühe! Ich habe das Skript jetzt von GLOBAL nach COMMON gepackt. Alles andere, was du geschrieben hast, habe ich kontrolliert. Was mir nur aufgefallen ist, dass mir der Unterordner "1" im Ordner "Countdown" fehlt. Bei mir ist da lediglich der Ordner "Sleeptimer" aufgeführt.

                                    LEIDER läuft der Countdown immer noch nicht 😞 `

                                    Hallo Pix,

                                    super Arbeit.

                                    Dieser Unterordner wurde bei mir auch nicht angelegt. Versuche ich nacher mal per Hand. Unter Vis läuft soweit der Counter.

                                    Würde evt. die Möglichkeit bestehen einen 3 ten Button wo eine individuelle Zeit möglich ist einzufügen?

                                    mfg

                                    Armin

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pix last edited by

                                      Hallo,
                                      @a-flow:

                                      @htrecksler: Danke für Deine Mühe! Ich habe das Skript jetzt von GLOBAL nach COMMON gepackt. Alles andere, was du geschrieben hast, habe ich kontrolliert. Was mir nur aufgefallen ist, dass mir der Unterordner "1" im Ordner "Countdown" fehlt. Bei mir ist da lediglich der Ordner "Sleeptimer" aufgeführt.

                                      LEIDER läuft der Countdown immer noch nicht 😞 `
                                      Der Unterordner 1 im Ordner Countdown ist ein anderer Countdown als der Sleeptimer. Den brauchst du nicht.

                                      Was läuft denn nicht?

                                      Startet der Countdown nicht? Null er nicht? Zählt er nicht runter? Keine Aktion nach Ablauf?

                                      @Arminhh:

                                      Würde evt. die Möglichkeit bestehen einen 3 ten Button wo eine individuelle Zeit möglich ist einzufügen? `
                                      Kannst du das umformulieren? In JavaScript hast du (fast) alle Möglichkeiten. Was ist eine individuelle Zeit? Fragst du, ob das jemand programmieren kann? 😄 🙂 😉

                                      Gruß

                                      Pix

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        a-flow2 last edited by

                                        Hallo zusammen,

                                        nach einer kleinen Pause habe ich mich jetzt nochmal versucht das Skript zum Laufen zu bekommen. Leider klappt es immer noch nicht.

                                        Nachstehend habe ich mal beschrieben, wie ich die Funktion in meine View eingebaut habe. Vielleicht habe ich irgendwas falsch gemacht oder einfach etwas vergessen.

                                        Kopieren des Skripts

                                        Das Skript von Pix habe ich einfach aus dem Forum in mein ioBroker unter Skripte kopiert (siehe Screenshots). Selbstverständlich habe ich das Skript auch gestartet.

                                        Screenshot:

                                        ! ![](</s><URL url=)http://www.a-flow.de/bilder/timer_01.jpg" /> ~~Importieren des Widgets

                                        Das Widget-Code habe ich aus dem Forum kopiert und damit das Widget in Vis importiert. Anschließend habe ich, soweit ich es überblickt habe, sämtliche Pfadangaben im Widget zu Skript-Variablen angepasst (siehe Screenshot). Hier nochmal ausführlich, welche Pfadangaben ich geändert habe:

                                        • *Button 30: Objekt-ID: javascript.0.Countdown.Sleeptimer.trigger30min
                                        *Button 60: Objekt-ID: javascript.0.Countdown.Sleeptimer.trigger60min
                                        
                                        *Kreisdiagramm: Objekt-ID: javascript.0.Countdown.Sleeptimer.countdown_seconds
                                        
                                        *Kreisdiagramm: In Arbeit Zustand ID: javascript.0.Countdown.Sleeptimer.countdown_seconds
                                        
                                        *Kreisdiagramm: Wert Max.: {javascript.0.Countdown.Sleeptimer.countdown_seconds} 
                                        

                                        Screenshot:

                                        ! ![](</s><URL url=)http://www.a-flow.de/bilder/timer_02.jpg" /> ~~Wenn ich die View starte und dann auf einen der Buttons drücke, passiert nichts. Soweit ich es überblicke, wird auch nirgends eine Art Fehlerlog gespeichert.

                                        Ich würde mich sehr freuen, wenn mir jemand hilft das Teil zum Laufen zu bekommen!

                                        Viele Grüße

                                        Andi~~~~

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pix last edited by

                                          Hallo Andi,

                                          ist ein wenig schwieriger, nach zwei Monaten aus dem Thema wieder da hinein zukommen.

                                          Hast du dieses Skript genutzt? http://forum.iobroker.net/viewtopic.php … 436#p31882

                                          Bei Armin geht es, wie er schreibt~~@Arminhh:~~

                                          Hallo Pix,

                                          super Arbeit.

                                          Dieser Unterordner wurde bei mir auch nicht angelegt. Versuche ich nacher mal per Hand. Unter Vis läuft soweit der Counter.

                                          Würde evt. die Möglichkeit bestehen einen 3 ten Button wo eine individuelle Zeit möglich ist einzufügen?

                                          mfg

                                          Armin `
                                          Kommen irgendwann die Log-Zeilen

                                          <size size="85">Countdown abgelaufen

                                          X min Sleeptimer gestartet/gestoppt</size> ?

                                          Ändern sich die Objekte nach dem Start einem Tastendruck auf 30 oder 60?

                                          Gruß

                                          Pix

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            a-flow2 last edited by

                                            Ja, ich habe genau das Skript aus deinem Post genommen.

                                            Soweit ich es erkennen kann, kommen keine Logs. Wo genau sollen die Logs kommen? In ioBroker/Logs oder in ioBroker/Skripte/Logs?

                                            Vielleicht fehlt etwas Grundlegendes… ich habe bisher noch nicht mit Skripten gearbeitet und das ist das einzige Skript, was bei mir läuft.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            30
                                            8405
                                            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