Abfrage Sensor nicht mehr ereichbar

Begonnen von Sebastian84, 21 Januar 2023, 18:10:47

Vorheriges Thema - Nächstes Thema

Sebastian84

Guten Abend

Ich hab viele Sensoren über dect und Decon verbaut. Jetzt ist schon oft vorgekommen das die Sensoren mal kurz nicht ereichbar wahren und ich dann eine Push Naricht bekommen habe.
Nach ein paar Minuten wahren sie aber wieder ereichbar. Ich würde gerne z.B. wenn so was vorkommt noch eine Zeit X einbauen wo dann nochmal geprüft wird ob der Sensor wieder da ist
und nur wenn immer noch nicht da ist eine Push Naricht geschickt wird.
Ihr ist mein Notify der auch geht aber sofort nach nach einen kuzen Abfrage verlust eine Push schickt.


Multisensor3:reachable:.0 set pushmsg msg 'Sensor' 'Multisensor3 nicht ereichbar'    oder

   Dachfenster_HeidiZ:present:.no set pushmsg msg ' Dachfenster_HeidiZ Fensterkontakt' 'Nicht mehr ereichbar''sebastian,galaxya50,galaxytaba8' 0 'bike'


Mit freundichen Güßen
Sebastian

betateilchen

Zitat von: Sebastian84 am 21 Januar 2023, 18:10:47
würde gerne z.B. wenn so was vorkommt noch eine Zeit X einbauen wo dann nochmal geprüft wird ob der Sensor wieder da ist
und nur wenn immer noch nicht da ist eine Push Naricht geschickt wird.

Schau mal, ob Dir das weiterhelfen könnte:

https://commandref.fhem.de/#watchdog
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Icinger

Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

betateilchen

Falls man die Sensoren per presence überwachen kann (keine Ahnung, ob die das unterstützen) könnte man einfach mit absence_threshold arbeiten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Sebastian84

Danke für die schnelle Antwort
Das readingsWatcher-Modul finde ich genau
Das Richige für meine Sensoren.
Leider verstehe ich nicht wie ich dass einbinden soll in mein
Fall.
  NAME       Multisensor3
   NR         380
   STATE      T: 17.43 °C
   TYPE       HUEDevice
   eventCount 90
   has_events 1
   manufacturername LUMI
   modelid    lumi.weather
   name       Keller Temperatur
   on         1
   reachable  1
   swversion  20191205
   type       ZHATemperature
   uniqueid   00:15:8d:00:07:53:bc:db-01-0402
   READINGS:
     2023-01-21 09:26:30   IODev           deconz
     2023-01-22 03:55:27   battery         100
     2023-01-22 03:55:27   batteryPercent  100
     2023-01-22 03:47:45   lastseen        2023-01-22T02:47Z
     2023-01-22 03:55:27   reachable       1
     2023-01-22 03:47:45   temperature     17.43
   helper:
     devtype    S
     state     
     update_timeout 1
     configList:
     json:
       ep         1
       etag       822275b005ede4c781fb1ee4603acb75
       lastannounced
       lastseen   2023-01-22T02:55Z
       manufacturername LUMI
       modelid    lumi.weather
       name       Keller Temperatur
       swversion  20191205
       type       ZHATemperature
       uniqueid   00:15:8d:00:07:53:bc:db-01-0402
       config:
         battery    100
         offset     0
       state:
         lastupdated 2023-01-22T02:47:45.512
         temperature 1743
     setList:
Attributes:
   group      Keller
   icon       xiaomi_multi
   model      lumi.weather
   room       Keller
   stateFormat T: temperature °C
   


Das mein Notify erst eine Naricht nach einer erneuten Überprüfung schickt.

Icinger

1) Readingswatcher definieren:
defmod rw_ReadingsWatcher readingsWatcher global

2) In jedem Device, welches du überwachen willst zB
attr Multisensor3 1800,,temperature

