event-on-change-reading "feuert" ständig

Begonnen von cc13, 10 Januar 2018, 10:27:15

Vorheriges Thema - Nächstes Thema

cc13

Hallo,

ich habe mir eine Anwesenheitserkennung nach folgender Anleitung erstellt https://wiki.fhem.de/wiki/FRITZBOX#Anwesenheitserkennung_per_Notify.

Mit "event-on-change-reading" habe ich es auf eine bestimmte MAC-Adresse festgelegt. Allerdings wurde damit der SVG-Log für die Fritzbbox-Temperatur nicht mehr erfasst/eingezeichnet. Also habe ich "box_" mit aufgenommen:


attr Fritzbox event-on-change-reading mac_aa_bb_,box_.*


Die Temperatur wurde wieder in der SVG-Datei erfasst, allerdings feuert das Event jetzt alle 5 Minuten (Intervall 300), obwohl sich bei der MAC-Adresse nichts geändert hat. Auch nachdem ich das Notify und das event-on-change-reading Attribut gelöscht und neu angelegt habe, wird auch ohne Änderung das Event ausgelöst.

Hat jemand eine Idee, wo ich suchen muss?

VG
CC13

darkness

#1
Hallo,

steht das Komma wirklich so dazwischen?
mac_aa_bb_,box_.*



Mit dem box_.* triggert er ja bei jeder Änderung eines Readings, welches mit box_ beginnt.


Gruß

cc13

So genau weiß ich das nicht mehr, inzwischen hatte ich es rückgängig gemacht und trotzdem "feuert" das Event ständig. Das Attribut sieht jetzt so aus und alle 5 Minuten wird das Event ausgelöst, obwohl sich an dem Gerät hinter der MAC-Adresse nichts ändert.


attr Fritzbox event-on-change-reading mac_aa_bb_cc_dd

darkness

mach doch bitte mal ein List von Fritzbox und dem Notify.

darkness

Ach sehe ich ja gerade. Hinter den Readings steht ja auch die Verbindungsqualität. Mbit/s usw. Damit ändert sich natürlich immer das Reading und triggert dadurch.

cc13

Hier das List von der Fritzbox. Ein paar Daten (andere Geräte) habe ich gelöscht, oder angepasst (MAC-Adresse):


