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. JavaScript
  5. [gelöst] Einfacher Countdown in VIS von festem Datum gesucht

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

[gelöst] Einfacher Countdown in VIS von festem Datum gesucht

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
72 Beiträge 6 Kommentatoren 9.2k Aufrufe 9 Watching
  • Ä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.
  • M Offline
    M Offline
    mehrwiedu
    schrieb am zuletzt editiert von
    #23

    Also für mich ist es für genau diesen einen Timer nun auch nicht wichtig. Ich habe ihm ne Stunde mehr gegeben und nun passt es ja auch.

    Insgesamt allerdings für andere Skripte, die dann auf die korrekte Zeit angewiesen sind, wäre das natürlich fatal.
    Von daher suche ich auch bei mir mal weiter.

    Und nochmal vielen Dank für Deine Mühe. Ich freue mich, dass ich nun diesen Timer in der VIS habe.
    Das Baby bekommt übrigens meine Schwester. Ich bin mit drei Kindern in allen Altersstufen vom Kindergarten bis zur Ausbildung bereits fertig und tue mir das nicht mehr an. ;)

    Ach so. Kann ich das Logging eigentlich irgendwo ausschalten im Skript, oder kommt das von der Javascript Instanz?
    Hab jetzt jede Sekunde im Log die Ausgabe der Restzeit über alle Datenpunkte.

    1 Antwort Letzte Antwort
    0
    • liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #24

      zeile 2 - logging = false setzen - dann sollte es weg sein

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #25

        hatte diese sommertime problem schon mal bei einem wemos d1 arduino project - zum haareraufen

        mir ist aber eigentlich aufgefallen, das es keinen wirklichen unterschied macht, denn die now-zeit geht ja mit - dh. geht man über die sommer/winterzeit-grenze stimmt der countdown wieder und man hat am ende die richtige restzeit

        aber - ich habe es trotzdem mal probiert und mit diesem script sollte es jetzt funktionieren/richtig sein

        /* Termin Skript zählt bis Termin runter   erstellt: 26.01.2016 von Pix  */ 
        /* weiterverarbeitet 26-2-2019 von liv-in-sky  */ 
        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.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) deadline = new Date(getState(idTerminDatum).val); 
        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 Terminänderung 
        on(idTerminDatum, function (obj ) { deadline = new Date(obj.state.val); restzeit(); });  
        // Scriptstart 
         
         
        

        um das script besser findbar zu machen - für andere - könntest du bitte dieses script in deinen ersten post irgendwie - evt. farbig auffallend - integrieren und falls wir nochmal etwas ändern immer wieder updaten - mittlerweile sind es doch mehrere scriptvarianten, die in den posts versteckt sind - da glaube ich, dass sich niemand mehr zurecht findet !

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          mehrwiedu
          schrieb am zuletzt editiert von mehrwiedu
          #26

          Mach ich gleich, wenn ich daheim bin.
          Die Formatierungsoptionen und die Tag-Syntax vom neuen Forum machen mich wahnsinnig. ;)
          Wo muss man anstelle von "code" in eckigen oder spitzen Klammern drei Akzente eingeben oder anstelle von "b" in Klammern zwei Sternchen. ;)

          Ich kriege aus fast allen Beiträgen kaum einen Code mehr herauskopiert, ohne dass sich alles verschiebt, verrückt oder sich Zeilen und Zeichen einschleichen, die da nicht hingehören. Eben weil die ganzen html-Tags in den alten Beiträgen nicht mehr gelten.
          Ich finde das für ein Forum, welches eigentlich mit Code-Schnipseln lebt echt Mist, dass die alten Beiträge fast alle nicht vernünftig portiert wurden.

          Kann natürlich grad auch aktuell hier an meinem Browser liegen (IE), dass ich das frische Skript hier nicht kopieren kann, ohne dass ich die Zeilennummern aus dem Code-Tag mit in der Zwischenablage habe. :(

          Deshalb gleich von daheim mit einem etwas nutzerfreundlicherem Browser für das Forum.

          1 Antwort Letzte Antwort
          0
          • liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #27

            mit chrome habe ich da keine probleme :-)

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von
              #28

              @mehrwiedu es gibt ein update - habe festgestellt, dass nach dem booten oder nach einem neustart des adapters der countdown nicht mehr anspringt

              damit sollte es gehen - bitte im ersten post updaten - danke
              gruß

              /* Termin Skript zählt bis Termin runter erstellt: 26.01.2016 von Pix /
              /
              weiterverarbeitet 26-2-2019 von liv-in-sky */
              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.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/(10006060)) % 24 );
              var days = Math.floor( t/(1000606024) );
              var weeks = Math.floor( t/(1000
              606024*7) );
              return { 'total': t, 'days': days, 'hours': hours, 'minutes': minutes, 'seconds': seconds, 'weeks' : weeks };

              }
              function restzeit() {

              if (deadline) deadline = new Date(getState(idTerminDatum).val);
              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"/Termin Datum/, datecounter, 2000, false);}
              // Bei Terminänderung
              on({id: 'javascript.0.Countdown.Termin.Datum', change: 'any'}, function (obj) { deadline = new Date(obj.state.val); restzeit();/log("jetzt gestartet");/ });
              //on(idTerminDatum, function (obj ) { deadline = new Date(obj.state.val); restzeit(); });

              // Scriptstart

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mehrwiedu
                schrieb am zuletzt editiert von
                #29

                Aktueller Stand im ersten Post eingefügt. :)
                Danke für Deine Arbeit @liv-in-sky

                1 Antwort Letzte Antwort
                0
                • C Offline
                  C Offline
                  Camuri
                  schrieb am zuletzt editiert von
                  #30

                  Ich hab das Script mal bei mir eingefügt und einfach gestartet bekomme aber einen Fehler da ich mit Javascripten nicht viel anfangen kann vom Verständnis her frag ich hier mal nach :D wo mein Fehler liegt.

                  a37b6e1b5fb09599d29e440118533223.png

                  liv-in-skyL 1 Antwort Letzte Antwort
                  0
                  • C Camuri

                    Ich hab das Script mal bei mir eingefügt und einfach gestartet bekomme aber einen Fehler da ich mit Javascripten nicht viel anfangen kann vom Verständnis her frag ich hier mal nach :D wo mein Fehler liegt.

                    a37b6e1b5fb09599d29e440118533223.png

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    schrieb am zuletzt editiert von
                    #31

                    @Camuri

                    hättest du auch das log vom log-tab ?

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    C 1 Antwort Letzte Antwort
                    0
                    • liv-in-skyL liv-in-sky

                      @Camuri

                      hättest du auch das log vom log-tab ?

                      C Offline
                      C Offline
                      Camuri
                      schrieb am zuletzt editiert von
                      #32

                      @liv-in-sky sagte in [gelöst] Einfacher Countdown in VIS von festem Datum gesucht:

                      @Camuri

                      hättest du auch das log vom log-tab ?

                      habs nicht auf ein bild bekommen.

                      c7a4a98333f76a1ed0fa661aeb16c8fa.png

                      7c9e5a8833021c2ef777b9573a6a0df7.png

                      liv-in-skyL 1 Antwort Letzte Antwort
                      0
                      • C Camuri

                        @liv-in-sky sagte in [gelöst] Einfacher Countdown in VIS von festem Datum gesucht:

                        @Camuri

                        hättest du auch das log vom log-tab ?

                        habs nicht auf ein bild bekommen.

                        c7a4a98333f76a1ed0fa661aeb16c8fa.png

                        7c9e5a8833021c2ef777b9573a6a0df7.png

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von
                        #33

                        @Camuri

                        du hast auch das neuste script vom ersten post geladen ?

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        C 1 Antwort Letzte Antwort
                        0
                        • liv-in-skyL liv-in-sky

                          @Camuri

                          du hast auch das neuste script vom ersten post geladen ?

                          C Offline
                          C Offline
                          Camuri
                          schrieb am zuletzt editiert von
                          #34

                          @liv-in-sky ja habs einmal vom ersten post und einmal vom letzten ausprobiert sollten ja die gleichen sein.

                          liv-in-skyL 1 Antwort Letzte Antwort
                          0
                          • C Camuri

                            @liv-in-sky ja habs einmal vom ersten post und einmal vom letzten ausprobiert sollten ja die gleichen sein.

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von
                            #35

                            @Camuri - stimmt

                            welche version vom js adapter ?

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            C 1 Antwort Letzte Antwort
                            0
                            • liv-in-skyL liv-in-sky

                              @Camuri - stimmt

                              welche version vom js adapter ?

                              C Offline
                              C Offline
                              Camuri
                              schrieb am zuletzt editiert von
                              #36

                              @liv-in-sky sagte in [gelöst] Einfacher Countdown in VIS von festem Datum gesucht:

                              @Camuri - stimmt

                              welche version vom js adapter ?

                              4.1.12

                              liv-in-skyL 1 Antwort Letzte Antwort
                              0
                              • C Camuri

                                @liv-in-sky sagte in [gelöst] Einfacher Countdown in VIS von festem Datum gesucht:

                                @Camuri - stimmt

                                welche version vom js adapter ?

                                4.1.12

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                schrieb am zuletzt editiert von liv-in-sky
                                #37

                                @Camuri

                                ich bin nicht sicher

                                schreib mal in die einstellung vom js adapter unter zusätliche module "request" rein

                                Image 6.png

                                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                C 1 Antwort Letzte Antwort
                                0
                                • liv-in-skyL liv-in-sky

                                  @Camuri

                                  ich bin nicht sicher

                                  schreib mal in die einstellung vom js adapter unter zusätliche module "request" rein

                                  Image 6.png

                                  C Offline
                                  C Offline
                                  Camuri
                                  schrieb am zuletzt editiert von
                                  #38

                                  @liv-in-sky sagte in [gelöst] Einfacher Countdown in VIS von festem Datum gesucht:

                                  @Camuri

                                  ich bin nicht sicher

                                  schreib mal in die einstellung vom js adapter unter zusätliche module "request" rein

                                  Image 6.png

                                  hat nicht geholfen Fehler ist immer noch da.

                                  liv-in-skyL 1 Antwort Letzte Antwort
                                  0
                                  • C Camuri

                                    @liv-in-sky sagte in [gelöst] Einfacher Countdown in VIS von festem Datum gesucht:

                                    @Camuri

                                    ich bin nicht sicher

                                    schreib mal in die einstellung vom js adapter unter zusätliche module "request" rein

                                    Image 6.png

                                    hat nicht geholfen Fehler ist immer noch da.

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    schrieb am zuletzt editiert von liv-in-sky
                                    #39

                                    @Camuri

                                    kannst du bitte ein bild vom script unter zeile 32 einfügen bis zum ende - auf den fall sollte alles um zeile 62 zu sehen sein

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    1 Antwort Letzte Antwort
                                    0
                                    • C Offline
                                      C Offline
                                      Camuri
                                      schrieb am zuletzt editiert von
                                      #40

                                      7b64dfcbd72087d6098d87793b97e5b3.png

                                      1 Antwort Letzte Antwort
                                      0
                                      • liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        schrieb am zuletzt editiert von liv-in-sky
                                        #41

                                        ändere mal diese zeile - da ist bei dir der wurm drin

                                        setStateDelayed("javascript.0.Countdown.Termin.Datum"/*Termin Datum*/, datecounter, 2000, false);}
                                        

                                        das auskommentierte /Termin Datum/ ist bei dir nicht auskommentiert

                                        Image 7.png

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        1 Antwort Letzte Antwort
                                        0
                                        • liv-in-skyL Offline
                                          liv-in-skyL Offline
                                          liv-in-sky
                                          schrieb am zuletzt editiert von liv-in-sky
                                          #42

                                          bitte nutze dieses file

                                          // Termin Skript zählt bis Termin runter erstellt: 26.01.2016 von Pix
                                          // weiterverarbeitet 26-2-2019 von liv-in-sky
                                          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.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/(10006060)) % 24 );
                                          var days = Math.floor( t/(1000606024) );
                                          var weeks = Math.floor( t/(1000
                                          606024*7) );
                                          return { 'total': t, 'days': days, 'hours': hours, 'minutes': minutes, 'seconds': seconds, 'weeks' : weeks };

                                          }
                                          function restzeit() {

                                          if (deadline) deadline = new Date(getState(idTerminDatum).val);
                                          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(obj.state.val); restzeit();/log("jetzt gestartet");/ });
                                          //on(idTerminDatum, function (obj ) { deadline = new Date(obj.state.val); restzeit(); });

                                          // Scriptstart

                                          das forum verändert die sterne im script !!!

                                          @mehrwiedu - könntest du bitte dieses file unter spoiler in den ersten post kopieren - habe alle sterne entfernt

                                          @Jey-Cee hallo jeycee - ist dieser fehler bekannt - wenn man als kommentar in einem javascript ein -stern-schrägstrich- verwendet, gibt es probleme beim kopieren

                                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                          C M 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          994

                                          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