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?
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
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?
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
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