Internals:
   APICHECKED 1
   HOST       fritz.box
   INTERVAL   300
   LUAQUERY   1
   NAME       Fritzbox_Monitor
   NR         37
   REMOTE     
   SECPORT   
   STATE      61 °C
   TELNET     0
   TR064      1
   TYPE       FRITZBOX
   WEBCM      0
   Helper:
     DBLOG:
       alarm1:
         DBLogging:
           TIME       1515575365.69274
           VALUE      Wecker 1
       alarm1_state:
         DBLogging:
           TIME       1515575365.69274
           VALUE      off
       alarm1_target:
         DBLogging:
           TIME       1515575365.69274
           VALUE      FON 1
       alarm1_time:
         DBLogging:
           TIME       1515575365.69274
           VALUE      00:00
       alarm1_wdays:
         DBLogging:
           TIME       1515575365.69274
           VALUE      daily
       alarm2:
         DBLogging:
           TIME       1515575365.69274
           VALUE      Wecker 2
       alarm2_state:
         DBLogging:
           TIME       1515575365.69274
           VALUE      off
       alarm2_target:
         DBLogging:
           TIME       1515575365.69274
           VALUE      FON 1
       alarm2_time:
         DBLogging:
           TIME       1515575365.69274
           VALUE      00:00
       alarm2_wdays:
         DBLogging:
           TIME       1515575365.69274
           VALUE      daily
       alarm3:
         DBLogging:
           TIME       1515575365.69274
           VALUE      Wecker 3
       alarm3_state:
         DBLogging:
           TIME       1515575365.69274
           VALUE      off
       alarm3_target:
         DBLogging:
           TIME       1515575365.69274
           VALUE      FON 1
       alarm3_time:
         DBLogging:
           TIME       1515575365.69274
           VALUE      00:00
       alarm3_wdays:
         DBLogging:
           TIME       1515575365.69274
           VALUE      daily
       box_connect:
         DBLogging:
           TIME       1515575365.69274
           VALUE      5
       box_cpuTemp:
         DBLogging:
           TIME       1515575365.69274
           VALUE      60
       box_dect:
         DBLogging:
           TIME       1515575365.69274
           VALUE      on
       box_fwVersion:
         DBLogging:
           TIME       1515575365.69274
           VALUE      113.06.90 (old)
       box_guestWlan:
         DBLogging:
           TIME       1515575365.69274
           VALUE      off
       box_guestWlanCount:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0
       box_guestWlanRemain:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0
       box_ipExtern:
         DBLogging:
           TIME       1515575365.69274
           VALUE      46.244.211.242
       box_model:
         DBLogging:
           TIME       1515575355.68215
           VALUE      FRITZ!Box 7490 [avm]
       box_moh:
         DBLogging:
           TIME       1515575365.69274
           VALUE      default
       box_powerRate:
         DBLogging:
           TIME       1515575365.69274
           VALUE      51
       box_rateDown:
         DBLogging:
           TIME       1515575365.69274
           VALUE      91.910
       box_rateUp:
         DBLogging:
           TIME       1515575365.69274
           VALUE      5.047
       box_stdDialPort:
         DBLogging:
           TIME       1515575365.69274
           VALUE      fon1
       box_tr064:
         DBLogging:
           TIME       1515575365.69274
           VALUE      on
       box_tr069:
         DBLogging:
           TIME       1515575365.69274
           VALUE      off
       box_wlanCount:
         DBLogging:
           TIME       1515575365.69274
           VALUE      9
       box_wlan_2.4GHz:
         DBLogging:
           TIME       1515575365.69274
           VALUE      on
       box_wlan_5GHz:
         DBLogging:
           TIME       1515575365.69274
           VALUE      on
       dect1:
         DBLogging:
           TIME       1515575365.69274
           VALUE      Mobilteil 1
       dect1_fwVersion:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0.00
       dect1_intRingTone:
         DBLogging:
           TIME       1515575365.69274
           VALUE      HandsetDefault
       dect1_intern:
         DBLogging:
           TIME       1515575365.69274
           VALUE      610
       dect1_manufacturer:
         DBLogging:
           TIME       1515575365.69274
           VALUE      Siemens
       dect1_model:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0x00
       dect1_radio:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0 (unknown)
       fon1:
         DBLogging:
           TIME       1515575365.69274
           VALUE      Telefon
       fon1_intern:
         DBLogging:
           TIME       1515575365.69274
           VALUE      1
       fon2:
         DBLogging:
           TIME       1515575365.69274
           VALUE      Telefon
       fon2_intern:
         DBLogging:
           TIME       1515575365.69274
           VALUE      2
       lastReadout:
         DBLogging:
           TIME       1515575365.69274
           VALUE      335 values captured in 1.00 s
       mac_aa_bb_cc_dd:
         DBLogging:
           TIME       1515582565.90703
           VALUE      Windows-Phone (WLAN, 72 / 25 Mbit/s, -48)
       state:
         DBLogging:
           TIME       1515575365.69274
           VALUE      WLAN: on gWLAN: off
       tam1:
         DBLogging:
           TIME       1515575365.69274
           VALUE      Anrufbeantworter
       tam1_newMsg:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0
       tam1_oldMsg:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0
       tam1_state:
         DBLogging:
           TIME       1515575365.69274
           VALUE      off
       user01:
         DBLogging:
           TIME       1515575365.69274
           VALUE      (guest)
       user01_thisMonthTime:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0:00
       user01_todaySeconds:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0
       user01_todayTime:
         DBLogging:
           TIME       1515575365.69274
           VALUE      0:00
       user01_type:
         DBLogging:
           TIME       1515575365.69274
           VALUE      Guest
       userTicket01:
         DBLogging:
           TIME       1515575365.69274
           VALUE      170135
   READINGS:
     2018-01-10 12:14:25   alarm1          Wecker 1
     2018-01-10 12:14:25   alarm1_state    off
     2018-01-10 12:14:25   alarm1_target   FON 1
     2018-01-10 12:14:25   alarm1_time     00:00
     2018-01-10 12:14:25   alarm1_wdays    daily
     2018-01-10 12:14:25   alarm2          Wecker 2
     2018-01-10 12:14:25   alarm2_state    off
     2018-01-10 12:14:25   alarm2_target   FON 1
     2018-01-10 12:14:25   alarm2_time     00:00
     2018-01-10 12:14:25   alarm2_wdays    daily
     2018-01-10 12:14:25   alarm3          Wecker 3
     2018-01-10 12:14:25   alarm3_state    off
     2018-01-10 12:14:25   alarm3_target   FON 1
     2018-01-10 12:14:25   alarm3_time     00:00
     2018-01-10 12:14:25   alarm3_wdays    daily
     2018-01-10 12:14:25   box_connect     5
     2018-01-10 12:14:25   box_cpuTemp     61
     2018-01-10 12:14:25   box_dect        on
     2018-01-10 12:14:25   box_fwVersion   113.06.90 (old)
     2018-01-10 12:14:25   box_guestWlan   off
     2018-01-10 12:14:25   box_guestWlanCount 0
     2018-01-10 12:14:25   box_guestWlanRemain 0
     2018-01-10 12:14:25   box_ipExtern   
     2018-01-10 10:09:15   box_model       FRITZ!Box 7490 [avm]
     2018-01-10 12:14:25   box_moh         default
     2018-01-10 12:14:25   box_powerRate   51
     2018-01-10 12:14:25   box_rateDown    21.516
     2018-01-10 12:14:25   box_rateUp      2.808
     2018-01-10 12:14:25   box_stdDialPort fon1
     2018-01-10 12:14:25   box_tr064       on
     2018-01-10 12:14:25   box_tr069       off
     2018-01-10 12:14:25   box_wlanCount   9
     2018-01-10 12:14:25   box_wlan_2.4GHz on
     2018-01-10 12:14:25   box_wlan_5GHz   on
     2018-01-10 12:14:25   dect1           Mobilteil 1
     2018-01-10 12:14:25   dect1_fwVersion 0.00
     2018-01-10 12:14:25   dect1_intRingTone HandsetDefault
     2018-01-10 12:14:25   dect1_intern    610
     2018-01-10 12:14:25   dect1_manufacturer Siemens
     2018-01-10 12:14:25   dect1_model     0x00
     2018-01-10 12:14:25   fon1            Telefon
     2018-01-10 12:14:25   fon1_intern     1
     2018-01-10 12:14:25   fon2            Telefon
     2018-01-10 12:14:25   fon2_intern     2
     2018-01-10 12:14:25   lastReadout     335 values captured in 1.00 s
     2018-01-10 12:14:25   mac_aa_bb_cc_dd Windows-Phone (WLAN, 72 / 10 Mbit/s, -50)
     2018-01-10 12:14:25   state           WLAN: on gWLAN: off
     2018-01-10 12:14:25   tam1            Anrufbeantworter
     2018-01-10 12:14:25   tam1_newMsg     0
     2018-01-10 12:14:25   tam1_oldMsg     0
     2018-01-10 12:14:25   tam1_state      off
     2018-01-10 12:14:25   user01          (guest)
     2018-01-10 12:14:25   user01_thisMonthTime 0:00
     2018-01-10 12:14:25   user01_todaySeconds 0
     2018-01-10 12:14:25   user01_todayTime 0:00
     2018-01-10 12:14:25   user01_type     Guest
     2018-01-10 12:14:25   userTicket01    170135
   fhem:
     LOCAL      0
     definedHost undefined
     is_double_wlan 1
     lastHour   0
     modulVersion $Date: 2018-01-08 19:51:14 +0100 (Mon, 08 Jan 2018) $
     radioCount 40
     sid        d8c4e52add254d92
     sidTime    1515582865
     610:
       brand      Siemens
       id         1
       model      0x00
       userId     1
     landevice:
       192.168.1.152 Windows-Phone
       io53647630
     radio:
       0         
       1         
       10         
       11         
       12         
       13         
       14         
       15         
       16         
       17         
       18         
       19         
       2         
       20         
       21         
       22         
       23         
       24         
       25         
       26         
       27         
       28         
       29         
       3         
       30         
       31         
       32         
       33         
       34         
       35         
       36         
       37         
       38         
       39         
       4         
       5         
       6         
       7         
       8         
       9         
     wlanDevice:
       aa_bb_cc_dd:
         rssi       -50
         speed      72
         speed_rx   10
   helper:
     TimerCmd   Fritzbox_Monitor.Cmd
     TimerReadout Fritzbox_Monitor.Readout
