PRESENCE - Performance / neue Funktion

Begonnen von erwin, 09 Februar 2013, 16:03:59

Vorheriges Thema - Nächstes Thema

erwin

Hi Markus,
auch von meiner Seite herzlichen Dank für das tolle Modul.

ich hab schon vor längerer Zeit mit den ctrl_mgr commands herumgespielt (aber nie was wiklich fertig bekommen), und dein Modul hat mich dann motiviert weiterzumachen....

Folgendes hab ich gebastelt:
1) eine funktion, ähnlich wie PRESENCE fritzbox,
  allerdings kann FHEM auf einer NICHT Fritzbox laufen (bei mir am RPI) und auf der Fritzbox braucht es kein FHEM!
 
2) eine art cache funktion, wenn mit der richtigen device-nummer aufgerufen, brauchts nur mehr EINEN ctrl_mgr call auf der Fritz!
   Das sollte jedenfalls dem speed und der Perfomance gut tun!

Ich habs bewußt nicht ins PRESENCE modul integriert, stelle es als standalone Funktion zur Diskussion und Verfügung. Die Schnittstellen sind allerdings denen im PRESENCE Modul sehr ähnlich ;-)).

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

ChrisW

würde es unter Windows laufen ? Kann erst morgen selbst testen :(
Raspberry PI3 mit allem möglichen.

Markus Bloch

Hallo Chris,

die von Erwin vorgeschlagenen Funktionen betreffen nur FritzBox-User, wo FHEM auf der FritzBox läuft und die von der FritzBox den Anwesenheitsstatus von bestimmten Devices in Erfahrung bringen wollen.

Tut mir Leid :-(

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)

ChrisW

achso hab es dann falsch gelesen das man das nutzen kann wenn FHEM nicht auf der Fritzbox läuft.
Schade. Werde morgen nochnal die Aktuelle PRESENCE testen.
Raspberry PI3 mit allem möglichen.

erwin

Markus,

re: die von Erwin ....

das hast du was falsch interpretiert:
Das Perl script läuft auf irgendeiner Maschine und fragt die Fritzbox über Telnet nach dem WLAN status der Geräte ab. Auf der Fritzbox brauchst du KEIN fhem!!!
Das script macht dasselbe wie PRESENCE fritzbox, nur muß fhem nicht auf der FB laufen.

Im dzt. Zustand läuft das script sowieso ausserhalb von fhem, ich hab die sub nur soo gestaltet, dass sie in PRESENCE integrierbar ist.

War mal ein Versuch zum proof of concept...
ach ja: NET::Telnet ist Voraussetzung.

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

klaus.schauer

Seit dem Update vom 11.02.2013 gibt es im Abstand von mehreren Stunden auf der FRITZ!Box 7390 folgende Fehlermeldung:
2013.02.11 16:59:20 2: PRESENCE: error while processing device lp4136602 - could not execute ctlmgr_ctl
Die FRITZ!Box ist seitdem auch mehrfach neu gestartet! PRESENCE werde ich vorübergehend abschalten, um die Fehlerursache eindeutig zuzuordnen.

Markus Bloch

Hallo Klaus,

kannst du mir sagen, welche FritzBox du genau verwendest?

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)

Markus Bloch

wieder zu schnell gelesen. Ich prüf das mit meiner 7390 gerade nach. ;-)
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

Also auf meiner FB7390 klappt das ganze reibungslos. Bitte beschreib mir mal deine genaue Umgebung und FHEM Konfiguration, welche du verwendest.

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)

klaus.schauer

Bei einer Standard-Installation mit einer FRITZ!Box 7390 scheint es keine Probleme zu geben.

Der beschriebene Fehler tritt bei einer Vernetzung von zwei FRITZ!Boxen 7390 auf, siehe http://service.avm.de/support/de/SKB/FRITZ-Box-7390/709:Zwei-FRITZ-Box-Geraete-ueber-Netzwerkkabel-miteinander-verbinden. Hier nutzt die zweite FRITZ!box den Internetzugang der ersten. Weiterhin ist WLAN-Roaming und eine SIP-Kopplung eingerichtet.

Schon mit der bisherigen Lösung zur Abfrage des WLAN-Anmeldestatus gab es ähnliche Probleme. Diese waren aber bisher mit dem neuen Modul nicht zu erkennen.

