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.
    • A
      a-flow last edited by

      Gibt es eine Möglichkeit einen Sleeptimer in Node-Red zu realisieren und einen Countdown in Vis darzustellen?

      Hier mal mein Ansatz:

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

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

      Der Code im

      ! [
      ! {
      ! "id": "66aeffbc.22a79",
      ! "type": "delay",
      ! "z": "7ecc9457.f59cbc",
      ! "name": "30 Minuten verzögern",
      ! "pauseType": "delay",
      ! "timeout": "3",
      ! "timeoutUnits": "seconds",
      ! "rate": "1",
      ! "rateUnits": "second",
      ! "randomFirst": "1",
      ! "randomLast": "5",
      ! "randomUnits": "seconds",
      ! "drop": false,
      ! "x": 339,
      ! "y": 82,
      ! "wires": [
      ! [
      ! "34cad756.0c1138"
      ! ]
      ! ]
      ! },
      ! {
      ! "id": "34cad756.0c1138",
      ! "type": "ioBroker out",
      ! "z": "7ecc9457.f59cbc",
      ! "name": "Steckdose-Küchenlicht.STATE",
      ! "topic": "hm-rpc.0.LEQ0475700.1.STATE",
      ! "ack": "false",
      ! "autoCreate": "false",
      ! "x": 625,
      ! "y": 82,
      ! "wires": []
      ! },
      ! {
      ! "id": "e3c4a37b.baee8",
      ! "type": "ioBroker in",
      ! "z": "7ecc9457.f59cbc",
      ! "name": "_30minuten",
      ! "topic": "node-red.0._30minuten",
      ! "payloadType": "value",
      ! "onlyack": "",
      ! "func": "all",
      ! "gap": "",
      ! "x": 108,
      ! "y": 83,
      ! "wires": [
      ! [
      ! "66aeffbc.22a79"
      ! ]
      ! ]
      ! },
      ! {
      ! "id": "7006e5c1.7b0d5c",
      ! "type": "delay",
      ! "z": "7ecc9457.f59cbc",
      ! "name": "60 Minuten verzögern",
      ! "pauseType": "delay",
      ! "timeout": "60",
      ! "timeoutUnits": "minutes",
      ! "rate": "1",
      ! "rateUnits": "second",
      ! "randomFirst": "1",
      ! "randomLast": "5",
      ! "randomUnits": "seconds",
      ! "drop": false,
      ! "x": 338,
      ! "y": 152,
      ! "wires": [
      ! [
      ! "151f3d73.cac1b3"
      ! ]
      ! ]
      ! },
      ! {
      ! "id": "151f3d73.cac1b3",
      ! "type": "ioBroker out",
      ! "z": "7ecc9457.f59cbc",
      ! "name": "Steckdose-Küchenlicht.STATE",
      ! "topic": "hm-rpc.0.LEQ0475700.1.STATE",
      ! "ack": "false",
      ! "autoCreate": "false",
      ! "x": 624,
      ! "y": 152,
      ! "wires": []
      ! },
      ! {
      ! "id": "9569dfee.a697d",
      ! "type": "ioBroker in",
      ! "z": "7ecc9457.f59cbc",
      ! "name": "_60minuten",
      ! "topic": "node-red.0._60minuten",
      ! "payloadType": "value",
      ! "onlyack": "",
      ! "func": "all",
      ! "gap": "",
      ! "x": 107,
      ! "y": 153,
      ! "wires": [
      ! [
      ! "7006e5c1.7b0d5c"
      ! ]
      ! ]
      ! }
      ! ]

      Vg

      Andi~~~~

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

        Sehr schöne mobile View! Kannst du mehr zeigen?

        Pix

        1 Reply Last reply Reply Quote 0
        • S
          simpixo last edited by

          Gefällt mir auch sehr gut!

          Gesendet von meinem iPhone mit Tapatalk

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

            @pix und simpixo: Ich freue mich, dass euch meine View gefällt. Die Oberfläche und Möglichkeiten von Homematic haben mich einfach nur genervt. Vor ein paar Tagen habe ich mich dann an ioBroker gewagt und das sind jetzt meine ersten Gehversuche. Sobald es etwas ausgereifter ist, veröffentliche ich es sehr gerne hier im Forum.

            Bei dem Timer habe ich mich jetzt für einen Kreis entschieden.

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

            Bei der technischen Umsetzung hapert es allerdings sehr. Es wäre schön, wenn mir da jemand unter die Arme greift… Bei einem Klick auf 30 Min oder 60 Min soll der Timer starten und ein Countdown runterlaufen. Visuell soll der Countdown über den Kreis dargestellt werden. Bei einem erneuten Klick auf einen der beiden Buttons soll der Timer gestoppt werden. Klickt man anschließend wieder auf einen der Buttons soll der Timer wieder gestartet werden.~~

            1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            557
                                            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