Performance Probleme mit PRESENCE Modul (lan-ping)

Begonnen von selfarian, 21 Mai 2015, 13:33:28

Vorheriges Thema - Nächstes Thema

selfarian

Ich habe leider Probleme mit meiner FHEM instanz auf meinem Raspberry Pi.

Ich bin mit Werniemann dem Problem auf dem Grund gegangen und wie es aussieht, habe ich Probleme mit dem PRESENCE Modul. Ich nutze es um unsere Handys (2 Stück) anzupingen und dann die Roommates über Watchdogs zu schalten.

Mein Logfile wird zugespammt mit folgenden Meldungen:
2015.05.21 13:24:51 1: Perfmon: possible freeze starting at 13:24:50, delay is 1.206
2015.05.21 13:24:58 1: Perfmon: possible freeze starting at 13:24:56, delay is 2.451
2015.05.21 13:25:53 1: Perfmon: possible freeze starting at 13:25:52, delay is 1.199
2015.05.21 13:25:58 1: Perfmon: possible freeze starting at 13:25:56, delay is 2.45
2015.05.21 13:26:34 1: Perfmon: possible freeze starting at 13:26:33, delay is 1.279
2015.05.21 13:26:58 1: Perfmon: possible freeze starting at 13:26:56, delay is 2.475
2015.05.21 13:27:58 1: Perfmon: possible freeze starting at 13:27:56, delay is 2.502
2015.05.21 13:28:53 1: Perfmon: possible freeze starting at 13:28:52, delay is 1.194
2015.05.21 13:28:58 1: Perfmon: possible freeze starting at 13:28:56, delay is 2.49


So sieht mein Apptime aus:
                                name             function    max  count    total  average maxDly
                tmr-watchdog_Trigger      HASH(0x15d5e28)   7956      2    11513  5756.50      3 HASH(wd.all.handy.alex.away)
                             rr_alex         ROOMMATE_Set   7950      5    15838  3167.60      0 HASH(rr_alex); rr_alex; absent
                     ntfy.all.eltern          notify_Exec   5668   8784    20890     2.38      0 HASH(ntfy.all.eltern); HASH(rr_alex)
                          rr_lennard         ROOMMATE_Set   5649      2     7434  3717.00      0 HASH(rr_lennard); rr_lennard; state; absent
                             rgr_all     RESIDENTS_Notify   4043   8784    13133     1.50      0 HASH(rgr_all); HASH(rr_lennard)
                tmr-watchdog_Trigger      HASH(0x1a5f878)   3556      1     3556  3556.00      2 HASH(wd.all.handy.josi.away)
                             rr_josi         ROOMMATE_Set   3550      4     5344  1336.00      0 HASH(rr_josi); rr_josi; absent
                tmr-watchdog_Trigger      HASH(0x15faed0)   3419      2     4229  2114.50     12 HASH(wd.all.handy.alex.here)
                              HMLAN1          HMLAN_Ready   3010     82     3435    41.89      0 HASH(HMLAN1)
                              HMLAN1           HMLAN_Read   2717   4696  2299576   489.69      0 HASH(HMLAN1)
                        ntfy.rgr_all          notify_Exec   2563     29    13388   461.66      0 HASH(ntfy.rgr_all); HASH(rgr_all)
                         tmr-at_Exec      HASH(0x1a76400)   1793      1     1793  1793.00      4 HASH(at.all.lennard.sleep)
                            ntfy.PCs          notify_Exec    942   8784    12124     1.38      0 HASH(ntfy.PCs); HASH(eg.az.pc.alex)
                tmr-watchdog_Trigger      HASH(0x1a75d10)    791      1      791   791.00      7 HASH(wd.all.handy.josi.here)
             ntfy.roommates.location          notify_Exec    731   8784    15413     1.75      0 HASH(ntfy.roommates.location); HASH(rr_alex)
        FHEMWEB:192.168.178.202:1972              FW_Read    640      5      685   137.00      0 HASH(FHEMWEB:192.168.178.202:1972)
            tmr-HMLAN_KeepAliveCheck   keepAliveCk:HMLAN1    618   2347      628     0.27   3148 keepAliveCk:HMLAN1
                        alarm4.off.N          notify_Exec    563   8784   389942    44.39      0 HASH(alarm4.off.N); HASH(FritzBox)
                        alarm7.off.N          notify_Exec    563   8784   389271    44.32      0 HASH(alarm7.off.N); HASH(FritzBox)
                        alarm2.off.N          notify_Exec    562   8784   387167    44.08      0 HASH(alarm2.off.N); HASH(FritzBox)
                        alarm6.off.N          notify_Exec    561   8784   389144    44.30      0 HASH(alarm6.off.N); HASH(FritzBox)


