Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Probleme mit Aqara Temperatur- und Feuchtigkeitssensor

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    385

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

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

Probleme mit Aqara Temperatur- und Feuchtigkeitssensor

Scheduled Pinned Locked Moved ioBroker Allgemein
30 Posts 8 Posters 8.6k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    canetti2
    wrote on last edited by canetti2
    #21

    Ich habe jetzt das Skript von @paul53 ein wenig überarbeitet bzw. erweitert:

    var sensorId = [
        'zigbee.0.00xxxxxx.temperature',
        'zigbee.0.00xxxxxx.temperature',
        'zigbee.0.00xxxxxx.click',
        'zigbee.0.04xxxxxxxx.load_power',
        ]; 
    
    for (var i = 0; i < sensorId.length; i++) {
       watchDog(sensorId[i]); 
    }
    
    function watchDog(sensorId){
        var timer = null; 
        on({id: sensorId}, function() {             // löst bei jeder Aktualisierung aus
            if(timer) clearTimeout(timer);          // laufender Timer wird gestoppt
            timer = setTimeout(function() {         // Neustart Timer
                console.log('Sensorausfall ' + sensorId);          // Aktion, wenn Verzögerungszeit abgelaufen ist
                sendTo("telegram", "send", {
                text:('****** Achtung Sensorausfall ******\n' + 'Typ: ' + getObject(sensorId).common.name + '\nID: ' + sensorId)
                });
            }, 120 * 60000);                          // 120 Minuten in ms = 120 * 60000   
        });
    }
    

    Wenn ich einen neuen Sensor bekomme, dessen Funktion ich überwachen möchte, trage ich die ID einfach in das Array senorId ein.

    Sobald sich einer der Sensoren in meinem Fall nach 120 Minuten nicht meldet, erhalte ich eine automatische Warnmeldung per Telegram mit allen nötigen Informationen. Alternativ kann man sich natürlich auch per Mail oder was auch immer benachrichtigen lassen.

    K 1 Reply Last reply
    2
    • C canetti2

      Ich habe jetzt das Skript von @paul53 ein wenig überarbeitet bzw. erweitert:

      var sensorId = [
          'zigbee.0.00xxxxxx.temperature',
          'zigbee.0.00xxxxxx.temperature',
          'zigbee.0.00xxxxxx.click',
          'zigbee.0.04xxxxxxxx.load_power',
          ]; 
      
      for (var i = 0; i < sensorId.length; i++) {
         watchDog(sensorId[i]); 
      }
      
      function watchDog(sensorId){
          var timer = null; 
          on({id: sensorId}, function() {             // löst bei jeder Aktualisierung aus
              if(timer) clearTimeout(timer);          // laufender Timer wird gestoppt
              timer = setTimeout(function() {         // Neustart Timer
                  console.log('Sensorausfall ' + sensorId);          // Aktion, wenn Verzögerungszeit abgelaufen ist
                  sendTo("telegram", "send", {
                  text:('****** Achtung Sensorausfall ******\n' + 'Typ: ' + getObject(sensorId).common.name + '\nID: ' + sensorId)
                  });
              }, 120 * 60000);                          // 120 Minuten in ms = 120 * 60000   
          });
      }
      

      Wenn ich einen neuen Sensor bekomme, dessen Funktion ich überwachen möchte, trage ich die ID einfach in das Array senorId ein.

      Sobald sich einer der Sensoren in meinem Fall nach 120 Minuten nicht meldet, erhalte ich eine automatische Warnmeldung per Telegram mit allen nötigen Informationen. Alternativ kann man sich natürlich auch per Mail oder was auch immer benachrichtigen lassen.

      K Offline
      K Offline
      klassisch
      Most Active
      wrote on last edited by
      #22

      @canetti2 vielen Dank! Interessant. Wenn ich das richtig verstehe, wird für jeden Sensor im Skript so eine Funktion angelegt. Jede Funktion generiert dann auch ihre eigene timer-Variable.

      Alle Sensoren müssen dann dieselbe timeout Zeit haben und andere Sonderbehandlungen sind dann auch nicht möglichl

      Was ich nicht verstanden habe: _id. Was macht das?

      1 Reply Last reply
      0
      • C Offline
        C Offline
        canetti2
        wrote on last edited by
        #23

        @klassisch das ist korrekt: Jeder Sensor startet eine eigene Funktion mit eigener Timer-Variable. Und bei allen Sensoren wird erwartet, dass Sie sich (in meinem Beispiel) nach 120 Minuten melden. Tut ein Sensor das nicht, bekomme ich eine Nachricht per Telegram. Die Variable _id ist entsprechende ObjektId. Wenn man 200 Sensoren überwacht, kann man den Sensor so in der Objektübersicht (wahrscheinlich) leichter finden. Alle Sensoren werden gleich behandelt.

        Ich beschäftige mich ja auch erst seit knapp zwei Wochen mit dem Thema "iobroker" und bin daher noch absoluter Anfänger. Ich habe keine Ahnung, ob manche Sensoren eine "Sonderbehandlung" benötigen. Bei meinen drei Sensoren ist das noch nicht der Fall ;-). Sollte eine "Sonderbehandlung" nötig sein, müsste man die Funktion und evtl. auch das Array, bzw. den Funktionsaufruf entsprechend erweitern.

        K 1 Reply Last reply
        0
        • C Offline
          C Offline
          canetti2
          wrote on last edited by canetti2
          #24

          @klassisch vergiss die getObject(sensorId)._id Geschichte. Das ist ja quatsch - die Id ist ja die Variable sensorId ;-)

          K 1 Reply Last reply
          0
          • C canetti2

            @klassisch das ist korrekt: Jeder Sensor startet eine eigene Funktion mit eigener Timer-Variable. Und bei allen Sensoren wird erwartet, dass Sie sich (in meinem Beispiel) nach 120 Minuten melden. Tut ein Sensor das nicht, bekomme ich eine Nachricht per Telegram. Die Variable _id ist entsprechende ObjektId. Wenn man 200 Sensoren überwacht, kann man den Sensor so in der Objektübersicht (wahrscheinlich) leichter finden. Alle Sensoren werden gleich behandelt.

            Ich beschäftige mich ja auch erst seit knapp zwei Wochen mit dem Thema "iobroker" und bin daher noch absoluter Anfänger. Ich habe keine Ahnung, ob manche Sensoren eine "Sonderbehandlung" benötigen. Bei meinen drei Sensoren ist das noch nicht der Fall ;-). Sollte eine "Sonderbehandlung" nötig sein, müsste man die Funktion und evtl. auch das Array, bzw. den Funktionsaufruf entsprechend erweitern.

            K Offline
            K Offline
            klassisch
            Most Active
            wrote on last edited by klassisch
            #25

            @canetti2 sagte in Probleme mit Aqara Temperatur- und Feuchtigkeitssensor:

            Ich beschäftige mich ja auch erst seit knapp zwei Wochen mit dem Thema "iobroker" und bin daher noch absoluter Anfänger.

            Respekt! Steile Lernkurve!

            Ich habe keine Ahnung, ob manche Sensoren eine "Sonderbehandlung" benötigen. Bei meinen drei Sensoren ist das noch nicht der Fall ;-).

            Hängt weniger von ioBroker als viel mehr vom Sensorsetup bzw. den Anwendungen ab.

            Aber man kann mit Deinem Ansatz sicher eine Menge Arbeit sparen. Man kann ja in Sensoren bzw. Anwendungen clustern. In diesem Fall nach timeout-Zeiten.
            Je nach timeout-Zeiten macht man also eigene Funktionen. Das spart ja auch schon mal sehr.
            Gefällt mir, vielen Dank!

            1 Reply Last reply
            0
            • C canetti2

              @klassisch vergiss die getObject(sensorId)._id Geschichte. Das ist ja quatsch - die Id ist ja die Variable sensorId ;-)

              K Offline
              K Offline
              klassisch
              Most Active
              wrote on last edited by klassisch
              #26

              @canetti2 sagte in Probleme mit Aqara Temperatur- und Feuchtigkeitssensor:

              @klassisch vergiss die getObject(sensorId)._id Geschichte. Das ist ja quatsch - die Id ist ja die Variable sensorId ;-)

              Danke, das hätte ich so erwartet, weil ja jeweils eine solche Funktion angelegt wird, die dann kein Array mehr beherbergt, sondern das Element des Arrays.
              Edit: Magst Du das noch in Deinen Post einarbeiten? Ich würde gerne von dem zitierten alten Post auf Dein Skript verweisen. Dann haben es andere user einfacher.

              1 Reply Last reply
              0
              • C Offline
                C Offline
                canetti2
                wrote on last edited by
                #27

                @klassisch Ich habe die Funktion überarbeitet - siehe oben.

                paul53P 1 Reply Last reply
                1
                • C canetti2

                  @klassisch Ich habe die Funktion überarbeitet - siehe oben.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #28

                  @canetti2 sagte: Ich habe die Funktion überarbeitet - siehe oben.

                  Aber nicht in Zeile 17.

                  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

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    canetti2
                    wrote on last edited by
                    #29

                    @paul53 jetzt aber ;-)

                    1 Reply Last reply
                    0
                    • mickymM mickym

                      @canetti2 Ich prüfe das mit meiner Logikmaschine (bei Dir Blockly, bei mir Node Red). Ich mach da keine komplizierten Zeitvergleiche, sondern gibt Alarm, wenn sich ein Sensor länger als 2 Stunden nicht meldet.

                      Damrak2022D Offline
                      Damrak2022D Offline
                      Damrak2022
                      wrote on last edited by
                      #30

                      @mickym Wie prüfst Du das. Das kannst Du mir die Tage mal bitte erklären.

                      Mit besten Grüßen
                      Andy

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      708

                      Online

                      32.7k

                      Users

                      82.5k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe