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 543 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 Offline
    C Offline
    chco
    schrieb am zuletzt editiert von
    #1

    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 CodierknechtC 2 Antworten 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

      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

                        520

                        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