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

      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
                              • P
                                pix last edited by

                                Okay, dann testen wir erstmal deine Installation.

                                Deaktiviere das Skript und erstelle ein Weiteres im Ordner "common"

                                Inhalt:

                                log('Hallo Welt!');
                                
                                ````Wenn du dieses Skript gespeichert und aktiviert hast, sollte natürlich im Log "Hallo Welt" stehen.
                                
                                Logs, welche das aktuell im Editor gezeigte Skript betreffen,w erden darunter dargestellt. Alle Logs aller Skript im Reiter Admin/Logs oder in der Logdatei auf dem Server.
                                
                                Gruß
                                
                                Pix
                                1 Reply Last reply Reply Quote 0
                                • S
                                  stephan61 last edited by

                                  Hallo Aflow hast du unter Instanzen javascript getsartet?

                                  Gruß Stephan

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

                                    @Stephan61: Javaskript unter Instanzen ist gestartet gewesen.

                                    @Pix: Das mit dem Log schein zu funktionieren. Es erscheint folgendes im Log:

                                    javascript-0
                                    2016-10-18 11:51:21.323
                                    info
                                    script.js.common.Skript1: registered 0 subscriptions and 0 schedules
                                    javascript-0
                                    2016-10-18 11:51:21.322
                                    info
                                    script.js.common.Skript1: Hallo Welt!
                                    javascript-0
                                    2016-10-18 11:51:21.317
                                    info
                                    Start javascript script.js.common.Skript1
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      baluderbär last edited by

                                      Hallo zusammen,

                                      die Visualisierung gefällt mir (Widget) und würde sie gerne bei mir einbinden, inkl. des Skripts.

                                      Nur müsste das Skript ein wenig angepasst werden.

                                      <u>Funktionsweise</u>: Wenn Variable Alarmanlage=true, dann zeige das Widget mit dem Countdown und starte den Timer und werde unsichtbar, wenn Timer bei 0s.

                                      Kann mir jemand dabei helfen?

                                      Danke und Gruß Balu

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

                                        Hallo balu,

                                        es reicht, wenn der Countdown angezeigt wird, wenn die Restzeit/Timer größer als 0s ist.

                                        Du schreibst in den Einstellungen des Widgets unter Sichtbarkeit OID den Datenpunkt des TImers (in Sekunden) und als Bedingung > 0

                                        Ob die Alarmanlage dabei ein oder aus ist, spielt doch eigentlich keine Rolle.

                                        Gruß

                                        Pix

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          baluderbär last edited by

                                          Hallo Pix,

                                          erstmal danke. Das mit dem Widget habe ich verstanden.

                                          Wie muss ich das Skript anpassen, dass der Timer los läuft, wenn eine bestimmte Variable=true ist?

                                          Gruß Balu

                                          Edit: hab es jetzt angepasst, funktioniert sogar.

                                          Wer evtl. das gleiche "Problem" hat, hier das Skript.

                                          hm-rega.0.xxxxx startet den Timer (in meinem Fall wenn alle Personen abwesend sind)

                                          hm-rega.0.yyyyy schaltet dann den Alarm scharf

                                          ` > createState('countdown', 20);

                                          function count() {

                                          setTimeout(function () {

                                          var timer = getState('countdown').val || 20;

                                          if (timer > 1) {

                                          setState("hm-rega.0.xxxxx", false);

                                          setState('countdown', timer - 1);

                                          count();

                                          } else {

                                          setState('countdown', 0);

                                          setState("hm-rega.0.yyyyy", true);

                                          }

                                          }, 1000);

                                          }

                                          on("hm-rega.0.xxxxx", function (obj) {

                                          if (obj.newState.val === true || obj.newState.val === 'true' || obj.newState.val == 1) {

                                          setState('countdown', 20);

                                          setState("hm-rega.0.yyyyy", false);

                                          count();

                                          }

                                          }); `

                                          Super, wie einem hier geholfen wird. Daumen hoch

                                          Danke und Gruß

                                          Balu

                                          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