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. Schedule jede Stunde

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    232

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

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

Schedule jede Stunde

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
9 Beiträge 2 Kommentatoren 263 Aufrufe 1 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
    michihorn
    schrieb am zuletzt editiert von
    #1

    Hallo ich habe folgendes Vorhaben: Im Ferienhaus steht ein Iobroker der mir über Telegram Temperatur Werte in die Heimat übermitteln soll.
    Ich habe 7 Zigbee Geräte die einmal pro Stunde im Versatz von 1 Minute Daten übermitteln sollen. Mein Ansatz sieht wie folgt aus:

    /*****Giethoorn sendet Temperaturen an Castrop *****************
    **    März 2021
    **    
    **    
    **    erstellt: 10.03.21
    **    geä: 
    ***********************************************************************/
    const id_TA = "zigbee.0.00158d000444cb23.temperature"; //1
    const id_TK = "zigbee.0.00158d0001e09c1a.temperature"; //2
    const id_TN = "zigbee.0.00158d0001e0821b.temperature"; //3
    const id_TS = "zigbee.0.00158d0001e13db7.temperature"; //4
    const id_TW = "zigbee.0.00158d0001e09bc7.temperature"; //5
    
    const id_OS = "zigbee.0.00158d000423bfd0.illuminance"; //6
    const id_IS = "zigbee.0.00158d000253e897.illuminance"; //7
    
    //schedule("0 */1 * * *", function () {
    //1
    schedule("1 * * * *", function () {
        sendTo('telegram.0', 'send', {
            text: ("TA " + getState(id_TA).val)
        });
        log("TA " + getState(id_TK).val);
        //2
        schedule("2 * * * *", function () {
            sendTo('telegram.0', 'send', {
                text: ("TK " + getState(id_TK).val)
            });
            log("TK " + getState(id_TN).val);
            //3
            schedule("3 * * * *", function () {
                sendTo('telegram.0', 'send', {
                    text: ("TN " + getState(id_TN).val)
                });
                log("TN " + getState(id_TS).val);
                //4
                schedule("4 * * * *", function () {
                    sendTo('telegram.0', 'send', {
                        text: ("TS " + getState(id_TS).val)
                    });
                    log("TS " + getState(id_TS).val);
                    //5
                    schedule("5 * * * *", function () {
                        sendTo('telegram.0', 'send', {
                            text: ("TW " + getState(id_TW).val)
                        });
                        log("TW " + getState(id_TW).val);
                        //6
                        schedule("6 * * * *", function () {
                            sendTo('telegram.0', 'send', {
                                text: ("OS " + getState(id_OS).val)
                            });
                            log("OS " + getState(id_OS).val);
                            //7   
                            schedule("7 * * * *", function () {
                                sendTo('telegram.0', 'send', {
                                    text: ("IS " + getState(id_IS).val)
                                });
                                log("IS " + getState(id_IS).val);
                            });
                        });
                    });
                });
            });
        });
    });
    //});
    

    In der Heimat empfängt der Iobroker die Daten nach diesem Script:

    /*****Castrop empfängt Daten aus Giethoorn *****************
    **    März 2021
    **    Telegram-Adapter, 
    **    
    **    
    **    geändert:09.03.21
    ************************************************************/
    const id_req = "telegram.0.communicate.request";
    
    on({ id: id_req, change: "any" }, function (obj) {
        var value = getState(id_req).val;
        var raum = value.substr(11, 2);
        var wert = value.substring(value.length - 5)
         log("Telegraminhalt "+value);
        log("Messwert "+wert);
        if ((raum == "IS") || (raum == "OS")) {
            wert=value.substr(13,4);
            log("LUX " +wert);
        }
        log("Gerät " +raum);
    
        if (raum === "TA") {
            setState("javascript.3.Giethoorn.Temp.TA", wert);
        }
        if (raum === "TW") {
            setState("javascript.3.Giethoorn.Temp.TW", wert);
        }
        if (raum === "TK") {
            setState("javascript.3.Giethoorn.Temp.TK", wert);
        }
        if (raum === "TS") {
            setState("javascript.3.Giethoorn.Temp.TS", wert);
        }
        if (raum === "TN") {
            setState("javascript.3.Giethoorn.Temp.TN", wert);
        }
         if (raum === "OS") {
            setState("javascript.3.Giethoorn.Daten.OSLux", wert);
        }
             if (raum === "IS") {
            setState("javascript.3.Giethoorn.Daten.ISLux", wert);
        }
    });
    

    Wie würdet ihr das Vorhaben lösen?
    Gruß
    Michael

    paul53P 1 Antwort Letzte Antwort
    0
    • M michihorn

      Hallo ich habe folgendes Vorhaben: Im Ferienhaus steht ein Iobroker der mir über Telegram Temperatur Werte in die Heimat übermitteln soll.
      Ich habe 7 Zigbee Geräte die einmal pro Stunde im Versatz von 1 Minute Daten übermitteln sollen. Mein Ansatz sieht wie folgt aus:

      /*****Giethoorn sendet Temperaturen an Castrop *****************
      **    März 2021
      **    
      **    
      **    erstellt: 10.03.21
      **    geä: 
      ***********************************************************************/
      const id_TA = "zigbee.0.00158d000444cb23.temperature"; //1
      const id_TK = "zigbee.0.00158d0001e09c1a.temperature"; //2
      const id_TN = "zigbee.0.00158d0001e0821b.temperature"; //3
      const id_TS = "zigbee.0.00158d0001e13db7.temperature"; //4
      const id_TW = "zigbee.0.00158d0001e09bc7.temperature"; //5
      
      const id_OS = "zigbee.0.00158d000423bfd0.illuminance"; //6
      const id_IS = "zigbee.0.00158d000253e897.illuminance"; //7
      
      //schedule("0 */1 * * *", function () {
      //1
      schedule("1 * * * *", function () {
          sendTo('telegram.0', 'send', {
              text: ("TA " + getState(id_TA).val)
          });
          log("TA " + getState(id_TK).val);
          //2
          schedule("2 * * * *", function () {
              sendTo('telegram.0', 'send', {
                  text: ("TK " + getState(id_TK).val)
              });
              log("TK " + getState(id_TN).val);
              //3
              schedule("3 * * * *", function () {
                  sendTo('telegram.0', 'send', {
                      text: ("TN " + getState(id_TN).val)
                  });
                  log("TN " + getState(id_TS).val);
                  //4
                  schedule("4 * * * *", function () {
                      sendTo('telegram.0', 'send', {
                          text: ("TS " + getState(id_TS).val)
                      });
                      log("TS " + getState(id_TS).val);
                      //5
                      schedule("5 * * * *", function () {
                          sendTo('telegram.0', 'send', {
                              text: ("TW " + getState(id_TW).val)
                          });
                          log("TW " + getState(id_TW).val);
                          //6
                          schedule("6 * * * *", function () {
                              sendTo('telegram.0', 'send', {
                                  text: ("OS " + getState(id_OS).val)
                              });
                              log("OS " + getState(id_OS).val);
                              //7   
                              schedule("7 * * * *", function () {
                                  sendTo('telegram.0', 'send', {
                                      text: ("IS " + getState(id_IS).val)
                                  });
                                  log("IS " + getState(id_IS).val);
                              });
                          });
                      });
                  });
              });
          });
      });
      //});
      

      In der Heimat empfängt der Iobroker die Daten nach diesem Script:

      /*****Castrop empfängt Daten aus Giethoorn *****************
      **    März 2021
      **    Telegram-Adapter, 
      **    
      **    
      **    geändert:09.03.21
      ************************************************************/
      const id_req = "telegram.0.communicate.request";
      
      on({ id: id_req, change: "any" }, function (obj) {
          var value = getState(id_req).val;
          var raum = value.substr(11, 2);
          var wert = value.substring(value.length - 5)
           log("Telegraminhalt "+value);
          log("Messwert "+wert);
          if ((raum == "IS") || (raum == "OS")) {
              wert=value.substr(13,4);
              log("LUX " +wert);
          }
          log("Gerät " +raum);
      
          if (raum === "TA") {
              setState("javascript.3.Giethoorn.Temp.TA", wert);
          }
          if (raum === "TW") {
              setState("javascript.3.Giethoorn.Temp.TW", wert);
          }
          if (raum === "TK") {
              setState("javascript.3.Giethoorn.Temp.TK", wert);
          }
          if (raum === "TS") {
              setState("javascript.3.Giethoorn.Temp.TS", wert);
          }
          if (raum === "TN") {
              setState("javascript.3.Giethoorn.Temp.TN", wert);
          }
           if (raum === "OS") {
              setState("javascript.3.Giethoorn.Daten.OSLux", wert);
          }
               if (raum === "IS") {
              setState("javascript.3.Giethoorn.Daten.ISLux", wert);
          }
      });
      

      Wie würdet ihr das Vorhaben lösen?
      Gruß
      Michael

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @michihorn sagte: einmal pro Stunde im Versatz von 1 Minute Daten übermitteln sollen.

      Die Schedules darf man nicht ineinander verschachteln. Ordne sie einfach untereinander an.

      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

      M 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @michihorn sagte: einmal pro Stunde im Versatz von 1 Minute Daten übermitteln sollen.

        Die Schedules darf man nicht ineinander verschachteln. Ordne sie einfach untereinander an.

        M Offline
        M Offline
        michihorn
        schrieb am zuletzt editiert von michihorn
        #3

        @paul53 Hab ich gemacht:

        /*****Giethoorn sendet Temperaturen an Castrop *****************
        **    März 2021
        **    
        **    
        **    erstellt: 10.03.21
        **    geä: 11.03.21
        ***********************************************************************/
        //Temperatur Sensoren--------------------------------------------
        const id_TA = "zigbee.0.00158d000444cb23.temperature"; //1
        const id_TK = "zigbee.0.00158d0001e09c1a.temperature"; //2
        const id_TN = "zigbee.0.00158d0001e0821b.temperature"; //3
        const id_TS = "zigbee.0.00158d0001e13db7.temperature"; //4
        const id_TW = "zigbee.0.00158d0001e09bc7.temperature"; //5
        //PIR--------------------------------------------------------------
        const id_OS = "zigbee.0.00158d000423bfd0.illuminance"; //6
        const id_IS = "zigbee.0.00158d000253e897.illuminance"; //7
        
        //1 
        schedule("1 * * * *", function () {
            sendTo('telegram.0', 'send', {
                text: ("TA " + getState(id_TA).val)
            });
            log("TA " + getState(id_TA).val);
            //2
        });
        schedule("2 * * * *", function () {
            sendTo('telegram.0', 'send', {
                text: ("TK " + getState(id_TK).val)
            });
            log("TK " + getState(id_TK).val);
        });
        //3
        schedule("3 * * * *", function () {
            sendTo('telegram.0', 'send', {
                text: ("TN " + getState(id_TN).val)
            });
            log("TN " + getState(id_TN).val);
        });
        //4
        schedule("4 * * * *", function () {
            sendTo('telegram.0', 'send', {
                text: ("TS " + getState(id_TS).val)
            });
            log("TS " + getState(id_TS).val);
        });
        //5
        schedule("5 * * * *", function () {
            sendTo('telegram.0', 'send', {
                text: ("TW " + getState(id_TW).val)
            });
            log("TW " + getState(id_TW).val);
        });
        //6
        schedule("6 * * * *", function () {
            sendTo('telegram.0', 'send', {
                text: ("OS " + getState(id_OS).val)
            });
            log("OS " + getState(id_OS).val);
        });
        //7   
        schedule("7 * * * *", function () {
            sendTo('telegram.0', 'send', {
                text: ("IS " + getState(id_IS).val)
            });
            log("IS " + getState(id_IS).val);
        });
        
        

        nur jetzt werden mir jede Menge Telegrame von jedem Gerät geschickt. Was mache ich noch falsch? Der Plan war ja, 7 Telegrame zu jeder Stunde, habe gerade 454 Telegramme bekommen.

        paul53P 1 Antwort Letzte Antwort
        0
        • M michihorn

          @paul53 Hab ich gemacht:

          /*****Giethoorn sendet Temperaturen an Castrop *****************
          **    März 2021
          **    
          **    
          **    erstellt: 10.03.21
          **    geä: 11.03.21
          ***********************************************************************/
          //Temperatur Sensoren--------------------------------------------
          const id_TA = "zigbee.0.00158d000444cb23.temperature"; //1
          const id_TK = "zigbee.0.00158d0001e09c1a.temperature"; //2
          const id_TN = "zigbee.0.00158d0001e0821b.temperature"; //3
          const id_TS = "zigbee.0.00158d0001e13db7.temperature"; //4
          const id_TW = "zigbee.0.00158d0001e09bc7.temperature"; //5
          //PIR--------------------------------------------------------------
          const id_OS = "zigbee.0.00158d000423bfd0.illuminance"; //6
          const id_IS = "zigbee.0.00158d000253e897.illuminance"; //7
          
          //1 
          schedule("1 * * * *", function () {
              sendTo('telegram.0', 'send', {
                  text: ("TA " + getState(id_TA).val)
              });
              log("TA " + getState(id_TA).val);
              //2
          });
          schedule("2 * * * *", function () {
              sendTo('telegram.0', 'send', {
                  text: ("TK " + getState(id_TK).val)
              });
              log("TK " + getState(id_TK).val);
          });
          //3
          schedule("3 * * * *", function () {
              sendTo('telegram.0', 'send', {
                  text: ("TN " + getState(id_TN).val)
              });
              log("TN " + getState(id_TN).val);
          });
          //4
          schedule("4 * * * *", function () {
              sendTo('telegram.0', 'send', {
                  text: ("TS " + getState(id_TS).val)
              });
              log("TS " + getState(id_TS).val);
          });
          //5
          schedule("5 * * * *", function () {
              sendTo('telegram.0', 'send', {
                  text: ("TW " + getState(id_TW).val)
              });
              log("TW " + getState(id_TW).val);
          });
          //6
          schedule("6 * * * *", function () {
              sendTo('telegram.0', 'send', {
                  text: ("OS " + getState(id_OS).val)
              });
              log("OS " + getState(id_OS).val);
          });
          //7   
          schedule("7 * * * *", function () {
              sendTo('telegram.0', 'send', {
                  text: ("IS " + getState(id_IS).val)
              });
              log("IS " + getState(id_IS).val);
          });
          
          

          nur jetzt werden mir jede Menge Telegrame von jedem Gerät geschickt. Was mache ich noch falsch? Der Plan war ja, 7 Telegrame zu jeder Stunde, habe gerade 454 Telegramme bekommen.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @michihorn sagte: habe gerade 454 Telegramme bekommen.

          Die waren wohl noch im Puffer aus der Verschachtelung.

          @michihorn sagte in Schedule jede Stunde:

          Der Plan war ja, 7 Telegrame zu jeder Stunde,

          Das sollte jetzt so erfolgen.

          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

          M 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @michihorn sagte: habe gerade 454 Telegramme bekommen.

            Die waren wohl noch im Puffer aus der Verschachtelung.

            @michihorn sagte in Schedule jede Stunde:

            Der Plan war ja, 7 Telegrame zu jeder Stunde,

            Das sollte jetzt so erfolgen.

            M Offline
            M Offline
            michihorn
            schrieb am zuletzt editiert von
            #5

            @paul53 Leider nein, es sind erst 3 Minuten rum und ich habe bereits 155 Telgrams

            paul53P 1 Antwort Letzte Antwort
            0
            • M michihorn

              @paul53 Leider nein, es sind erst 3 Minuten rum und ich habe bereits 155 Telgrams

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @michihorn sagte: ich habe bereits 155 Telgrams

              Auch so viele Log-Einträge aus dem Skript?

              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

              M 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @michihorn sagte: ich habe bereits 155 Telgrams

                Auch so viele Log-Einträge aus dem Skript?

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

                @paul53 Jede Menge, aktuell steht folgendes:
                (8008) Cannot send message [chatId - 702589553]: Error: ETELEGRAM: 429 Too Many Requests: retry after 3

                paul53P 1 Antwort Letzte Antwort
                0
                • M michihorn

                  @paul53 Jede Menge, aktuell steht folgendes:
                  (8008) Cannot send message [chatId - 702589553]: Error: ETELEGRAM: 429 Too Many Requests: retry after 3

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  @michihorn
                  Starte mal ioBroker neu.

                  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

                  M 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @michihorn
                    Starte mal ioBroker neu.

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

                    @paul53 Jap, das war es.
                    Das Script läuft wie es soll.
                    Danke

                    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

                    392

                    Online

                    32.7k

                    Benutzer

                    82.5k

                    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