Presence - Perfomance

Begonnen von erwin, 17 Februar 2013, 18:31:41

Vorheriges Thema - Nächstes Thema

erwin

Hallo det.

Als Initiator dieses patches muß ich ein paar Worte finden zu deinem Posting:

Tatsache ist, daß der Patch ein wesentlich schnelleres Erkennen von nicht mehr angemeleten WLAN Geräten ermöglicht, und zwar schneller als die FB-Web-Oberfläche das anzeigt. Die Suchmaschine deiner Wahl wird dir dazu die nötigen Informationen liefern.

Wenn jetzt diverse I-xx und auch Android's sich aus Strom-Spar Gründen vom WLAN abmelden und alle 5 Minuten wieder an/abmelden, dann wurde das bisher nicht erkannt, weil die Zeit bis auf der FB Web Oberfläche ein Gerät weg ist, zwischen 5 und 15 Minuten nach Ausschalten ist! (meine eigenen Versuche)

Die Frage ist, ob man die Wahrheit sehen will oder was anderes.
Das Modul macht "mein Gerät ist im WLAN angemeldet" und keinesfalls "ich bin zuhause" - das sind zwei ganz verschiedene Dinge für mich!
Seinen persönlich Anwesenheitsstatus nur auf WLAN aufzubauen, find ich sowieso nicht besonders klug, was machst du z.b. wenn der Akku leer wird (oder tausend andere Gründe warum WLAN grad nicht funkt)? Ausserdem könnte man ja mittels Watchdog durchau eine Verzögenung einbauen, bis "Ich bin nicht zuhause" passiert.  
Darum find ich es etwas überzogen, von Verschlimmbesserungen zu sprechen, das sollte nicht der Stil dieses Forums sein.

Frage an Markus:
führen wir ein Attribut fast=0 / fast=1 ein, um alle glücklich zu machen?

l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

Markus Bloch

Zitat von: det. schrieb am Fr, 22 Februar 2013 07:43Offenbar hat der Verbesserungsversuch durch den Performance Patch den Effekt, dass auf der FB Handys, welche sich neu im WLAN eingebucht haben als present erkannt werden - aber welche, die über Nacht eingebucht sind ohne irgendwelche weitere Aktivitäten auszuführen irgendwann auf absent gesetzt werden. Ich hatte heute früh jedenfalls beide Handys in der FB Oberfläche WLAN als verbunden, im FHEM allerdings als absent - und dementsprechend das Postfach voll mit Mails über geöffnete Türen und Tore.
Bitte gebt uns das Modul zurück vor diesen Verschlimmbesserungen, da ging es schon mal zur vollsten Zufriedenheit!

ich habe gestern abend noch eine Änderung am PRESENCE Modul durchgeführt, hast du heute schonmal ein Update durchgeführt? Generell solltest du aber wissen, dass ein iPhone im Standby sein WLAN abschaltet um Strom zu sparen und dadurch auch in der FritzBox gerne mal mit Abwesenheit glänzt. Genau aus diesem Grund prüfe ich mein iPhone mit Bluetooth. Das ist stabil und auch im Standby Betrieb aktiviert (sofern man ein Pairing vorgenommen hat).

Allerdings ist es bereits so wie erwin bereits erläutert hat, dass die FritzBox erstnach 5-15 Minuten die Abwesenheit eines Gerätes erkennt.

Wenn du erst nach 15 Minuten kontinuierlicher Abwesenheit informiert werden willst, solltest du ein Watchdog verwenden. z.B.:


# Nach 15 Minuten Abwesenheit (Handy im Status "absent") soll die gesamte Wohnung ausgeschaltet werden.
define watchdog_Anwesenheit watchdog Handy:absent 00:15 Handy:present { fhem "set Gesamte_Wohnung off";; fhem "setstate watchdog_Anwesenheit defined";;}
attr watchdog_Anwesenheit regexp1WontReactivate 1



ZitatFrage an Markus:
führen wir ein Attribut fast=0 / fast=1 ein, um alle glücklich zu machen?

Ich persönlich bin kein Freund davon, das Rad 2 mal zu erfinden. Im Wiki habe ich daher diesen Watchdog eingetragen, den ich auch selber einsetze (da bluetooth fast gar keine Verzögerungen hat).

Viele Grüße

Markus Bloch
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

det.

Hallo Erwin,

tut mir leid, dass Du dich angegriffen fühlst. Fakt ist, dass seit Veröffentlichung des Moduls durch Markus bis zum Einspielen Deines Patch das Modul für meine 2 iPhone genau den Status so gesetzt hatte, wie ich das wollte - und jetzt eben leider nicht mehr. Mir war das genau genug bisher und ich sehe mich jetzt gezwungen, das Modul aus dem Archiv zu restaurieren und in Zukunft vom Update Prozess auszuschließen. Das finde ich nicht lustig und das verdient in meinen Augen das Prädikat "Verschlimmbesserung"  vollauf.
Manchmal ist das eben im Leben so, man versucht was zu verbessern und schadet damit Anderen, ohne es zu beabsichtigen.
LG
det.

det.

Hallo Markus,

Generell solltest du aber wissen, dass ein iPhone im Standby sein WLAN abschaltet um Strom zu sparen und dadurch auch in der FritzBox gerne mal mit Abwesenheit glänzt. Genau aus diesem Grund prüfe ich mein iPhone mit Bluetooth. Das ist stabil und auch im Standby Betrieb aktiviert (sofern man ein Pairing vorgenommen hat).

Allerdings ist es bereits so wie erwin bereits erläutert hat, dass die FritzBox erstnach 5-15 Minuten die Abwesenheit eines Gerätes erkennt.


