Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [Aufruf] Countdown Adapter testen

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Aufruf] Countdown Adapter testen

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @jackblackson last edited by

      @jackblackson

      kuck mal da

      web.1 2019-07-04 15:24:08.720 info <==Disconnect system.user.admin from ::ffff:192.168.178.26
      host.raspberry3 2019-07-04 15:24:05.247 info Restart adapter system.adapter.countdown.0 because enabled
      host.raspberry3 2019-07-04 15:24:05.247 error instance system.adapter.countdown.0 terminated with code 7 (Adapter already running)
      host.raspberry3 2019-07-04 15:24:04.906 info instance system.adapter.countdown.0 started with pid 29421
      web.1 2019-07-04 15:23:53.852 info <==Disconnect system.user.admin from ::ffff:192.168.178.42 vis.0
      web.1 2019-07-04 15:23:48.391 info <==Disconnect system.user.admin from ::ffff:192.168.178.26 vis.0
      host.raspberry3 2019-07-04 15:23:34.871 info Restart adapter system.adapter.countdown.0 because enabled
      host.raspberry3 2019-07-04 15:23:34.871 error instance system.adapter.countdown.0 terminated with code 7 (Adapter already running)
      host.raspberry3 2019-07-04 15:23:34.482 info instance system.adapter.countdown.0 started with pid 29380
      host.raspberry3 2019-07-04 15:23:04.465 info Restart adapter system.adapter.countdown.0 because enabled
      host.raspberry3 2019-07-04 15:23:04.465 error instance system.adapter.countdown.0 terminated with code 7 (Adapter already running)
      host.raspberry3 2019-07-04 15:23:04.117 info instance system.adapter.countdown.0 started with pid 29341
      web.1 2019-07-04 15:22:43.180 info ==>Connected system.user.admin from ::ffff:192.168.178.26
      web.1 2019-07-04 15:22:41.870 info <==Disconnect system.user.admin from ::ffff:192.168.178.26
      host.raspberry3 2019-07-04 15:22:34.101 info Restart adapter system.adapter.countdown.0 because enabled
      host.raspberry3 2019-07-04 15:22:34.101 error instance system.adapter.countdown.0 terminated with code 7 (Adapter already running)
      host.raspberry3 2019-07-04 15:22:33.734 info instance system.adapter.countdown.0 started with pid 29298
      countdown.0 2019-07-04 15:22:30.699 info received message!

      die instanz geht immer mal wieder auf rot, dann grün, dann rot

      der fehler kam, als ich dass folgende blockly Image 3.png einfach nochmal mit einem anderem datum ausführte

      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @jackblackson last edited by

        @jackblackson habe die instanz mal gestoppt - htop sagt aber etwas anderes

        Image 4.png

        1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @jackblackson last edited by liv-in-sky

          @jackblackson

          hätte noch eine frage:
          auf githaub schreibst du, dass datum muss folgendermaßen angegebene werden
          Image 5.png

          der obere pfeil mit den punkten funktioniert nicht- also nur mit bindestrichen getrennt ?

          wäre es nicht möglich, dass datum in deutsch einzugeben: jetzt ist es eine mischung aus amerikanisch und deutsch (jahr am anfang (amerikanisch) aber dann monat und tag (deutsch)

          schöner wäre 31.12.2020 24:00

          wie kann ich die alarme löschen ? geht das über ein sendto oder muss ich datenpunkte löschen ?

          sieht im moment so aus!
          Image 6.png

          jackblackson 1 Reply Last reply Reply Quote 0
          • P
            PatrickFro last edited by

            Hallo jackblackson,

            super, dass Du diesen Adapter entwickelst.

            Wenn es schon ein Countdown ist, könnte man nicht alternativ zu einem bestimmten Datum auch ein Countdown für bestimmte Zeit, z.b. 30 Tage, hinzufügen?

            jackblackson 1 Reply Last reply Reply Quote 0
            • jackblackson
              jackblackson @PatrickFro last edited by

              @PatrickFro Hallo! Würdest du das als "heute + 30 Tage" sehen? Oder welchen Anwendungsfall hättest du hier?

              P 1 Reply Last reply Reply Quote 0
              • jackblackson
                jackblackson @liv-in-sky last edited by

                @liv-in-sky Das mit dem deutschen Datumsformat ist eine gute Idee. Soweit ich das bisher gesehen hab, sind eh die meisten Nutzer von ioBroker hier in Europa. Ich hab auch nachgedacht, ob ich das Datumsformat als Parameter im Setup konfigurierbar mache..ich werd mir das nochmal ansehen.

                Aktuell kann der Datenpunkt nur manell gelöscht werden, oder er läuft ab und man hat im Setup das automatische löschen aktiv. Hier könnte ich eine Möglichkeit sehen, das wenn du mir per SendTo nur einen Namen ohne sonstige Parameter schickst, das es "löschen" bedeutet. Was meinst du dazu?

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @jackblackson last edited by liv-in-sky

                  @jackblackson wär cool - namen eingeben und als zweiten parameter löschen/delete

                  welche datenpunkte muss ich löschen - auch etwas unter setup? sollte die instanz gestoppt sein?

                  ich habe dir mal ein im ersten post ein link gesendet - darin habe ich so eine verwandlung von amerikanischen in deutsches datum gemacht - in der beschreibung sieht man auch welche formate möglich sind - vielleicht hilft es ja

                  if (deadline)  var str = getState("javascript.0.Countdown.Termin.Datum").val;
                  if (logging) log(str.indexOf("."));
                  if (str.indexOf(".") > 0) {
                  
                      var dmyall = str.split(" ");
                      if (logging)   log(dmyall[0] + '  ' + dmyall[1]);
                      var dmy = dmyall[0].split(".");
                      if (logging)   log(dmy[0] + dmy[1] + dmy[2] + dmyall[0] + dmyall[1]);
                    
                  
                  if (typeof(dmyall[1]) != 'undefined') {deadline = new Date(dmy[1] +'.'+ dmy[0] + '.' + dmy[2] + ' ' + dmyall[1]);if (logging) log("mit Zeit")} else { deadline = new Date(dmy[1] +'.'+ dmy[0] + '.' + dmy[2]);if (logging) log("keine Zeit")}} else 
                  {deadline = new Date(getState(idTerminDatum).val);if (logging) log("altes Datumsformat)"); } 
                  

                  https://forum.iobroker.net/topic/22574/vorlage-zeit-herunterzählen-bis-googletermin-eintritt

                  bei dem fehler von oben - evtl habe ich auch ein falsches datum eingegeben - und dann ist der adapter abgestürtzt - und iobroker wollte ihn neustarten und dann kam der fehler , dass erschon läuft - hast du falscheingaben abgefragt

                  das mit dem sendto ist ein echter mehrwert - wäre/ist/wird ein super adapter

                  1 Reply Last reply Reply Quote 0
                  • P
                    PatrickFro @jackblackson last edited by

                    @jackblackson Genau. Ich sehe dafür einige Anwendungsmöglichkeiten. Ich suche z.b. gerade einen Countdown, durch den ich an die Reinigung der Kaffeemaschine erinnert werde (alle 30 Tage). Über ical lohnt sich das meiner Meinung nach nicht. Erinnerungen zum Nachkauf von Verbrauchsartikeln wäre damit auch möglich...

                    liv-in-sky 1 Reply Last reply Reply Quote 1
                    • liv-in-sky
                      liv-in-sky @PatrickFro last edited by

                      @PatrickFro wenn es schnell gehen soll funktioniert das damit - der eigentliche countdown ist das 2te script (javascript) .

                      aber ich hoffe, es wird in diesem adapter integriert - da tolle idee - dann einfach warten
                      hier steuer-blockly zum import

                      <xml xmlns="http://www.w3.org/1999/xhtml">
                        <block type="on" id="Yu_[ga/s]Hyeh8nsx^+:" x="88" y="112">
                          <field name="OID">javascript.0.Countdown.Termin.inTagen</field>
                          <field name="CONDITION">ne</field>
                          <field name="ACK_CONDITION"></field>
                          <statement name="STATEMENT">
                            <block type="control" id="4Wm(ATbrtz9$IE;YViQ.">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">javascript.0.Countdown.Termin.Datum</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="convert_from_date" id="N?=6!uE55(IgDv+~R@+h">
                                  <mutation format="true" language="false"></mutation>
                                  <field name="OPTION">custom</field>
                                  <field name="FORMAT">TT.MM.JJJJ SS:mm</field>
                                  <value name="VALUE">
                                    <block type="math_arithmetic" id="0zHp1C{=1+0BqMb^]Wve">
                                      <field name="OP">ADD</field>
                                      <value name="A">
                                        <shadow type="math_number" id=";rfh%LBqSCHmgS?Lu8gC">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="time_get" id="x3FH1{1qx{mjE^G`7[;J">
                                          <mutation format="false" language="false"></mutation>
                                          <field name="OPTION">object</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="8*zEGo+u^A}wgHE0*w:!">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="math_arithmetic" id="l]S_I1TT{S1/QP^qOCt$">
                                          <field name="OP">MULTIPLY</field>
                                          <value name="A">
                                            <shadow type="math_number" id="9(cDBM/2W$P,k8.keSSI">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="math_number" id="8TC2R-FAd;R(5`=?/vC+">
                                              <field name="NUM">86400000</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="rgP;5M:c9HlgZF.R9RxU">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="9+DRg;F3gTh$C}J~1uq2">
                                              <field name="ATTR">val</field>
                                              <field name="OID">javascript.0.Countdown.Termin.inTagen</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </statement>
                        </block>
                        <block type="schedule" id="1J7D1Q/))cpAR,$0[,Y/" x="62" y="362">
                          <field name="SCHEDULE">* * * * *</field>
                          <statement name="STATEMENT">
                            <block type="controls_if" id="Vz9CXtmz#C$?=DIhBrtx">
                              <value name="IF0">
                                <block type="logic_compare" id="2iy?B56Y^Qr#XQYNW-}Z">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="get_value" id="MC^AXX]95vxPW?KN#}Il">
                                      <field name="ATTR">val</field>
                                      <field name="OID">javascript.0.Countdown.Termin.Datum</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="text" id="`/DK+W6T6BxE}D+xQ#e`">
                                      <field name="TEXT">FERTIG</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="control" id="txCpapjXf9C}|TaeuAFk">
                                  <mutation delay_input="false"></mutation>
                                  <field name="OID">javascript.0.Countdown.Termin.Datum</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="convert_from_date" id="(.4KE[dPnOZR+]OBlgiX">
                                      <mutation format="true" language="false"></mutation>
                                      <field name="OPTION">custom</field>
                                      <field name="FORMAT">TT.MM.JJJJ SS:mm</field>
                                      <value name="VALUE">
                                        <block type="math_arithmetic" id="2([b[!X#}^f])9rC!s(^">
                                          <field name="OP">ADD</field>
                                          <value name="A">
                                            <shadow type="math_number" id=";rfh%LBqSCHmgS?Lu8gC">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="time_get" id="|zV9MwctrO5Ln,,,z5N3">
                                              <mutation format="false" language="false"></mutation>
                                              <field name="OPTION">object</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="8*zEGo+u^A}wgHE0*w:!">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="math_arithmetic" id="]a#l{:!#GH*I`%PitXWq">
                                              <field name="OP">MULTIPLY</field>
                                              <value name="A">
                                                <shadow type="math_number" id="9(cDBM/2W$P,k8.keSSI">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="math_number" id="(u53CEM{S@x9y~yafF$#">
                                                  <field name="NUM">86400000</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number" id="rgP;5M:c9HlgZF.R9RxU">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="get_value" id="B3Wz6T/T?1}z$.eZ7Yj@">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.Countdown.Termin.inTagen</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                            </block>
                          </statement>
                        </block>
                      </xml>
                      

                      und als grundscript den countdown hier zum import

                      // Termin Skript zählt bis Termin runter   erstellt: 26.01.2016 von Pix  
                      // weiterverarbeitet 26-2-2019 von liv-in-sky  
                      //moegliche formate fur das datum - uhrzeit optional
                      // 9.4.2019 10:00
                      // 9.4.2019
                      // 9 May 2019 10:00   - (Monat 3 Buchstaben engl. Abkuerzung)
                      // 9 May 2019 - (Monat 3 Buchstaben engl. Abkuerzung)
                      var instanz = 'javascript.0'; var logging = false;  
                      // ab hier nix mehr ändern  
                      createState('Countdown.Termin.Datum', '9/4/2019', { name: 'Termin Datum', desc: 'Datum des Termins (als Objekt)', type: 'string' }); 
                      createState('Countdown.Termin.Datum.String', '3.12.2019', { name: 'Termin Datum (als String)', desc: 'Datum des Termins als Zeichenkette', type: 'string' }); 
                      createState('Countdown.Termin.Name', 'Name des Termins', { name: 'Termin Name', desc: 'Bezeichnung des Termins', type: 'string' }); 
                      createState('Countdown.Termin.Rest.TotalText', 'Termingesamt', { name: 'TotalText', desc: 'TotalText', type: 'string' }); 
                      createState('Countdown.Termin.Rest.Total', { name: 'Millisekunden bis zum Termin', desc: 'Restliche Millisekunden bis zum Datum des Termins', type: 'number', unit: 'ms' }); 
                      createState('Countdown.Termin.Rest.Tage', { name: 'Tage bis zum Termin', desc: 'Restliche Tage bis zum Datum des Termins', type: 'number', unit: 'Tage' });
                      createState('Countdown.Termin.inTagen', { name: 'Start in Tagen', desc: 'Start in Tagen', type: 'number', unit: 'Tage' }); 
                      createState('Countdown.Termin.Rest.Minuten', { name: 'Minuten bis zum Termin', desc: 'Restliche Tage bis zum Datum des Termins', type: 'number', unit: 'Minuten' }); 
                      createState('Countdown.Termin.Rest.Stunden', { name: 'Stunden bis zum Termin', desc: 'Restliche Tage bis zum Datum des Termins', type: 'number', unit: 'Stunden' });
                      createState('Countdown.Termin.Rest.Wochen', { name: 'Wochen bis zum Termin', desc: 'Restliche Wochen bis zum Datum des Termins', type: 'number', unit: 'Wochen' });  
                      createState('Countdown.Termin.Rest.Alarm', { name: 'Alarm', desc: 'Alarm bis zum Datum des Termins', type: 'boolean' });
                      createState('Countdown.Termin.Rest.Fertig', { name: 'Fertig', desc: 'Fertig', type: 'boolean' });
                      var idFertig = instanz + '.Countdown.Termin.Rest.Fertig', idAlarm = instanz + '.Countdown.Termin.Rest.Alarm', idStunden = instanz + '.Countdown.Termin.Rest.Stunden', idMinuten = instanz + '.Countdown.Termin.Rest.Minuten', idTotalText = instanz + '.Countdown.Termin.Rest.TotalText', idTerminDatum = instanz + '.Countdown.Termin.Datum', idTerminDatumString = instanz + '.Countdown.Termin.Datum.String', idTerminName = instanz + '.Countdown.Termin.Name', idTotal = instanz + '.Countdown.Termin.Rest.Total', idTage = instanz + '.Countdown.Termin.Rest.Tage', idWochen = instanz + '.Countdown.Termin.Rest.Wochen';  
                      var deadline;  
                       
                      function getTimeRemaining(endtime) { 
                      
                      
                      var virttime = new Date();
                      
                      
                      var virt2time=formatDate(virttime);
                      var t = Date.parse(endtime) - Date.parse(virttime);
                      
                      if (virttime.getTimezoneOffset() == -60 && virttime.getTimezoneOffset() == -120  ){t=t+3600000};
                      if (virttime.getTimezoneOffset() == -120 && virttime.getTimezoneOffset() == -60  ){t=t-3600000};
                      var seconds = Math.floor( (t/1000) % 60 ); 
                      var minutes = Math.floor( (t/1000/60) % 60 ); 
                      var hours = Math.floor( (t/(1000*60*60)) % 24 ); 
                      var days = Math.floor( t/(1000*60*60*24) ); 
                      var weeks = Math.floor( t/(1000*60*60*24*7) ); 
                      return { 'total': t, 'days': days, 'hours': hours, 'minutes': minutes, 'seconds': seconds, 'weeks' : weeks }; 
                      
                      }
                      function restzeit() { 
                       
                      if (deadline)  var str = getState("javascript.0.Countdown.Termin.Datum").val;
                      if (logging) log(str.indexOf("."));
                      if (str.indexOf(".") > 0) {
                      
                          var dmyall = str.split(" ");
                          if (logging)   log(dmyall[0] + '  ' + dmyall[1]);
                          var dmy = dmyall[0].split(".");
                          if (logging)   log(dmy[0] + dmy[1] + dmy[2] + dmyall[0] + dmyall[1]);
                        
                      
                      if (typeof(dmyall[1]) != 'undefined') {deadline = new Date(dmy[1] +'.'+ dmy[0] + '.' + dmy[2] + ' ' + dmyall[1]);if (logging) log("mit Zeit")} else { deadline = new Date(dmy[1] +'.'+ dmy[0] + '.' + dmy[2]);if (logging) log("keine Zeit")}} else 
                      {deadline = new Date(getState(idTerminDatum).val);if (logging) log("altes Datumsformat)"); } 
                      
                      setState(idTerminDatumString, formatDate(deadline)); 
                      setState(idTage, getTimeRemaining(deadline).days); 
                      setState(idWochen, getTimeRemaining(deadline).weeks); 
                      setState(idTotal, getTimeRemaining(deadline).total); 
                      setState(idMinuten, getTimeRemaining(deadline).minutes);
                      setState(idStunden, getTimeRemaining(deadline).hours);
                      //log(deadline.getTimezoneOffset());
                      
                      setState(idTotalText,  getTimeRemaining(deadline).days.toString() + " Tag(e) " +getTimeRemaining(deadline).hours.toString() + " Stunde(n) " + getTimeRemaining(deadline).minutes.toString() + " Minute(n) "); 
                        setTimeout(function () { //The timer    
                       
                      if ( getState(idTage).val == 0  && getState(idStunden).val <= 4  ){setState(idAlarm, true) ;} else {setState(idAlarm, false); } //
                       }, 2000);
                       setTimeout(function () { //The timer  
                       if ( getState(idTage).val == 0  && getState(idStunden).val == 0 && getState(idMinuten).val <= 0 ){setState(idFertig, true) ;setState(idTerminName, "FERTIG");setState(idTerminDatum, "FERTIG");} else {setState(idFertig, false); } //
                       }, 3000);
                      if (logging) log(getTimeRemaining(deadline).days + ' Resttage (' + getTimeRemaining(deadline).weeks + ' Wochen) bis zum ' + formatDate(deadline) + ' (' + getState(idTerminName).val + ')'); }  
                      // Mitternacht 
                       
                      
                      schedule('*/1 * * * *', function() { restzeit(); });  
                      //bei Restart
                      var datecounter = getState("javascript.0.Countdown.Termin.Datum").val;
                      if (getState("javascript.0.Countdown.Termin.Datum").val != "") {
                      setStateDelayed("javascript.0.Countdown.Termin.Datum", datecounter, 2000, false);}
                      // Bei Terminänderung 
                      on({id: 'javascript.0.Countdown.Termin.Datum', change: 'any'}, function (obj) {
                      
                          deadline = new Date("4.5.2019");
                      
                           restzeit();
                      
                           
                           
                           });  
                      
                        
                       
                      // Scriptstart 
                       
                       
                      

                      das blockly script steuert das javascript - alle datenpunkte werden unter javascript.0.countdown angelegt - du musst nur die anzahl tage (javascript.0.Countdown.Termin.inTagen) ändern und schon wird "gecountdownt"

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

                        super, vielen Dank. Eingebaut ist es, morgen werde ich sehen, ob ich es korrekt gemacht habe 😉

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

                          @PatrickFro @liv-in-sky So - Version 0.6 ist fertig. Ihr könnt nun das Datumsformat aussuchen - Standard ist DD.MM.YYYY HH.mm. Weiters kann man mit SendTo nur des Namens den Countdown löschen. Es ist auch möglich, mit adddays, addmonths und addyears einen Countdown ab Heute zu erstellen - sollte alles im Readme erklärt sein. Freu mich auf euer Feedback und etwaige Verbesserungsvorschläge - und danke für eure Geduld!

                          liv-in-sky 2 Replies Last reply Reply Quote 1
                          • liv-in-sky
                            liv-in-sky @jackblackson last edited by

                            @jackblackson

                            • konnte ohne probleme drüber installieren
                            • konnte alle alten tests löschen
                            • konnte neue anlegen
                            • falsches datum wurde erkannt
                            • konnte existierenden einfach mit neuen datum überschreiben

                            eine frage - habe es in der vis versucht, einzugeben - also direkt in das datumsfeld zu schreiben - das funktioniert nicht- kann man das noch "enabeln" ? (man kann es über ein script ja auch lösen - falls nicht) (gelber pfeil)
                            Image 2.png

                            adddays:
                            ich habe einfach mal einen neuen namen und adddays benutzt - datenpunkte werde angelegt bleiben aber leer - bug oder feature 🙂 - kann ihn nicht mehr löschen über blockly !
                            Image 5.png

                            • ist adddays mit exisiterenden countdown oder einem neuen countdown zu nutzen?

                            Image 4.png

                            jackblackson 2 Replies Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @jackblackson last edited by liv-in-sky

                              @jackblackson

                              so wie es aussieht geht adddays nur mit neuem namen - ist das richtig ? das funktioniert jetzt, nachdem ich mal alle alten tests gelöscht habe

                              einen neuen countdown mit adddays kann ich anlegen und löschen

                              dslraser 2 Replies Last reply Reply Quote 0
                              • dslraser
                                dslraser Forum Testing Most Active @liv-in-sky last edited by dslraser

                                @liv-in-sky
                                zeige mir doch mal bitte wie ich den Adapter aktuell nutzen kann. (Screeshot Blockly reicht)

                                Beispiel:
                                Der Rasenmäher schaltet auf Regenpause (state ist vorhanden-true/false), dann soll ein Countdown gestartet werden der mir die Restlaufzeit der Regenpause anzeigt.(bei mir 90 Minuten, auch der state ist vorhanden)
                                Wenn die Zeit abgelaufen ist, oder der Mäher wieder fährt, kann der Countdown automatisch wieder gelöscht werden oder auf Null gesetzt werden.
                                Ich würde mir das dann gern in iQontrol anzeigen lassen. (wie lange dauert die Regenpause noch ?)

                                Screenshot_20190706-134249_Chrome.jpg

                                1 Reply Last reply Reply Quote 0
                                • dslraser
                                  dslraser Forum Testing Most Active @liv-in-sky last edited by

                                  @liv-in-sky

                                  PS: ich habe bisher nicht verstanden wie man einen neuen Countdown setzt und dann startet.
                                  Bisher schmiert mir der Adapter mit meinen Versuchen über sendto immer ab und startet ständig neu...

                                  liv-in-sky 1 Reply Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @dslraser last edited by liv-in-sky

                                    @dslraser bei dem problem adapter ertmal stoppen - dann

                                    terminal: pgrep countdown.0 -- falls wert zurückommt --> kill "wert" -- dann würde ich alle eintrage in den objecten löschen und die instanz dann wieder starten - wichtig - version 0.6 von github nehmen

                                    ich glaube du kannst keine minuten oder stunden angeben @jackblackson - vielleicht kann man das noch einbauen - addminutes, addhours

                                    beispiel mit adddays:
                                    Image 13.png

                                    in der momentanene version müßtest du ein blockly erstellen - zeitjetz +90minuten - und das dann einsetzen - statt 540000 eine variable !

                                    Image 14.png

                                    ich nehme mal an, nach dem countdown (datenpinkt "reached" ist true muss der countdown wieder gelöscht werden

                                    Image 15.png

                                    ich nehme mal an, nach dem countdown (datenpunkt "reached" ist true muss der countdown wieder gelöscht werden: (nur name als parameter löscht countdown)
                                    Image 16.png

                                    dslraser 1 Reply Last reply Reply Quote 0
                                    • dslraser
                                      dslraser Forum Testing Most Active @liv-in-sky last edited by

                                      @liv-in-sky
                                      ah, okay, danke. Also doch noch zu Fuß rechnen. Ich dachte das könnte der Adapter selbst.
                                      Würde jedenfalls Sinn machen.

                                      Obwohl, in Deinem Datenpunkt steht ja 1 Stunde 28 Minuten (das ist doch die Restlaufzeit, oder ?)

                                      Das würde ja reichen.

                                      liv-in-sky 2 Replies Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @dslraser last edited by

                                        @dslraser ja genau - und der datenpunkt "reached" ist true - kann dir beim triggern für das nächst-anfallende helfen

                                        vielleicht kommt das noch dazu - momentan addyears, addmonths, adddays
                                        gut wäre auch addminutes, addhours

                                        1 Reply Last reply Reply Quote 1
                                        • liv-in-sky
                                          liv-in-sky @dslraser last edited by

                                          @dslraser es gibt ja noch diese möglichkeit

                                          aber da denke ich ist das ausrechnen für 90 minuten noch mehr

                                          Image 17.png

                                          1 Reply Last reply Reply Quote 1
                                          • jackblackson
                                            jackblackson @liv-in-sky last edited by jackblackson

                                            @liv-in-sky Ich schau mir das an, das man auch mit adddays überschreiben kann. Es sollte auch mit neuen Countdowns funktionieren - eigentlich nur mit diesen 😉

                                            @dslraser Ich werde noch einen Screenshot für die Add-Sachen im Readme hinzufügen. Ich schau, das ich noch addminutes und addhours einbaue.

                                            Die Datenpunkte bleiben bestehen, wenn im Setup das Autodelete nicht aktiv ist. Dann wechselt Reached auf true .

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            468
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter countdown tester
                                            6
                                            97
                                            6095
                                            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