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

                      585

                      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