Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Timer Restlaufzeit anzeigen

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

      Wenn ich in einem Script einen Timer starte, gibt es eine Möglichkeit die Restlaufzeit anzuzeigen? Zum Beispiel wie lange das Licht noch leuchtet bei einer ausschalten Verzögerung.

      1 Reply Last reply Reply Quote 0
      • Jey Cee
        Jey Cee Developer last edited by

        Es wäre zu überlegen eine Timer Funktion bereit zu stellen die ein Objekt erstellt und dort die verbleibende Zeit ausgibt.

        setTimer(nameTimer, function(){}, Zeit)
        
        1 Reply Last reply Reply Quote 0
        • F
          fuchs1978 last edited by

          Daraus schließe ich aktuell geht es nicht?

          1 Reply Last reply Reply Quote 0
          • blauholsten
            blauholsten Developer last edited by

            @fuchs1978:

            Daraus schließe ich aktuell geht es nicht? `
            Bin mir nicht sicher, aber das Thema gab es vor einiger Zeit schonmal

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              @blauholsten:

              das Thema gab es vor einiger Zeit schonmal `
              http://forum.iobroker.net/viewtopic.php?f=21&t=4990&p=49695#p49695. Man kann es mit setInterval(), einer Countdown-Funktion und einer Zählvariablen lösen (http://forum.iobroker.net/viewtopic.php?f=21&t=4796&p=47065#p47065).

              1 Reply Last reply Reply Quote 0
              • bahnuhr
                bahnuhr Forum Testing Most Active last edited by

                @paul53:

                Man kann es mit setInterval(), einer Countdown-Funktion und einer Zählvariablen lösen (http://forum.iobroker.net/viewtopic.php?f=21&t=4796&p=47065#p47065). `

                Grundlage bei mir ist auch Pauls Script.

                Danach selbst noch Variablen bei Objekte erstellt.

                // Countdown Garage
                
                var count,timer;
                
                function countdown(){
                  count--;
                  if(count > 0) {
                        setState('javascript.0.Countdown.Garage.countdown', count);
                        if (count > 60) {
                            var min = parseInt(count/60);
                            var sek = count - (min*60);
                            setState('javascript.0.Countdown.Garage.countdown', count);
                            setState('javascript.0.Countdown.Garage.countdown2', min + " Min.  " + sek + " Sek.");
                        } else {
                            setState('javascript.0.Countdown.Garage.countdown', count);
                            setState('javascript.0.Countdown.Garage.countdown2', count + " Sek.");
                        }
                  }
                  else {
                        setState('javascript.0.Countdown.Garage.countTrigger', false );
                  }
                }
                
                on({id: "javascript.0.Countdown.Garage.countTrigger", change: "ne"}, function(obj){
                    if(obj.state.val) { 
                        count = 600;  // in Sekunden
                        timer = setInterval(countdown, 1000);   // 1000 = 1 Sek. ;  60000 = 60 Sek.
                    } else {
                        clearInterval(timer);
                        setState('javascript.0.Countdown.Garage.countdown', 0 );
                        setState('javascript.0.Countdown.Garage.countdown2', "" );
                    }
                });
                

                Bei mir wird die Variable "…countdown2" mit Text befüllt: "3 Min 20 Sek."

                Als widget dann: basic string mit vorangestelltem html: "Garage schließt automatisch in "

                In vis wird dann folglich angezeigt:

                Garage schließt automatisch in 3 Min. 20 Sek.

                Klappt wunderbar.

                mfg

                1 Reply Last reply Reply Quote 0
                • B
                  berndroid last edited by

                  Mal ne ganz blöde Frage: Wie bekomme ich das denn in Blockly integriert/glöst?

                  1 Reply Last reply Reply Quote 0
                  • M
                    maxpd last edited by

                    Auch interessiert in blockly

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @berndroid:

                      Wie bekomme ich das denn in Blockly integriert/glöst? `
                      493_blockly_delay_restlaufzeitanzeige.jpg

                      1 Reply Last reply Reply Quote 0
                      • chucky666
                        chucky666 last edited by

                        @paul53:

                        @berndroid:

                        Wie bekomme ich das denn in Blockly integriert/glöst? filename="Blockly_delay_Restlaufzeitanzeige.JPG" index="0">~~

                        Hallo zusammen,

                        Ich verstehe das Blocky noch nicht so richtig .

                        Countdown ist ein Datenpunkt ? Wenn ja wie muss er genau sein ?

                        Bei Objekt kommt was rein ?

                        Wie bekomme ich jetzt die Laufzeit ins Vis ?

                        Gruß Jens

                        Gesendet von iPad mit Tapatalk Pro

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by

                          @chucky666:

                          Countdown ist ein Datenpunkt ? `
                          Nein, countDown(delay) ist eine Funktion, der die Verzögerung in s übergeben wird.
                          @chucky666:

                          Bei Objekt kommt was rein ? `
                          Die Datenpunkt-ID für die Anzeige der Restlaufzeit in Vis, so wie es im Kommentar darüber steht.

                          1 Reply Last reply Reply Quote 0
                          • D
                            DenniskKo last edited by

                            Hi,

                            habe mal versucht das ganze bei mir als Timer für die Steckdose meiner Osmoseanlage umzusetzen.

                            schaut so aus:
                            9339_blockly.png

                            So weit so gut. Bei längeren Laufzeiten kommt es aber immer wieder zu willkürlichen Abbrüchen des Scriptes.

                            avascript.0	2018-11-21 18:14:10.607	info	script.js.Timer.Timer_Osmoseanlage: setForeignState(id=vis.0.datapoints.Osmose-Timer.Restzeit, state={"val":476,"ack":true})
                            javascript.0	2018-11-21 18:14:09.604	info	script.js.Timer.Timer_Osmoseanlage: setForeignState(id=vis.0.datapoints.Osmose-Timer.Restzeit, state={"val":477,"ack":true})
                            javascript.0	2018-11-21 18:14:08.602	info	script.js.Timer.Timer_Osmoseanlage: setForeignState(id=vis.0.datapoints.Osmose-Timer.Restzeit, state={"val":478,"ack":true})
                            javascript.0	2018-11-21 18:14:07.600	info	script.js.Timer.Timer_Osmoseanlage: setForeignState(id=vis.0.datapoints.Osmose-Timer.Restzeit, state={"val":479,"ack":true})
                            javascript.0	2018-11-21 18:14:06.600	info	script.js.Timer.Timer_Osmoseanlage: setInterval(ms=1000)
                            javascript.0	2018-11-21 18:14:06.600	info	script.js.Timer.Timer_Osmoseanlage: clearInterval() => cleared
                            javascript.0	2018-11-21 18:14:06.600	info	script.js.Timer.Timer_Osmoseanlage: getState(id=vis.0.datapoints.Osmose-Timer.Laufzeit, timerId=0) => {"val":480,"ack":false,"ts":1542820108697,"q":0,"from":"system.adapter.admin.0","lc":1542820108697
                            javascript.0	2018-11-21 18:14:06.291	info	script.js.Timer.Timer_Osmoseanlage: setForeignState(id=vis.0.datapoints.Osmose-Timer.Restzeit, state={"val":181,"ack":true})
                            javascript.0	2018-11-21 18:14:05.288	info	script.js.Timer.Timer_Osmoseanlage: setForeignState(id=vis.0.datapoints.Osmose-Timer.Restzeit, state={"val":182,"ack":true})
                            javascript.0	2018-11-21 18:14:04.286	info	script.js.Timer.Timer_Osmoseanlage: setForeignState(id=vis.0.datapoints.Osmose-Timer.Restzeit, state={"val":183,"ack":true})
                            

                            Vorgegebene Zeit hier 480 Sekunden, bei 180 bricht er jedoch einfach ab und fängt von vorne an?

                            Was läuft da falsch?

                            Jemand eine Idee?

                            Grüße …

                            1 Reply Last reply Reply Quote 0
                            • F
                              Farmer-cb last edited by

                              Hallo

                              Ich mach das mit schedule, der im sekundentakt eine funktion aufruft.

                              Und darin einfach die max zeit (480) um 1 reduziert (minus) und bei 0 eine aktion ausführt.

                              Die db mit der aktuellen restzeit kannst ja ganz einfach in vis anzeigen

                              Gesendet von meinem FRD-L09 mit Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • chucky666
                                chucky666 last edited by

                                Hallo

                                Sorry ich Check das immer noch nicht

                                Was muss ich machen wenn ich eine Steckdose 2 Std laufen lasse, diese Zeit möchte ich als Restlaufzeit in das Vis anzeigen.

                                Kann es jemand über Blocky mal erklären?

                                Gesendet von iPad mit Tapatalk Pro

                                1 Reply Last reply Reply Quote 0
                                • Ralla66
                                  Ralla66 Most Active last edited by

                                  Probiere es mal so,

                                  den Datenpunkt Test1 verknüpfst du dann in der Vis, zB. mit einem Text Widget.
                                  5230_stehlampe_timer.jpg
                                  5230_stehlampe_timer_v2.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • Ralla66
                                    Ralla66 Most Active last edited by

                                    Hier die 2 Stunden oder 120 Minuten:
                                    5230_stehlampe_timer_v3.jpg

                                    1 Reply Last reply Reply Quote 0
                                    • chucky666
                                      chucky666 last edited by

                                      Danke dir , ich werde es morgen mal probieren

                                      Schönen Abend

                                      Gesendet von iPhone mit Tapatalk Pro

                                      1 Reply Last reply Reply Quote 0
                                      • chucky666
                                        chucky666 last edited by

                                        So habe das Script getestet, leider geht die Lampe nicht an . Und die Zeit wird auch nicht eingestellt im Vis

                                        Gesendet von iPad mit Tapatalk Pro

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          Marty56 last edited by

                                          setStateDelayed("Test",true,10000);
                                          
                                          schedule("*/10 * * * * *",function(obj){
                                              var timerobj = getStateDelayed('Test');
                                              if (timerobj[0] !== undefined)
                                                  log("Restzeit des Timers für Test in msec: " + timerobj[0].left); 
                                              else
                                                  log("Timer für Test abgelaufen");
                                          });
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • chucky666
                                            chucky666 last edited by

                                            @Ralla66:

                                            Hier die 2 Stunden oder 120 Minuten: `

                                            Den Scriptenabletest Datenpunkt muss ich auch selber erstellen ?

                                            Wenn ja welcher Typ ?

                                            Gesendet von iPad mit Tapatalk Pro

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            683
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            24
                                            8431
                                            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