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. [Erledigt] Hilfe Datumsscript

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • 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

[Erledigt] Hilfe Datumsscript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
18 Beiträge 7 Kommentatoren 1.7k Aufrufe 5 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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #3

    @Zippolighter:

    Hoffe Ihr habt eine Idee, wie ich es zu lösen ist. `
    Die Berechnungen werden nur einmal bei Skriptstart ausgeführt.

    Packe die Berechnungen in eine Funktion und rufe diese Funktion innerhalb des Schedules als erstes auf.

    Die Variablen, die Du anschließend in setState() verwendest, müssen außerhalb der Funktion deklariert sein. Etwa so:

    schedule("1,3 0 * * *", function () {
       var dD1, dD2, dD3, dD4, dD5, VdM, dJ;
       berechneDatum();
       setState(Tag1, (dD1 + ' ' + VdM + ' ' + dJ));
       // usw.
    
    

    Alternativ kannst Du die setState() auch am Ende der Funktion ausführen.

    function berechneDatum() {
    // Berechnung des aktuellen Monats
       ...
        setState(Tag1, (dD1 + ' ' + VdM + ' ' + dJ));
        log(dD1 + ' ' + VdM + ' ' + dJ);
        setState(Tag2, (dD2 + ' ' + VdM + ' ' + dJ));
    //    log(dD2 + ' ' + VdM + ' ' + dJ);
        setState(Tag3, (dD3 + ' ' + VdM + ' ' + dJ));
    //    log(dD3 + ' ' + VdM + ' ' + dJ);
        setState(Tag4, (dD4 + ' ' + VdM + ' ' + dJ));
    //    log(dD4 + ' ' + VdM + ' ' + dJ);
        setState(Tag5, (dD5 + ' ' + VdM + ' ' + dJ));
    //    log(dD5 + ' ' + VdM + ' ' + dJ);
    }
    
    berechneDatum(); // Skriptstart
    schedule("1,3 0 * * *", berechneDatum);   
    
    

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • Z Offline
      Z Offline
      Zippolighter
      schrieb am zuletzt editiert von
      #4

      Danke an Euch beiden für die Infos. Wieder was dazugelernt

      Habe das jetzt so angepasst

      //   Datum für Wetter Widget in der richtigen Reihenfolge anzeigen
      
      createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag", {name: 'Datum_ 1Tag', common: 'string'}, function () {});  
      createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag", {name: 'Datum_ 2Tag', common: 'string'}, function () {});
      createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag", {name: 'Datum_ 3Tag', common: 'string'}, function () {});
      createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag", {name: 'Datum_ 4Tag', common: 'string'}, function () {});
      createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag", {name: 'Datum_ 5Tag', common: 'string'}, function () {});
      
      schedule("5 0 0 * * *", function () {
      // Berechnung des aktuellen Monats
      
          var d = new Date();
          var dm = d.getMonth() +1;
          var dd = d.getDate();
          var dJ = d.getFullYear();
          var Monat;
          log('Monat ' + dm);
          log('Tag ' + dd);
      log('Datum neu berechnet');
      
          var Tag1 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag";
          var Tag2 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag";
          var Tag3 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag";
          var Tag4 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag";
          var Tag5 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag";
      
      //Variable Tag des Jahres
          var idTagDesJahres = "javascript.0.Manuell.Systemvariable.Allgemein.TagDesJahres";
      
          dD1 = dd + 0;
          if (dD1 < 10) {
              var dD1 = ('0' + dd);
      //        log('Tag zweistellig ' + dD1);
          }
          dD2 = dd + 1;
          if (dD2 < 10) {
              var dD2 = ('0' + (dd + 1));
      //        log('Tag zweistellig ' + dD2);
          }
          dD3 = dd + 2;
          if (dD3 < 10) {
              var dD3 = ('0' + (dd + 2));
      //        log('Tag zweistellig ' + dD3);
          }
      //    log(dD3);
          dD4 = dd + 3;
          if (dD4 < 10) {
              var dD4 = ('0' + (dd + 3));
      //        log('Tag zweistellig ' + dD4);
          }
          dD5 = dd + 4;
          if (dD5 < 10) {
              var dD5 = ('0' + (dd + 4));
      //        log('Tag zweistellig ' + dD5);
          }
      
          dM = dm;
          if (dm < 10) {
              var dM = ('0' + dm);
      //        log('Monat zweistellig ' + dM);
          }     
      
      //VorMonat als Namen
      
      Date.prototype.getFullMonth = function () {
        return (["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"])[this.getMonth()];
      };
      
          var VdM = d.getFullMonth(); 
      
      function berechneDatum() {
      // Berechnung des aktuellen Monats
         ...
          setState(Tag1, (dD1 + ' ' + VdM + ' ' + dJ));
          log(dD1 + ' ' + VdM + ' ' + dJ);
          setState(Tag2, (dD2 + ' ' + VdM + ' ' + dJ));
      //    log(dD2 + ' ' + VdM + ' ' + dJ);
          setState(Tag3, (dD3 + ' ' + VdM + ' ' + dJ));
      //    log(dD3 + ' ' + VdM + ' ' + dJ);
          setState(Tag4, (dD4 + ' ' + VdM + ' ' + dJ));
      //    log(dD4 + ' ' + VdM + ' ' + dJ);
          setState(Tag5, (dD5 + ' ' + VdM + ' ' + dJ));
      //    log(dD5 + ' ' + VdM + ' ' + dJ);
      }
      
      berechneDatum(); // Skriptstart
      schedule("25 0 0 * * *", berechneDatum);   
      
      });
      

      Könnt Ihr bitte nochmal kurz schauen ob das so klappt. Habe ja leider immer nur den Tageswechsel um zu sehen ob es geht.

      Vielen Dank

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #5

        @Zippolighter:

        ob das so klappt. `
        Nein. Die 3 Punkte nach dem Start-Kommentar in der Funktion sind durch die <u>gesamte Berechnung</u> zu ersetzen.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          DavidFD
          schrieb am zuletzt editiert von
          #6

          Hab das grad mal runtergegebrochen dein Script, da ich es für meine Views auch gebrauchen kann (was ich bis dato noch gar nicht wusste ;))

          
          // States beim Start erzeugen
          for (var i = 1; i <= 5; i++) {
              var objectid = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ " + i + "Tag";
              createState(objectid, "", {
                  name: 'Datum Tag ' + i,
              });
          }
          
          function pad(n){return n<10 ? '0'+n : n}
          
          function generateDates() {
          
              var heute = new Date();
          
              Date.prototype.getFullMonth = function () {
                  return (["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"])[this.getMonth()];
              };
          
              for (var i = 1; i <= 5; i++) {
                  var objectid = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ " + i + "Tag";
                  console.log(objectid);
                  var tempdate = new Date();
                  tempdate.setDate(heute.getDate() + i);
                  var datestring = pad(tempdate.getDate()) + " " + tempdate.getFullMonth() + " " + tempdate.getFullYear();
                  console.log("Tag "+ i+" - "+ datestring);
                  setState(objectid, datestring);
              }
          }
          
          generateDates(); // funktion direkt aufrufen, damit sie beim Start auch die Daten generiert 
          
          schedule('1,5 0 * * *', generateDates);  // Nachts um 00:05 und 00:01 den Job ausführen
          
          

          2 Raspis als Multihost, Homematic, Xiaomi und Hue.

          Bastelprojekte auf www.derfrickler.de zu finden.

          Aktuell:

          1 Antwort Letzte Antwort
          0
          • Z Offline
            Z Offline
            Zippolighter
            schrieb am zuletzt editiert von
            #7

            @paul53:

            Nein. Die 3 Punkte nach dem Start-Kommentar in der Funktion sind durch die <u>gesamte Berechnung</u> zu ersetzen. `

            //   Datum für Wetter Widget in der richtigen Reihenfolge anzeigen
            
            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag", {name: 'Datum_ 1Tag', common: 'string'}, function () {});  
            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag", {name: 'Datum_ 2Tag', common: 'string'}, function () {});
            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag", {name: 'Datum_ 3Tag', common: 'string'}, function () {});
            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag", {name: 'Datum_ 4Tag', common: 'string'}, function () {});
            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag", {name: 'Datum_ 5Tag', common: 'string'}, function () {});
            
            function berechneDatum() {
            
            // Berechnung des aktuellen Monats
            
                var d = new Date();
                var dm = d.getMonth() +1;
                var dd = d.getDate();
                var dJ = d.getFullYear();
                var Monat;
                log('Monat ' + dm);
                log('Tag ' + dd);
            log('Datum neu berechnet');
            
                var Tag1 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag";
                var Tag2 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag";
                var Tag3 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag";
                var Tag4 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag";
                var Tag5 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag";
            
                dD1 = dd + 0;
                if (dD1 < 10) {
                    var dD1 = ('0' + dd);
            //        log('Tag zweistellig ' + dD1);
                }
                dD2 = dd + 1;
                if (dD2 < 10) {
                    var dD2 = ('0' + (dd + 1));
            //        log('Tag zweistellig ' + dD2);
                }
                dD3 = dd + 2;
                if (dD3 < 10) {
                    var dD3 = ('0' + (dd + 2));
            //        log('Tag zweistellig ' + dD3);
                }
            //    log(dD3);
                dD4 = dd + 3;
                if (dD4 < 10) {
                    var dD4 = ('0' + (dd + 3));
            //        log('Tag zweistellig ' + dD4);
                }
                dD5 = dd + 4;
                if (dD5 < 10) {
                    var dD5 = ('0' + (dd + 4));
            //        log('Tag zweistellig ' + dD5);
                }
            
                dM = dm;
                if (dm < 10) {
                    var dM = ('0' + dm);
            //        log('Monat zweistellig ' + dM);
                }     
            
            //VorMonat als Namen
            
            Date.prototype.getFullMonth = function () {
              return (["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"])[this.getMonth()];
            };
            
                var VdM = d.getFullMonth(); 
            
                setState(Tag1, (dD1 + ' ' + VdM + ' ' + dJ));
                log(dD1 + ' ' + VdM + ' ' + dJ);
                setState(Tag2, (dD2 + ' ' + VdM + ' ' + dJ));
            //    log(dD2 + ' ' + VdM + ' ' + dJ);
                setState(Tag3, (dD3 + ' ' + VdM + ' ' + dJ));
            //    log(dD3 + ' ' + VdM + ' ' + dJ);
                setState(Tag4, (dD4 + ' ' + VdM + ' ' + dJ));
            //    log(dD4 + ' ' + VdM + ' ' + dJ);
                setState(Tag5, (dD5 + ' ' + VdM + ' ' + dJ));
            //    log(dD5 + ' ' + VdM + ' ' + dJ);
            }
            
            berechneDatum(); // Skriptstart
            schedule("25 0 0 * * *", berechneDatum);   
            
            

            Irgend was mache ich nocht falsch

            1304_screenshot_319.jpg

            Wäre toll wenn paul oder jemand anderes mir hier nochmal auf die Sprünge helfen kann.

            Vielen Dank

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #8

              Die Variablen sind nicht deklariert. Beispiel

                  dD1 = dd + 0;
              
              

              –>

                  var dD1 = dd + 0;
              
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • Z Offline
                Z Offline
                Zippolighter
                schrieb am zuletzt editiert von
                #9

                Danke paul, mal wieder vor lauter Bäumen den Wald nicht gesehen.

                Keine Fehlermeldungen mehr. Bin dann mal gespannt auf heute Nacht

                1 Antwort Letzte Antwort
                0
                • Z Offline
                  Z Offline
                  Zippolighter
                  schrieb am zuletzt editiert von
                  #10

                  @DavidFD:

                  Hab das grad mal runtergegebrochen dein Script, da ich es für meine Views auch gebrauchen kann (was ich bis dato noch gar nicht wusste ;)) `

                  Hallo David, habe jetzt dank paul mein Script erstmal hinbekommen. Ist für mein Verständnis immer wichtig.

                  Werde mich aber auch mit Deinem Script nochmal beschäftigen. Ist halt in anderer Art und Weise geschrieben. Finde ich super interessant.

                  Gruß Zippolighter

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    DavidFD
                    schrieb am zuletzt editiert von
                    #11

                    @Zippolighter:

                    Hallo David, habe jetzt dank paul mein Script erstmal hinbekommen. Ist für mein Verständnis immer wichtig.

                    Werde mich aber auch mit Deinem Script nochmal beschäftigen. Ist halt in anderer Art und Weise geschrieben. Finde ich super interessant.

                    Gruß Zippolighter `

                    Viele Wege führen nach Rom, das ist das Schöne.

                    Super das dein Script jetzt läuft.

                    Ein Tipp noch, klappt auch der Monatswechsel?

                    Kannst es ja mal testen mit: var d = new Date(2019,0,29);

                    Beim überfliegen scheinst +1 auf die Tage zu addieren.

                    2 Raspis als Multihost, Homematic, Xiaomi und Hue.

                    Bastelprojekte auf www.derfrickler.de zu finden.

                    Aktuell:

                    1 Antwort Letzte Antwort
                    0
                    • RöstkartoffelR Offline
                      RöstkartoffelR Offline
                      Röstkartoffel
                      schrieb am zuletzt editiert von
                      #12

                      Danke für das Wetter Widget als Ersatz für das Yahoo-Wetter.

                      Funktioniert auch Klasse mit deinem Wetterscript.

                      Nur heute sagt es mir, das in 5 Tagen der 32. Januar 2019 ist. :o

                      Könnt ihr euch das Skript diesbezüglich nochmal ansehen?

                      1826_wetterscript_monatswechsel_falsch.jpg

                      Danke

                      Volker

                      NUC7i3BNH mit Proxmox und ioBroker (VM Debian Buster), Raspi3 (Slave Smartmeter für eHZ easymeter), Hardware CCU2, SMA SB5000TL-21

                      1 Antwort Letzte Antwort
                      0
                      • Z Offline
                        Z Offline
                        Zippolighter
                        schrieb am zuletzt editiert von
                        #13

                        Jepp habe ich heute morgen auch gesehen. Gehe da dran sobald ich Zeit habe um das grade zu ziehen, kann aber WE werden.

                        Gruß Zippolighter

                        RöstkartoffelR GlasfaserG 2 Antworten Letzte Antwort
                        0
                        • Z Zippolighter

                          Jepp habe ich heute morgen auch gesehen. Gehe da dran sobald ich Zeit habe um das grade zu ziehen, kann aber WE werden.

                          Gruß Zippolighter

                          RöstkartoffelR Offline
                          RöstkartoffelR Offline
                          Röstkartoffel
                          schrieb am zuletzt editiert von
                          #14

                          @Zippolighter sagte in [Erledigt] Hilfe Datumsscript:

                          Jepp habe ich heute morgen auch gesehen. Gehe da dran sobald ich Zeit habe um das grade zu ziehen, kann aber WE werden.

                          Gruß Zippolighter

                          Hallo Zippolighter.

                          Hast du schon Zeit gefunden, dir das anzusehen und zu ändern?

                          NUC7i3BNH mit Proxmox und ioBroker (VM Debian Buster), Raspi3 (Slave Smartmeter für eHZ easymeter), Hardware CCU2, SMA SB5000TL-21

                          1 Antwort Letzte Antwort
                          0
                          • Z Zippolighter

                            Jepp habe ich heute morgen auch gesehen. Gehe da dran sobald ich Zeit habe um das grade zu ziehen, kann aber WE werden.

                            Gruß Zippolighter

                            GlasfaserG Offline
                            GlasfaserG Offline
                            Glasfaser
                            schrieb am zuletzt editiert von Glasfaser
                            #15

                            @Zippolighter

                            Neues Jahr neues Glück .. :blush:

                            2.JPG

                            Kannst du nochmal über das Script schauen !?
                            oder @paul53 wärst du vielleicht so Nett !?

                            //   Datum für Wetter Widget in der richtigen Reihenfolge anzeigen
                            
                            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag", {name: 'Datum_ 1Tag', common: 'string'}, function () {});  
                            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag", {name: 'Datum_ 2Tag', common: 'string'}, function () {});
                            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag", {name: 'Datum_ 3Tag', common: 'string'}, function () {});
                            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag", {name: 'Datum_ 4Tag', common: 'string'}, function () {});
                            createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag", {name: 'Datum_ 5Tag', common: 'string'}, function () {});
                            
                            function berechneDatum() {
                            
                            // Berechnung des aktuellen Monats
                            
                               var d = new Date();
                               var dm = d.getMonth() +1;
                               var dd = d.getDate();
                               var dJ = d.getFullYear();
                               var Monat;
                               log('Monat ' + dm);
                               log('Tag ' + dd);
                            log('Datum neu berechnet');
                            
                               
                               var Tag1 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag";
                               var Tag2 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag";
                               var Tag3 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag";
                               var Tag4 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag";
                               var Tag5 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag";
                               
                               var dD1 = dd + 0;
                               if (dD1 < 10) {
                                   dD1 = ('0' + dd);
                            //        log('Tag zweistellig ' + dD1);
                               }
                               var dD2 = dd + 1;
                               if (dD2 < 10) {
                                   dD2 = ('0' + (dd + 1));
                            //        log('Tag zweistellig ' + dD2);
                               }
                               var dD3 = dd + 2;
                               if (dD3 < 10) {
                                   dD3 = ('0' + (dd + 2));
                            //        log('Tag zweistellig ' + dD3);
                               }
                            //    log(dD3);
                               var dD4 = dd + 3;
                               if (dD4 < 10) {
                                   dD4 = ('0' + (dd + 3));
                            //        log('Tag zweistellig ' + dD4);
                               }
                               var dD5 = dd + 4;
                               if (dD5 < 10) {
                                   dD5 = ('0' + (dd + 4));
                            //        log('Tag zweistellig ' + dD5);
                               }
                               
                               dM = dm;
                               if (dm < 10) {
                                   var dM = ('0' + dm);
                            //        log('Monat zweistellig ' + dM);
                               }     
                               
                            //VorMonat als Namen
                            
                            Date.prototype.getFullMonth = function () {
                             return (["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"])[this.getMonth()];
                            };
                            
                               var VdM = d.getFullMonth(); 
                            
                               setState(Tag1, (dD1 + ' ' + VdM + ' ' + dJ));
                               log(dD1 + ' ' + VdM + ' ' + dJ);
                               setState(Tag2, (dD2 + ' ' + VdM + ' ' + dJ));
                            //    log(dD2 + ' ' + VdM + ' ' + dJ);
                               setState(Tag3, (dD3 + ' ' + VdM + ' ' + dJ));
                            //    log(dD3 + ' ' + VdM + ' ' + dJ);
                               setState(Tag4, (dD4 + ' ' + VdM + ' ' + dJ));
                            //    log(dD4 + ' ' + VdM + ' ' + dJ);
                               setState(Tag5, (dD5 + ' ' + VdM + ' ' + dJ));
                            //    log(dD5 + ' ' + VdM + ' ' + dJ);
                            }
                            
                            berechneDatum(); // Skriptstart
                            schedule("25 0 0 * * *", berechneDatum);
                            

                            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                            1 Antwort Letzte Antwort
                            0
                            • wendy2702W Online
                              wendy2702W Online
                              wendy2702
                              schrieb am zuletzt editiert von
                              #16

                              Hi,

                              versucht mal das:

                              //   Datum für Wetter Widget in der richtigen Reihenfolge anzeigen
                              createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag", {name: 'Datum_ 1Tag', common: 'string'}, function () {})
                              createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag", {name: 'Datum_ 2Tag', common: 'string'}, function () {})
                              createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag", {name: 'Datum_ 3Tag', common: 'string'}, function () {})
                              createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag", {name: 'Datum_ 4Tag', common: 'string'}, function () {})
                              createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag", {name: 'Datum_ 5Tag', common: 'string'}, function () {})
                              
                              function berechneDatum() {
                                 function addDays(date, days) {
                                     let result = new Date(date)
                                     result.setDate(result.getDate() + days)
                              
                                     return result
                                 }
                              
                                 function toDateString(date) {
                                     let day = date.getDate() < 10 ? `0${date.getDate()}` : date.getDate()
                                     let month = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"][date.getMonth()]
                                     return `${day} ${month} ${date.getFullYear()}`
                                 }
                              
                                 let currentDate = new Date()
                              
                                 let day01 = currentDate /* = addDays(currentDate, 0) */
                                 let day02 = addDays(currentDate, 1)
                                 let day03 = addDays(currentDate, 2)
                                 let day04 = addDays(currentDate, 3)
                                 let day05 = addDays(currentDate, 4)
                              
                                 setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag", toDateString(day01))
                                 setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag", toDateString(day02))
                                 setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag", toDateString(day03))
                                 setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag", toDateString(day04))
                                 setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag", toDateString(day05))
                              }
                              
                              berechneDatum() // Skriptstart
                              schedule("25 0 0 * * *", berechneDatum)
                              

                              9affac00-f1a6-4055-b0cd-a7320b12af94-image.png

                              Bitte keine Fragen per PN, die gehören ins Forum!

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              GlasfaserG 1 Antwort Letzte Antwort
                              2
                              • wendy2702W wendy2702

                                Hi,

                                versucht mal das:

                                //   Datum für Wetter Widget in der richtigen Reihenfolge anzeigen
                                createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag", {name: 'Datum_ 1Tag', common: 'string'}, function () {})
                                createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag", {name: 'Datum_ 2Tag', common: 'string'}, function () {})
                                createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag", {name: 'Datum_ 3Tag', common: 'string'}, function () {})
                                createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag", {name: 'Datum_ 4Tag', common: 'string'}, function () {})
                                createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag", {name: 'Datum_ 5Tag', common: 'string'}, function () {})
                                
                                function berechneDatum() {
                                   function addDays(date, days) {
                                       let result = new Date(date)
                                       result.setDate(result.getDate() + days)
                                
                                       return result
                                   }
                                
                                   function toDateString(date) {
                                       let day = date.getDate() < 10 ? `0${date.getDate()}` : date.getDate()
                                       let month = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"][date.getMonth()]
                                       return `${day} ${month} ${date.getFullYear()}`
                                   }
                                
                                   let currentDate = new Date()
                                
                                   let day01 = currentDate /* = addDays(currentDate, 0) */
                                   let day02 = addDays(currentDate, 1)
                                   let day03 = addDays(currentDate, 2)
                                   let day04 = addDays(currentDate, 3)
                                   let day05 = addDays(currentDate, 4)
                                
                                   setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag", toDateString(day01))
                                   setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag", toDateString(day02))
                                   setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag", toDateString(day03))
                                   setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag", toDateString(day04))
                                   setState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag", toDateString(day05))
                                }
                                
                                berechneDatum() // Skriptstart
                                schedule("25 0 0 * * *", berechneDatum)
                                

                                9affac00-f1a6-4055-b0cd-a7320b12af94-image.png

                                GlasfaserG Offline
                                GlasfaserG Offline
                                Glasfaser
                                schrieb am zuletzt editiert von
                                #17

                                @wendy2702

                                Sieht schon besser aus :)

                                .
                                1.JPG

                                @Nashra

                                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                1 Antwort Letzte Antwort
                                0
                                • NashraN Offline
                                  NashraN Offline
                                  Nashra
                                  Most Active Forum Testing
                                  schrieb am zuletzt editiert von
                                  #18

                                  Klasse, jetzt ist es richtig :+1:

                                  Gruß Ralf
                                  Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  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

                                  597

                                  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