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. JavaScript
  5. Time-triggerd Skript wird nicht ausgelöst

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Time-triggerd Skript wird nicht ausgelöst

Geplant Angeheftet Gesperrt Verschoben JavaScript
11 Beiträge 3 Kommentatoren 544 Aufrufe 3 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.
  • C chco

    Hi,

    ich hab im ioBroker mit dem JS Adapter ein Skript erstellt und möchte, dass dieses jeden Tag von 4 bis 6 Uhr läuft und das jede Minute.
    Das kann ich ja über den Zeitassistenten einstellen, dann wird mir folgendes ins Skript hinzugefügt:

    '{"time":{"start":"04:00","end":"06:00","mode":"minutes","interval":1},"period":{"days":1}}'
    

    Aber das Skript wird nicht automatisch zu dieser Zeit ausgeführt. Muss ich da noch was ergänzen?

    Danke und lg

    AsgothianA Offline
    AsgothianA Offline
    Asgothian
    Developer
    schrieb am zuletzt editiert von
    #2

    @chco sagte in Time-triggerd Skript wird nicht ausgelöst:

    Hi,

    ich hab im ioBroker mit dem JS Adapter ein Skript erstellt und möchte, dass dieses jeden Tag von 4 bis 6 Uhr läuft und das jede Minute.
    Das kann ich ja über den Zeitassistenten einstellen, dann wird mir folgendes ins Skript hinzugefügt:

    '{"time":{"start":"04:00","end":"06:00","mode":"minutes","interval":1},"period":{"days":1}}'
    

    Aber das Skript wird nicht automatisch zu dieser Zeit ausgeführt. Muss ich da noch was ergänzen?

    Danke und lg

    Zeig bitte das Skript / den Trigger, nicht nur diese eine Zeile.

    A.

    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

    1 Antwort Letzte Antwort
    0
    • C chco

      Hi,

      ich hab im ioBroker mit dem JS Adapter ein Skript erstellt und möchte, dass dieses jeden Tag von 4 bis 6 Uhr läuft und das jede Minute.
      Das kann ich ja über den Zeitassistenten einstellen, dann wird mir folgendes ins Skript hinzugefügt:

      '{"time":{"start":"04:00","end":"06:00","mode":"minutes","interval":1},"period":{"days":1}}'
      

      Aber das Skript wird nicht automatisch zu dieser Zeit ausgeführt. Muss ich da noch was ergänzen?

      Danke und lg

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #3

      @chco
      Das was Du da zeigst ist ja nur ein Teil der Wahrheit.
      Zeig doch mal das Script und nicht nur den Zeitplan.

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.0.18 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      1 Antwort Letzte Antwort
      0
      • C Offline
        C Offline
        chco
        schrieb am zuletzt editiert von
        #4

        @codierknecht Ich dachte, wenn ich diese Zeile am Beginn des Skripts einfüge, wird das Skript automatisch zu dieser Zeit ausgeführt... wie muss ich diesen Zeitplan denn einbauen? Das Skript ist beispielsweise, nur dass eine Lampe eingeschaltet wird:

        setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",true);
        

        Danke!

        AsgothianA CodierknechtC 2 Antworten Letzte Antwort
        0
        • C chco

          @codierknecht Ich dachte, wenn ich diese Zeile am Beginn des Skripts einfüge, wird das Skript automatisch zu dieser Zeit ausgeführt... wie muss ich diesen Zeitplan denn einbauen? Das Skript ist beispielsweise, nur dass eine Lampe eingeschaltet wird:

          setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",true);
          

          Danke!

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          schrieb am zuletzt editiert von
          #5

          @chco sagte in Time-triggerd Skript wird nicht ausgelöst:

          @codierknecht Ich dachte, wenn ich diese Zeile am Beginn des Skripts einfüge, wird das Skript automatisch zu dieser Zeit ausgeführt... wie muss ich diesen Zeitplan denn einbauen? Das Skript ist beispielsweise, nur dass eine Lampe eingeschaltet wird:

          setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",true);
          

          Danke!

          Lesen kannst du ?

          Bitte zeige das komplette Skript. Nur dann können wir Dir helfen.

          A.

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          1 Antwort Letzte Antwort
          0
          • C chco

            @codierknecht Ich dachte, wenn ich diese Zeile am Beginn des Skripts einfüge, wird das Skript automatisch zu dieser Zeit ausgeführt... wie muss ich diesen Zeitplan denn einbauen? Das Skript ist beispielsweise, nur dass eine Lampe eingeschaltet wird:

            setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",true);
            

            Danke!

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #6

            @chco
            Das was Du da zeigst ist kein "Script", sondern lediglich eine einzelnen Anweisung.

            Ein "Script" wird nicht einfach zu einer Zeit ausgeführt - auch wenn man da so locker flockig eine Zeitplan einfügt. Was Du brauchst in ein Zeitplan-Trigger ... also ein schedule.

            Wenn Dein ganzes "Script" tatsächlich nur aus dieser einen Zeile besteht, wäre wohl das hier das gewünschte Ergebnis:

            schedule('{"time":{"start":"04:00","end":"06:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () {
              setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",true); 
            });
            

            Das macht aber so keinen Sinn, denn damit würde ab 04:00 Uhr 120 x eine Lampe eingeschaltet.
            Ist also ziemlich sinnbefreit.

            Also nochmal:

            @codierknecht sagte in Time-triggerd Skript wird nicht ausgelöst:

            Zeig doch mal das Script und nicht nur den Zeitplan.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.0.18 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            C 1 Antwort Letzte Antwort
            0
            • CodierknechtC Codierknecht

              @chco
              Das was Du da zeigst ist kein "Script", sondern lediglich eine einzelnen Anweisung.

              Ein "Script" wird nicht einfach zu einer Zeit ausgeführt - auch wenn man da so locker flockig eine Zeitplan einfügt. Was Du brauchst in ein Zeitplan-Trigger ... also ein schedule.

              Wenn Dein ganzes "Script" tatsächlich nur aus dieser einen Zeile besteht, wäre wohl das hier das gewünschte Ergebnis:

              schedule('{"time":{"start":"04:00","end":"06:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () {
                setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",true); 
              });
              

              Das macht aber so keinen Sinn, denn damit würde ab 04:00 Uhr 120 x eine Lampe eingeschaltet.
              Ist also ziemlich sinnbefreit.

              Also nochmal:

              @codierknecht sagte in Time-triggerd Skript wird nicht ausgelöst:

              Zeig doch mal das Script und nicht nur den Zeitplan.

              C Offline
              C Offline
              chco
              schrieb am zuletzt editiert von chco
              #7

              Edit unten

              1 Antwort Letzte Antwort
              0
              • C Offline
                C Offline
                chco
                schrieb am zuletzt editiert von chco
                #8

                Wäre das dann so zu machen?

                schedule('{"time":{"start":"04:00","end":"06:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () {
                
                
                var batteriestatus = getState("0_userdata.0.iPhone_battery").val 
                
                if(batteriestatus=="80")
                {
                    // Steckdose wird ausgeschaltet
                    setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",false)  
                
                    // eine WhatsApp Benachrichtung senden
                    sendTo('whatsapp-cmb.0', 'send', {      
                    text: 'Batteriestatus hat 80% überstiegen. Laden wird beendet.',  // Text der WhatsApp Nachricht
                    });
                
                }
                
                });
                
                CodierknechtC 1 Antwort Letzte Antwort
                0
                • C chco

                  Wäre das dann so zu machen?

                  schedule('{"time":{"start":"04:00","end":"06:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () {
                  
                  
                  var batteriestatus = getState("0_userdata.0.iPhone_battery").val 
                  
                  if(batteriestatus=="80")
                  {
                      // Steckdose wird ausgeschaltet
                      setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",false)  
                  
                      // eine WhatsApp Benachrichtung senden
                      sendTo('whatsapp-cmb.0', 'send', {      
                      text: 'Batteriestatus hat 80% überstiegen. Laden wird beendet.',  // Text der WhatsApp Nachricht
                      });
                  
                  }
                  
                  });
                  
                  CodierknechtC Online
                  CodierknechtC Online
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #9

                  @chco
                  Sieht fast OK aus. Auf die Schnelle fallen mir zwei fehlende Semikolon und eine fehlende schließende Klammer auf.
                  Und der Batteriestatus ist mit ziemlicher Sicherheit eine Zahl und kein String.
                  Außerdem könnte der Wert (theoretisch) auch direkt von 79 auf 81 springen. Also besser mit >= prüfen.
                  Ob das sendTo so richtig ist, wage ich zu bezweifeln. Da kommt ein Komma und danach nix mehr. Könnte mir vorstellen, dass da noch die Nummer folgt.

                  Gewöhn Dir aber an, sauber einzurücken. Macht den Code (nicht nur für andere) besser lesbar.
                  Jeder Code muss irgendwann gewartet werden.

                  schedule('{"time":{"start":"04:00","end":"06:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () {
                   
                    var batteriestatus = getState("0_userdata.0.iPhone_battery").val;
                   
                    if (batteriestatus >= 80) {
                      // Steckdose wird ausgeschaltet
                      setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",false);
                   
                      // eine WhatsApp Benachrichtung senden
                      sendTo('whatsapp-cmb.0', 'send', {      
                        text: 'Batteriestatus hat 80% überstiegen. Laden wird beendet.',  /*hier fehlt noch etwas, oder?*/  // Text der WhatsApp Nachricht
                      });
                   
                    }
                   
                  });
                  

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.0.18 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  C 1 Antwort Letzte Antwort
                  1
                  • CodierknechtC Codierknecht

                    @chco
                    Sieht fast OK aus. Auf die Schnelle fallen mir zwei fehlende Semikolon und eine fehlende schließende Klammer auf.
                    Und der Batteriestatus ist mit ziemlicher Sicherheit eine Zahl und kein String.
                    Außerdem könnte der Wert (theoretisch) auch direkt von 79 auf 81 springen. Also besser mit >= prüfen.
                    Ob das sendTo so richtig ist, wage ich zu bezweifeln. Da kommt ein Komma und danach nix mehr. Könnte mir vorstellen, dass da noch die Nummer folgt.

                    Gewöhn Dir aber an, sauber einzurücken. Macht den Code (nicht nur für andere) besser lesbar.
                    Jeder Code muss irgendwann gewartet werden.

                    schedule('{"time":{"start":"04:00","end":"06:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () {
                     
                      var batteriestatus = getState("0_userdata.0.iPhone_battery").val;
                     
                      if (batteriestatus >= 80) {
                        // Steckdose wird ausgeschaltet
                        setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",false);
                     
                        // eine WhatsApp Benachrichtung senden
                        sendTo('whatsapp-cmb.0', 'send', {      
                          text: 'Batteriestatus hat 80% überstiegen. Laden wird beendet.',  /*hier fehlt noch etwas, oder?*/  // Text der WhatsApp Nachricht
                        });
                     
                      }
                     
                    });
                    
                    C Offline
                    C Offline
                    chco
                    schrieb am zuletzt editiert von
                    #10

                    @codierknecht
                    Perfekt, danke!

                    CodierknechtC 1 Antwort Letzte Antwort
                    0
                    • C chco

                      @codierknecht
                      Perfekt, danke!

                      CodierknechtC Online
                      CodierknechtC Online
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #11

                      @chco sagte in Time-triggerd Skript wird nicht ausgelöst:

                      Perfekt, danke!

                      Naja - perfekt würde ich das nicht nennen.
                      Ich jedenfalls finde die Logik dahinter mindestens "fragwürdig".

                      Du willst also zwischen 04:00 und 06:00 Uhr schauen, ob das Handy zu 80 oder mehr % geladen ist und dann die dazu verwendete Dose abschalten?

                      Was passiert, wenn Dein Handy um 05:59 Uhr zu 79% geladen ist und die 80% um 06:01 Uhr erreicht werden?
                      Eben - nix!

                      Sowas löst man üblicherweise mit einem Trigger und nicht über einen Zeitplan.

                      on({id: "0_userdata.0.iPhone_battery", change: "ne"}, async function (obj) {
                      
                        if (obj.state.val >= 80) {
                          // Steckdose wird ausgeschaltet
                          setState("shelly.0.SHPLG-S#BCFF4D5B7B27#1.Relay0.Switch",false);
                       
                          // eine WhatsApp Benachrichtung senden
                          sendTo('whatsapp-cmb.0', 'send', {      
                            text: 'Batteriestatus hat 80% überstiegen. Laden wird beendet.',  /*hier fehlt noch etwas, oder?*/  // Text der WhatsApp Nachricht
                          });
                       
                        }
                      
                      });
                      

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.0.18 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      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

                      412

                      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