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. Blockly
  5. Watchdog für Alter der Datenpunkte

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    944

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Watchdog für Alter der Datenpunkte

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklymonitoring
30 Beiträge 4 Kommentatoren 2.6k 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.
  • paul53P paul53

    @sts85 sagte: der Datenpunkt ja nicht aktualisiert wird, wenn keine neuen Werte rein kommen.

    Wenn er nicht (mehr) aktualisiert wird, läuft timeout ab und liefert die Nachricht.

    @sts85 sagte in Watchdog für Alter der Datenpunkte:

    Wenn z. B. nach einem Stromausfall der ioBroker neu startet und dabei auch ein Sensor keine Werte mehr liefert

    Das ist ein Sonderfall, der mit dieser Lösung nicht abgedeckt wird.
    Wenn man eine Zeitplan-Trigger verwendet, kann man den Namen mittels einer JS-Funktion mit Ergebnis ermitteln:

    return getObject(id).common.name;
    

    Blockly_temp.JPG

    sts85S Offline
    sts85S Offline
    sts85
    schrieb am zuletzt editiert von
    #12

    @paul53 said in Watchdog für Alter der Datenpunkte:

    @sts85 sagte: der Datenpunkt ja nicht aktualisiert wird, wenn keine neuen Werte rein kommen.

    Wenn er nicht (mehr) aktualisiert wird, läuft timeout ab und liefert die Nachricht.

    @sts85 sagte in Watchdog für Alter der Datenpunkte:

    Wenn z. B. nach einem Stromausfall der ioBroker neu startet und dabei auch ein Sensor keine Werte mehr liefert

    Das ist ein Sonderfall, der mit dieser Lösung nicht abgedeckt wird.
    Wenn man eine Zeitplan-Trigger verwendet, kann man den Namen mittels einer JS-Funktion mit Ergebnis ermitteln:

    return getObject(id).common.name;
    

    Blockly_temp.JPG

    Wow, super. Vielen lieben Dank! Es funktioniert.... fast. Leider gibt er jetzt immer dieselbe Nachricht im Intervall aus. Also der Nachrichteninhalt ist immer identisch. Ich denke, da muss ich die msg auch in einer Liste speichern.
    Du hast mir aber super weiter geholfen und ich habe das Prinzip mit der Variable Intervall und den Listen kapiert.

    paul53P 1 Antwort Letzte Antwort
    0
    • sts85S sts85

      @paul53 said in Watchdog für Alter der Datenpunkte:

      @sts85 sagte: der Datenpunkt ja nicht aktualisiert wird, wenn keine neuen Werte rein kommen.

      Wenn er nicht (mehr) aktualisiert wird, läuft timeout ab und liefert die Nachricht.

      @sts85 sagte in Watchdog für Alter der Datenpunkte:

      Wenn z. B. nach einem Stromausfall der ioBroker neu startet und dabei auch ein Sensor keine Werte mehr liefert

      Das ist ein Sonderfall, der mit dieser Lösung nicht abgedeckt wird.
      Wenn man eine Zeitplan-Trigger verwendet, kann man den Namen mittels einer JS-Funktion mit Ergebnis ermitteln:

      return getObject(id).common.name;
      

      Blockly_temp.JPG

      Wow, super. Vielen lieben Dank! Es funktioniert.... fast. Leider gibt er jetzt immer dieselbe Nachricht im Intervall aus. Also der Nachrichteninhalt ist immer identisch. Ich denke, da muss ich die msg auch in einer Liste speichern.
      Du hast mir aber super weiter geholfen und ich habe das Prinzip mit der Variable Intervall und den Listen kapiert.

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

      @sts85 sagte: Leider gibt er jetzt immer dieselbe Nachricht im Intervall aus.

      Wirklich? Zu jeder ID (und somit zu jedem Namen) gehört ein eigenes Intervall, an dessen Callback-Funktion die zugehörige Nachricht übergeben wird.

      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

      sts85S 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @sts85 sagte: Leider gibt er jetzt immer dieselbe Nachricht im Intervall aus.

        Wirklich? Zu jeder ID (und somit zu jedem Namen) gehört ein eigenes Intervall, an dessen Callback-Funktion die zugehörige Nachricht übergeben wird.

        sts85S Offline
        sts85S Offline
        sts85
        schrieb am zuletzt editiert von
        #14

        @paul53
        In der Message außerhalb des Intervalls klappt es. Sobald diese innerhalb ist, bleibt sie gleich (letztverwendete Nachricht, so wie ich das sehe).
        Hab es bisher noch nicht hinbekommen. Da macht es auch keinen Unterschied, die msg in eine Liste zu schreiben und anhand des Index auszuwählen. In dem Intervall bleibt die Nachricht gleich.

        paul53P 1 Antwort Letzte Antwort
        0
        • sts85S sts85

          @paul53
          In der Message außerhalb des Intervalls klappt es. Sobald diese innerhalb ist, bleibt sie gleich (letztverwendete Nachricht, so wie ich das sehe).
          Hab es bisher noch nicht hinbekommen. Da macht es auch keinen Unterschied, die msg in eine Liste zu schreiben und anhand des Index auszuwählen. In dem Intervall bleibt die Nachricht gleich.

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

          @sts85 sagte: In dem Intervall bleibt die Nachricht gleich.

          Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
          Vermutung: Es gibt zwei Variablen Intervall?

          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

          sts85S 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @sts85 sagte: In dem Intervall bleibt die Nachricht gleich.

            Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
            Vermutung: Es gibt zwei Variablen Intervall?

            sts85S Offline
            sts85S Offline
            sts85
            schrieb am zuletzt editiert von sts85
            #16

            @paul53 said in Watchdog für Alter der Datenpunkte:

            @sts85 sagte: In dem Intervall bleibt die Nachricht gleich.

            Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
            Vermutung: Es gibt zwei Variablen Intervall?

            Du hattest Recht, es gab zwei Variablen Intervall. Ich habe die Variable gelöscht. Die Intervall-Bausteine ebenfalls gelöscht und neu eingefügt. Danach die "richtige" Intervall-Variable gewählt. Nun habe ich das:

            var ids, id, intervalle, idx, Intervall, msg;
            
            function listsRepeat(value, n) {
              var array = [];
              for (var i = 0; i < n; i++) {
                array[i] = value;
              }
              return array;
            }
            
            // Beschreibe diese Funktion …
            async function getName(id) {
                return getObject(id).common.name;
            }
            
            
            ids = Array.prototype.slice.apply($("state[id=*](functions=watchdog)"));
            intervalle = listsRepeat(null, ids.length);
            schedule("*/2 * * * * *", async function () {
              for (var id_index in ids) {
                id = ids[id_index];
                idx = ids.indexOf(id) + 1;
                Intervall = intervalle[(idx - 1)];
                if (parseFloat((new Date().getTime())) - getState(id).ts <= 900000) {
                  (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                } else if (!Intervall) {
                  msg = 'Sensorwert zu alt: ' + String(await getName(id));
                  console.log(msg);
                  Intervall = setInterval(async function () {
                    console.log(msg);
                  }, 6000);
                }
                intervalle[(idx - 1)] = Intervall;
              }
            });
            

            Das Ergebnis ist aber dasselbe?!

            Edit: Die timings sind nur für debugging-Zwecke

            paul53P 1 Antwort Letzte Antwort
            0
            • sts85S sts85

              @paul53 said in Watchdog für Alter der Datenpunkte:

              @sts85 sagte: In dem Intervall bleibt die Nachricht gleich.

              Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
              Vermutung: Es gibt zwei Variablen Intervall?

              Du hattest Recht, es gab zwei Variablen Intervall. Ich habe die Variable gelöscht. Die Intervall-Bausteine ebenfalls gelöscht und neu eingefügt. Danach die "richtige" Intervall-Variable gewählt. Nun habe ich das:

              var ids, id, intervalle, idx, Intervall, msg;
              
              function listsRepeat(value, n) {
                var array = [];
                for (var i = 0; i < n; i++) {
                  array[i] = value;
                }
                return array;
              }
              
              // Beschreibe diese Funktion …
              async function getName(id) {
                  return getObject(id).common.name;
              }
              
              
              ids = Array.prototype.slice.apply($("state[id=*](functions=watchdog)"));
              intervalle = listsRepeat(null, ids.length);
              schedule("*/2 * * * * *", async function () {
                for (var id_index in ids) {
                  id = ids[id_index];
                  idx = ids.indexOf(id) + 1;
                  Intervall = intervalle[(idx - 1)];
                  if (parseFloat((new Date().getTime())) - getState(id).ts <= 900000) {
                    (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                  } else if (!Intervall) {
                    msg = 'Sensorwert zu alt: ' + String(await getName(id));
                    console.log(msg);
                    Intervall = setInterval(async function () {
                      console.log(msg);
                    }, 6000);
                  }
                  intervalle[(idx - 1)] = Intervall;
                }
              });
              

              Das Ergebnis ist aber dasselbe?!

              Edit: Die timings sind nur für debugging-Zwecke

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

              @sts85 sagte: Das Ergebnis ist aber dasselbe?!

              Gerade getestet: Du hast recht. Erklären kann ich mir das Verhalten aber nicht.

              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

              T 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @sts85 sagte: Das Ergebnis ist aber dasselbe?!

                Gerade getestet: Du hast recht. Erklären kann ich mir das Verhalten aber nicht.

                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von ticaki
                #18

                @paul53
                msg muss als 3. Parameter an die interne Intervall Funktion übergeben werden. Das geht doch auch bei seinterval?

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                paul53P 1 Antwort Letzte Antwort
                0
                • T ticaki

                  @paul53
                  msg muss als 3. Parameter an die interne Intervall Funktion übergeben werden. Das geht doch auch bei seinterval?

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

                  @ticaki sagte: msg muss als 3. Parameter an die interne Intervall Funktion übergeben werden.

                  Gerade getestet: Funktioniert auch nicht.

                  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

                  T 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @ticaki sagte: msg muss als 3. Parameter an die interne Intervall Funktion übergeben werden.

                    Gerade getestet: Funktioniert auch nicht.

                    T Nicht stören
                    T Nicht stören
                    ticaki
                    schrieb am zuletzt editiert von
                    #20

                    @paul53

                    Hast auch

                    function(msg)
                    

                    Geändert?

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • T ticaki

                      @paul53

                      Hast auch

                      function(msg)
                      

                      Geändert?

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

                      @ticaki sagte: function(msg)

                      Damit funktioniert es. Ist aber keine Option für Blockly?

                      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

                      T sts85S 2 Antworten Letzte Antwort
                      0
                      • paul53P paul53

                        @ticaki sagte: function(msg)

                        Damit funktioniert es. Ist aber keine Option für Blockly?

                        T Nicht stören
                        T Nicht stören
                        ticaki
                        schrieb am zuletzt editiert von
                        #22

                        @paul53
                        Statt der Intervall reference die Nachricht im Array speichern mit nur einem Intervall der das Array überprüft und die Nachricht verschickt?

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        sts85S 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @ticaki sagte: function(msg)

                          Damit funktioniert es. Ist aber keine Option für Blockly?

                          sts85S Offline
                          sts85S Offline
                          sts85
                          schrieb am zuletzt editiert von
                          #23

                          @paul53 @ticaki

                          Danke euch.
                          So schnell kommt man an die Grenzen von Blockly - ich dachte nur, ich hab was grundlegend nicht verstanden.
                          Zur Not muss ich das direkt in Javascript umsetzen, nur bin ich mit der Programmiersprache nicht vertraut, auch wenn grundlegende Programmierkenntnisse vorhanden sind.

                          1 Antwort Letzte Antwort
                          0
                          • T ticaki

                            @paul53
                            Statt der Intervall reference die Nachricht im Array speichern mit nur einem Intervall der das Array überprüft und die Nachricht verschickt?

                            sts85S Offline
                            sts85S Offline
                            sts85
                            schrieb am zuletzt editiert von sts85
                            #24

                            @ticaki said in Watchdog für Alter der Datenpunkte:

                            @paul53
                            Statt der Intervall reference die Nachricht im Array speichern mit nur einem Intervall der das Array überprüft und die Nachricht verschickt?

                            Den Ansatz hatte ich auch eben, hab es aber in Blockly noch nicht so schnell umgesetzt bekommen.
                            Dann kommen alle betroffenen Meldungen immer gemeinsam, das wäre aber vollkommen OK.

                            sts85S 1 Antwort Letzte Antwort
                            0
                            • sts85S sts85

                              @ticaki said in Watchdog für Alter der Datenpunkte:

                              @paul53
                              Statt der Intervall reference die Nachricht im Array speichern mit nur einem Intervall der das Array überprüft und die Nachricht verschickt?

                              Den Ansatz hatte ich auch eben, hab es aber in Blockly noch nicht so schnell umgesetzt bekommen.
                              Dann kommen alle betroffenen Meldungen immer gemeinsam, das wäre aber vollkommen OK.

                              sts85S Offline
                              sts85S Offline
                              sts85
                              schrieb am zuletzt editiert von sts85
                              #25

                              Ob es elegant ist, sei dahingestellt, aber so geht es:

                              d389ad63-dcbe-4be5-bb50-4f5fc0794db6-image.png

                              var ids, id, intervalle, messages, idx, Intervall, msg, i, idm, message_there;
                              
                              function listsRepeat(value, n) {
                                var array = [];
                                for (var i = 0; i < n; i++) {
                                  array[i] = value;
                                }
                                return array;
                              }
                              
                              // Beschreibe diese Funktion …
                              async function getName(id) {
                                  return getObject(id).common.name;
                              }
                              
                              
                              ids = Array.prototype.slice.apply($("state[id=*](functions=watchdog)"));
                              intervalle = listsRepeat(null, ids.length);
                              messages = listsRepeat(null, ids.length);
                              schedule("*/2 * * * * *", async function () {
                                for (var id_index in ids) {
                                  id = ids[id_index];
                                  idx = ids.indexOf(id) + 1;
                                  Intervall = intervalle[(idx - 1)];
                                  messages[(idx - 1)] = 'Sensorwert zu alt: ' + String(await getName(id));
                                  msg = messages[(idx - 1)];
                                  if (parseFloat((new Date().getTime())) - getState(id).ts <= 900000) {
                                    (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                    messages[(idx - 1)] = null;
                                  } else if (!Intervall) {
                                    console.log(msg);
                                    Intervall = setInterval(async function () {
                                      for (var i_index in ids) {
                                        i = ids[i_index];
                                        idm = ids.indexOf(i) + 1;
                                        message_there = intervalle[(idm - 1)];
                                        if (message_there != null) {
                                          console.log(('Sensorwert zu alt: ' + String(await getName(i))));
                                        }
                                      }
                                    }, 6000);
                                  }
                                  intervalle[(idx - 1)] = Intervall;
                                }
                              });
                              

                              Danke euch nochmals!

                              Edit: Kleiner Denkfehler, jetzt werden natürlich nich mehrere Intervalle ausgelöst...

                              T 1 Antwort Letzte Antwort
                              0
                              • sts85S sts85

                                Ob es elegant ist, sei dahingestellt, aber so geht es:

                                d389ad63-dcbe-4be5-bb50-4f5fc0794db6-image.png

                                var ids, id, intervalle, messages, idx, Intervall, msg, i, idm, message_there;
                                
                                function listsRepeat(value, n) {
                                  var array = [];
                                  for (var i = 0; i < n; i++) {
                                    array[i] = value;
                                  }
                                  return array;
                                }
                                
                                // Beschreibe diese Funktion …
                                async function getName(id) {
                                    return getObject(id).common.name;
                                }
                                
                                
                                ids = Array.prototype.slice.apply($("state[id=*](functions=watchdog)"));
                                intervalle = listsRepeat(null, ids.length);
                                messages = listsRepeat(null, ids.length);
                                schedule("*/2 * * * * *", async function () {
                                  for (var id_index in ids) {
                                    id = ids[id_index];
                                    idx = ids.indexOf(id) + 1;
                                    Intervall = intervalle[(idx - 1)];
                                    messages[(idx - 1)] = 'Sensorwert zu alt: ' + String(await getName(id));
                                    msg = messages[(idx - 1)];
                                    if (parseFloat((new Date().getTime())) - getState(id).ts <= 900000) {
                                      (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                      messages[(idx - 1)] = null;
                                    } else if (!Intervall) {
                                      console.log(msg);
                                      Intervall = setInterval(async function () {
                                        for (var i_index in ids) {
                                          i = ids[i_index];
                                          idm = ids.indexOf(i) + 1;
                                          message_there = intervalle[(idm - 1)];
                                          if (message_there != null) {
                                            console.log(('Sensorwert zu alt: ' + String(await getName(i))));
                                          }
                                        }
                                      }, 6000);
                                    }
                                    intervalle[(idx - 1)] = Intervall;
                                  }
                                });
                                

                                Danke euch nochmals!

                                Edit: Kleiner Denkfehler, jetzt werden natürlich nich mehrere Intervalle ausgelöst...

                                T Nicht stören
                                T Nicht stören
                                ticaki
                                schrieb am zuletzt editiert von
                                #26

                                @sts85

                                Dein jetziges Script verschickt sensorenanzahl^2 Meldungen im Höchstfall alle 6 Sekunden. Oder?

                                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                Spenden

                                sts85S 1 Antwort Letzte Antwort
                                0
                                • T ticaki

                                  @sts85

                                  Dein jetziges Script verschickt sensorenanzahl^2 Meldungen im Höchstfall alle 6 Sekunden. Oder?

                                  sts85S Offline
                                  sts85S Offline
                                  sts85
                                  schrieb am zuletzt editiert von
                                  #27

                                  @ticaki

                                  Haha, siehe edit. Hab ich auch gerade gemerkt. Ich darf hier natürlich nur einen Intervall nutzen.

                                  T paul53P 2 Antworten Letzte Antwort
                                  0
                                  • sts85S sts85

                                    @ticaki

                                    Haha, siehe edit. Hab ich auch gerade gemerkt. Ich darf hier natürlich nur einen Intervall nutzen.

                                    T Nicht stören
                                    T Nicht stören
                                    ticaki
                                    schrieb am zuletzt editiert von ticaki
                                    #28

                                    @sts85
                                    Als Nächstes dann draus eine Nachricht bilden die du dir bei Änderungen per Telegramm selbst zu schickst. :)

                                    Z.B
                                    ⚠️ Warmwassershelly hat sich seit 01:00:00 nicht mehr aktualisiert

                                    (Hier fieses grinse smiley einsetzten)

                                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                    Spenden

                                    1 Antwort Letzte Antwort
                                    0
                                    • sts85S sts85

                                      @ticaki

                                      Haha, siehe edit. Hab ich auch gerade gemerkt. Ich darf hier natürlich nur einen Intervall nutzen.

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

                                      @sts85 sagte: Ich darf hier natürlich nur einen Intervall nutzen.

                                      Ja, etwa so:

                                      Blockly_temp.JPG

                                      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

                                      sts85S 1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @sts85 sagte: Ich darf hier natürlich nur einen Intervall nutzen.

                                        Ja, etwa so:

                                        Blockly_temp.JPG

                                        sts85S Offline
                                        sts85S Offline
                                        sts85
                                        schrieb am zuletzt editiert von
                                        #30

                                        @paul53 said in Watchdog für Alter der Datenpunkte:

                                        @sts85 sagte: Ich darf hier natürlich nur einen Intervall nutzen.

                                        Ja, etwa so:

                                        Blockly_temp.JPG

                                        Perfekt, super, läuft 1A.

                                        Hatte eben auch schon was gebastelt, aber dies ist hier noch ein wenig eleganter. Nur deine Zähl-Schleife habe ich durch eine "für jeden Wert" Schleife ersetzt.

                                        b5806609-9133-4f58-b2b4-6efbeb8e91fb-image.png

                                        Einiges gelernt...
                                        Nochmals vielen Dank euch allen! 🥳🎉

                                        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

                                        605

                                        Online

                                        32.5k

                                        Benutzer

                                        81.6k

                                        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