Damit bekommst du dann im readinsWatcher-Modul ein reading, welches dir gesammelt angibt, welche Sensoren nicht erreichbar sind.
bei mir zB aktuell:
deadDevs                       mq2_Gosund3,mq2_MiniKlingel,xi_Waterleak_4
Darauf kannst du zB dein notify reagieren lassen, und dich informieren.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Sebastian84

    NR         44215
   STATE      timeout
   SVN        25053
   TYPE       readingsWatcher
   eventCount 81
   OLDREADINGS:
   READINGS:
     2023-01-22 09:15:53   Bad_1_OG_present ok
     2023-01-22 09:15:53   Bad_2_OG_present ok
     2023-01-22 09:15:53   Balkontuer_present ok
     2023-01-22 09:15:53   Dachfenster_GaestezL_present ok
     2023-01-22 09:15:53   Dachfenster_GaestezR_present ok
     2023-01-22 09:15:53   Dachfenster_HeidiZ_present ok
     2023-01-22 09:15:53   Eingangstuer_present ok
     2023-01-22 09:15:53   Fenster_Bad_1OG_reachable ok
     2023-01-22 09:15:53   Fenster_Bad_EG_reachable ok
     2023-01-22 09:15:53   Fenster_Keller_reachable ok
     2023-01-22 09:15:53   Fenster_Kinderzimmer_reachable timeout
     2023-01-22 09:15:53   Fenster_Kueche_reachable timeout
     2023-01-22 09:15:53   Fenster_Schlafzimmer_reachable timeout
     2023-01-22 09:15:53   Fensterkontakt_Bad_2.OG_reachable timeout
     2023-01-22 09:15:53   Flur_Eingang_present ok
     2023-01-22 09:15:53   FritzBox_state  no Timestamp
     2023-01-22 09:15:53   Grosse_Garage_present ok
     2023-01-22 09:15:53   Kellersteckdose_present ok
     2023-01-22 09:15:53   Kellertuer_reachable ok
     2023-01-22 09:15:53   Kinderzimmer_present ok
     2023-01-22 09:15:53   Kleine_Garage_present ok
     2023-01-22 09:15:53   Multisensor3_reachable ok
     2023-01-22 09:15:53   Multisensor_reachable ok
     2023-01-22 09:15:53   Regensensor_present ok
     2023-01-22 09:15:53   Schlafzimmer_present ok
     2023-01-22 09:15:53   Spuele_reachable ok
     2023-01-22 09:15:53   Waschbecken_1.OG_reachable timeout
     2023-01-22 09:15:53   Waschbecken_2OG_reachable ok
     2023-01-22 09:15:53   Waschbecken_EG_reachable ok
     2023-01-22 09:15:53   Wassersensor_Heizungsraum_reachable ok
     2023-01-22 09:15:53   Wassersensor_Instalationsschacht_reachable timeout
     2023-01-22 09:15:53   Wassersensor_Spuelmaschine_reachable timeout
     2023-01-22 09:15:53   Wassersensor_Waschmaschine_reachable ok
     2023-01-22 09:15:53   Wohnzimmer_present ok
     2023-01-22 09:15:53   alive           26
     2023-01-22 09:15:53   dead            7
     2023-01-22 09:15:53   deadDevs        Fenster_Kinderzimmer,Fenster_Kueche,Fenster_Schlafzimmer,Fensterkontakt_Bad_2.OG,Waschbecken_1.OG,Wassersensor_Instalationsschacht,Wassersensor_Spuelmaschine
     2023-01-22 09:15:53   devices         36
     2023-01-22 09:15:53   fritzbox2_state no Timestamp
     2023-01-22 09:15:53   readings        33
     2023-01-22 09:15:53   skipped         3
     2023-01-22 09:15:53   skippedDevs     FritzBox,fritzbox2,fritzbox_Wohnzimmer
     2023-01-22 09:15:53   state           timeout
     2023-01-22 09:15:53   timeoutDevs     Fenster_Kinderzimmer,Fenster_Kueche,Fenster_Schlafzimmer,Fensterkontakt_Bad_2.OG,Waschbecken_1.OG,Wassersensor_Instalationsschacht,Wassersensor_Spuelmaschine
     2023-01-22 09:15:53   timeouts        7
Attributes:
   interval   60
   readingActivity none
   room       8_Zuhause
     


