Ankündigung

Einklappen
Keine Ankündigung bisher.

Neuer Baustein: Fritz TR-064 (14102)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Zitat von Hightech Beitrag anzeigen
    Muss ich die MAC1, MAC2, MAC3 eigentlich belegen? Oder kann ich alle in den ehemaligen MAC4 packen?
    Was nicht belegt ist, wird nicht genutzt. Kannst sie also leer lassen.

    Kommentar


      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!

      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:
          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"}
          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.

          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 anzeigen
            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?
            Der Fehler sollte jetzt abgefangen werden, so dass die regelmäßige Abfrage weiter läuft. Neue Log-Ausgaben sind in der HSL 2.0 Rubrik. Die Authentifizierung (ist keine Session ID) wird eigentlich bei jeder (!) Abfrage geprüft und ggf. erneuert. Wenn das was schief geht, sollte es auch im HSL 2.0 Log auftauchen.

            Hier der Link zur Testversion: https://github.com/En3rGy/14102_Frit...ases/tag/v1.06

            Kommentar


              Wow, Du bist ja schnell!

              Wird morgen früh sofort getestet - Feedback folgt.
              Möchte den Komfort meiner Installation nicht mehr missen!

              Kommentar


                So, Baustein läuft jetzt seit ein paar Stunden, scheint sich nicht aufzuhängen.

                Die 401 Exceptions habe ich auf der debug aber weiterhin - merkwürdig ist für mich, dass es immer für unterschiedliche MAC-Adressen auftritt?
                Möchte den Komfort meiner Installation nicht mehr missen!

                Kommentar


                  Zitat von Hightech Beitrag anzeigen
                  Und mein iPhone hat sich gestern mehrfach an- und abgemeldet im Minutentakt. Seit gestern 23:16 hat das aber aufgehört.
                  So, ich hab die Ursache gefunden:

                  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
                  Siehst Du irgendeine Idee, das abzufangen, Tobias? Denkbar wären für mich folgender Ansatz:
                  • 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"
                  Aktuell fange ich das so ab, dass ich die an A12 ausgegebene Liste nur weiterverarbeite, wenn sie 87 Elemente enthält.

                  Grüße

                  Olaf
                  Möchte den Komfort meiner Installation nicht mehr missen!

                  Kommentar


                    Man könnte eine Json Liste ausgeben mit „MAC-Adresse“: True/False die dann mit ganz vielen Json-Bausteinen ausgewertet werden kann

                    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
                          Olaf
                          Möchte den Komfort meiner Installation nicht mehr missen!

                          Kommentar


                            Zitat von Lucien Beitrag anzeigen
                            eine 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
                            Hallo,
                            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 !
                              ChrPei
                              Angehängte Dateien

                              Kommentar


                                Zitat von ChrPei Beitrag anzeigen
                                Für jede Hilfe dankbar !
                                Der Baustein sucht die Box auf der IP ###.###.###.1 und nicht ###.###.###.11

                                Evtl. ist manuell eine falsche IP konfiguriert?

                                Kommentar

                                Lädt...
                                X