Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

AVM Plugin

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

    Ich hab ne 7490 mit 7.12. Mehrfaches Senden hat bei mir nix gebracht... wobei es ohne Authentifizierung gar nicht ging ("unauthorized").

    Mit "falschem Quoting" meinte ich auch nicht " und ' vertauscht, sondern " innerhalb von ", da steigt schon meine Shell aus.

    Kommentar


      Für ohne Authorisierung müsstest wohl auch den User und Passwort im Webinterface deaktivieren - hast du's damit mal probiert? Wobei das ja eigentlich egal sein müsste.

      Kommentar


        Das sollte egal sein - ich kriege die Anmeldung ja "durch", und danach klappt was nicht.

        Kommentar


          Löschen und Abfragen des Portmappings funktioniert nun tatsächlich auch.
          Code:
          curl --anyauth -u user:'pw' 'https://10.0.0.138:49443/upnp/control/wanipconnection1' -H 'Content-Type: text/xml; charset="utf-8"' -H 'SoapAction: urn:dslforum-org:service:WANIPConnection:1#DeletePortMapping' -d '<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:DeletePortMapping xmlns:u="urn:dslforum-org:service:WANIPConnection:1"><NewRemoteHost></NewRemoteHost><NewExternalPort>80</NewExternalPort><NewProtocol>TCP</NewProtocol></u:DeletePortMapping></s:Body></s:Envelope>' -s -k
          Der Trick ist, NewRemoteHost leer zu lassen.

          Ebenfalls funktioniert die Abfrage des Mappings mittels:
          Code:
          curl --anyauth -u user:'pw' 'https://10.0.0.138:49443/upnp/control/wanipconnection1' -H 'Content-Type: text/xml; charset="utf-8"' -H 'SoapAction: urn:dslforum-org:service:WANIPConnection:1#GetSpecificPortMappingEntry' -d '<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetSpecificPortMappingEntry xmlns:u="urn:dslforum-org:service:WANIPConnection:1"><NewRemoteHost>0.0.0.0</NewRemoteHost><NewExternalPort>80</NewExternalPort><NewProtocol>TCP</NewProtocol></u:GetSpecificPortMappingEntry></s:Body></s:Envelope>' -s -k
          Aber irgendwie bringt das natürlich nur bedingt was, wenn es bei euch nicht tut. Habt ihr schon mal probiert, die Steuerung für Applikationen im oben erwähnten Menüpunkt zu DEAKTIVIEREN und nach dem Neustart wieder zu aktivieren? Das hat bei mir nämlich einiges gebracht.

          Kommentar


            Und jetzt gibt es seit dem 06.07.2020 FRITZ!OS 7.20 für FRITZ!Box 7590. Näheres in den Release Notes

            Kommentar


              @bmxp
              ich teste bereits auf 7.20 ohne besserung

              Kommentar


                erstmal, Tolles Plugin, vielen Dank!
                Habe noch 2 Ideen, die ich nicht gefunden habe. Wenn das implementiert ist bitte kurzen Hinweis...

                1.) Mich würden fehlerhafte Loginversuche interessieren, damit ich merke wenn da jemand tätig ist. gibt es das als Event?
                2.) Gibt es einen Event, der das verbinden / trennen eines bekannten wlan-geräts auswirft?

                Danke Gruß
                Peter
                never fummel a running system...

                Kommentar


                  TRex es gibt garkeine Events, da die Box (bis auf den CallMonitor) nur gepollt werden kann.

                  Kommentar


                    Ich habe gerade noch im AVM plugin eine nicht abgefangene Exception bemerkt:

                    Code:
                    ERROR lib.plugin Plugin 'avm' exception in stop() method: [Errno 107] Der Socket ist nicht verbunden
                    Traceback (most recent call last):
                    File "/usr/local/smarthome/lib/plugin.py", line 684, in stop
                    self.plugin.stop()
                    File "/usr/local/smarthome/plugins/avm/__init__.py", line 603, in stop
                    self._monitoring_service.disconnect()
                    File "/usr/local/smarthome/plugins/avm/__init__.py", line 107, in disconnect
                    self.conn.shutdown(2)
                    OSError: [Errno 107] Der Socket ist nicht verbunden
                    Bin mir gerade nicht sicher, ob man das besser mit einem is_connected() oder einem try/catch abfängt.

                    Kommentar


                      Ich habe unabhängig von diesem Plugin nach einem Weg gesucht, die Ereignisse (das Log) der Fritzbox zu lesen und zu verarbeiten.

                      Aus verschiedenen Quellen habe ich mir dazu Infos und Code zusammengesucht und ein kleines Skript geschrieben:
                      • Auslesen der Log-Einträge aus der FritzBox -- allerdings nicht über TR-064, sondern über das Webinterface (andere Anmeldung)
                      • (versuchtes) Abgleichen der erhaltenen Log-Einträge mit den gespeicherten Einträgen in der Datenbank (Problem ist, dass die Zeitstempel der Fritzbox um +/- 1 Sekunden schwanken können, daher kommt es manchmal zu Dubletten. Da könnte man noch was dran filtern, habe ich noch nicht)
                      • Sichern der als neu erkannten Log-Einträge in der Datenbank
                      • Weiterleiten von ausgewählten Kategorien von Log-Einträgen an shng (derzeit über das Network-Plugin / UDP
                      Das Item mit den Log-Einträgen hat bei mir einen operationlog-Logger, so dass es die Historie speichert und in SmartVISU anzeigen kann.

                      Das ist zwar in Sachen Fehlererkennung schon recht stabil, aber letztlich (noch) eine individuelle Bastellösung. Die Speicherung in der Datenbank hat den Vorteil, dass man später prüfen kann, ob der Logeintrag schon vorhanden ist und dann man eine komplette Historie speichert.

                      Denkbar wäre eine Weiterleitung an syslog; mir reicht das so - erstmal.

                      Schön wäre natürlich, wenn man das statt über die Weboberfläche über TR-064 auslesen könnte - meine Versuche, mich durch die Spezifikation zu arbeiten, waren bisher aber anscheinend nicht erfolgreich, ich habe nämlich nur Fehler bekommen. Es soll aber wohl gehen...

                      Wenn ich weiß, wie ich die Logeinträge über TR-064 abfragen kann, dann würde ich das Skript anpassen und testen, und dann die Funktion ggf. ins Plugin integrieren.

                      Besteht da Interesse dran?

                      Kommentar


                        Zitat von Morg Beitrag anzeigen
                        Plugin nach einem Weg gesucht, die Ereignisse (das Log) der Fritzbox zu lesen und zu verarbeiten.
                        Hallo,

                        hast Du auch das AHA-Interface zur Fritzbox gesehen? Hilft das ggf?
                        Ich hatte da schon mal einen Antritt auch auf weitere Funktionen gemacht.
                        schau mal hier und hier

                        Kommentar


                          Das AHA-Interface kenne ich, aber soweit ich das verstanden habe, kann ich damit nicht auf das FB-Log zugreifen, da geht es ja um an die FB angeschlossene (Smart Home-)Geräte.

                          Aber danke für den Hinweis, psilo hat mir auch schon weitere Infos zukommen lassen. Wenn ich das zusammen bekomme, biete ich das als Ergänzung fürs Plugin an.

                          Die Frage, ob Bedarf besteht, ist natürlich noch offen (ist auch noch nicht so lange her). Das Plugin würde dadurch nicht unerheblich aufgeblasen werden, von einer DB-Anbindung mal ganz zu schweigen....

                          Kommentar


                            Zitat von TRex Beitrag anzeigen
                            erstmal, Tolles Plugin, vielen Dank!
                            Habe noch 2 Ideen, die ich nicht gefunden habe. Wenn das implementiert ist bitte kurzen Hinweis...

                            1.) Mich würden fehlerhafte Loginversuche interessieren, damit ich merke wenn da jemand tätig ist. gibt es das als Event?
                            2.) Gibt es einen Event, der das verbinden / trennen eines bekannten wlan-geräts auswirft?
                            Das Log-Auslesen versuche ich gerade (mit dem Skript geht es), da bekommst du alle Meldungen, die du unter Systemereignisse auch in der Box lesen kannst. Also - ja, aber noch nicht im Plugin.

                            Wenn du mit Event nur eine Information meinst, dann ja - das steht in den Logs. Wenn du Event als Auslöser meinst, dann nein - wie psilo schon geschrieben hat, muss man die abfragen. Im Moment mache ich das alle 5 Minuten, weil ich die Info, ob DSL noch da ist, kurzfristiger brauchte. Zum Abgleich des Logs reichen aber auch 30 Minuten oder 6 Stunden aus.

                            Also wäre das "nachträglich feststellen" problemlos möglich, das Alarmieren bei Anmeldung - auf diesem Weg - jedoch nicht praktikabel.

                            Wenn du letzteres willst - geht das ggf. mit der FB-Push-Benachrichtigung?

                            Kommentar


                              habe mal eine neue Funktion get_device_log_from_lua und get_device_log_from_tr064 im DEV dazugepackt. Im WebIF sieht man jetzt zudem das Ergebnis der Funktion für die LUA Schnittstelle, die etwas mehr Daten und eine Kategorisierung liefert.

                              Danke an aschwith für die Implementierung der Grundlagen für die Abfrage der LUA Scripte

                              PS: sehe grade, dass in der lua sid implementierung an einigen stellen "hard coded" fritz.box als host steht. Ich habe den Teil jetzt deutlich überarbeitet.

                              um tests speziell von denen, die aha devices mit dem lua zeug nutzen, wäre ich dankbar.
                              Zuletzt geändert von psilo; 10.02.2021, 18:55.

                              Kommentar


                                letzte Nacht wurde bei mir FritzOS 7.27 installiert.
                                seitdem funktioniert das avm plugin nicht mehr.
                                hat da schon jemand etwas analysiert oder angepasst ?

                                Code:
                                2021-05-21  08:16:49 ERROR    plugins.avm         fritzbox_7490@: Exception when parsing response: mismatched tag: line 1, column 156
                                2021-05-21  08:16:49 ERROR    plugins.avm         fritzbox_7490@: Exception when parsing response: mismatched tag: line 1, column 156
                                2021-05-21  08:16:49 ERROR    plugins.avm         fritzbox_7490@: Exception when parsing response: mismatched tag: line 1, column 156
                                2021-05-21  08:16:49 ERROR    plugins.avm         fritzbox_7490@: Exception when parsing response: mismatched tag: line 1, column 156
                                2021-05-21  08:16:50 ERROR    plugins.avm         fritzbox_7490@: Exception when sending POST request or parsing response: mismatched tag: line 1, column 156
                                2021-05-21  08:16:50 ERROR    plugins.avm         fritzbox_7490@: Attribute wan_upstream not available on the FritzDevice
                                2021-05-21  08:16:50 ERROR    plugins.avm         fritzbox_7490@: Attribute wan_downstream not available on the FritzDevice
                                2021-05-21  08:16:50 ERROR    plugins.avm         fritzbox_7490@: Attribute wan_total_packets_sent not available on the FritzDevice
                                2021-05-21  08:16:50 ERROR    plugins.avm         fritzbox_7490@: Attribute wan_total_packets_received not available on the FritzDevice
                                2021-05-21  08:16:50 ERROR    plugins.avm         fritzbox_7490@: Attribute wan_total_bytes_sent not available on the FritzDevice
                                2021-05-21  08:16:50 ERROR    plugins.avm         fritzbox_7490@: Attribute wan_total_bytes_received not available on the FritzDevice
                                2021-05-21  08:16:50 ERROR    plugins.avm         fritzbox_7490@: Attribute wan_link not available on the FritzDevice
                                2021-05-21  08:16:51 ERROR    plugins.avm         fritzbox_7490@: Attribute wlanconfig not available on the FritzDevice
                                da müssen wahrscheinlich ein paar item Definitionen angepasst werden.

                                Kommentar

                                Lädt...
                                X