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

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

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

                          592

                          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