Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Zeitbasiertes Script läuft nicht

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    864

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Zeitbasiertes Script läuft nicht

Geplant Angeheftet Gesperrt Verschoben JavaScript
12 Beiträge 2 Kommentatoren 584 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    MatthiaB
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich habe ein Script. Das sollte über die shedule-Funktion jeden Tag ausgeführt werden. Leider hat das nur im Test geklappt. Ich habe dann über das Menü einen Zeitplan erstellt. Jeder Stunde. Aber auch da funktioniert das nur im Test.

    Was mache ich wohl falsch?

    UncleSamU 1 Antwort Letzte Antwort
    0
    • M MatthiaB

      Hallo,

      ich habe ein Script. Das sollte über die shedule-Funktion jeden Tag ausgeführt werden. Leider hat das nur im Test geklappt. Ich habe dann über das Menü einen Zeitplan erstellt. Jeder Stunde. Aber auch da funktioniert das nur im Test.

      Was mache ich wohl falsch?

      UncleSamU Offline
      UncleSamU Offline
      UncleSam
      Developer
      schrieb am zuletzt editiert von
      #2

      @MatthiaB Gute Frage.

      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
      ♡-lichen Dank an meine Sponsoren

      1 Antwort Letzte Antwort
      0
      • UncleSamU Offline
        UncleSamU Offline
        UncleSam
        Developer
        schrieb am zuletzt editiert von
        #3

        Ach, du möchtest eine Antwort? Kannst du vielleicht etwas mehr Informationen liefern? Wie sieht das Script aus? Und was heisst "funktioniert nur im Test"?

        Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
        ♡-lichen Dank an meine Sponsoren

        M 1 Antwort Letzte Antwort
        0
        • UncleSamU UncleSam

          Ach, du möchtest eine Antwort? Kannst du vielleicht etwas mehr Informationen liefern? Wie sieht das Script aus? Und was heisst "funktioniert nur im Test"?

          M Offline
          M Offline
          MatthiaB
          schrieb am zuletzt editiert von MatthiaB
          #4

          @UncleSam

          '* * * * *'//Kilometerstand
          
          var kmStand = getState('vw-connect.0.WVWZZZ3CZHE064639.status.data_0x0203FFFFFF.field_0x0203010002.milCarSent'/*milCarSent*/).val;
          var km = kmStand - 75582;
          
          function setzeWert(){
          setState('javascript.0.Eigene.gefahreneKM',km/*kmStand*/)
          }
          
          //Anzahl Tage im Jahr 2021
          
          var endDate = new Date();
          
          var startDate = new Date(2021, 0, 1, 0, 0, 0);
          
          var differenz =  Math.round((endDate.getTime() - startDate.getTime())/86400000);
          
          function setzeWertTage(){
          setState('javascript.0.Eigene.days',differenz/*days*/)
          }
          
          //gefahrene Kilometer pro Tag
          
          var kmTag = Math.round(km / differenz);
          
          function setzeWertkmTag(){
          setState('javascript.0.Eigene.kmProTag',kmTag/*kmProTag*/)
          }
          
          //Hochrechung aufs Jahr
          
          var kmJahr = kmTag * 365
          
          function setzeWertkmJahr(){
          setState('javascript.0.Eigene.kmJahr',kmJahr/*kmJahr*/)
          }
          
          //kWh pro Tag
          
          var kWhJahr = getState('sourceanalytix.0.fritzdect__0__DECT200_116300037014__power.currentYear.consumed.05_currentYear'/*05 currentYear*/).val;
          var kWhTag = kWhJahr / differenz
          var kWhTagR = kWhTag.toFixed(2);
          
          function setzeWertkWhTag(){
          setState('javascript.0.Eigene.kWhProTag',kWhTagR/*kWhJahr*/)
          }
          
          //Daten in die Datenbank schreiben
          
          setzeWertTage();
          setzeWertkmTag();    
          setzeWert();
          setzeWertkmJahr();
          setzeWertkWhTag();
          

          Der obere Code hat noch einen Zeitplan. Vorher hatte ich die untere Funktion benutzt. Solange ich auf der iobroker Oberfläche war hat er auch zu den Zeiten das Script ausgeführt.

          schedule({hour: 20, minute: 48}, function () { 
          setzeWertTage(); } );
          

          gerade habe ich alle Scripte neu gestartet und dann wurden auch die Werte in die DB geschrieben

          UncleSamU 1 Antwort Letzte Antwort
          0
          • M MatthiaB

            @UncleSam

            '* * * * *'//Kilometerstand
            
            var kmStand = getState('vw-connect.0.WVWZZZ3CZHE064639.status.data_0x0203FFFFFF.field_0x0203010002.milCarSent'/*milCarSent*/).val;
            var km = kmStand - 75582;
            
            function setzeWert(){
            setState('javascript.0.Eigene.gefahreneKM',km/*kmStand*/)
            }
            
            //Anzahl Tage im Jahr 2021
            
            var endDate = new Date();
            
            var startDate = new Date(2021, 0, 1, 0, 0, 0);
            
            var differenz =  Math.round((endDate.getTime() - startDate.getTime())/86400000);
            
            function setzeWertTage(){
            setState('javascript.0.Eigene.days',differenz/*days*/)
            }
            
            //gefahrene Kilometer pro Tag
            
            var kmTag = Math.round(km / differenz);
            
            function setzeWertkmTag(){
            setState('javascript.0.Eigene.kmProTag',kmTag/*kmProTag*/)
            }
            
            //Hochrechung aufs Jahr
            
            var kmJahr = kmTag * 365
            
            function setzeWertkmJahr(){
            setState('javascript.0.Eigene.kmJahr',kmJahr/*kmJahr*/)
            }
            
            //kWh pro Tag
            
            var kWhJahr = getState('sourceanalytix.0.fritzdect__0__DECT200_116300037014__power.currentYear.consumed.05_currentYear'/*05 currentYear*/).val;
            var kWhTag = kWhJahr / differenz
            var kWhTagR = kWhTag.toFixed(2);
            
            function setzeWertkWhTag(){
            setState('javascript.0.Eigene.kWhProTag',kWhTagR/*kWhJahr*/)
            }
            
            //Daten in die Datenbank schreiben
            
            setzeWertTage();
            setzeWertkmTag();    
            setzeWert();
            setzeWertkmJahr();
            setzeWertkWhTag();
            

            Der obere Code hat noch einen Zeitplan. Vorher hatte ich die untere Funktion benutzt. Solange ich auf der iobroker Oberfläche war hat er auch zu den Zeiten das Script ausgeführt.

            schedule({hour: 20, minute: 48}, function () { 
            setzeWertTage(); } );
            

            gerade habe ich alle Scripte neu gestartet und dann wurden auch die Werte in die DB geschrieben

            UncleSamU Offline
            UncleSamU Offline
            UncleSam
            Developer
            schrieb am zuletzt editiert von
            #5

            @MatthiaB Kam denn um 20:48 eine Fehlermeldung?

            Was meinst du mit dem folgenden?

            Der obere Code hat noch einen Zeitplan. Vorher hatte ich die untere Funktion benutzt. Solange ich auf der iobroker Oberfläche war hat er auch zu den Zeiten das Script ausgeführt.

            Setze doch mal den Schedule auf { hour: 15, minute: 50 } und schaue, ob es ausgeführt wird.
            Und vielleicht machst du noch ein Log in die Funktion, damit nicht etwa das "setState()" das Problem ist.

            Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
            ♡-lichen Dank an meine Sponsoren

            M 2 Antworten Letzte Antwort
            0
            • UncleSamU UncleSam

              @MatthiaB Kam denn um 20:48 eine Fehlermeldung?

              Was meinst du mit dem folgenden?

              Der obere Code hat noch einen Zeitplan. Vorher hatte ich die untere Funktion benutzt. Solange ich auf der iobroker Oberfläche war hat er auch zu den Zeiten das Script ausgeführt.

              Setze doch mal den Schedule auf { hour: 15, minute: 50 } und schaue, ob es ausgeführt wird.
              Und vielleicht machst du noch ein Log in die Funktion, damit nicht etwa das "setState()" das Problem ist.

              M Offline
              M Offline
              MatthiaB
              schrieb am zuletzt editiert von
              #6

              @UncleSam

              ich haben nun folgendes gemacht:

              schedule({hour: 16, minute: 5}, function () {

              setzeWertTage();
              setzeWertkmTag();
              setzeWert();
              setzeWertkmJahr();
              setzeWertkWhTag();

              console.log ('erledigt');

              } );

              im Log

              javascript.0 2021-01-07 16:05:00.015 info (24041) script.js.common.Test.GTE-KM_Stand: erledigt

              Die Daten wurden korrekt ermittelt.

              Bei den Scripten gibt es rechts eine Uhr. Da kann man auch Zeitpläne erstellen.

              Es kann doch nicht daran liegen das ich das Web-Fenster des iobroker schließe oder?

              UncleSamU 1 Antwort Letzte Antwort
              0
              • UncleSamU UncleSam

                @MatthiaB Kam denn um 20:48 eine Fehlermeldung?

                Was meinst du mit dem folgenden?

                Der obere Code hat noch einen Zeitplan. Vorher hatte ich die untere Funktion benutzt. Solange ich auf der iobroker Oberfläche war hat er auch zu den Zeiten das Script ausgeführt.

                Setze doch mal den Schedule auf { hour: 15, minute: 50 } und schaue, ob es ausgeführt wird.
                Und vielleicht machst du noch ein Log in die Funktion, damit nicht etwa das "setState()" das Problem ist.

                M Offline
                M Offline
                MatthiaB
                schrieb am zuletzt editiert von
                #7

                @UncleSam

                habe es mal umgestellt:

                schedule("* * * * *", function () {

                setzeWertTage();
                setzeWertkmTag();
                setzeWert();
                setzeWertkmJahr();
                setzeWertkWhTag();

                console.log ('erledigt');

                } );

                laut log wird die Funktion jede Minute ausgeführt.

                Ich prüfe das mal morgen wieder.

                1 Antwort Letzte Antwort
                0
                • M MatthiaB

                  @UncleSam

                  ich haben nun folgendes gemacht:

                  schedule({hour: 16, minute: 5}, function () {

                  setzeWertTage();
                  setzeWertkmTag();
                  setzeWert();
                  setzeWertkmJahr();
                  setzeWertkWhTag();

                  console.log ('erledigt');

                  } );

                  im Log

                  javascript.0 2021-01-07 16:05:00.015 info (24041) script.js.common.Test.GTE-KM_Stand: erledigt

                  Die Daten wurden korrekt ermittelt.

                  Bei den Scripten gibt es rechts eine Uhr. Da kann man auch Zeitpläne erstellen.

                  Es kann doch nicht daran liegen das ich das Web-Fenster des iobroker schließe oder?

                  UncleSamU Offline
                  UncleSamU Offline
                  UncleSam
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  @MatthiaB sagte in Zeitbasiertes Script läuft nicht:

                  Bei den Scripten gibt es rechts eine Uhr. Da kann man auch Zeitpläne erstellen.
                  Es kann doch nicht daran liegen das ich das Web-Fenster des iobroker schließe oder?

                  Kann ich mir nicht vorstellen. Das ist ja nur ein Tool, das dir den entsprechenden Cron Ausdruck generiert. Das hat nicht mit der Ausführung von Scripts zu tun. Aber speichern musst du natürlich schon ;-)

                  Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                  ♡-lichen Dank an meine Sponsoren

                  M 2 Antworten Letzte Antwort
                  0
                  • UncleSamU UncleSam

                    @MatthiaB sagte in Zeitbasiertes Script läuft nicht:

                    Bei den Scripten gibt es rechts eine Uhr. Da kann man auch Zeitpläne erstellen.
                    Es kann doch nicht daran liegen das ich das Web-Fenster des iobroker schließe oder?

                    Kann ich mir nicht vorstellen. Das ist ja nur ein Tool, das dir den entsprechenden Cron Ausdruck generiert. Das hat nicht mit der Ausführung von Scripts zu tun. Aber speichern musst du natürlich schon ;-)

                    M Offline
                    M Offline
                    MatthiaB
                    schrieb am zuletzt editiert von
                    #9

                    @UncleSam

                    ja ich glaube ich habe das Tool nicht korrekt benutzt. :(

                    1 Antwort Letzte Antwort
                    0
                    • UncleSamU UncleSam

                      @MatthiaB sagte in Zeitbasiertes Script läuft nicht:

                      Bei den Scripten gibt es rechts eine Uhr. Da kann man auch Zeitpläne erstellen.
                      Es kann doch nicht daran liegen das ich das Web-Fenster des iobroker schließe oder?

                      Kann ich mir nicht vorstellen. Das ist ja nur ein Tool, das dir den entsprechenden Cron Ausdruck generiert. Das hat nicht mit der Ausführung von Scripts zu tun. Aber speichern musst du natürlich schon ;-)

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

                      @UncleSam

                      hi,

                      mein Script liefert schön jede Stunde einen Logeintrag, aber ändert keine Daten in der Datenbank.

                      Ich glaube weil sich die Werte nicht aktualisieren im Script. Die Variablen sind ja gesetzt.

                      Die shedule-Funktion setzt ja nur die Werte. Die Berechnung läuft woanders ab. Und dort werden keine neuen Werte gezogen...

                      UncleSamU 1 Antwort Letzte Antwort
                      0
                      • M MatthiaB

                        @UncleSam

                        hi,

                        mein Script liefert schön jede Stunde einen Logeintrag, aber ändert keine Daten in der Datenbank.

                        Ich glaube weil sich die Werte nicht aktualisieren im Script. Die Variablen sind ja gesetzt.

                        Die shedule-Funktion setzt ja nur die Werte. Die Berechnung läuft woanders ab. Und dort werden keine neuen Werte gezogen...

                        UncleSamU Offline
                        UncleSamU Offline
                        UncleSam
                        Developer
                        schrieb am zuletzt editiert von
                        #11

                        @MatthiaB Ja, dann musst du natürlich jedes mal auch noch rechnen. Sonst bringt es sehr wenig ;-)

                        Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                        ♡-lichen Dank an meine Sponsoren

                        M 1 Antwort Letzte Antwort
                        0
                        • UncleSamU UncleSam

                          @MatthiaB Ja, dann musst du natürlich jedes mal auch noch rechnen. Sonst bringt es sehr wenig ;-)

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

                          @unclesam

                          Hi,

                          mein Script läuft nun, allerdings ist bei dem ein neuer Tag erst um 12 Uhr nicht um 0 Uhr...

                          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

                          866

                          Online

                          32.6k

                          Benutzer

                          82.1k

                          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