So sieht meine Presence Definition aus:
define all.handy.alex presence lan-ping 192.168.150.22 60 180
attr all.handy.alex event-on-change-reading state
attr all.handy.alex ping_count 2


So sehen meine zwei Watchdogs aus:
define wd.all.handy.alex.away watchdog all.handy.alex:absent 00:05 all.handy.alex:present setstate wd.all.handy.alex.here defined ; set rr_alex absent
attr wd.all.handy.alex.away regexp1WontReactivate 1


define wd.all.handy.alex.here watchdog all.handy.alex:present 00:00 all.handy.alex:absent setstate wd.all.handy.alex.away defined ; set rr_alex home
attr wd.all.handy.alex.here regexp1WontReactivate 1


Hat jemand eine Idee?
RasPi mit HMLAN, 5x HM-SEC-SC, HM LED16 als Alarmanlagendisplay, HM-TC-IT-WM-W-EU, 4x HM-CC-RT-DN, 1x HM PBU, 1x HM PBI-4

Otto123

Ich weiß nicht was der WD mit der Zeit 0:0 macht.
Aus meiner Sicht ist das nicht sinnvoll.  Ich mache für die "Ich bin wieder da" ein einfaches notify, da ich (und Du auch :) ) es sofort haben will.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

selfarian

Gute Frage, als ich den Post abgesendet hatte habe ich mich auch über die null gewundert. Ich hatte ursprünglich zwei notifies, was aber unbefriedigend war, da ich ständig wieder absent war, wenn das Handy mal kurz nicht geantwortet hat. Also hatte ich dann den watchdog entdeckt und mir dann den Konstrukt aus notify und watchdog gebaut. Irgendwie hat das dann aber nicht richtig funktioniert, weshalb ich dann hier im Forum nachgefragt habe und meine aktuelle watchdog Konfiguration bekommen habe. Ich weiß leider nicht mehr von wem, nur das es bei ihm gut funktioniert ;)

Darf ich fragen, was du im notify stehen hast?
RasPi mit HMLAN, 5x HM-SEC-SC, HM LED16 als Alarmanlagendisplay, HM-TC-IT-WM-W-EU, 4x HM-CC-RT-DN, 1x HM PBU, 1x HM PBI-4

Otto123

Die DEF sieht so aus:
AlleAnwesend:present { fhem ("set Alle on; setstate wd_Abwesend defined") if (Value("Alle") ne "on") }
Alle ist ein Status Dummy
AlleAnwesend ist ein Presence Dummy, der wird über FHEM2FHEM von der Fritzbox bestückt. Also eigentlich die Presence Info. Die Presence liefert mir die Fritzbox über Status - nicht über Lan Ping!
wd_Abwesend ist mein WatchDog der sieht ähnlich aus wie Deiner:
AlleAnwesend:absent 00:05 AlleAnwesend:present set Alle off

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

selfarian

Hallo Otto,

danke für deine Unsterstützung, ich habe zwar immernoch nicht den watchdog auf einen notify umgestellt, aber dennoch vermutlich den Fehler gefunden:
Ich habe das Alarm-Modul von pah laufen und habe dort bei der Einrichtung des Moduls einen Taster als "Cancel" für alle Alarme eingestellt. Ich hatte allerdings keine Bedingung eingegeben, da es eigentlich auch nur temporär als Lösung für die Ersteinrichtung gedacht war. Also lief alle paar Sekunden ein Notify los, der vermutlich das System gebremst hat. Ich habe den Taster jetzt rausgenommen und seitdem keine Freezes mehr. Mal sehen ob es wirklich so ein blöder fehler war.

Gruß,
Alex
RasPi mit HMLAN, 5x HM-SEC-SC, HM LED16 als Alarmanlagendisplay, HM-TC-IT-WM-W-EU, 4x HM-CC-RT-DN, 1x HM PBU, 1x HM PBI-4