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.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.6k

[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.
  • liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von liv-in-sky
    #2

    die " !" müssen gelöscht werden - wurden vom forum eingesetzt

    probier mal es in einen editor zu kopieren - suche und ersetzte das ausrufezeichen und kopiere es in das js zurück

    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
      #3

      Danke. die ! waren der entscheidende Hinweis.
      Die habe ich nun entfernt, jedoch musste ich dann die Zeilen neu umbrechen, damit die Erstellung der States und die Berechnung der Zeit funktioniert.

      So sieht es jetzt aus:

      /* Termin Skript zählt bis Termin runter http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/  erstellt: 26.01.2016 von Pix  */  
      var instanz = 'javascript.0'; var logging = true;  
      // ab hier nix mehr ändern  
      createState('Countdown.Termin.Datum', '9/4/2016', { name: 'Termin Datum', desc: 'Datum des Termins (als Objekt)', type: 'string' }); 
      createState('Countdown.Termin.Datum.String', '3.12.2016', { 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.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.Wochen', { name: 'Wochen bis zum Termin', desc: 'Restliche Wochen bis zum Datum des Termins', type: 'number', unit: 'Wochen' });  
      var 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 t = Date.parse(endtime) - Date.parse(new Date()); 
      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); 
      if (logging) log(getTimeRemaining(deadline).days + ' Resttage (' + getTimeRemaining(deadline).weeks + ' Wochen) bis zum ' + formatDate(deadline) + ' (' + getState(idTerminName).val + ')'); }  
      // Mitternacht 
      schedule('56 14 * * *', function() { restzeit(); });  
      // Bei Terminänderung 
      on(idTerminDatum, function (obj) { deadline = new Date(obj.state.val); restzeit(); });  
      // Scriptstart 
      //restzeit();
      

      Jedoch hatte ich es mir etwas anders vorgestellt. ;)
      Es zeigt für den gewünschten Termin nun die Tage oder Wochen an.
      In meinem Fall 200 Tage, oder 28 Wochen.

      Ich hätte das gerne so, dass es Tage, Stunden und Minuten so anzeigt, dass es die Summe von 200 Tagen ergibt und dann eben runtergezählt wird.

      Also: Noch 199 Tage, 5 Stunden und 25 Minuten

      Kann man das umbauen, oder geht das besser mit einem neuen Skript?
      Ich brauche auch tatsächlich keine variable Eingabe vom Datum in der VIS.
      Ein State mit dem fest eingetragenen Datum als String und ein State, wo das Script dann die berechnete Restzeit reinschriebt. Das würde ich dann in meiner VIS einfach abgreifen.

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

        also ganz glücklich wirst du mit dem script nicht, denn es bezieht sich auf einen tag - also bis 0:00 uhr

        damit ist deine gewünschte anzeige immer auf mitternacht des datums bezogen und somit helfen dir die angaben zu den stunden und minuten nicht wirklich - deshalb zeigt das script nur wochen und tage an

        ich habe hier mal einen neuen datenpunkt eingebaut - aber wie erwähnt - geht auf mitternacht

        /* Termin Skript zählt bis Termin runter http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/  erstellt: 26.01.2016 von Pix  */  
        var instanz = 'javascript.0'; var logging = true;  
        // 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.Wochen', { name: 'Wochen bis zum Termin', desc: 'Restliche Wochen bis zum Datum des Termins', type: 'number', unit: 'Wochen' });  
        var 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 t = Date.parse(endtime) - Date.parse(new Date()); 
        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) ); 
        //setState("javascript.0.Countdown.Termin.Rest.TotalText",days.toString() + hours.toString() + minutes.toString());
        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(idTotalText,  getTimeRemaining(deadline).days.toString() + " Tag(e) " +getTimeRemaining(deadline).hours.toString() + " Stunde(n) " + getTimeRemaining(deadline).minutes.toString() + " Minute(n) "); 
         
        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 
        
        

        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

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

          hab dir gestern etwas falsches erzählt
          marvin_the_paranoid_android_by_gooie_duck-smaller.png

          das script ist klüger als ich - du kannst auch eine uhrzeit mit angeben z.b. 2.26.2019 13:00

          Image 2.png

          dann hast du genau, was du suchst - in zeilke 33 kannst du das format des TotalText-Datenpunkt bestimmen!

          es nervt nur noch die "verdrehte datumseingabe"

          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 liv-in-sky

            also ganz glücklich wirst du mit dem script nicht, denn es bezieht sich auf einen tag - also bis 0:00 uhr

            damit ist deine gewünschte anzeige immer auf mitternacht des datums bezogen und somit helfen dir die angaben zu den stunden und minuten nicht wirklich - deshalb zeigt das script nur wochen und tage an

            ich habe hier mal einen neuen datenpunkt eingebaut - aber wie erwähnt - geht auf mitternacht

            /* Termin Skript zählt bis Termin runter http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/  erstellt: 26.01.2016 von Pix  */  
            var instanz = 'javascript.0'; var logging = true;  
            // 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.Wochen', { name: 'Wochen bis zum Termin', desc: 'Restliche Wochen bis zum Datum des Termins', type: 'number', unit: 'Wochen' });  
            var 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 t = Date.parse(endtime) - Date.parse(new Date()); 
            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) ); 
            //setState("javascript.0.Countdown.Termin.Rest.TotalText",days.toString() + hours.toString() + minutes.toString());
            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(idTotalText,  getTimeRemaining(deadline).days.toString() + " Tag(e) " +getTimeRemaining(deadline).hours.toString() + " Stunde(n) " + getTimeRemaining(deadline).minutes.toString() + " Minute(n) "); 
             
            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 
            
            
            M Offline
            M Offline
            mehrwiedu
            schrieb am zuletzt editiert von
            #6

            @liv-in-sky sagte in Einfacher Countdown in VIS von festem Datum gesucht:

            also ganz glücklich wirst du mit dem script nicht, denn es bezieht sich auf einen tag - also bis 0:00 uhr

            Vielen Dank für Deine Anpassungen. Allerdings hast Du recht. Damit werde ich nicht wirklich glücklich. ;)

            Ich habe gestern noch ein wenig gestöbert und folgendes Skript gefunden.
            https://www.w3schools.com/howto/howto_js_countdown.asp

            Mir ist klar, dass dies keine Syntax für ioBroker darstellt und um das Ergebnis in einen State zu packen, den ich dann in VIS abgreifen kann, noch so einige Änderungen daran gemacht werden müssen. Daran habe ich mich zwar versucht, aber komme leider dennoch nicht zum Ziel, was eben meiner Unkenntnis bezüglich Javascript geschuldet ist. Ich kann nicht programmieren, jedoch kann ich viele Dinge ableiten, da ich aus dem Bereich VBA komme und mir meine Makros in Excel quasi auch so zusammenbaue, wie ich es gerne hätte, was auch problemlos klappt. Allerdings ist Javascript doch noch ein wenig anspruchsvoller.

            Ich habe nach der Trial & Error Variante den Anzeigeteil ersetzt, einen State erstellen lassen und versucht die Ausgabe des Skripts dort hinein zu schreiben. Leider nicht wirklich ein Erfolg, weil ich zum Einen nicht weiß, welche Eigenschaft der State haben muss (ich habe einen String erstellt) und zum anderen weiß ich leider auch nicht, ob ich die Skriptausführung auch richtig inkludiert habe zwischen createState und setState.
            ioBroker zeigt zwar keine Fehler im Skript an, der State wird auch erstellt, aber das Skript läuft nicht. Leider habe ich nun auch die Fehlermeldung nicht mehr parat, weil ich das grad hier aus dem Kopf wiedergebe.

            Der eigentliche Skriptteil des obigen Beispiels ist ja

             
            // Set the date we're counting down to
              var countDownDate = new Date("Apr 1, 2019 00:00:00").getTime();
            
            // Update the count down every 1 second
            var x = setInterval(function() {
             
              // Get todays date and time
              var now = new Date().getTime();
             
              // Find the distance between now and the count down date
               var distance = countDownDate - now;
            
              // Time calculations for days, hours, minutes and seconds
              var days = Math.floor(distance /  (1000 * 60 * 60 * 24));
              var hours = Math.floor((distance % (1000 *  60 * 60 * 24)) / (1000 * 60 * 60));
              var minutes = Math.floor((distance  % (1000 * 60 * 60)) / (1000 * 60));
              var seconds = Math.floor((distance  % (1000 * 60)) / 1000);
            
              // Display the result in the element with id="demo"
              document.getElementById("demo").innerHTML = days + "d " +  hours + "h "
              + minutes + "m " + seconds + "s ";
            
              // If the count down is finished, write some text 
              if (distance < 0) {
                 clearInterval(x);
                document.getElementById("demo").innerHTML  = "EXPIRED";
              }
            }, 1000);
            

            "Display the result" muss natürlich raus und ich habe auch "If the Count is finished" rausgenommen, sowie das Intervall von 1000ms auf 60000ms gestellt.
            Dazu habe ich vor dem Skriptteil noch eine Variable "Babytimer" angelegt und nach dem Skriptteil ein setState auf den Datenpunkt in JavaScript.0.Babytimer.timer gesetzt.

            Datenpunkt wird erstellt und das Skript wird ausgeführt. Leider kommt das Ergebnis nicht wie gewünscht nach jeder Minute an.
            Ich mache mir da auch kaum Hoffnung, dass ich das richtig gemacht habe, aber vielleicht erbarmt sich jemand, mir so ein Skript für die Ausgabe von VIS aufzubereiten?

            Vielen lieben Dank im Voraus.

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

              hast du den post über deinen letzten gelesen - das ist doch das, was du möchtest ?

              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

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

                es sind jetzt auch die minuten als einzelner datenpunkt vorhanden - damit kannst du ganz flexibel deine vis erstellen

                /* Termin Skript zählt bis Termin runter http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/  erstellt: 26.01.2016 von Pix  */  
                var instanz = 'javascript.0'; var logging = true;  
                // 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.Wochen', { name: 'Wochen bis zum Termin', desc: 'Restliche Wochen bis zum Datum des Termins', type: 'number', unit: 'Wochen' });  
                var 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 t = Date.parse(endtime) - Date.parse(new Date()); 
                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) ); 
                //setState("javascript.0.Countdown.Termin.Rest.TotalText",days.toString() + hours.toString() + minutes.toString());
                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(idTotalText,  getTimeRemaining(deadline).days.toString() + " Tag(e) " +getTimeRemaining(deadline).hours.toString() + " Stunde(n) " + getTimeRemaining(deadline).minutes.toString() + " Minute(n) "); 
                 
                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 
                
                

                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
                  #9

                  sorry - warte noch - da fehlt noch was

                  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 liv-in-sky

                    hast du den post über deinen letzten gelesen - das ist doch das, was du möchtest ?

                    M Offline
                    M Offline
                    mehrwiedu
                    schrieb am zuletzt editiert von
                    #10

                    @liv-in-sky sagte in Einfacher Countdown in VIS von festem Datum gesucht:

                    hast du den post über deinen letzten gelesen - das ist doch das, was du möchtest ?

                    Oh, sorry. Der ist mir beim Schreiben durchgegangen. Kam während ich noch schrieb.
                    Danke dafür. Das schaue ich mir nachher natürlich an.
                    Kannst Du mir sagen, wie da dann das Anzeigeintervall ist? Bleibt da dann die Anzeige ab Mitternacht immer statisch den ganzen Tag?

                    Ich brauche das nicht sekündlich oder minütlich, aber so alle 5 Minuten wäre schon ok. ;)

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

                      bin dran - dauert noch ein wenig

                      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

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

                        bin dran - dauert noch ein wenig

                        M Offline
                        M Offline
                        mehrwiedu
                        schrieb am zuletzt editiert von mehrwiedu
                        #12

                        @liv-in-sky sagte in Einfacher Countdown in VIS von festem Datum gesucht:

                        bin dran - dauert noch ein wenig

                        Alles gut. Lass Dir Zeit, soviel Du magst. :) Vor heute Abend kann ich das leider eh nicht einbinden und außerdem bin ich total glücklich, dass Du da überhaupt für mich Deine Zeit opferst.

                        Vielen Dank.

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

                          du hast mich daran erinnert, dass ich sowas auch haben wollte - also gern geschehen

                          der schedule steht auf jede minute - kannst du ja auf " */10 * * * " ändern (10 minuten interval)

                          jetzt müßte es funktionieren - es gibt wochen, tage, stunden, minuten als einzelne datenpunkte - damit kann man sich ein schönes vis bauen

                          das einzige , was mich noch stört, ist die eingabe des datums - bekomm ich leider nicht hin - es ist das amerikanische format zu wählen

                          • 26 Oct 2019
                          • 26 Oct 2019 11:09
                          • 10/26/2019
                          • 10/26/2019 12:03

                          falls du einen zweiten counter benötigst einfach script nochmal kopieren und alle Countdown. in Countdown1. usw umwandeln

                          /* Termin Skript zählt bis Termin runter http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/  erstellt: 26.01.2016 von Pix  */  
                          var instanz = 'javascript.0'; var logging = true;  
                          // 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 t = Date.parse(endtime) - Date.parse(new Date()); 
                          log(t);
                          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) ); 
                          //setState("javascript.0.Countdown.Termin.Rest.TotalText",days.toString() + hours.toString() + minutes.toString());
                          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);
                          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 
                          
                          
                          

                          ansicht vis Image 4.png

                          jetzt kann der BABYTIMER ja starten

                          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

                          M 1 Antwort Letzte Antwort
                          1
                          • liv-in-skyL liv-in-sky

                            du hast mich daran erinnert, dass ich sowas auch haben wollte - also gern geschehen

                            der schedule steht auf jede minute - kannst du ja auf " */10 * * * " ändern (10 minuten interval)

                            jetzt müßte es funktionieren - es gibt wochen, tage, stunden, minuten als einzelne datenpunkte - damit kann man sich ein schönes vis bauen

                            das einzige , was mich noch stört, ist die eingabe des datums - bekomm ich leider nicht hin - es ist das amerikanische format zu wählen

                            • 26 Oct 2019
                            • 26 Oct 2019 11:09
                            • 10/26/2019
                            • 10/26/2019 12:03

                            falls du einen zweiten counter benötigst einfach script nochmal kopieren und alle Countdown. in Countdown1. usw umwandeln

                            /* Termin Skript zählt bis Termin runter http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/  erstellt: 26.01.2016 von Pix  */  
                            var instanz = 'javascript.0'; var logging = true;  
                            // 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 t = Date.parse(endtime) - Date.parse(new Date()); 
                            log(t);
                            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) ); 
                            //setState("javascript.0.Countdown.Termin.Rest.TotalText",days.toString() + hours.toString() + minutes.toString());
                            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);
                            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 
                            
                            
                            

                            ansicht vis Image 4.png

                            jetzt kann der BABYTIMER ja starten

                            M Offline
                            M Offline
                            mehrwiedu
                            schrieb am zuletzt editiert von
                            #14

                            @liv-in-sky sagte in Einfacher Countdown in VIS von festem Datum gesucht:

                            jetzt kann der BABYTIMER ja starten

                            Wow, vielen lieben Dank. Das werde ich nachher sofort einbinden und testen. Hoffe, dass ich da auch mal soweit komme, dass ich solche Dinge für mich "problemlos" adaptieren kann. Ideen habe ich genug für eine persönliche Visualisierung, oftmals finde ich nur den Einstieg nicht und bin drauf angewiesen, dass jemand anderes eine ähnliche Idee bereits hatte. Danke nochmal. :)

                            Wenn es nicht zu unverschämt ist, könntest Du mir das Widget auch hier einstellen?
                            Dann kann ich davon auch ein wenig lernen bei der Gestaltung und Farbgebung.

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

                              der einstieg ist immer das schlimmste - war bei mir auch so -

                              das widget - diesmal nicht als test sondern richtig in meine vis eingebunden

                              • ich habe noch einen alarm datenpunkt eingeführt - dieser geht von false auf true, wenn es unter 5 stunden sind. damit kann man dann etwas schalten - ich zeige z.b. unter 5 stunden einen größeren text in der vis an. das wird damit gesschalten - siehe weiter unten (kann man natürlich im script ändern) - außerdem - wenn man alexa, google oder andere soundausgabe hat, kann man dann auch dort eine audioausgabe starten!
                              • zusätzlich gibt es noch einen datenpunkt "Fertig".

                              ich bin in sachen vis kein wirklicher profi - es gibt einige forum themen die wirklich tolle andsichten haben z.b https://forum.iobroker.net/topic/19611/vorstellung-meine-zweite-visualisierung/181

                              [{"tpl":"tplFrame","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","title":"","title_color":"black","title_top":"-10","title_left":"15","header_height":"0","header_color":"black","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"110px","top":"490px","background-color":"#180c0c","width":"459px","height":"46px","border-radius":"15px","z-index":"0"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Countdown.Termin.Rest.Tage","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"294px","top":"493px","width":"59px","height":"35px","font-weight":"bold","font-size":"xx-large","color":"#72f769","z-index":"15","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Countdown.Termin.Rest.Stunden","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"364px","top":"493px","width":"46px","height":"38px","font-weight":"bold","font-size":"xx-large","color":"#2cc33a","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Countdown.Termin.Rest.Minuten","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"419px","top":"493px","width":"49px","height":"39px","font-weight":"bold","font-size":"xx-large","color":"#13771c","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplJquiInput","data":{"oid":"javascript.0.Countdown.Termin.Datum","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","label":"","digits":"0","size":"22","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"asString":true},"style":{"left":"125px","top":"500px","color":"#998f8f","width":"150px","height":"33px","background-color":"#180c0c","z-index":"15","text-align":"center","font-weight":"bold","font-size":"smaller"},"widgetSet":"jqui"},{"tpl":"tplJquiInput","data":{"oid":"javascript.0.Countdown.Termin.Name","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","label":"","digits":"0","size":"22","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"asString":true},"style":{"left":"477px","top":"500px","color":"#998f8f","width":"75px","height":"33px","background-color":"#180c0c","z-index":"15","font-weight":"bold","font-size":"smaller","text-align":"center"},"widgetSet":"jqui"}]
                              

                              und so sieht es aus Image 7.png

                              und so, wenn der alarm (unter 5 stunden) aktiv ist Image 8.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

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

                                der einstieg ist immer das schlimmste - war bei mir auch so -

                                das widget - diesmal nicht als test sondern richtig in meine vis eingebunden

                                • ich habe noch einen alarm datenpunkt eingeführt - dieser geht von false auf true, wenn es unter 5 stunden sind. damit kann man dann etwas schalten - ich zeige z.b. unter 5 stunden einen größeren text in der vis an. das wird damit gesschalten - siehe weiter unten (kann man natürlich im script ändern) - außerdem - wenn man alexa, google oder andere soundausgabe hat, kann man dann auch dort eine audioausgabe starten!
                                • zusätzlich gibt es noch einen datenpunkt "Fertig".

                                ich bin in sachen vis kein wirklicher profi - es gibt einige forum themen die wirklich tolle andsichten haben z.b https://forum.iobroker.net/topic/19611/vorstellung-meine-zweite-visualisierung/181

                                [{"tpl":"tplFrame","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","title":"","title_color":"black","title_top":"-10","title_left":"15","header_height":"0","header_color":"black","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"110px","top":"490px","background-color":"#180c0c","width":"459px","height":"46px","border-radius":"15px","z-index":"0"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Countdown.Termin.Rest.Tage","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"294px","top":"493px","width":"59px","height":"35px","font-weight":"bold","font-size":"xx-large","color":"#72f769","z-index":"15","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Countdown.Termin.Rest.Stunden","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"364px","top":"493px","width":"46px","height":"38px","font-weight":"bold","font-size":"xx-large","color":"#2cc33a","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Countdown.Termin.Rest.Minuten","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"419px","top":"493px","width":"49px","height":"39px","font-weight":"bold","font-size":"xx-large","color":"#13771c","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplJquiInput","data":{"oid":"javascript.0.Countdown.Termin.Datum","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","label":"","digits":"0","size":"22","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"asString":true},"style":{"left":"125px","top":"500px","color":"#998f8f","width":"150px","height":"33px","background-color":"#180c0c","z-index":"15","text-align":"center","font-weight":"bold","font-size":"smaller"},"widgetSet":"jqui"},{"tpl":"tplJquiInput","data":{"oid":"javascript.0.Countdown.Termin.Name","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","label":"","digits":"0","size":"22","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"asString":true},"style":{"left":"477px","top":"500px","color":"#998f8f","width":"75px","height":"33px","background-color":"#180c0c","z-index":"15","font-weight":"bold","font-size":"smaller","text-align":"center"},"widgetSet":"jqui"}]
                                

                                und so sieht es aus Image 7.png

                                und so, wenn der alarm (unter 5 stunden) aktiv ist Image 8.png

                                M Offline
                                M Offline
                                mehrwiedu
                                schrieb am zuletzt editiert von
                                #16

                                @liv-in-sky sagte in Einfacher Countdown in VIS von festem Datum gesucht:

                                der einstieg ist immer das schlimmste - war bei mir auch so -

                                das widget - diesmal nicht als test sondern richtig in meine vis eingebunden

                                • ich habe noch einen alarm datenpunkt eingeführt - dieser geht von false auf true, wenn es unter 5 stunden sind. damit kann man dann etwas schalten - ich zeige z.b. unter 5 stunden einen größeren text in der vis an. das wird damit gesschalten - siehe weiter unten (kann man natürlich im script ändern) - außerdem - wenn man alexa, google oder andere soundausgabe hat, kann man dann auch dort eine audioausgabe starten!
                                • zusätzlich gibt es noch einen datenpunkt "Fertig".

                                Vielen Dank dafür. Ich freue mich schon auf nachher, wenn ich es einbinden kann.

                                ich bin in sachen vis kein wirklicher profi - es gibt einige forum themen die wirklich tolle andsichten haben z.b https://forum.iobroker.net/topic/19611/vorstellung-meine-zweite-visualisierung/181

                                Ja, Kuddels View ist wirklich toll und echt umfangreich. Davon habe ich viel lernen und selbstverständlich auch profitieren können. Ich habe das quasi für mich auch 1:1 in Teilen übernommen, weil ich auch das Layout absolut gelungen finde. Meine eigenen Vorstellungen habe ich dann ergänzt. Durch austauschen oder adaptieren. Die beiliegenden Skripte sind auch eine Bereicherung gewesen.
                                Nur, wenn man einmal damit anfängt, sprudeln die Ideen nur so heraus und man wird sich erstmal bewusst darüber, was trotz solch umfangreicher Vorlagen für den eigenen Bedarf noch alles fehlt. Das ist erschreckend.
                                Ich habe wieder angefangen, Sachen aus meinem Keller zu holen, von denen ich dachte, ich brauche sie gar nicht mehr.

                                Habe jetzt noch eine ganze Palette von ToDo`s auf meinem Zettel, die ich umsetzen möchte und die Liste wird immer länger. :)
                                Meine Frau hat schon mehrmals ungläubig geschaut, als ich die alten Bose Soundtouch wieder auf dem Schreibtisch stehen hatte und so weiter. ;)

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

                                  kann ich absolut nachvollziehen - bei mir ist die vis immer die letzte baustelle - sowas wie kuddels vis werd ich wohl nie haben - bin immer mehr an etwas progrmmieren oder eine neue günstige hardware/sensor interessiert

                                  die vis habe ich eigentlich erst beachtet, als alexa ausgefallen war und ich quasi nichts steuern konnte - da war der morgen nicht nur verschlafen sondern quaotisch :-)

                                  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
                                  1
                                  • liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    schrieb am zuletzt editiert von
                                    #18

                                    übrigens: wenn mir das scripten in javascript zu anstrengend ist, hilft mit oft nodered

                                    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

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

                                      übrigens: wenn mir das scripten in javascript zu anstrengend ist, hilft mit oft nodered

                                      M Offline
                                      M Offline
                                      mehrwiedu
                                      schrieb am zuletzt editiert von
                                      #19

                                      @liv-in-sky sagte in Einfacher Countdown in VIS von festem Datum gesucht:

                                      übrigens: wenn mir das scripten in javascript zu anstrengend ist, hilft mit oft nodered

                                      Und da habe ich noch gar nichts mit gemacht, weil ich dachte, dass wäre noch komplexer.
                                      Bin ja froh, dass ich einfache Sachen mit Blockly umsetzen kann und mit viel Hilfe, wie jetzt von Dir, auch mal das ein oder andere Javascript eingebunden und angepasst kriege.

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

                                        Kann das sein, dass das Skript irgendwie eine Stunde vor geht? Hehe...
                                        Ich habe im System die richtige Zeit. 22:57UHr und der Timer zeigt 0 Stunden an.

                                        Bildschirmfoto 2019-02-25 um 22.57.57.png

                                        Mal gleich in 3 Minuten gucken, ob da dann 23 Stunden stehen.

                                        /edit
                                        Jepp.
                                        Springt um auf 198 Tage, 23 Stunden und 59 Minuten. Funktioniert also, hat nur eine falsche Zeitzone. ;)

                                        Bildschirmfoto 2019-02-25 um 23.01.16.png

                                        Wobei meine Systemzeit korrekt ist.

                                        Bildschirmfoto 2019-02-25 um 23.03.26.png

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

                                          Ich finde keinen Fehler bei mir. Alles was irgendwie ne Zeitzone beinhalten könnte, hat die richtige Zeitzone.
                                          Javascript Adapter steht auf Systemzeit, Systemzeit ist korrekt.

                                          Ich habe jetzt dem Skript einfach eine Uhrzeit mitgegeben. Und zwar 13.09.2019 01:00:00. Also eine Stunde vorgestellt. ;)
                                          Jetzt passt es.

                                          Muss ich nur dran denken, wenn ich mal irgendwann was anderes per Astrozeit oder so timen will. Das wäre dann nicht so schön.

                                          Also wissen, woran sowas liegt, würde ich schon ganz gerne. Wenn also jemand das hier mal liest und weiß, was zu tun ist, bin ich sehr dankbar.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          828

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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