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. ioBroker Allgemein
  4. Probleme mit Aqara Temperatur- und Feuchtigkeitssensor

NEWS

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

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

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

Probleme mit Aqara Temperatur- und Feuchtigkeitssensor

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
30 Beiträge 8 Kommentatoren 8.0k Aufrufe 9 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.
  • ? Ein ehemaliger Benutzer

    @canetti2
    lese mal mit, da mich meine Aqara Sensoren (T&H und die Tür/Fensterkontakte) auch regelmäßig "ärgern" trotz einiger Router.

    Das Skript klingt interessant und schaue ich mir sehr gerne mal an. Eine Skript implementierung je Sensor sehe ich ehrlich gesagt nicht wirklich als Aufwand, da gibt es Schlimmeres.

    Soweit ich es jetzt überflogen habe, wurde Deine Frage bzgl. Wifi noch nicht geklärt. Wifi betreibt man auf Kanal 1,6 oder 11 da sie sich so nicht gegenseitig beeinflussen. Also mal die Umgebung scannen was sich bei Dir anbietet. Zu diesem Ergebnis auch die Wahl deines Zigbee Kanals um möglichst keine Störungen durch eigene oder andere Wifis zu haben. Wie gut die Auto-Erkennung funktioniert kann ich nicht sagen. Ich mach das lieber manuell, da weiß ich was passiert. Vorsicht ggf. sind nach Kanalwechsel die Zigbee Devices neu zu pairen.
    0971cebc-8668-4a24-984f-e190beb4039e-grafik.png

    Edit: Nachdem ich es jetzt studiert habe, Ich habe noch nicht ganz verstanden, was der Watchdog per skript bringt. Batteriebetriebene Aqara Sensoren wie die T&H senden keine zyklischen Daten d.h. wenn sich die Temperatur x Tage nicht ändert senden sie x-Tage keinen Wert. Somit bekomme ich ggf einen Watchdog Alarm obwohl alles in Ordnung ist. Ein Watchdog auf extrem hohe Zeit zu setzen ist für mein Verständnis wenig sinnvoll. Einen Verfügbarkeitsanfrage wie zB einen Ping lässt sich bei Zigbee ja nicht manuell ausführen oder erzeugen und auswerten oder irre ich da?

    Allgemein natürlich alles eine Frage wofür man diese Informationen wie die Temperaturen nutzen möchte. Ich habe sie mal für einen einfachen Fall als Visualisierung auf ein VIS gepackt und hier finde ich es schon problematisch, dass ich nicht sicher sein kann, ob die informationen stimmen die da stehen.
    Man kann in VIS zusätzlich anzeigen lassen wie alt die Informationen sind. Also eine automatische Auswertung des Zeitstempels. Für jemanden der das VIS betrachtet finde ich das aber schlecht gelöst. Ich drücke ihm so den Zusatzaufwand auf die Nase jetzt auch noch diese Zeitinformationen zu lesen und zu verarbeiten. Bastel derzeit an einer Lösung wo die Temperaturen ausgeblendet/unsichtbar werden, wenn der Zeitstempel älter ist als x Tage, Stunden oder Minuten je nach Sensor....Somit ist schon mal sicher dass der Bediener "keinen Mist vor die Linse bekommt". Schaut er allerdings nur noch auf leere Seiten ohne Infos wirds auch sinnfrei....

    Zwar recht einfach, aber werte nun den Zeitstempel aus und wenn 3h keine neue Temperatur geschickt wurde, wird ein Datenpunkt gesetzt. Entsprechend dem Datenpunkt werden die Daten Sichtbar/Unsichtbar auf dem VIS:

    5bea0ee4-73c5-43ba-9f18-5eae0aec08f6-grafik.png
    20aed06f-a4a6-495a-997f-143cd25eabf8-grafik.png

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #20

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

    Edit: Nachdem ich es jetzt studiert habe, Ich habe noch nicht ganz verstanden, was der Watchdog per skript bringt. Batteriebetriebene Aqara Sensoren wie die T&H senden keine zyklischen Daten d.h. wenn sich die Temperatur x Tage nicht ändert senden sie x-Tage keinen Wert. Somit bekomme ich ggf einen Watchdog Alarm obwohl alles in Ordnung ist. Ein Watchdog auf extrem hohe Zeit zu setzen ist für mein Verständnis wenig sinnvoll. Einen Verfügbarkeitsanfrage wie zB einen Ping lässt sich bei Zigbee ja nicht manuell ausführen oder erzeugen und auswerten oder irre ich da?

    Kann ich nicht bestätigen. Meine batteriebetriebenen Aquara Sensoren melden sich mindestens 1 mal in 2 Stunden (egal ob Bewegungsmelder mit Luxmeter oder Temperatur & Feuchtigkeit). Die Würfel überwache ich gerade nicht, aber auch hier sehe ich, selbst bei dem Würfel den ich mehrere Stunden nicht angefasst habe, dass voltage und oder link quality übertragen werden:

    23f17c13-2c36-485f-9a9d-1d415ab7e4ab-image.png

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      canetti2
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • C Offline
          C Offline
          canetti2
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            canetti2
            schrieb am zuletzt editiert von canetti2
            #24

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

            K 1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                0
                • C Offline
                  C Offline
                  canetti2
                  schrieb am zuletzt editiert von
                  #27

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

                  paul53P 1 Antwort Letzte Antwort
                  1
                  • C canetti2

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

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • C Offline
                      C Offline
                      canetti2
                      schrieb am zuletzt editiert von
                      #29

                      @paul53 jetzt aber ;-)

                      1 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #30

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

                        Mit besten Grüßen
                        Andy

                        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
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        250

                        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