Das hb ich jetzt für alle Sensoren gemacht mitunterschiedlichen State. Jetzt sind einige aber über den Wather nicht da obwohl sie mir als da in den Devices angezeigt werden.
Was mach ich da falsch?

Icinger

ZitatJetzt sind einige aber über den Wather nicht da obwohl sie mir als da in den Devices angezeigt werden.
Das versteh ich grad überhaupt nicht.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Sebastian84

Da steht im watcher timeout an einigen sensoren stehen.
Die Sensoren die auf reachable eingestellt sind. Sind fast alle auf timeout

Icinger

ZitatDie Sensoren die auf reachable eingestellt sind. Sind fast alle auf timeout
Ah, alles klar.......Naja, "reachable" wird sich ja nicht ständig ändern.
Der Readingswatcher überwacht die Readings aber auf Änderung. Also wird der dann zuschlagen.

Ich würde eher auf das "temperature"-Reading schauen.
Alternativ müsstest du ein event-on-update für das reachable setzen. Ist aber unnötig, wenn eh das temperature regelmäßig geupdatet wird.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Sebastian84

#10
Super

Also könnte ich alles so lassen und er würde trotzdem auf eine Änderung reagieren?
Die Temperaturen werden leider auch nur bei Änderungen übertragen oder einmal in der Stunde.
Und wie könnte ich da jetzt ein Notify eintragen das mir dann Nachrichen schickt obwohl bei einigen Timeout steht?
Und die 1800 stehen dür 3Minuten?
Weil fals es mal ein Ausetzer gibt soll er er erst nach z.b. 1Stunde nochmal prüfen und dann erst eine Nachricht schicken wenn er immer noch nicht da ist.

Wzut

Bevor du notifys erstellst solltest du dich mit dem readindsWatcher  Modul vertraut machen.
Deine 1800 Frage und die Fehler deiner Fritten legen den Verdacht nah das du Icingers Beispiel blind übernommen hast ohne es zu wirklich zu verstehen.
Bsp temperature Reading überwacht obwohl das Gerät dieses gar nicht hat.
Und die Zeitbasis sind Sekunden d.h. bei einer Überwachung von einer Stunde wäre 3600 dein Freund.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Sebastian84

#12
        Dachfenster_HeidiZ:present:.no.* defmod at_Check_Dachfenster_HeidiZ at +00:00:30{if(ReadingsVal("Dachfenster_HeidiZ","present","n.a.") eq "no"){ fhem "set pushmsg msg 'Batterie 'Dachfenster_HeidiZ 'sebastian,galaxya50,galaxytaba8' 1 'bugle' "}}
 
   

    STATE      off
   TYPE       FBDECT
   eventCount 2
   fritzbox2_MSGCNT 4865
   fritzbox2_TIME 2023-01-28 10:46:26
   id         11324_0481927_1
   props      HANFUNUnit,alarmSensor
   READINGS:
     2023-01-28 10:46:26   AIN             11324 0481927-1
     2023-01-28 10:46:26   FBNAME          Dachfenster Heidiz.
     2023-01-28 10:46:26   FBPROP          HANFUNUnit,alarmSensor
     2023-01-28 10:46:26   FBTYPE          HAN-FUN
     2023-01-28 10:46:26   ID              2002
     2023-01-28 04:00:25   IODev           fritzbox2
     2023-01-28 10:46:26   etsideviceid    413
     2023-01-28 10:46:26   fwversion       0.0
     2023-01-28 10:46:26   lastalertchgtimestamp 2023-01-28 09:35:55
     2023-01-28 10:46:26   present         yes
     2023-01-28 10:46:26   state           off
     2023-01-28 10:46:26   unittype        DOOR_OPEN_CLOSE_DETECTOR
Attributes:
   IODev      fritzbox2
   devStateIcon on:fts_window_roof_open_2@#e56524 off:fts_window_roof
   event-on-change-reading .*
   group      Tür_Fensterkontakte
   room       4_2.OG->Heidizimmer
   userattr   room_map structexclude
   

Das müsste doch auch gehen?
Jetzt müsste doch erst nach 30 Sekunden  erst eine Naricht geschickt werden?