Attributes:
   allowTR064Command 1
   boxUser    1
   event-on-change-reading mac_aa_bb_cc_dd
   room       Wohnzimmer
   stateFormat box_cpuTemp °C


Und hier das Notify. Im Moment ist der State auf inaktiv, weil es eben ständig "feuert":


Internals:
   CFGFN     
   DEF        Fritzbox_Monitor:mac_aa_bb_cc_dd:.* {\
  if (ReadingsVal("Fritzbox_Monitor", "mac_aa_bb_cc_dd", "inactive") eq "inactive") \
  {\
    fhem("set telegram message absent");;\
  } \
  else \
  {\
    fhem("set telegram message present");;\
  }\
}
   NAME       n_check_windowsphone
   NOTIFYDEV  Fritzbox_Monitor
   NR         99
   NTFY_ORDER 50-n_check_windowsphone
   REGEXP     Fritzbox_Monitor:mac_aa_bb_cc_dd:.*
   STATE      inactive
   TYPE       notify
   Helper:
     DBLOG:
       state:
         DBLogging:
           TIME       1515576029.54109
           VALUE      inactive
   READINGS:
     2018-01-10 10:20:29   state           inactive
Attributes:
   room       FHEM

darkness

Siehe mein vorherigen Post:

Zitatmac_aa_bb_cc_dd Windows-Phone (WLAN, 72 / 10 Mbit/s, -50)