Meine iPhone melden sich nicht von der FB ab, wegen WLAN Sync. Da ich nichts über die "ich bin zuhause" Funktion schalte, sondern nur Fenster und Türen überwache, ging das vor Deinem Modul auch mit dem Konstrukt aus dem WIKI. Dein Modul war da aber einfach Ressourcen schonender und eleganter gelöst. Daher habe ich die WIKI Lösung damit abgelöst. Wenn ich noch überall im Haus Bluetooth installieren soll ... der WAF der Anwesenheitskontrolle ist eh schon grottenschlecht.
LG
det.

Lorenz

Hallo zusammen,

nachdem ich heute das Update auf die aktuelle Version von Presence gemacht habe, waren sofort Handys, welche definitiv nicht anwesend waren present, obwohl auch die Fritzbox sie als nicht im LAN verbunden anzeigte. Das blieb auch so, bis ich wieder die letzte Version des Moduls einsetzte.

Die defines dazu sehen so aus:

define samsungace2 PRESENCE fritzbox SamsungAce2 300
attr samsungace2 room Presence
define FileLog_samsungace2 FileLog ./log/samsungace2-%Y.log samsungace2
attr FileLog_samsungace2 logtype Anwesend:Window,text
attr FileLog_samsungace2 room Presence

Muss ich in der Konfiguration aufgrund der neuen Version noch etwas tun oder ist das eher ein Bug?

Ansonsten war ich bislang mit der Funktion zufrieden. Auch das Iphone mit WLAN Sync funktionierte einwandfrei und blieb, wenn es da war, ständig present. Die Zeitverzögerungen fand ich dabei nicht weiter störend. Mir geht es auch mehr darum, Abwesenheit zu erkennen und daraufhin einige Dinge (zeitunkritisch) zu beeinflussen, z.B. Zirkulation abschalten etc.. Allerdings würde ich auch relevantere Dinge nur mit zuverlässigeren Kenngrößen, wie zum Beispiel der Scharfschaltung der Alarmanlage beeinflussen.
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

det.

Hallo @all

ich bin wieder auf
$Id: 73_PRESENCE.pm 2675 2013-02-09 12:51:24Z markusbloch $zurück gegangen. Die Version funktioniert für meine Belange auf der FB 7390 (nicht zeitkritisches Benachrichtigen, wenn jemand in Abwesenheit mein Haus betritt - um z.B. die Katze zu füttern) prima.
Bitte meldet doch hier, wenn ich das wieder aus meiner Config entfernen kann:attr global exclude_from_update 73_PRESENCE.pmDanke!
LG
det.

Markus Bloch

Hi det,

heist das, dass es auch mit SVN Revision 2721 nicht mehr funktionierte?

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

det.

Hallo Markus,
keine Ahnung, ich hatte nur die Version 2675 im Archiv auf meinem NAS (da ich die Sicherungsfunktion bei Update aus Zeitgründen auf der FB ausgeschaltet habe). Da es damit perfekt läuft, kam mir bisher nicht in den Sinn, es mit den Versionen danach zu probieren. Ich fahre jetzt paar Tage in Urlaub und teste dann gern noch mal, ob Ihr es bis dahin gefixt bekommen habt.
LG
det.

Guido

Hallo,

Ich persönlich finde die speed Abfrage besser,   aber vielleicht währe es das beste wenn man das auswählbar macht beim define damit jeder die Wahl hat ob speed oder activ


Markus Bloch

Ich werde das ganze generell nochmal detailliert testen da ja bereits mehr als ein User die selben Beobachtungen haben
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Nachstellen konnte ich es schonmal erfolgreich. Es ist so, dass wenn man abwesend ist für längere Zeit, die jeweilige LAN-Device Nummer gelöscht wird und quasi unbenutzt ist. Genau für diesen Fall prüfen wir, dass der Name des Devices aber immer noch derselbe ist, das scheint aber nicht zu funktionieren. Warum das so ist muss ich weiter testen. Geht halt nur leider nicht so schnell, da es immer ne ganze weile dauert, bis die FritzBox das Device löscht.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Hallo zusammen,

Problem gefunden. Im Zusammenhang mit erwins Patch wurde die Variable $number vorher auf $hash->{helper}{cachednr} gesetzt. Wenn nun aber das Device nicht unter dieser Nummer zu finden ist, dann beginnt die while-Schleife einen kompletten durchlauf. Der Startwert ist dann aber immer noch die alte Cachednr. Das heist, es werden nicht alle Devices abgeklappert.

Durch Zufall kann eine solche Nummern-Änderung auch ohne Probleme funktionieren, wenn die neue Nummer größer ist als die alte.

Ich habe den Fix im SVN bereits eingecheckt und steht ab morgen zur Verfügung.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Zitat von: Guido schrieb am Fr, 22 Februar 2013 21:34Hallo,

Ich persönlich finde die speed Abfrage besser,   aber vielleicht währe es das beste wenn man das auswählbar macht beim define damit jeder die Wahl hat ob speed oder activ


Hallo Guido,

ab morgen steht mit einem update eine neue PRESENCE Version zur Verfügung. In dieser kann man mit dem Attribut "fritzbox_repeater" auf die Abfrage via "active" umsteigen. Da Devices welche über einen Repeater verbunden sind keine Speed angabe besitzen gibt es daher bei Repeater Netzwerken keine andere Möglichkeit.

Im Standard wird die Abfrage via speed durchgeführt. Wenn jedoch das neue Attribut aktiviert ist, wird via active geprüft.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)