NEWS
TR-064 Addapter- Anwesenheitserkennung
-
Ich hab mal grad per powershell von meinem Win-Rechner aus versucht mittels TR064 an die FB-Daten zu kommen. Grundsätzlich klappt das. Das Auslesen der Wlan-Geräte hab ich allerdings noch nicht versucht. Zumindest dürfte es aber schon mal kein generelles Problem mit der FB geben.
Aber mal noch was anderes: Ich hab mir grad unter "Objekte" mein Smartphone aus "tr-064.0 -> devices" gelöscht. Danach hab ich die Instanz mit dem entsprechenden "Neu laden"-Button aktualisiert und mein Smartphone ist wieder unter "devices" aufgetaucht. Mit aktuellem Status und Zeitpunkt.
-
Ok, auch auf die Gefahr hin, dass ich nerve … :mrgreen:
Der Adapter läuft in Version 0.3.17 und ich kann eine Instanz davon anlegen. Die sieht so aus:
Das Polling-Interval habe ich bewusst mal überschrieben. Dann wähle ich im Reiter "Geräte" den Button "Gerät suchen" und darüber meine gewünschten Devices. Die werden dort mit Name, IP und MAC gelistet. Nach dem Speichern sind die Geräte auch in ioBroker unter "Objekte" zu finden:
Zu diesem Zeitpunkt stimmen tatsächlicher Status und Objekt-Status noch überein. Wenn ich nun anfange Geräte ab- oder anzumelden, hat das leider keine Auswirkungen auf den Objekt-Status. Gehe ich allerdings hin und aktualisiere nach Ab- oder Anmeldung eines Devices die Instanz mittels des entsprechenden Buttons (und ggf. danach die Objekt-Liste ebenfalls über den Button), wird auch der Objekt-Status korrigiert.
Das heißt für mich, dass das erstmalige Abrufen anscheinend funktioniert, aber das Polling nicht klappt / nicht ausgeführt wird.
Im Log taucht nach dem Neustart des Adapters jedesmal auch dieser Eintrag auf:
_checkError: code=500 msg=sendSOAPActionRequest Error action=GetInfo serviceType=urn:dslforum-org:service:WLANConfiguration:1: 500
Was will mir das denn wieder sagen? Hab zwar ein paar Einträge gefunden, aber so richtig schlau bin ich noch nicht draus geworden.
Edit: Kann das was mit http(s) zu tun haben? Bei euch Glücklichen, die es am Laufen haben, wie sieht es denn diesbezüglich bei euch aus?
-
Hast Du auf der FB extra User angelegt oder machst du das mit adminpasswort?
Bekommst Du alle anderen Daten wie Anrufliste usw sauber ausgelesen?
-
Hallo OstfrieseUnterwegs,
zum Thema extra User: sowohl als auch. Ich hatte zunächst ohne speziellen User gearbeitet und das Admin-Kennwort verwendet. Irgendwann habe ich dann auf einen eigenen User umgestellt, was aber auch keine Veränderung mit sich gebracht hat.
Ich hab auch mal über GitHub auf Version 0.3.19 upgegradet, damit verschwindet zumindest der Error 500. Aber irgendwie will das Polling / MDNS weiterhin nicht funktionieren. Hab auch schon ein Issue hinterlassen, bisher jedoch leider keine Reaktion darauf erhalten.
Die anderen Daten werden ausgelesen, ich kann aber darüber leider nicht wirklich sinnvoll testen. Wir haben derzeit noch einen ISDN-Anschluss und die Anruffunktion der FB ist daher ungenutzt. Allerdings wundere ich mich grad über den Punkt GuestWlan - sollte der nicht false sein, wenn inaktiv?
-
Ja, tr-064.0.states.wlanGuest sollte den aktuellen Staus anzeigen. Schaltet bei mir auch zuverlässig um.
Irgendwas ist da bei Dir durcheinander. Hast du mal debug eingestellt für den adapter? kommt da was im Log?
-
Hmm, das dachte ich mir fast. Ich vermute mal, es müssten unter phonebook auch die beiden Standardeinträge auftauchen, die ich grad in der FB gesehen habe …
Den Adapter habe ich im Debug-Modus laufen. Der macht auch alle 15 Sekunden (?) ein paar Einträge ins Log. Allerdings ist da nichts dabei von wegen "updateAll", was scheinbar auf die Devices prüft. Das wird nur beim (Neu-)Start der Instanz ausgeführt und danach nicht mehr.
Ich schätze, ich werde die ganze Geschichte mal neu installieren. Hab eben ein shutdown -r now gemacht und warte schon seit sechs, sieben Minuten auf Konsolenzugriff. Dürfte auch eher nicht normal sein. :?
-
So, die Neuinstallation ist durch - die Probleme bleiben die alten …
Ich hab extra alles über die Konsole als root installiert und aktualisiert, um eventuellen Berechtigungsproblemen aus dem Weg zu gehen. Der Adapter (in Version 0.3.19) lässt sich auch problemlos installieren und konfigurieren.
Ich hab mich nun auch mal mit dem Quellcode des Controllers auseinandergesetzt. Dort gibt es eine Funktion main, die nach dem Start/Neustart des Adapters durchlaufen wird. Diese ruft Ihrerseits auch eine Funktion updateAll auf, in der wiederum die Geräte abgefragt werden. Das sieht man auch schön im Logfile, da hier auch eine Debug-Meldung ('in updateAll') ausgegeben wird. Im weiteren Verlauf taucht diese Meldung jedoch nie mehr im Log auf. Dort wiederholen sich nur noch die folgenden acht Einträge alle 15 Sekunden:
tr-064.0 2017-07-16 17:29:38.341 debug redis publish io.system.adapter.tr-064.0.outputCount {"val":8,"ack":true,"ts":1500218978331,"q":0,"from":"system.adapter.tr-064.0","lc":1500218678140} tr-064.0 2017-07-16 17:29:38.341 debug redis publish io.system.adapter.tr-064.0.inputCount {"val":0,"ack":true,"ts":1500218978329,"q":0,"from":"system.adapter.tr-064.0","lc":1500218678135} tr-064.0 2017-07-16 17:29:38.340 debug redis publish io.system.adapter.tr-064.0.uptime {"val":333,"ack":true,"ts":1500218978326,"q":0,"from":"system.adapter.tr-064.0","lc":1500218978326} tr-064.0 2017-07-16 17:29:38.339 debug redis publish io.system.adapter.tr-064.0.memHeapUsed {"val":12.73,"ack":true,"ts":1500218978324,"q":0,"from":"system.adapter.tr-064.0","lc":1500218978324} tr-064.0 2017-07-16 17:29:38.338 debug redis publish io.system.adapter.tr-064.0.memHeapTotal {"val":18.99,"ack":true,"ts":1500218978321,"q":0,"from":"system.adapter.tr-064.0","lc":1500218903267} tr-064.0 2017-07-16 17:29:38.337 debug redis publish io.system.adapter.tr-064.0.memRss {"val":37.76,"ack":true,"ts":1500218978319,"q":0,"from":"system.adapter.tr-064.0","lc":1500218978319} tr-064.0 2017-07-16 17:29:38.336 debug redis publish io.system.adapter.tr-064.0.connected {"val":true,"ack":true,"ts":1500218978316,"q":0,"from":"system.adapter.tr-064.0","lc":1500218648082} tr-064.0 2017-07-16 17:29:38.335 debug redis publish io.system.adapter.tr-064.0.alive {"val":true,"ack":true,"ts":1500218978314,"q":0,"from":"system.adapter.tr-064.0","lc":1500218648080}
Bei denen ist mir aber ganz nebenbei bemerkt noch nicht wirklich klar, woher sie stammen. Kann mir da jemand ein bisschen unter die Arme greifen?
-
ich bin nict sicher in wie weit meine Antwort dich glücklich macht oder auch nicht 8-)
mir fiel auf, dass Du die v.0.3.19 einsetzt - ich hingegen die v.0.3.17
also … kurz mal die 0.3.19 installiert ... und was soll ich dir sagen, nun wird auch bei meinem iPhone das abmelden vom W-Lan auch nach 50 Minuten noch nicht erkannt/angezeigt.
Ich bin nun wieder auf die 0.3.17 zurückgegangen und hoffe dass diese Version wieder tut wie ihr geheißen ist 8-)
-
Danke für die Info. Ich hoffe mal, dass DU nun nicht die gleichen Probleme bekommst!
Ich stelle dann auch mal auf die 17er zurück und teste, ob es damit besser wird.
===
Nachtrag: Nope, das ändert auch nichts! Ich geb's langsam auf …
-
Hier mal noch ein Ausschnitt aus dem Log, wenn der Adapter startet:
!
tr-064.0 2017-07-16 20:44:15.757 debug forEachConfiguredDevice: {"NewIPAddress":"192.168.2.25","NewAddressSource":"DHCP","NewLeaseTimeRemaining":"863998","NewInterfaceType":"802.11","NewActive":"0","NewHostName":"Sony-Xperia-Z1c","NewMACA tr-064.0 2017-07-16 20:44:15.756 debug forEachConfiguredDevice: i=4 Sony-Xperia-Z1c active=0 tr-064.0 2017-07-16 20:44:15.702 debug forEachConfiguredDevice: {"NewIPAddress":"192.168.2.27","NewAddressSource":"DHCP","NewLeaseTimeRemaining":"1120733","NewInterfaceType":"802.11","NewActive":"1","NewHostName":"iPhone-6","NewMACAddress tr-064.0 2017-07-16 20:44:15.701 debug forEachConfiguredDevice: i=3 iPhone-6 active=1 tr-064.0 2017-07-16 20:44:15.646 debug forEachConfiguredDevice: {"NewIPAddress":"192.168.2.21","NewAddressSource":"DHCP","NewLeaseTimeRemaining":"852218","NewInterfaceType":"802.11","NewActive":"1","NewHostName":"Galaxy-S6","NewMACAddress tr-064.0 2017-07-16 20:44:15.646 debug forEachConfiguredDevice: i=2 Galaxy-S6 active=1 tr-064.0 2017-07-16 20:44:15.604 debug forEachConfiguredDevice: {"NewIPAddress":"192.168.2.22","NewAddressSource":"DHCP","NewLeaseTimeRemaining":"851158","NewInterfaceType":"802.11","NewActive":"1","NewHostName":"Galaxy-Note-8","NewMACAdd tr-064.0 2017-07-16 20:44:15.603 debug forEachConfiguredDevice: i=1 Galaxy-Note-8 active=1 tr-064.0 2017-07-16 20:44:15.556 debug forEachConfiguredDevice: {"NewIPAddress":"192.168.2.35","NewAddressSource":"DHCP","NewLeaseTimeRemaining":"0","NewInterfaceType":"802.11","NewActive":"1","NewHostName":"Galaxy-Note-4","NewMACAddress" tr-064.0 2017-07-16 20:44:15.554 debug forEachConfiguredDevice: i=0 Galaxy-Note-4 active=1 tr-064.0 2017-07-16 20:44:15.319 debug forEachConfiguredDevice tr-064.0 2017-07-16 20:44:15.318 debug updateDevices tr-064.0 2017-07-16 20:44:15.312 debug in updateAll !
Mir ist aufgefallen, dass der Teil mit den Devices {"NewIPAddress": zum Ende hin immer kürzer wird und außerdem bei allen 5 Geräten die schließende Klammer fehlt.
-
ich habe nach dem Downgrade auf die 0.3.17 einen FritzBox Neustart durchgeführt und mein iPhone wurde dann wie gehabt nach ca. 13 Minuten korrekt auf "false" gesetzt. (Im Übrigen erfolgt das setzen auf "true" nach dem erneuten einloggen <u>sofort</u> innerhalb des Polling-Zeitfensters).
Ich muss allerdings gestehen, dass ich nach der Installation der v.0.3.19 keinen Neustart der FritzBox durchgeführt hatte - diese "unschärfe" bliebe ggf. noch.
-
Noch ein Nachtrag:
Seitdem ich mich hier in diesen thread eingeklinkt habe, rede ich davon, dass ich eine feste IP Zuordnung meiner Geräte habe.
Du bist - gemäß deines Log-Mitschnittes - nach wie vor auf DHCP unterwegs …
-
Vielen Dank für die Rückmeldung! :!:
Leider hat sich bei mir nichts gebessert. Mein Smartphone wartet schon seit anderthalb Stunden darauf wieder als aktiv erkannt zu werden.
Das mit der festen IP wollte ich eigentlich vermeiden, da das bei meiner besseren Hälfte auch schon Probleme mit sich gebracht hat. Aber zum Testen werde ich morgen mal mein Tablet umswitchen. Scheint ja die einzige Variante zu sein, die noch übrig bleibt! :mrgreen:
Ich hatte vorhin allerdings testweise noch mal FHEM reaktiviert. Und dort hat die Erkennung wie gewohnt geklappt. Auch das Schalten des Gast-Wlan hat funktioniert. Das bekomme ich in ioBroker auch nicht ans Laufen. Irgendwie ist der Wurm drin.
Alternativ werde ich eventuell mal testen, was eine Installation auf dem Notebook unter Virtualbox (Mint) hergibt.
-
Wieder kein Erfolgserlebnis! Ich hab mein Tablet auf ne feste IP umgestellt und sowohl auf dem RPi als auch unter Virtualbox rumgetestet. In allen Fällen bleibt das Ergebnis das gleiche: Kein sauberes Auslesen der Devices nach dem Erstmaligen erkennen und auch kein Schalten des Gast-Wlan möglich. Ich hab mit verschiedenen Adapter-Versionen, mit und ohne User, mit kurzem Test-Passwort für die FB etc.pp. getestet.
Da für mich eine funktionierende Anwesenheitserkennung essentiell ist, hat sich mein Wechselwunsch zu ioBroker hiermit wohl zerschlagen. Danke nochmals an alle, die mich in meinen Bemühungen unterstützt haben!!!
-
Es gäbe allerdings noch eine Alternative, zumindest bis dein Problem mit tr-064 Adapter gelöst ist.
Versuche doch einmal den "Ping"-Adapter
-
Laut github issued sollte die neueste Version vllt Probleme der .19 lösen
-
Danke apollon77,
tut sie aber bei mir zumindest leider nicht. Nach wie vor das alte Lied …
-
Hallo,
die neue Version ist bei npm vorerst nur unter den Tag dev, also namuell von github oder mit npm install iobroker.tr-064@dev installieren.
-
Hallo,
die neue Version ist bei npm vorerst nur unter den Tag dev, also namuell von github oder mit npm install iobroker.tr-064@dev installieren. `
Moin Soef,auf github ist im changelog leider nicht aufgeführt welche Änderung die Version aufzeigen sollte (letzter Eintrag v.0.3.12) 8-)
Wenn ich mein iPhone aus dem W-LAN auslogge, dann hat es mit der v.0.3.21 nach wie vor ca. 10 Minuten gedauert bis das iPhone als "active = false" angezeigt wird.
Ergänzung:
Ich habe jetzt 3 x hintereinander mein iPhone aus dem W-Lan ein/ausgeloggt.
Es waren 3 x ziemlich exakt 10 Minuten bis zum "false"
(weiß nur nicht ob das irgend eine relevante Information ist 8-) )
Ist das Systembedingt (Fritz!Box) und wir werden mit diesem Versatz Leben müssen?
Oder geht es mit der neuen Version genau darum, diesen Status schneller/zeitnah zu erhalten?
Nachtrag:
Natürlich ein großes Dankeschön für den Adapter und Deinen Support!!
-
Hi BBTown!
Sorry, hab den Eintrag übersehen heute Morgen. Das Ping wäre natürlich ne Variante. Allerdings gibt das bei Äpfel-Geräten Probleme wegen Deep Sleep.
Der zeitliche Versatz beim False kommt meines Wissens wirklich aus der FB. Das liegt wohl daran, dass ein Gerät nicht bei jeder Kleinigkeit (z.B. mal eben in nem toten Winkel des Hauses, Wlan kurz deaktiviert, um die Mobilfunkverbindung zu testen …) als abwesend gewertet werden soll. Erst, wenn nach einer bestimmten Zeit mehrere Abfragen sozusagen ins Leere gelaufen sind, nimmt die FB die Abwesenheit als bestätigt an.
@soef: Wenn es derzeit bei mir auch noch nicht so funktionert. Auf jeden Fall vielen Dank für den Adapter und die Mühe, die du dir (meinetwegen) machst!