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.
    • 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
                                  • K
                                    Knallix last edited by

                                    Hallo Zusammen,

                                    habe mich auch etwas mit einem Countdown beschäftigt.
                                    Diesen Wert wollte ich ebenfalls gerne im VIS anzeigen.
                                    z.B. "Abgeschaltet wird in 03:30 Min."
                                    Ich lasse meine LED über einen Bewegungsmelder von Xiaomi anschalten.
                                    Nach einer Zeit X (15min) geht das Licht wieder aus.
                                    Diese Zeit lasse ich mir jetzt auf meiner VISU anzeigen.

                                    Hier der CODE (Blockly)
                                    Countdown.txt

                                    dslraser 1 Reply Last reply Reply Quote 0
                                    • dslraser
                                      dslraser Forum Testing Most Active @Knallix last edited by

                                      @Knallix sagte in Timer Restlaufzeit anzeigen:

                                      Hier der CODE (Blockly)
                                      Countdown.txt

                                      Das Blockly lässt sich nicht runter laden ?

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

                                        @dslraser sagte in Timer Restlaufzeit anzeigen:

                                        Countdown.txt

                                        Das File ist leer !!

                                        dslraser 1 Reply Last reply Reply Quote 0
                                        • dslraser
                                          dslraser Forum Testing Most Active @Margreiter last edited by

                                          @Margreiter sagte in Timer Restlaufzeit anzeigen:

                                          @dslraser sagte in Timer Restlaufzeit anzeigen:

                                          Countdown.txt

                                          Das File ist leer !!

                                          Warum sagst Du mir das ? Das ist von @Knallix

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          653
                                          Online

                                          31.8k
                                          Users

                                          80.0k
                                          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