Markus Bloch

Hallo Klaus,

Aufgrund des WLAN-Roamings ist auf dieser FritzBox die Anwesenheitserkennung nicht möglich. Dies liegt daran, dass die Box das WLAN-Signal nur stumpf weiterverbreitet. Loggt sich nun ein Client in das WLAN Netz ein, werden alle Anfragen automatisch an die Box mit dem Internetzugang weitergeleitet. Wenn du PRESENCE auf dieser Box laufen lässt, könntest du eine Anwesenheitserkennung durchführen, da diese Box alle WLAN-Clients handelt.

Daher funktioniert auch die bisherige Lösung aus dem Wiki in diesem Fall nicht.

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)

klaus.schauer

Beim WLAN-Roaming auf den FRITZ!Boxen 7390 melden sich die WLAN-Clients auf der FRITZ!Box mit der für den Client besten Feldstärke an. Das kann man auch gut auf den Geräten selbst verfolgen. Wenn sich ein Gerät auf der FRITZ!Box mit Fhem anmeldet, dann wird der Anwesenheitsstatus auch gesetzt.

Ich habe den Eindruck, dass zwischen den FRITZ!Boxen dennoch ein Abgleich über die angemeldeten Geräte stattfindet. Jedenfalls sieht man auch auf dem Hauptgerät mit Internetzugang Einträge in der Clienttabelle mit einem "Weiterleitungssymbol". Vielleicht führt dieser Abgleich zwischen den FRITZ!Boxen bei der Abfrage durch PRESENCE zu Problemen.

Hinweis: Bei dieser Konfiguration sind die FRITZ!Boxen über LAN vernetzt!

Markus Bloch

Hallo Klaus,

das ist durchaus möglich, dass sich die Boxen untereinander abgleichen. Da ich allerdings nur eine Box besitze kann ich das nicht nachstellen und testen.

Evtl. findest du ja hier eine Lösung, so dass wir diese in das Modul einbauen können.

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)

HolyMoly

Hallo Markus,

Ich habe hier auch solche Fehler und das ohne Wlanroaming.
Allerdings sind meine zwei Fritzboxen per VPN verbunden, vllt braucht der ctlmgr_ctl dann länger und rennt in irgendein timeout?
Seltsamerweise läuft auf der entfernten 7390 alles problemlos, auf der lokalen (schwachbrüstigen) 7330 SL treten die beschriebene Fehler auf und das bei fast identischer config.
Kann ich ctlmgr_ctl auf der 7330sl irgendwie mehr Zeit verschaffen?  

==================
2013.05.14 07:58:08 2: PRESENCE: error while processing device Julian - could not execute ctlmgr_ctl
2013.05.14 07:59:03 2: PRESENCE: error while processing device TV - could not execute ctlmgr_ctl (cached)
2013.05.14 07:59:14 2: PRESENCE: error while processing device Julian - could not execute ctlmgr_ctl
2013.05.14 07:59:15 2: PRESENCE: error while processing device Elisabeth - could not execute ctlmgr_ctl
2013.05.14 08:16:05 2: PRESENCE: error while processing device TV - could not execute ctlmgr_ctl (cached)
2013.05.14 08:16:06 2: PRESENCE: error while processing device Julian - could not execute ctlmgr_ctl (cached)
2013.05.14 08:16:06 2: PRESENCE: error while processing device Elisabeth - could not execute ctlmgr_ctl
2013.05.14 08:17:05 2: PRESENCE: error while processing device Julian - could not execute ctlmgr_ctl
2013.05.14 08:17:06 2: PRESENCE: error while processing device Elisabeth - could not execute ctlmgr_ctl
2013.05.14 08:17:06 2: PRESENCE: error while processing device TV - could not execute ctlmgr_ctl
2013.05.14 08:18:22 2: PRESENCE: error while processing device TV - could not execute ctlmgr_ctl (cached)
2013.05.14 08:18:22 2: PRESENCE: error while processing device Elisabeth - could not execute ctlmgr_ctl
FHEM auf Raspi2 & Radxa Rock

Markus Bloch

Hallo HolyMoly,

bitte setze bei beiden PRESENCE-Definitionen das Attribut loglevel auf 1. Versuch dann das ganze wieder nachzustellen und poste hier mal bitte das entstandene Log-File.

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)