Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Sleeptimer mit Countdown

NEWS

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

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

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

Sleeptimer mit Countdown

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
30 Beiträge 9 Kommentatoren 9.0k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    simpixo
    schrieb am zuletzt editiert von
    #3

    Gefällt mir auch sehr gut!

    Gesendet von meinem iPhone mit Tapatalk

    1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      a-flow
      schrieb am zuletzt editiert von
      #4

      @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 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pix
        schrieb am zuletzt editiert von
        #5

        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

        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          a-flow
          schrieb am zuletzt editiert von
          #6

          @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 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            pix
            schrieb am zuletzt editiert von
            #7

            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

            ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

            1 Antwort Letzte Antwort
            0
            • htreckslerH Offline
              htreckslerH Offline
              htrecksler
              Forum Testing
              schrieb am zuletzt editiert von
              #8

              Daumen hoch - gleich geklaut und eingebaut.

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

              Gruss Hermann

              ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                pix
                schrieb am zuletzt editiert von
                #9

                Das freut mich sehr! :D

                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 :-D

                  • 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

                ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                1 Antwort Letzte Antwort
                0
                • Jeeper.atJ Offline
                  Jeeper.atJ Offline
                  Jeeper.at
                  schrieb am zuletzt editiert von
                  #10

                  @pix:

                  • Zeit am Computer `

                  LOL, die will ich gar nicht so genau wissen. :-)

                  1 Antwort Letzte Antwort
                  0
                  • A Offline
                    A Offline
                    a-flow
                    schrieb am zuletzt editiert von
                    #11

                    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 Antwort Letzte Antwort
                    0
                    • A Offline
                      A Offline
                      a-flow
                      schrieb am zuletzt editiert von
                      #12

                      Hallo,

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

                      Danke!

                      Gesendet von meinem F5121 mit Tapatalk

                      1 Antwort Letzte Antwort
                      0
                      • htreckslerH Offline
                        htreckslerH Offline
                        htrecksler
                        Forum Testing
                        schrieb am zuletzt editiert von
                        #13

                        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?

                        Gruss Hermann

                        ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                        1 Antwort Letzte Antwort
                        0
                        • P Offline
                          P Offline
                          pix
                          schrieb am zuletzt editiert von
                          #14

                          Exportiere mal dein Widget hier rein.

                          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                          1 Antwort Letzte Antwort
                          0
                          • A Offline
                            A Offline
                            a-flow
                            schrieb am zuletzt editiert von
                            #15

                            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 Antwort Letzte Antwort
                            0
                            • htreckslerH Offline
                              htreckslerH Offline
                              htrecksler
                              Forum Testing
                              schrieb am zuletzt editiert von
                              #16

                              eines ganz schnell vorweg…

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

                              Gruss Hermann

                              ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                              1 Antwort Letzte Antwort
                              0
                              • htreckslerH Offline
                                htreckslerH Offline
                                htrecksler
                                Forum Testing
                                schrieb am zuletzt editiert von
                                #17

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

                                Gruss Hermann

                                ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                                1 Antwort Letzte Antwort
                                0
                                • htreckslerH Offline
                                  htreckslerH Offline
                                  htrecksler
                                  Forum Testing
                                  schrieb am zuletzt editiert von
                                  #18

                                  und das script ist auch gestartet?
                                  115_script.jpg

                                  Gruss Hermann

                                  ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                                  1 Antwort Letzte Antwort
                                  0
                                  • A Offline
                                    A Offline
                                    a-flow
                                    schrieb am zuletzt editiert von
                                    #19

                                    @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 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      Arminhh
                                      schrieb am zuletzt editiert von
                                      #20

                                      @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 Antwort Letzte Antwort
                                      0
                                      • P Offline
                                        P Offline
                                        pix
                                        schrieb am zuletzt editiert von
                                        #21

                                        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? :D :) ;)

                                        Gruß

                                        Pix

                                        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                        1 Antwort Letzte Antwort
                                        0
                                        • A Offline
                                          A Offline
                                          a-flow2
                                          schrieb am zuletzt editiert von
                                          #22

                                          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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          360

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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