Ankündigung

Einklappen
Keine Ankündigung bisher.

AVM Plugin

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

    Morg du kannst den cycle ja selber via plugin.yaml/.conf anpassen. bei mir ist er auf 120. hängt aber auch von der leistungsfähigkeit der fritzbox ab, ob sie das packt. drum ist default 300

    Kommentar


      Ah, danke für die Info. Ich schau mal rein, vielleicht ändere ich das noch. Aber wie gesagt - im Normalfall ist es den Aufwand kaum wert. Da hab ich gerade noch andere Projekte, die mehr Aufmerksamkeit benötigen (zB. SV 2.9 und aktuelle sh.py.... )

      Kommentar


        Kann mir hier mal jemand unter die Arme greifen?
        Es will einfach nicht....

        Das Plugin mit usernamen passwort etc scheint richtig geladen zu werden und wird auch so im Backend angzeigt.

        Die Items sind vorhanden und im Backend auch angezeigt, also vorhanden.
        Request ist installiert (Okelandy Image).

        Das Problem: Die Items werden nicht befüllt. Bei z.B. Uptime ist kein Wert im Item also '0'

        Es gibt auch keine Fehlermeldung im Log. Ich weiss jetzt nicht mehr so richtig weiter.
        Wo kann ich denn am besten mal ansetzen um zu sehen ob da was läuft und wo es fehlt...

        Ein CURL Aufruf liefert mit dem User - Passwort die richtige Uptime...

        Kommentar


          Dann fang mal an mit Infos rauszurücken, damit wir einen Ansatzpunkt zum helfen haben:
          • etc/plugin.yaml (zumindest die Abschnitte in denen Du AVM Instanzen des Plugins konfigurierst
          • items/*.yaml (zumindest die Teile in denen Du Items für AVM Komponenten definierst.
          Dann kann ich mal schauen ob ich Dein Problem finde.
          Viele Grüße
          Martin

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

          Kommentar


            Also
            Plugin.yaml:

            Code:
            fb1:
                class_name: AVM
                class_path: plugins.avm
                username: user    # optional
                password: pass
                host: '192.168.178.1'
                port: 49443
                cycle: 300
                ssl: True    # use https or not
                verify: False    # verify ssl certificate
                call_monitor: 'True'
                # call_monitor_incoming_filter: "...    ## optional, don't set if you don't want to watch only one specific number with your call monitor"
                avm_identifier: fritzbox_1
            Items:

            Code:
            avm:
            
                uptime_7490:
                    type: num
                    visu_acl: ro
                    avm_data_type@fritzbox_1: uptime
            
                serial_number_7490:
                    type: str
                    visu_acl: ro
                    avm_data_type@fritzbox_1: serial_number
            
                firmware_7490:
                    type: str
                    visu_acl: ro
                    avm_data_type@fritzbox_1: software_version
            
                hardware_version_7490:
                    type: str
                    visu_acl: ro
                    avm_data_type@fritzbox_1: hardware_version
            
                myfritz:
                    type: bool
                    avm_data_type@fritzbox_1: myfritz_status
            
                monitor:
            
                    trigger:
                        type: bool
                        avm_data_type@fritzbox_1: monitor_trigger
                        avm_incoming_allowed: xxxxxxxx
                        avm_target_number: xxxxxxxx
                        enforce_updates: 'yes'
            
                    trigger2:
                        type: bool
                        avm_data_type@fritzbox_1: monitor_trigger
                        avm_incoming_allowed: xxxxxxxx
                        avm_target_number: xxxxxxxx
                        enforce_updates: 'yes'
            
                    trigger3:
                        type: bool
                        avm_data_type@fritzbox_1: monitor_trigger
                        avm_incoming_allowed: xxxxxxxx
                        avm_target_number: xxxxxxxx
                        enforce_updates: 'yes'
            
                    trigger4:
                        type: bool
                        avm_data_type@fritzbox_1: monitor_trigger
                        avm_incoming_allowed: xxxxxxxx
                        avm_target_number: xxxxxxxx
                        enforce_updates: 'yes'
            
                    incoming:
            
                        is_call_incoming:
                            type: bool
                            avm_data_type@fritzbox_1: is_call_incoming
            
                        duration:
                            type: num
                            avm_data_type@fritzbox_1: call_duration_incoming
            
                        last_caller:
                            type: str
                            avm_data_type@fritzbox_1: last_caller_incoming
            
                        last_calling_number:
                            type: str
                            avm_data_type@fritzbox_1: last_number_incoming
            
                        last_called_number:
                            type: str
                            avm_data_type@fritzbox_1: last_called_number_incoming
            
                        last_call_date:
                            type: str
                            avm_data_type@fritzbox_1: last_call_date_incoming
            
                        event:
                            type: str
                            avm_data_type@fritzbox_1: call_event_incoming
            
                    outgoing:
            
                        is_call_outgoing:
                            type: bool
                            avm_data_type@fritzbox_1: is_call_outgoing
            
                        duration:
                            type: num
                            avm_data_type@fritzbox_1: call_duration_outgoing
            
                        last_caller:
                            type: str
                            avm_data_type@fritzbox_1: last_caller_outgoing
            
                        last_calling_number:
                            type: str
                            avm_data_type@fritzbox_1: last_number_outgoing
            
                        last_called_number:
                            type: str
                            avm_data_type@fritzbox_1: last_called_number_outgoing
            
                        last_call_date:
                            type: str
                            avm_data_type@fritzbox_1: last_call_date_outgoing
            
                        event:
                            type: str
                            avm_data_type@fritzbox_1: call_event_outgoing
            
                    newest:
            
                        direction:
                            type: str
                            avm_data_type@fritzbox_1: call_direction
                            cache: 'yes'
            
                        event:
                            type: str
                            avm_data_type@fritzbox_1: call_event
                            cache: 'yes'
            
                tam:
                    index: 1
                    type: bool
                    visu_acl: rw
                    avm_data_type@fritzbox_1: tam
            
                    name:
                        type: str
                        visu_acl: ro
                        avm_data_type@fritzbox_1: tam_name
            
                    message_number_old:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: tam_old_message_number
                        eval: (sh.avm.tam.message_number_total()-sh.avm.tam.message_number_new())
                        eval_trigger:
                          - avm.tam.message_number_total
                          - avm.tam.message_number_new
            
                    message_number_new:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: tam_new_message_number
            
                    message_number_total:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: tam_total_message_number
            
                wan:
            
                    connection_status:
                        type: str
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_connection_status
            
                    connection_error:
                        type: str
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_connection_error
            
                    is_connected:
                        type: bool
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_is_connected
            
                    uptime:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_uptime
            
                    ip:
                        type: str
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_ip
            
                    upstream:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_upstream
            
                    downstream:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_downstream
            
                    total_packets_sent:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_total_packets_sent
            
                    total_packets_received:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_total_packets_received
            
                    current_packets_sent:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_current_packets_sent
            
                    current_packets_received:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_current_packets_received
            
                    total_bytes_sent:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_total_bytes_sent
            
                    total_bytes_received:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_total_bytes_received
            
                    current_bytes_sent:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_current_bytes_sent
            
                    current_bytes_received:
                        type: num
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_current_bytes_received
            
                    link:
                        type: bool
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wan_link
            
                wlan:
            
                    gf_wlan_1:
                        type: bool
                        visu_acl: rw
                        avm_data_type@fritzbox_1: wlanconfig    # 2,4ghz
                        avm_wlan_index: 1
            
                    gf_wlan_1_ssid:
                        type: str
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wlanconfig_ssid    # 2,4ghz
                        avm_wlan_index: 1
            
                    gf_wlan_2:
                        type: bool
                        visu_acl: rw
                        avm_data_type@fritzbox_1: wlanconfig    # 5 GHz
                        avm_wlan_index: 2
            
                    gf_wlan_3:
                        type: bool
                        visu_acl: rw
                        avm_data_type@fritzbox_1: wlanconfig    # Guest
                        avm_wlan_index: 3
            
                    gf_wlan_3_ssid:
                        type: str
                        visu_acl: ro
                        avm_data_type@fritzbox_1: wlanconfig_ssid    # 2,4ghz
                        avm_wlan_index: 3
            
                    gf_wlan_3_tr:
                        type: num
                        visu_acl: rw
                        avm_data_type@fritzbox_1: wlan_guest_time_remaining    # Guest
                        avm_wlan_index: 3
            
                devices:
            
                    fritzbox_KG:
            
                        iphone_2:
                            mac: 60:F4:45:BF:13:45
                            avm_data_type@fritzbox_1: network_device
                            type: bool
                            visu_acl: ro
            
                            # these items need to be child items from network_device, an @... must not be set
                            ip:
                                type: str
                                avm_data_type: device_ip
                                visu_acl: ro
            
                            # these items need to be child items from network_device, an @... must not be set
                            connection_type:
                                type: str
                                avm_data_type: device_connection_type
                                visu_acl: ro
            
                            # these items need to be child items from network_device, an @... must not be set
                            hostname:
                                type: str
                                avm_data_type: device_hostname
                                visu_acl: ro
            
                        iphone_1:
                            mac: B4:8B:19:DD:23:8B
                            avm_data_type@fritzbox_1: network_device
                            type: bool
                            visu_acl: ro
            
                            # these items need to be child items from network_device, an @... must not be set
                            ip:
                                type: str
                                avm_data_type: device_ip
                                visu_acl: ro
            
                            # these items need to be child items from network_device, an @... must not be set
                            connection_type:
                                type: str
                                avm_data_type: device_connection_type
                                visu_acl: ro
            
                            # these items need to be child items from network_device, an @... must not be set
                            hostname:
                                type: str
                                avm_data_type: device_hostname
                                visu_acl: ro
                dect:
            
                    socket_3D_Drucker:
                        type: bool
                        avm_data_type@fritzbox_1: aha_device
                        ain: 08761 0044245    # has to be identical to id in fritzbox (also with spaces!)
                        visu_acl: rw
            
                        # these items need to be child items from aha_device, an @... must not be set
                        energy:
                            avm_data_type: energy
                            type: num
                            visu_acl: ro

            Kommentar


              schuma hast du mal den minimalansatz probiert? also erstmal nur ein item reinkopieren und das beobachten?

              Du kannst in Blöcken wie
              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)
                          xml = minidom.parseString(response.content)
                      except Exception as e:
                          self.logger.error("Exception when sending POST request or parsing response: %s" % str(e))
                          return
              auch einfach mal ein self.logger.debug(response.content) vor das xml = ... schreiben.
              Zuletzt geändert von psilo; 27.12.2017, 17:25.

              Kommentar


                Ok,

                bei mir sieht das etwas anders aus:
                in der etc/plugin.yaml ist der avm_identifier nicht angegeben, der gehört in jedes Item, damit das Item der Plugin Instanz zugeordnet werden kann (wichtig bei mehreren Fritzboxen, wie bei mir). Stattdessen (da ich mehrere Boxen habe ein muss) ist der parameter instance angegeben.

                Code:
                fritzbox1:
                    plugin_name: avm
                #    class_name: AVM
                #    class_path: plugins.avm
                    password: <geheim>
                    host: 10.0.0.4
                    port: 49443
                    cycle: 300
                    ssl: true    # use https or not
                    verify: false    # verify ssl certificate
                    call_monitor: 'True'
                    instance: willy_tel
                In den Items sieht das bai mir so aus:

                Code:
                        uptime_wt:
                            type: num
                            visu_acl: ro
                            avm_data_type@willy_tel: uptime
                            avm_identifier: willy_tel
                Du musst also instance in der plugin.yaml definieren und avm_identifier in der item.yaml

                Viele Grüße
                Martin

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

                Kommentar


                  Zitat von Msinn Beitrag anzeigen
                  Du musst also instance in der plugin.yaml definieren und avm_identifier in der item.yaml
                  So funktioniert es!
                  Bohh 6 Stunden probiert getestet etc...
                  psilo das sollte aber unbedingt so in die Doku Read.me Beispiele etc.


                  Vielen Dank Martin!

                  Kommentar


                    schuma das steht seit anbeginn der zeit RICHTIG in den beispielen im readme https://github.com/smarthomeNG/plugi.../avm/README.md

                    das ist die standard MI Fähigkeit des SmartPlugins. ich kann nicht auf jeden lese/copy and paste fehler hinweisen

                    Kommentar


                      Das in jedem Item ein avm_identifier stehen muss, habe ich aber in den Beispielen nicht gefunden.
                      Oder braucht es das jetzt nicht?

                      Kommentar


                        schuma das gesamte beispiel zieht das avm_data_type bzw das @<instancename> durch. oder fehlt da was?

                        Dein fehler war aber doch das fehlende "instance" im plugin?

                        Kommentar


                          Und der fehlende Eintrag in den Items, laut Martin.
                          Kann ja aber sein, dass das gar nicht benötigt wird. Ich habe das jetzt einfach mal so umgesetzt wie Martin das beschrieben hat.

                          Hat jetzt auf jeden Fall funktioniert.

                          Kommentar


                            schuma wenn ihr mir sagt, wo im readme etwas fehlt, dann update ich das gerne. das beispiel im README sollte aber vollständig sein. Ging es da um den avm_data_type? oder das @<instancename>??? Einen avm_identifier hat das Plugin nicht.

                            zum allgemeinen MultiInstance-Handling via SmartPlugin finde ich in der neuen Doku aber in der Tat nichts.. ich x-checke das mal mit Msinn . wenn es da ist, sollte es besser verlinkt / sichtbar sein.

                            Kommentar


                              psilo undschuma Um die Verwirrung aufzulösen. In den Items stand bei mir noch der Eintrag avm_identifier . Der Eintrag war früher (April 2016) nötig, als es das allgemeine Multiinstance Handling in SmartHomeNG noch nicht gab. Danach ist das AVM Plugin umgebaut worden auf das allgemeine Multiinstance Handling (instance: <instance> in der plugin.yaml und @<instance> in der item.yaml).
                              Viele Grüße
                              Martin

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

                              Kommentar


                                Das was bei schuma fehlte, war der instance: fritzbox_1 Eintrag in der plugin.yaml. Oder alternativ: Wenn nur eine Instanz des AVM Plugin genutzt werden soll, das weglassen von @fritzbox_1 in den Items.
                                Viele Grüße
                                Martin

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

                                Kommentar

                                Lädt...
                                X