Zitat von Hightech
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neuer Baustein: Fritz TR-064 (14102)
Einklappen
X
-
Neuer Status: Es läuft zu 86/87 :-)
Nachdem ich gestern fast verzweifelt bin, läuft es mit der Abfrage der Netzwerkverfügbarkeit für 86 von 87 LAN- und WLAN-Geräten! Einzig mein Hikvision Netzwerkvideorekorder zickt noch rum, wird bei ungenutzten Geräten angezeigt, obwohl Web-GUI erreichbar und auch pingbar. Ticket bei AVM offen.
Und mein iPhone hat sich gestern mehrfach an- und abgemeldet im Minutentakt. Seit gestern 23:16 hat das aber aufgehört.
Ein weiteres kleines Problem: iPhones haben einen Modus "Private WLAN-Adresse", die dazu führt, dass das iPhone immer wieder eine neue MAC bekommt. Wenn ich das ausschalte, bleibt die MAC gleich, aber man kommt mit dem iPhone nicht mehr sauber raus ins Netz (ist wohl ein bekanntes Problem dieser Funktionalität in Kombination iPhone/FB, finden sich zahlreiche Einträge im Netz).
Frage daher: Könntest Du dem Baustein noch ein zusätzliches Eingangs-/Ausgangspaar mit der gleichen Logik (kommaseparierter Eingang der IPs, kommaseparierter Ausgang der 0 und 1en) wie bei dem MAC csv / ehem. MAC4 spendieren, aber nicht mit dem Service GetSpecificHostEntry also Abfrage über MAC, sondern mit X_AVM-DE_GetSpecificHostEntryByIP also Abfrage des Verbindungsstatus über die IP-Adresse? Denn die bleibt gleich.
Kurz noch, warum ich gestern fast verzweifelt bin: String aus 87 mal 1 und 0 kam sauber zurück, aber auf meinen Statusobjekten kam nichts an, die Zerlegung funktionierte nicht. Zerlegung hab ich über den Baustein "19991 Text trennen to integer" (original Dacom!) gemacht, die ich überall fehlerfrei im Projekt seit Jahren verwende, um Uhrzeiten (sowas wie 14:30) in Stunde und Minute zu zerlegen. Aber da kam nichts raus. Der Baustein scheint nicht mit einer so langen Liste umgehen zu können, auch auf dem Ausgang, der die Anzahl der gefundenen Blöcke ausgibt, kam nicht die 87 sondern immer nur eine 0. Hab dann auf "Text trennen" und dahinter "String to Number" umgebaut (supi, 87 mal wildes stumpfsinniges Klicken). Damit funktionierte es dann.Möchte den Komfort meiner Installation nicht mehr missen!
- Likes 1
Kommentar
-
[QUOTE=Hightech;n1779323 Einzig mein Hikvision Netzwerkvideorekorder zickt noch rum, wird bei ungenutzten Geräten angezeigt, obwohl Web-GUI erreichbar und auch pingbar.
[/QUOTE]
Problem gelöst, es lag daran, dass der NVR hinter einem Switch hing. Direkt an die FB angeschlossen, jetzt wird er als aktiv angezeigt.
Möchte den Komfort meiner Installation nicht mehr missen!
Kommentar
-
Hallo En3rGy!
Es läuft jetzt grundsätzlich mit der Abfrage aller 87 MAC-Adressen als kommaseparierter String, aber....
.... der Baustein hängt sich wohl manchmal auf, ich kann dann zwar noch was senden (hab es mit dem Ein-Ausschalten des Gäste-WLAN getestet), aber auf den Ausgängen kommt nichts mehr raus. Auf der debug sehe ich für mehrere verschiedene MAC-Adressen folgenden Eintrag:Die Geräte, zu denen die MAC-Adressen gehören, sind aber in der Fritzbox-Übersicht alle als verbundene Geräte angezeigt und die MAC-Adressen stimmen auch überein.01.07.2022 15:57:50 (2)
14102 (http://192.168.178.1:49000): Error: Invalid Action (401)
service_data: {"controlURL": "/upnp/control/hosts", "serviceType": "urn:dslforum-org:service:Hosts:1", "serviceId": "urn:LanDeviceHosts-com:serviceId:Hosts1", "eventSubURL": "/upnp/control/hosts", "SCPDURL": "/hostsSCPD.xml"}
action: GetSpecificHostEntry
attr_list: {"NewMACAddress": "70:48:0f:a0:45:40"}
Hast Du irgendeine Idee, woran das liegen könnte? Könntest Du das so umbauen, dass bei dem Fehler trotzdem fortgefahren wird und die Ausgänge weiter befeuert werden?
EDIT: Hab gerade mal gegoogled, was so ein 401 ist: Ich finde durchgängig, dass es was mit der Authentifizierung zu tun hat. Kann es sein, dass das Erneuern der SID (mache ich alle 15 min.) und die Abfrage sich überschneiden aufgrund der Laufzeit der 87 Abfragen? Abfrage der MACs läuft also gerade, dann kommt der Request für eine neue SID und somit bricht die Abfrage ab, weil die FB jetzt schon die neue SID erwartet?Zuletzt geändert von Hightech; 03.07.2022, 19:12.Möchte den Komfort meiner Installation nicht mehr missen!
Kommentar
-
Zitat von Hightech Beitrag anzeigenHast Du irgendeine Idee, woran das liegen könnte? Könntest Du das so umbauen, dass bei dem Fehler trotzdem fortgefahren wird und die Ausgänge weiter befeuert werden?
Hier der Link zur Testversion: https://github.com/En3rGy/14102_Frit...ases/tag/v1.06
Kommentar
-
Zitat von Hightech Beitrag anzeigenUnd mein iPhone hat sich gestern mehrfach an- und abgemeldet im Minutentakt. Seit gestern 23:16 hat das aber aufgehört.
Immer, wenn es zu dem 401 Fehler kommt, wie in #184 dargestellt, kommt die Liste der Stati auf dem Ausgang A12 unvollständig raus - ich frage 87 MAC-Adressen ab, die Liste am A12 hat bei Auftreten des 401 aber nur 86 Elemente. Das führt dann natürlich dazu, dass der Status eines Gerätes nicht an der Stelle steht, die ich erwarte.
Beispiel:- Für die MAC des Gerätes an Position 70 kommt der 401 Fehler, für dieses Gerät wird kein Status in die Liste geschrieben
- Am A12 steht dann an Position 70 der Status von Gerät 71, an 71 der Status von 72 etc.
- Ist jetzt mein (im WLAN angemeldetes) iPhone an Position 71, schreibe ich den Wert von Gerät 72 (was gerade vielleicht offline ist) und der jetzt an Position 71 ausgegeben wird, auf den Status des iPhones => mein Anwesenheitsstatus geht auf 0, obwohl mein iPhone immer noch im WLAN ist
- Bei der nächsten Abfrage kommt kein 401, die Liste hat wieder 87 Elemente, Status des iPhone kommt wieder an Position 71 wie erwartet => mein Anwesenheitsstatus geht auf 1
- wenn im Baustein für eine MAC ein 401 zurückkommt, müsste der Status für diese MAC in die Ergebnisliste eingefügt werden, der beim letzten erfolgreichen Durchlauf für diese MAC ermittelt wurde. Es müsste also irgendwie im Baustein für jede MAC der Status der letzten erfolgreichen Abfrage zwischengespeichert werden - entweder als Einzelstatus zu jeder MAC oder aus der zuvor an A12 ausgegebenen Liste extrahiert werden mit der Logik "wenn ein 401 für eine MAC kommt, prüfe an welcher Stelle in der Liste diese MAC steht und suche den letzten Status aus der letzten an A12 ausgegebenen Liste an genau der Stelle"
Grüße
Olaf
Möchte den Komfort meiner Installation nicht mehr missen!
Kommentar
-
Und was würde der Baustein dann für die MAC-Adressen zurückliefern, die auf einen 401 laufen? Oder wären die dann im JSON gar nicht drin?
Andere Alternative, die mich noch eingefallen ist: Beim nächsten Durchlauf (bei mir 30 Sekunden später) funktioniert es meistens wieder. Vermutlich auch schon wenige Sekunden später. Was wäre denn, wenn Du bei einem 401 die Abfrage für die eine MAC wiederholst?
Was führt eigentlich zu den 401? Merkwürdig finde ich, dass ich manchmal im 10 Minuten Rhythmus einen 401 bekomme, dann aber auch mal 5-6 h überhaupt keinen...Zuletzt geändert von Hightech; 09.07.2022, 11:43.Möchte den Komfort meiner Installation nicht mehr missen!
Kommentar
-
Keine Ahnung, was zu einem 401 führt. Könnte sein, dass es einfach zu viele Anfragen in zu kurzer Zeit sind. Daher bin ich nicht dafür, die Nachricht zu wiederholen.
Ich denke weglassen wäre besser, Damm muss aber gesendet werden, welche MAC fehlen. Da kann ich mir sinnvoll nur die Json Variante vorstellen. Oder ein definierter Fehlerwert. Also es wird für alle MAC was geliefert und wenn eine Abfrage fehlschlägt z.B. einfach „“.
Kommentar
-
Die Variante, den Wert von der letzten Abfrage, die durchlief, zwischenzuspeichern und mitauszugeben, ist zu aufwändig?
Mit der Prüfung, ob die Länge wie erwaretet ist und das Ergebnis bei abweichender Länge (also einer fehlenden MAC) nicht auszuwerten, funktioniert bei mir einwandfrei, also für mich absolut ausreichend, Anpassung also nur erforderlich, wenn Du mal ganz viel Ruhe dafür hast.
Grüße
OlafMöchte den Komfort meiner Installation nicht mehr missen!
Kommentar
-
Zitat von Lucien Beitrag anzeigeneine gute und eine schlechte Nachricht für Dich, En3rGy.
Die Schlechte. Bei meinem Mesh (7590,7490, Repeater und Powerline-Adapter) kriege ich nur das 2,5 GHz WLAN auf der 7590 ausgeschaltet, angeschaltet wird überhaupt nichts. Das gleiche Signal hatte ich auf WLAN 1-3 sowie Gast gelegt, nur von WLAN 1 bekomme ich eine Rückmeldung. Fehlbedienung meinerseits ist durchaus drin.
Die Gute. Das, was ich eigentlich wollte, WLAN mittels meines Homeserver 4 (4.10) komplett aus- und wieder einzuschalten, funktioniert! Und prinzipiell so wie das mit meinem Homeserver 3 mit ISDN war. Da hat der Homeserver 3 die Fritzbox angerufen und die Zeichenfolge "#96*0*" für WLAN aus bzw. "#96*1*" für WLAN ein gesendet. Das mache ich jetzt über Deinen Zugriff auf die Wählhilfe. Mehr brauch ich gar nicht, damit bin ich vollständig zufrieden. Der WLAN-Befehl über das Telefon schaltet das komplette WLAN im ganzen Mesh aus. Man kann das schön in den Ereignissen der Fritzbox verfolgen. Ich hatte mir eingerichtet, dass zur Schlafenszeit WLAN ausgeschaltet wurde, der Bewegungsmelder in der Diele sorgt dann fürs Wiedereinschalten. Ebenso wird WLAN bei Scharf schalten deaktiviert und bei Unscharf schalten wieder aktiviert. Jetzt habe ich das wieder.
Ein Hinweis noch: Das Einschalten nach Ausschalten funktionierte zunächst nicht, dann habe ich ein paar Sekunden nach dem Ausschalten-Befehl ein Auflegen-Kommando abgeschickt, das hat geholfen. Ob es ursächlich war, weiß ich nicht.
Ich finde es super, dass Du die Python-Source zur Verfügung stellst. Ebenso gefällt es mir, dass Du HSL 2.0 nutzt. Gerade eben bin ich auch dabei das wieder in Angriff zu nehmen, nachdem ich mich vor einiger Zeit überreden ließ, vielleicht zu Recht damals, es nicht zu tun.
Eine Anmerkung noch, falls Du Interesse hat. Wenn Du die IP-Adresse des Homeservers über das Framework beziehen würdest (get_homeserver_private_ip (self)), bräuchten die Nutzer Deines Bausteins nicht darüber nachzudenken welche IP sie eingeben müssen und Du vermeidest unnötige Diskussionen.
Nochmals vielen Dank für Deine Mühe bislang. Lucien
kannst du mir als Anfänger beschreiben, wo du was eingibst (im Logikbaustein und in der FB), um mit den Zeichenfolgen "#96*0*" das WLAN aus- und mit "#96*1*" das WLAN einzuschalten? Am hilfreichsten wäre für mich eine Abbildung deines Logikbausteins mit den ausgefüllten Feldern und eine Abbildung deiner Eingaben in der FB, aber auch eine Beschreibung für dummys würde genügen.
Wäre dir sehr dankbar! Chr.
Kommentar
-
Hallo,
leider funktioniert der Baustein bei mir nicht, d.h.
-WLAN ein- und ausschalten: keine Reaktion, keinerlei Rückmeldung an den entsprechenden Ausgängen,
-MAC Adressen: keine Reaktion an den entsprechenden Ausgängen.
Siehe entsprechenden Abschnitt in der Debug Seite des HS.
Meine Konfiguration:
Genexis Glasfasermodem IP 192.168.0.254
Homeserver 4 IP 192.168.0.11
Fritz Box 7490 OS 7.29 IP 192.168.178.1 (bildet also praktisch ein Subnetz)
Für jede Hilfe dankbar !
ChrPeiAngehängte Dateien
Kommentar
-
Zitat von ChrPei Beitrag anzeigenFür jede Hilfe dankbar !
Evtl. ist manuell eine falsche IP konfiguriert?
Kommentar
Kommentar