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

[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.
  • Z Offline
    Z Offline
    Zippolighter
    schrieb am zuletzt editiert von
    #1

    Hallo, zuerst ich kann kein Javascript, aber ich versuche immer durch lesen und ausprobieren sachen hinzubekommen.

    Ich habe ein kleines Script mir zusammengestellt aus vielen Beiträgen und dem Internet was das Datum in der Ansicht "02 Januar 2019" für den aktuellen und die nächsten 4 Tage erstellt. (Benötige ich für meine Wetter Anzeige)

    Allerdings wird bei mir die Variable var d = new Date(); nicht aktualisiert. Da aber alles darauf aufbaut, müsste die Variable um 00:00 Uhr neu gesetzt werden.

    //   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 () {});
    
    // 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(); 
    
    schedule("1,3 0 * * *", function () {
        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);
    
    });
    
    

    Seit nicht zu streng mit mir über die Art und Weise des Scripts

    Hoffe Ihr habt eine Idee, wie ich es zu lösen ist.

    Ganz herzlichen Dank

    Gruß Zippolighter

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

      Aktuell hast du lediglich das Speichern in einem Cronjob laufen.

      Diese Function bedient sich dann aus den Werten, die weiter oben generiert wurden.

      Allerdings wird der obere Teil nur beim Starten des Scriptes ausgeführt….

      Einfachste Lösung, pack alles ab "// Berechnung des aktuellen Monats" in die Function mit rein

      2 Raspis als Multihost, Homematic, Xiaomi und Hue.

      Bastelprojekte auf www.derfrickler.de zu finden.

      Aktuell:

      1 Antwort Letzte Antwort
      0
      • 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

                                      780

                                      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