Die Werte ändern sich wahrscheinlich regelmäßig und daher das Triggern.

cc13

Das kann gut sein, allerdings verstehe ich dann nicht, weshalb diese Einstellung seit gestern Abend funktionierte und nicht alle 5 Minuten das Event ausgelöst wurde?

Geändert habe ich das Attribut heute Morgen auf attr Fritzbox_Monitor event-on-change-reading mac_aa_bb_cc_dd,box_* (https://forum.fhem.de/index.php?topic=49402.0), weil der Temperatur-Graph nicht mehr gezeichnet wurde. Klar, es war ja nur auf die MAC-Adresse beschränkt. Und seit dem die ständige Meldung.

darkness

#8
Jetzt komme ich nicht mehr mit.

Im List steht

Zitatevent-on-change-reading mac_aa_bb_cc_dd

Dann schreibst du

ZitatGeändert habe ich das Attribut heute Morgen auf
Code: [Auswählen]

attr Fritzbox_Monitor event-on-change-reading mac_aa_bb_cc_dd,box_*

Was denn jetzt?

Zitatbox_.*

Habe ich oben schon was zu geschrieben (und den Punkt nicht vergessen)

cc13

Das Attribut hatte gestern folgenden Wert:


event-on-change-reading mac_aa_bb_cc_dd


natürlich mit der passenden MAC-Adresse. Das Event wurde in dieser Zeit nicht alle 5 Minuten getriggert. Also soweit gut für mich.

Heute Morgen stellte ich fest, dass die SVG-Datei mit der Temperatur "box_cpuTemp" nicht mehr fortgesetzt wurde. Also dachte ich, das muss an dem einschränkenden Attribut auf die MAC-Adresse liegen und habe mit Hilfe des Forums das Attribut wie folgt erweitert:


event-on-change-reading mac_aa_bb_cc_dd,box.*


Der fehlende Punkt war ein Typo hier im Beitrag. Mit dem Ergebnis, dass nun alle 5 Minuten das Event getriggert wird.

Du hast recht, wenn du schreibst, dass sich die Verbindungsqualität und damit das Reading vom Smartphone verändert. Allerdings bezieht sich das Notify auf den Status und der ändert sich nur, wenn das Smartphone nicht mehr im WLAN existiert. Das habe ich gestern erfolgreich getestet.

rudolfkoenig

Vorneweg: ich kenne das FRITZBOX Modul nicht wirklich, bin aber fuer die event-* Attribute zustaendig.

Falls gesetzt, bewirkt event-on-change-reading, dass nur die Events an Empfaenger wie notify/FileLog/etc weitergereicht werden, die in der Liste drin sind _und_ sich seit dem letzten Mal geaendert haben. Alle andere Events "verschwinden".

@cc13: Falls du vermutest, dass dies bei Dir nicht der Fall ist (ich konnte das aus den bisherigen Angaben nicht klar erkennen), dann brauche ich einen "Nachweis", d.h. am besten ein "attr global verbose 5" Log von einem Ereignis.

Bitte beim Verschleiern der MAC-Adresse gewissenhaft vorgehen, weil ein Fehler hier meine Arbeit sehr erschweren kann. Am besten alle Ziffer durch 0 ersetzen, aber keine weiteren kuenstlerischen Freiheiten. Wobei mAn die MAC Adresse nicht geheim sein muss, man kann hoechstens Hersteller und Model ableiten, aber solange man nicht Zugang zum lokalen Netz hat, kaum Unfug damit anstellen.

cc13

Hallo rudolfkoenig,

viele Dank für deine Nachricht. Dein Event-Attribut funktioniert sauber, es wird bei jedem Wechsel ein Event ausgelöst. Leider passiert das nicht nur, wenn sich der Status des Smartphones ändert (was ich abfangen möchte), sondern auch, wenn sich die Verbindungsqualität des WLANs vom Smartphone ändert (und das interessiert mich nicht).

Ich werde also im Notify mit einer IF-Abfrage steuern, welche Information das Event erzeugt hat und darauf reagieren.

VG
CC13