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

    #61
    Hi René,

    die Dokumentation der Änderungen, die das visu Plugin an der smartVISU vornimmt ist in der Datei README_for_developers.md dokumentiert. Schau dor in den Abschnitt Modifications to smartVISU made by the visu plugin.
    Viele Grüße
    Martin

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

    Kommentar


      #62
      Ok danke Trotzdem wäre super, wenn Du noch prüfen könntest, ob ein einzutragender String bereits in der root.html vorhanden ist. Dürfte ja nicht so der Act sein?

      Kommentar


        #63
        Nee klar,

        zumal das durch die kommende Unterstützung von js & css mehr als ein Eintrag ist, der sich vervielfältigen würde.
        Viele Grüße
        Martin

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

        Kommentar


          #64
          Hi,
          habe das Plugin jetzt mal eingebaut. Komme aber mit der ID der Dect-Telefone nicht klar.
          Bei mir heißt das Telefon zB Schlafzimmer.
          Wenn ich das in die Konfig schreibe, bekomme ich:
          Attribute aha_device not available on the FritzDevice

          Gleicher Fehler, wenn ich die ID aus DECT-Monitor nehme.

          Der ganze Rest der Konfiguration geht. Ich habe eine Fritzbox 7490 mit FRITZ!OS: 06.51

          Gibt es dort das Attribute nicht?

          Gruss Andreas

          Kommentar


            #65
            ahas sind avm home automation devices. also bspw dect steckdosen. nicht aber dect telefone. steckdosen haben immer diese lange id. mit anderen ahas wie thermostaten habe ich es mangels geraeten nicht testen können.

            die dinger laufen unter heimnetz - smarthome und die id heisst aktor identifikationsnummer (ain)
            Zuletzt geändert von psilo; 26.04.2016, 18:51.

            Kommentar


              #66
              Hi,

              danke für die Info.

              Jetzt habe ich einfach ein
              sh.avm.set_call_origin("**610") sh.avm.start_call('**620') versucht.

              plugin.conf:
              Code:
              [avm]
                  class_name = AVM
                  class_path = plugins.avm
                  username = NAME # natürlich die aus der Fritzbox
                  password = PW
                  host = 192.168.XXX.XXX
                  port = 49443
                  cycle = 300
                  ssl = True     # use https or not
                  verify = False # verify ssl certificate
                  call_monitor = True
                  avm_identifier = avm7490
              Bekomme aber: Exception: 'Item' object has no attribute 'set_call_origin'

              Was mache ich noch falsch?

              Gruss Andreas

              Kommentar


                #67
                Kann es sein, dass es bei Dir auch eine Itemhierarchie mit [avm] gibt?
                Die Meldung sieht zumindest so aus... SH.py denkt, dass Du nen Itemzugriff machst.

                Am besten halt Plugin umbenennen.

                Kommentar


                  #68
                  Hallo

                  Zitat von psilo Beitrag anzeigen
                  Kann es sein, dass es bei Dir auch eine Itemhierarchie mit [avm] gibt?
                  Danke, das war der Fehler.
                  Werde das Plugin jetzt mal weiter testen. Bisher macht alles einen super Eindruck.

                  Gruss Andreas

                  Kommentar


                    #69
                    @McTao: danke! fokus insbes. auf den CallMonitor und die Threadentwicklung über die Zeit legen bitte. Da sehe ich am meisten Buggefahr...

                    Und wenn jemand die neue WOL Funktion mal testen könnte wäre super, bei mir zu wenig Hardware hier zum vernünftig testen.

                    Kommentar


                      #70
                      Servus,
                      ich habe heute erfolgreich vom Fritzbox 2.0 aufs AVM Plugin gewechselt.
                      Erstmal Respekt für deine klasse Arbeit!!!
                      Das meisste funktioniert auf Anhieb.
                      Bei mir funktioniert jetzt sogar das Call, das hat mit dem Fritzbox Plugin bei mir nie hingehaun.

                      Bei den Fritz Dect 200 Steckdosen hatte ich aber ein paar Probleme mit der Umstellung.
                      Hauptsächlich weil meine Items für die Temperatur meistens nicht als Childitem von den Steckdosen selber waren.

                      Nachdem ich jetzt alles ein bisserl umgeschmissen hab, häng ich nur noch bei einem einzigen Problem.

                      Ich habe noch einen Cometdect Stellantrieb bei mir im Bad hängen, bei dem habe ich mit dem Fritzbox2.0 einfach die AIN und Fritzbox = temperatur eingebaut, und dann hat er zumindest auch die Temperatur ohne zu motzen ausgelesen.

                      Beim AVM Plugin bekomme ich da aber Probleme

                      Wenn ich:

                      HTML-Code:
                       [[Bad]]
                              name = Bad
                              sv_page = room
                              sv_img = scene_hall.svg    
                              
                              [[[Heizung]]]
                              name = Heizung 
                              type = bool
                              avm_data_type = aha_device
                              avm_identifier = fritzbox_1    
                              ain = 10971 0348880
                              
                              [[[[TemperaturMess]]]]
                              type = num
                              visu_acl = rw
                              name = Badtemp 
                              avm_data_type = temperature
                              eval = value / 10
                      nehme,

                      bekomme ich folgende Meldung im Debug:
                      HTML-Code:
                      2016-04-27 17:49:45,141 ERROR    plugins.avm_fritzbox_1 Method plugins.avm_fritzbox_1 exception: 'avm_data_type' -- scheduler.py:_task:362
                      Traceback (most recent call last):
                        File "/usr/smarthome/lib/scheduler.py", line 358, in _task
                          obj()
                        File "/usr/smarthome/plugins/avm/__init__.py", line 529, in _update_loop
                          self._update_home_automation(item)
                        File "/usr/smarthome/plugins/avm/__init__.py", line 1089, in _update_home_automation
                          if child.conf['avm_data_type'] == 'temperature':
                      KeyError: 'avm_data_type'

                      Es wird die Temperatur angezeigt, ABER der Status der Steckdosen wird nicht mehr aktualisiert.

                      Stell ich die AIN bei TemperaturMess rein, bekomm ich keine Fehlermeldung, ABER auch keine Temperatur.

                      Ich schätzte mal das hängt mit dem
                      PHP-Code:
                      if item.conf['avm_data_type'] == 'aha_device':
                                  
                      element_xml xml.getElementsByTagName('NewSwitchState'
                      zusammen da das Cometdect ja kein Fritz Switch ist.

                      Wie ich das beheben könnte entzieht sich leider meinen bescheidenen Python Kenntnissen.


                      Vielleicht kann mir jemand helfen.

                      Vielen Dank schonmal.

                      Gruß Wolfi

                      Kommentar


                        #71
                        Ich versuche es gerade mal nachzuvollziehen. Ansich sind das Standardwerte aus der TR-064 API. Was Du immer tun könntest ist mal gegen den GetSpecificDeviceInfos direkt mit einem CURL gehen.

                        Kommentar


                          #72
                          Bau mal den try - catch block in der _update_home_automation so um und schau was der logger in der neuen Zeile rausloggt. CURL geht bei mir nciht, weil der Service authentisierung braucht und ich will da jetzt nicht ewig rummachen..

                          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.debug(response.content)
                          
                                      xml = minidom.parseString(response.content)
                                  except Exception as e:            
                                      self.logger.error("Exception when sending POST request or parsing response: %s" % str(e))
                                      return
                          Der NewSwitchState ist eine Standardantwort des GetSpecificDeviceInfos (http://avm.de/fileadmin/user_upload/...x_homeauto.pdf), das hat nichts mit Deinem Gerät zu tun.Aus meiner Sicht gibt es gerade Probleme auf Dein Childitem zuzugreifen, ich bin nur nicht sicher warum. Hast Du ein weiteres Child ohne avm_data_type???
                          Zuletzt geändert von psilo; 27.04.2016, 19:00.

                          Kommentar


                            #73
                            Ich stelle gerade noch nen fix mit einem "if 'avm_data_type' in child.conf:" rein. Evtl fixt das dein Problem, den Codezeilen nach hattest Du sowieso nicht die neuste Version aus dem DEV.. Zieh Dir die mal..

                            Kommentar


                              #74
                              Zitat von psilo Beitrag anzeigen
                              Bau mal den try - catch block in der _update_home_automation so um und schau was der logger in der neuen Zeile rausloggt. CURL geht bei mir nciht, weil der Service authentisierung braucht und ich will da jetzt nicht ewig rummachen..

                              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.debug(response.content)
                              
                              xml = minidom.parseString(response.content)
                              except Exception as e:
                              self.logger.error("Exception when sending POST request or parsing response: %s" % str(e))
                              return
                              Der NewSwitchState ist eine Standardantwort des GetSpecificDeviceInfos (http://avm.de/fileadmin/user_upload/...x_homeauto.pdf), das hat nichts mit Deinem Gerät zu tun.Aus meiner Sicht gibt es gerade Probleme auf Dein Childitem zuzugreifen, ich bin nur nicht sicher warum. Hast Du ein weiteres Child ohne avm_data_type???


                              AAAAHH das Childitem wars.

                              ich hab noch 2 childitems zum Testen drin gehabt hatte alles rausgeschmissen, also nur noch

                              HTML-Code:
                                 [[[[TemperaturIst]]]]
                                      type = num
                                      visu_acl = rw
                                      name = Badtemp
                              an die hatte ich jetzt überhaupt nicht gedacht.

                              Merci vielmals

                              Gruß Woli

                              Kommentar


                                #75
                                naja mit fix sollten items ohne avm data type jetzt auch nicht mehr wehtun..

                                lade bitte trotzdem mal die neuste version aus dem dev. habe am wochenende viel umgebaut

                                Kommentar

                                Lädt...
                                X