Ankündigung

Einklappen
Keine Ankündigung bisher.

AVM Plugin

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

    Zitat von psilo Beitrag anzeigen
    Es wäre aber doch relativ abstrus, wenn die einrückungen schuld sein..
    Da bin ich bei Dir. Trotzdem muss ein einen Unterschied geben. Da 2 Personen das gleiche Problem mit einem neu aufgesetzten System haben, glaube ich nicht, dass es Zufall ist.

    Zitat von psilo Beitrag anzeigen
    ausser das "verify" wird bspw übersehen beim verarbeiten, aber dann sollte es beim yaml parsen ja einen fehler im log geben. habt ihr das gecheckt?
    Ich konnte im Debug Log des Plugins nichts finden. Es ist aber auch so, dass relativ wenig Meldungen über das Debug Log beim AVM Plugin kommen.

    Ich schaue mir das am Do Abend nochmal an.

    Kommentar


      Trotzdem muss ein einen Unterschied geben. Da 2 Personen das gleiche Problem mit einem neu aufgesetzten System haben, glaube ich nicht, dass es Zufall ist.
      Die beiden Personen könnten ja auch selber mal etwas debugging betreiben. Es ist reichlich schwer euer Problem zu finden, wenn es bei allen anderen inkl. mir keine gibt ;-)

      Kommentar


        Hallo,

        ich bin gerne bereit, euch bei der Fehlersuche zu unterstützen.
        Ich brauche aber Hinweise, was ich genau machen soll, zwecks Debugging. Stehe mit SmarthomeNG leider noch ziemlich am Anfang.

        Ich habe jetzt noch ein paar Tests durchgeführt.
        1. Die Config von psilo aus Beitrag #536, aber ohne instance.
        Ergebnis: Funktioniert.

        2. Instance ergänzt, items angepasst:
        Funktioniert

        Änderungen händisch per Editor eingetragen.
        Ich benutze als PC einen Rechner mit Ubuntu Linux. Editor Kate.

        Bin echt ratlos, wieso es auf einmal funktioniert. In verschiedenen Konfigurationen.

        Wenn ich noch etwas testen kann, gerne her damit.

        Auf jeden Fall schon mal vielen Dank für die Hilfestellung

        Kommentar


          Maxthomas2001 naja jetzt geht es Dir wie mir. Einen Fehler finden der nicht mehr auftritt ist schwer ;-). Hattest Du über das grafische Admin IF konfiguriert, als Du ihn noch hattest? Nur um zu sehen, ob das Problem nicht doch dort liegt?!
          Ich glaube trotzdem noch, dass eure Boxen schlichtweg bei der Konfiguration irgendwann "dicht" gemacht haben und sich jetzt wieder erholt haben.Das Plugin kann da aber wenig für.

          Sisamiwe mich wundert auch, dass Du so wenig debug logs siehst.. er müsste schon "a bisserl was" rausloggen. sonst halt einfach mal eigene self.logger.debug's ergänzen und schauen, wo er hängt.

          Kommentar


            psilo
            Ich habe sowohl das Interface benutzt als auch den Editor. Habe verschiedene Konfígurationen/Möglichkeiten ausprobiert, um es zum Laufen zu bringen.
            Was ich wann über welchen Weg geändert habe, kann ich leider nicht mehr nachvollziehen.

            Kommentar


              psilo
              Ich schaue mir das am Donnerstag Abend nochmal an. Ich habe die GUI im Admin Interface im Verdacht. Ich schaue mir dann die verschiedenen plugin.yaml Versionen an.
              Gleiches gilt für die Debug-Ausgaben.

              Danke soweit

              Kommentar


                psilo Maxthomas2001

                Hallo,
                wie versprochen habe ich heute noch mal etwas rumprobiert mit der Konfig in der plugin.yaml
                Ich konnte das Verhalten reproduzieren, aber die Ursache nicht wirklich finden.

                Konfiguriert man das Plugin über die GUI des Admin-Interfaces startet das Plugin, es kommt immer zum gleiche Fehler.
                Exception when sending POST request: HTTPSConnectionPool(host='192.168.2.4', port=49433): Max retries exceeded with url: /upnp/control/deviceinfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHT TPSConnection object at 0x6707dc90>: Failed to establish a new connection: [Errno 111] Verbindungsaufbau abgelehnt'))
                Hier alle Einträge im Debug-Log:#
                Code:
                2020-01-16 20:57:48 WARNING __main__ -------------------- Init SmartHomeNG 1.6a.da992f67.develop --------------------
                2020-01-16 20:57:48 WARNING __main__ Running in Python interpreter 'v3.7.3 final' (pid=15210) on linux platform
                2020-01-16 20:57:56 INFO plugins.avm Init AVM Plugin
                2020-01-16 20:57:59 DEBUG plugins.avm is_staticfile: path=static/img/plugin_logo.png, complete_path=/usr/local/smarthome/plugins/avm/webif/static/img/plugin_logo.png, result=True
                2020-01-16 20:58:01 DEBUG plugins.avm scheduler_add: name = plugins.avm.update, parameters: prio=5, cycle=120, offset=2
                2020-01-16 20:58:03 DEBUG plugins.avm Starting update loop for instance
                2020-01-16 20:58:03 ERROR plugins.avm Exception when sending POST request: HTTPSConnectionPool(host='192.168.2.4', port=49433): Max retries exceeded with url: /upnp/control/deviceinfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHT TPSConnection object at 0x6707dc90>: Failed to establish a new connection: [Errno 111] Verbindungsaufbau abgelehnt'))
                2020-01-16 20:58:03 DEBUG plugins.avm Availability for FritzDevice set to False
                2020-01-16 20:58:06 DEBUG plugins.avm is_staticfile: path=static/img/plugin_logo.png, complete_path=/usr/local/smarthome/plugins/avm/webif/static/img/plugin_logo.png, result=True
                2020-01-16 20:58:09 DEBUG plugins.avm is_staticfile: path=static/img/plugin_logo.png, complete_path=/usr/local/smarthome/plugins/avm/webif/static/img/plugin_logo.png, result=True
                Sobald man die Plugin.yaml händisch erstellt, klappt die Verbindung zur Fritzbox.
                Code:
                2020-01-16 21:00:13 WARNING __main__ -------------------- Init SmartHomeNG 1.6a.da992f67.develop --------------------
                2020-01-16 21:00:13 WARNING __main__ Running in Python interpreter 'v3.7.3 final' (pid=15427) on linux platform
                2020-01-16 21:00:20 INFO plugins.avm Init AVM Plugin
                2020-01-16 21:00:20 DEBUG plugins.avm starting monitoring service
                2020-01-16 21:00:20 DEBUG plugins.avm MonitoringService: connection established
                2020-01-16 21:00:25 DEBUG plugins.avm scheduler_add: name = plugins.avm.update, parameters: prio=5, cycle=120, offset=2
                2020-01-16 21:00:26 DEBUG plugins.avm is_staticfile: path=static/img/plugin_logo.png, complete_path=/usr/local/smarthome/plugins/avm/webif/static/img/plugin_logo.png, result=True
                2020-01-16 21:00:27 DEBUG plugins.avm Starting update loop for instance
                2020-01-16 21:00:27 ERROR plugins.avm Exception when sending POST request: HTTPSConnectionPool(host='192.168.2.4', port=49433): Max retries exceeded with url: /upnp/control/deviceinfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHT TPSConnection object at 0x6680e6d0>: Failed to establish a new connection: [Errno 111] Verbindungsaufbau abgelehnt'))
                2020-01-16 21:00:27 DEBUG plugins.avm Availability for FritzDevice set to False
                2020-01-16 21:00:27 DEBUG plugins.avm MonitoringService: disconnecting
                2020-01-16 21:00:27 DEBUG plugins.avm Data Received from CallMonitor:
                2020-01-16 21:02:27 DEBUG plugins.avm Starting update loop for instance
                Ändert man händisch die Konfiguration, die die GUI des Admin-Interfaces in die plugin.yaml eingetragen hat (bspw. call_monitor: true auf call_monitor: false) geht das Plugin auch.

                In der plugin.yaml stehen immer die exakt die gleichen Einträge, zumindest habe ich keine Unterschiede gefunden.

                Aufgefallen ist mir, dass die GUI beim ersten Aktivieren des Plugins die Werte für Port und Cycle nicht in Hochkommas ' setzt. Überarbeitet man die Konfig nochmal über die GUI, werden die Werte dann in Hochkommas gesetzt.

                Ich kann ausschließen, dass die Fritzbox mit Anfragen "überfordert" ist. ich habe kurz nacheinander jeden Versuch mehrfach wiederholt und immer das gleiche Ergebnis bekommen.
                Es ist also wirklich Schlangenbeschwörung. ;o)

                Maxthomas2001
                Kannst Du ggf. meine Versuche auch nocheinmal durchspielen?
                Danke

                Kommentar


                  Du startest shng schon neu, nachdem du via gui konfiguriert hast?

                  Kommentar


                    Zitat von psilo Beitrag anzeigen
                    Du startest shng schon neu, nachdem du via gui konfiguriert hast?
                    Ja klar. Soviel Verständnis von shng habe ich schon.

                    Kommentar


                      Msinn das mit dem port ist echt etwas seltsam.. die admin gui setzt ihn in ' ', der datentyp laut avm plugin.yaml ist aber type: int. zumindest könnten wir dann hier in yaml auch direkt zahlen setzen... ansich müsste das einlesen der konfig aber richtig umwandeln, oder?

                      ich habe die konfig für meine 7490 jetzt gerade mit dem admin if abgespeichert und alles geht... trotz ' '

                      Sisamiwe wie ist es, wenn du eine konfig, die du bereits korrigiert hast, erneut mit admin IF abspeicherst? geht es dann immer noch? was ist wenn du mehrfach eine nicht funktionierende abspeicherst? kommt der fehler also nur, wenn du das plugin ganz frisch reinhängst? kann es evtl sein, dass du dich beim passwort vertippst? das ist ja nicht sichtbar in der admin gui
                      Zuletzt geändert von psilo; 17.01.2020, 16:42.

                      Kommentar


                        Zitat von psilo Beitrag anzeigen
                        ich habe die konfig für meine 7490 jetzt gerade mit dem admin if abgespeichert und alles geht... trotz ' '
                        Das ist klar, da SmartHomeNG intern im Itemtree alle Attribute als Strings verwaltet. Das ist seit Anbeginn von smarthome.py so. Das hat mknx so implementiert und bisher hat das niemand geändert. In den .CONF Dateien gab es die Datentyp Unterscheidung von Attribut Werten nicht. Die kam erst mit dem YAML Dateien, wird aber nicht genutzt, da das die Kompatibilität zu den .CONF Dateien brechen würde.

                        Sie werden dann nur zur Übergabe an das Plugin in den gewünschten Datentyp gecastet.

                        Beim einlesen mit Quotes, wird der Wert gleich als String gelesen. Ohne Quotes wird er zwar als Zahl gelesen, dann aber in einen String gecastet.
                        Zuletzt geändert von Msinn; 17.01.2020, 17:18.
                        Viele Grüße
                        Martin

                        There is no cloud. It's only someone else's computer.

                        Kommentar


                          Zitat von psilo Beitrag anzeigen
                          wie ist es, wenn du eine konfig, die du bereits korrigiert hast, erneut mit admin IF abspeicherst? geht es dann immer noch? was ist wenn du mehrfach eine nicht funktionierende abspeicherst? kommt der fehler also nur, wenn du das plugin ganz frisch reinhängst? kann es evtl sein, dass du dich beim passwort vertippst? das ist ja nicht sichtbar in der admin gui
                          Ich habe nun folgendes getestet (immer mehrfach, um sporadische Fehler auszuschließen):
                          • Ich habe im laufenden Betrieb aus der plugin.yaml die Einträge für das avm-plugin mit Notepad++ gelöscht und die Datei angespeichert.
                          • Dann ins Admin-Interace -> Plugins -> Konfiguration; Dort ist das Plugin dann nicht mehr gelistet.
                          • neues Plugin hinzufügen - > avm und entsprechend konfiguriert und gesichert.
                          • folgende Einträge wurden in der plugin.yaml ergänzt (angeschaut mit Notpad++)
                          • Code:
                            fb1:
                            	plugin_name: avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: 49433
                            	cycle: 300
                            	ssl: true
                            	verify: false
                            	call_monitor: false
                          • Neustart von shNG über putty via
                            sudo systemctl restart smarthome.service
                          • Plugin bekommt keine Verbindung zur Fritzbox; Fehlermeldung:
                            Exception when sending POST request: HTTPSConnectionPool(host='192.168.2.4', port=49433): Max retries exceeded with url: /upnp/control/deviceinfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHT TPSConnection object at 0x670efbf0>: Failed to establish a new connection: [Errno 111] Verbindungsaufbau abgelehnt'))
                          • Im Admin-Interface den Call_Monitor von false auf true gesetzt und gesichert.
                          • folgendes steht nun in der plugin.yaml ergänzt (angeschaut mit Notpad++)
                          • Code:
                            fb1:
                            	plugin_name: avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: '49433'
                            	cycle: '300'
                            	ssl: true
                            	verify: false
                            	call_monitor: true
                          • Neustart von shNG über putty via
                            sudo systemctl restart smarthome.service
                          • Plugin bekommt keine Verbindung zur Fritzbox; Fehlermeldung:
                            Exception when sending POST request: HTTPSConnectionPool(host='192.168.2.4', port=49433): Max retries exceeded with url: /upnp/control/deviceinfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHT TPSConnection object at 0x670efbf0>: Failed to establish a new connection: [Errno 111] Verbindungsaufbau abgelehnt'))
                          • Ich habe diese nicht funktionierende Konfiguration mehrfach über das Admin-Interface gesichert. Keine Änderung in der plugin.yaml und das Plugin bekommt keine Verbindung zu Fritzbox.
                          • Nun habe ich folgende Konfig direkt als Block mit Notepad++ in die plugin.yaml kopiert:
                          • Code:
                            fb1:
                            	plugin_name: avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: 49433
                            	cycle: 120
                            	ssl: true
                            	verify: false
                            	call_monitor: false
                          • Neustart von shNG über putty via
                            sudo systemctl restart smarthome.service
                          • Plugin bekommt keine Verbindung zur Fritzbox; Fehlermeldung:
                            Exception when sending POST request: HTTPSConnectionPool(host='192.168.2.4', port=49433): Max retries exceeded with url: /upnp/control/deviceinfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHT TPSConnection object at 0x670efbf0>: Failed to establish a new connection: [Errno 111] Verbindungsaufbau abgelehnt'))
                          • Nun habe ich folgende Konfig direkt als Block mit Notepad++ in die plugin.yaml kopiert:
                          • Code:
                            fb1:
                            	class_name: AVM
                            	class_path: plugins.avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: 49443
                            	cycle: 120
                            	ssl: true
                            	verify: false
                            	call_monitor: true
                          • Plugin bekommt Verbindung zur Fritzbox.
                          • Im Admin Interface die Konfigruation geöffnet und neu gesichert.
                          • In der plugin.yaml wurde der Eintrag wie dadurch wie folgt geändert.
                          • Code:
                            fb1:
                            	plugin_name: avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: '49433'
                            	cycle: '120'
                            	ssl: true
                            	verify: false
                            	call_monitor: true
                          • Plugin bekommt keine Verbindung zur Fritzbox; Fehlermeldung:
                            Exception when sending POST request: HTTPSConnectionPool(host='192.168.2.4', port=49433): Max retries exceeded with url: /upnp/control/deviceinfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHT TPSConnection object at 0x670efbf0>: Failed to establish a new connection: [Errno 111] Verbindungsaufbau abgelehnt'))
                          • Nun habe ich folgende Konfig mit Notepad++ in die plugin.yaml geändert:
                          • Code:
                            fb1:
                            	plugin_name: avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: 49443
                            	cycle: 120
                            	ssl: true # use https or not
                            	verify: false # verify ssl certificate
                            	call_monitor: 'True'
                          • Plugin bekommt Verbindung zur Fritzbox.
                          • Im Admin Interface die Konfigruation geöffnet und neu gesichert.
                          • In der plugin.yaml wurde der Eintrag wie dadurch wie folgt geändert.
                          • Code:
                            fb1:
                            	plugin_name: avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: '49433'
                            	cycle: '120'
                            	ssl: true
                            	verify: false
                            	call_monitor: true
                          • Plugin bekommt keine Verbindung zur Fritzbox; Fehlermeldung:
                            Exception when sending POST request: HTTPSConnectionPool(host='192.168.2.4', port=49433): Max retries exceeded with url: /upnp/control/deviceinfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHT TPSConnection object at 0x668d8f50>: Failed to establish a new connection: [Errno 111] Verbindungsaufbau abgelehnt'))
                          • Nun habe ich folgende Konfig mit Notepad++ in die plugin.yaml geändert:
                          • Code:
                            fb1:
                            	plugin_name: avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: 49443
                            	cycle: 120
                            	ssl: true
                            	verify: false
                            	call_monitor: true
                          • Plugin bekommt Verbindung zur Fritzbox.
                          • Im Admin Interface die Konfigruation geöffnet und neu gesichert.
                          • In der plugin.yaml wurde der Eintrag wie dadurch wie folgt geändert.
                          • Code:
                            fb1:
                            	plugin_name: avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: '49433'
                            	cycle: '120'
                            	ssl: true
                            	verify: false
                            	call_monitor: true
                          • Plugin bekommt keine Verbindung zur Fritzbox; Fehlermeldung:
                            Exception when sending POST request: HTTPSConnectionPool(host='192.168.2.4', port=49433): Max retries exceeded with url: /upnp/control/deviceinfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHT TPSConnection object at 0x668d98d0>: Failed to establish a new connection: [Errno 111] Verbindungsaufbau abgelehnt'))
                          • Nun habe ich folgende Konfig mit Notepad++ in die plugin.yaml geändert:
                          • Code:
                            fb1:
                            	plugin_name: avm
                            	username: smarthome
                            	password: Fortuna1
                            	host: 192.168.2.4
                            	port: 49443
                            	cycle: 120
                            	ssl: true
                            	verify: false
                            	call_monitor: true
                          • Plugin bekommt Verbindung zur Fritzbox.
                          TESTENDE.

                          Der Fehler ist bei mir reproduziertbar, aber nach wie vor nicht erklärbar. Kann ich den Anfragen des Plugins an die Fritzbox mitloggen, um darüber ggf mehr Hinweise zu bekommen?

                          Kommentar


                            bau mal in der Methode _update_fritz_device_info des Plugins das logging hier ein - error damit es auf jdn fall bei dir ausgegeben wird:

                            Code:
                            try:
                                response = self._session.post(url, data=soap_data, timeout=self._timeout, headers=headers, auth=HTTPDigestAuth(self._fritz_device.get_user(), self._fritz_device.get_password()), verify=self._verify)
                                self.logger.error(response.content)
                            except Exception as e:
                                if self._fritz_device.is_available():
                                    self.logger.error("Exception when sending POST request: %s" % str(e))
                                    self.set_device_availability(False)
                            so kriegst du die response vom server raus..

                            zusätzlich könntest Du in der INIT Methode mal die ganzen Parameter ausgeben, die er mit get_parameter_value ausliest. dazu habe ich gerade eine neue debug log zeile in den dev gepusht. das obere möchte ich nicht für alle user rausloggen, da bitte selber aktiv werden.
                            Bei mir sieht es jetzt so aus:
                            Code:
                            2020-01-18  18:47:47 DEBUG    plugins.avm      __init__         fritzbox_7590@: Plugin initialized with host: 192.168.178.1, port: 49443, ssl: True, verify: False, user: smarthome, call_monitor: True
                            (Passwort logge ich nicht)

                            Meine These ist, dass Verify bei Dir nicht auf FALSE steht, bzw. warum auch immer FALSE nicht im Plugin ankommt.
                            Zuletzt geändert von psilo; 18.01.2020, 18:51.

                            Kommentar


                              Zitat von psilo Beitrag anzeigen
                              zusätzlich könntest Du in der INIT Methode mal die ganzen Parameter ausgeben, die er mit get_parameter_value ausliest.
                              Aus der INIT-Methode (ca. Zeile 556):
                              PluginCodet:
                              Code:
                               self._verify = self.get_parameter_value('verify')
                              ssl = self.get_parameter_value('ssl')
                              self.logger.debug('Verify: {}'.format(self._verify))
                              self.logger.debug('SSL: {}'.format(ssl))
                              Plugin.yaml
                              Code:
                              fb1:
                                  plugin_name: avm
                                  username: smarthome
                                  password: Fortuna1
                                  host: 192.168.2.4
                                  port: 49433
                                  cycle: 120
                                  ssl: true
                                  verify: false
                                  call_monitor: true
                              Log:
                              Code:
                              2020-01-18 19:04:27 INFO plugins.avm Init AVM Plugin TEST
                              2020-01-18 19:04:27 DEBUG plugins.avm Verify: False
                              2020-01-18 19:04:27 DEBUG plugins.avm SSL: True
                              Die Werte aus der plugin.yaml scheinen richtig übernommen zu werden.

                              Mit dem anderen Log kämpfe ich noch.

                              Kommentar


                                Zitat von psilo Beitrag anzeigen
                                bau mal in der Methode _update_fritz_device_info des Plugins das logging hier ein - error damit es auf jdn fall bei dir ausgegeben wird:
                                Code:

                                try: response = self._session.post(url, data=soap_data, timeout=self._timeout, headers=headers, auth=HTTPDigestAuth(self._fritz_device.get_user(), self._fritz_device.get_password()), verify=self._verify) self.logger.error(response.content) except Exception as e: if self._fritz_device.is_available(): self.logger.error("Exception when sending POST request: %s" % str(e)) self.set_device_availability(False)
                                Das steht doch genau so im aktuellen Plugin, oder nicht?

                                Hab den Unterschied gefunden. Melde mich gleich wieder

                                Kommentar

                                Lädt...
                                X