Presence - Perfomance

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

Vorheriges Thema - Nächstes Thema

erwin

Hi Markus,

ich hab jetzt meine mods überarbeitet.
Der erste Mod macht folgendes im Modul PRESENCE fritzbox:

Es wird beim ersten durchlauf (nach fhem start) alles wie bisher abgearbeitet.
danach wird die gefundene lan-devicenummer gecached und bei den folgenden
abfragen ist nur mehr EIN ctrlmgr call nötig. (satt bisher vielen.)
Der cache wird bei jedem ready event gelöscht, damit Änderungen in den FB definitionen wirksam werden können.

Ich schick's mal als diff...

l.g. erwin

PS: Am zweiten Teil - die fritzbox von remote abfragen, ohne daß fhem auf der FB läuft , da arbeite ich noch dran.
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

Hi erwin,

ich fürchte du hast das falsche Patch-File erwischt. Der angehangene Patch ist für FHEMWEB und nicht PRESENCE ;-)

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)

erwin

Hi Markus,

... was ich immer sage,
der Mensch ist NICHT multi-tasking fähig......

Hoffentlich jetzt richtig.


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

Hallo Erwin,

sieht auf den ersten Blick gut aus. Werd ich heute Abend einchecken.

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 Erwin,

hab ich soeben eingecheckt. Ich prüfe aber noch zusätzlich, ob der Name des Devices mit dem gewünschten Device noch übereinstimmt um sicher zu sein, dass auch das korrekte Device noch an dieser Stelle ist, nicht das es hier Fehler gibt und das falsche Device alarmiert wird.

Das delete-Kommando um den Wert beim Start zu löschen habe ich in die Define sub gepackt, da Ready bei fritzbox nicht aufgerufen wird.

Ist ab morgen verfügbar.

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)

erwin

Hi Markus,

herzlichen Dank, das war ja prompt!!!
Ich gebe dir recht, ich hab heute auch schon darüber nachgedacht, ob man nicht den Namen oder die Anzahl jedesmal vergleichen sollte.

eins hab ich noch:
in Zeile 499:
   return ($status == 0 ? "$name|$local|absent|$number" : "$name|$local|present|$number");
ist ein ) an der falsche stelle
    return ($status == 0) ? "$name|$local|absent|$number" : "$name|$local|present|$number";


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: erwin schrieb am Mo, 18 Februar 2013 19:37eins hab ich noch:
in Zeile 499:
   return ($status == 0 ? "$name|$local|absent|$number" : "$name|$local|present|$number");
fehlt ein )
    return ($status == 0) ? "$name|$local|absent|$number" : "$name|$local|present|$number");


return ($status == 0 ? "$name|$local|absent|$number" : "$name|$local|present|$number");

Die Klammern stimmen schon. So verwende ich das immer und funktioniert ohne Probleme. finde ich besser um solche IF-THEN-ELSE-Einzeiler besser zu sehen.

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)

erwin

Markus,

danke, ... man lernt nie aus mit perl....

so jetzt hab ich's auf der FB am laufen, ein kleiner Fehler war noch drin:
line 134
   delete $hash->{helper}{cachednr} if(defined($hash->{helper}{cachednr};
    delete $hash->{helper}{cachednr} if(defined($hash->{helper}{cachednr}));



Danke für deine Mühe!

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: erwin schrieb am Mo, 18 Februar 2013 20:10so jetzt hab ich's auf der FB am laufen, ein kleiner Fehler war noch drin:
line 134
   delete $hash->{helper}{cachednr} if(defined($hash->{helper}{cachednr};
    delete $hash->{helper}{cachednr} if(defined($hash->{helper}{cachednr}));


Und dabei verwende ich schon einen Editor mit Syntax-Highlighting und Klammer-Highlighting .... Asche auf mein Haupt.
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,

kann noch jemand bestätigen, dass PRESENCE auf der FB7390 seit dem letzten Update vom 19.2. (oder ggf. dem Update der iPhones auf IOS 6.1.2) im Fritzbox Modus trotz verbundenem WLAN (auch in der FB Oberfläche als connected zu sehen)ständig die iPhones auf absent setzt?
LG
det.

erwin

Hi det,

das kann ich erst am Sonntag überprüfen, wenn mein Sohn vom Schifahren zurück kommt...
Dnn weiß ich auch welches iOS er hat.

l.g.erwin
(der mit Android unterwegs ist)
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,...

det.

Hallo erwin,

es liegt definitiv nicht an der iOS Version. Bin eben von Arbeit zurück - iPhone absent  - habe aus dem NAS eine ältere Version:
# $Id: 73_PRESENCE.pm 2675 2013-02-09 12:51:24Z markusbloch $
drüber gespielt - nach reload 73_PRESENCE.pm -
iPhone present ! - hat sich also bei Nutzung des FB Modus offenbar ein Fehler eingeschlichen.
LG
det.

Markus Bloch

Hi det,

kannst mal bitte folgendes ausprobieren? In dem Modul 73_PRESENCE.pm in den Zeilen 459 und 489 das Wort "speed" gegen "active" austauschen:

Zitat settings/landevice$number/active


Anschließend FHEM einmal neustarten und schauhen obs wieder stabil läuft.

Vielen Dank

Gruß
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,

genau so, geht wieder! Danke!!!
LG
det.

det.

Offenbar 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!
LG
det.