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

    Zitat von schuma Sisamiwe Beitrag anzeigen
    Hast Du dir das mit der Temperatur in den Strukts der Smarthome Elemente noch mal angeschaut?
    Ja, habe ich.

    Der "Quickfix" ist, in der plugin.yaml in Zeile 640 "temperatur" --> "temperature" zu korrigieren.
    Warum es bei dir 2 Items, einmal mit 'temperatur' und einmal mit 'temperature' gibt, kann ich nicht nachvollziehen.

    Es gibt aber noch eine Umgereimtheit bei den structs. Beim struct "smarthome_hkr" habe ich "current_temperature" definiert, und beim struct "smarthome_temperature_sensor" das Item "temperature". Beiden greift auf die gleiche Info zu.

    Daher die Frage zu den structs:
    Die AVM smarthome devices habe definierte Funktionen und diese wiederum definierte Werte. Bsp. ein HKR hat die Funktion 'thermostat' und 'temperature_sensor'. Das wird auch pro Gerät im WebIF bzw. im Item "functions" angezeigt.
    Nun stellt sich die Frage, ob ich
    1. die structs gemäß dieser Funktionen definieren soll? Würde bedeuten, dass man bei HKR 3 structs nutzen muss, eines für die allgemeine Daten, eines für die Funktion HKR und eines für die Funktion TEMP_SENSOR.
    2. die structs gemäß je Geräte definieren soll. Hier könnte man pro Geräte ein umfängliches struct definieren.
    Ich würde Ansatz 1 bevorzugen.

    Kommentar


      Hallo, bei mir tauchen zwei Items auf, da ich noch von Hand ein Database eingefügt habe:

      Code:
      smarthome:
          socket_3D_Drucker:
              type: foo
              avm_ain@fritzbox_1: ''
              instance: fritzbox_1
              struct:
                  - avm.smarthome_general
                  - avm.smarthome_switch
                  - avm.smarthome_powermeter
                  - avm.smarthome_temperature_sensor
              temperature:
                  database: 'yes'
              power:
                  database: 'yes'
      Zu den Fragen:
      So wie ich es verstanden habe, ist die Version 1 ja so aktuell umgesetzt. Damit würde ich zumindest klar kommen. Wenn es allerdings in Version 2 mehr Möglichkeiten gibt und es für den Nutzer auch einfacher ist es einzurichten, würde ich sogar Version 2 bevorzugen.

      Grüße, Marc
      Zuletzt geändert von bmx; 05.04.2022, 13:32. Grund: Bitte die Einrückungen überprüfen!!!!

      Kommentar


        Sisamiwe , ich habe die Plugin.yaml geändert. den Eintrag in der Plugin.yaml zu ändern bringt es aber noch nicht.
        Zwar hat sich der Itemname geändert aber das Item wird nicht befüllt.

        Kommentar


          Zitat von schuma Beitrag anzeigen
          Zwar hat sich der Itemname geändert aber das Item wird nicht befüllt.
          Welches Item wird nicht gefüllt?

          Kommentar


            Temperature

            Kommentar


              Zitat von schuma Beitrag anzeigen
              Temperature
              Das hatte ich schon verstanden.
              Stelle bitte deine Item Config hier noch mal ein.

              Nach der Korrektur der plugin.yaml gibt es nur noch ein item "temperature", das aus einer Verschmelzung des structs und der item.yaml entsteht. Richtig?
              Zuletzt geändert von Sisamiwe; 05.04.2022, 14:10. Grund: Ergänzung

              Kommentar


                Das ist richtig. Jetzt ist es nur noch ein Item was verschmolzen ist.
                Die Item Config ist die, die oben abgebildet ist. Die AIN hatte ich händisch fürs Forum entfernt.
                Oder meinst Du den Tree aus dem Admin Interface?

                Kommentar


                  schuma

                  Bei mir wird das Item bzw. die Items gefüllt. Ich nutze HKRs.
                  Welche Funktionen werden von Deinem Gerät (welches ist das gleich nochmal?) unterstützt? Das findest Du im Item .functions.

                  Kommentar


                    schuma
                    Ich würde gern die Entwicklung des Plugins abschließen. Deine Meldung ist der letzte offene Punkt.
                    Kannst Du mit meine Frage noch beantworten?

                    Zitat von Sisamiwe Beitrag anzeigen
                    Welche Funktionen werden von Deinem Gerät (welches ist das gleich nochmal?) unterstützt? Das findest Du im Item .functions.

                    Kommentar


                      Sisamiwe Hallo, die Liste in dem Item functions ist leer []. Das ist eine Schaltbare Steckdose von AVM. Die kann halt auch die Temperatur ausgeben.

                      Kommentar


                        Zitat von schuma Beitrag anzeigen
                        Hallo, die Liste in dem Item functions ist leer []. Das ist eine Schaltbare Steckdose von AVM. Die kann halt auch die Temperatur ausgeben.
                        Das darf/soll so nicht sein.
                        Jedes AVM SmarthomeGerät "meldet", welche Funktionen es mit sich bringt. Das wird in der sogenannten "functionbitmask" codiert übergeben. Siehe hier im Kapitel 3.2. Das Plugin wählt dann je nach vorhandener Funktion das entsprechende Parsing. Deshalb wird dein Temp-Wert auch nicht gefüllt, da die Funktionen nicht sauber angekommen bzw. ausgewertet werden. Bei Dir bzw. der Steckdose müsste: "temperature_sensor, powermeter, switch" im Item.functions gelistet sein.

                        Da müssen wir nochmal einsteigen.
                        • Schickst Du mir bitte noch deine Plugin-Konfig aus der plugin.yaml?
                        • Werden überhaupt Items aus den structs "smarthome_switch, smarthome_powermeter und smarthome_temperature_sensor" gefüllt?
                        • Gibt es im Debug-log Auffälligkeiten?
                        • Kannst Du mir einen Auszug aus dem WebIF des Reiters "AVM Smarthome Devices" schicken? Sind da alle Geräte gelistet?
                        • Du könntest noch eine Debug-Ausgabe einbauen. Füge mal
                          self.logger.debug(f"functionbitmask={functionbitma sk}")
                          nach Zeile 2734 ein.
                        Zuletzt geändert von Sisamiwe; 14.04.2022, 12:33. Grund: Ergänzung

                        Kommentar


                          Also,
                          hier ein Bild aus dem Admininterface:
                          2022_04_14_18_14_06_Shngadmin.png Es werden tatsächlich auch nicht die Power Items gefüllt. Ich kann die SD aber schalten.

                          Die Plugin.yaml ist die originale, bis auf das "temperature". Anhängen ist zu groß hier. Sollte ja aber klar sein.

                          Die Items sind wie oben beschrieben. Hat sich nichts geändert. Evtl. die AIN ohne Leerstelle? Aber dann dürfte man ja auch nicht schalten können....

                          Debug mache ich gleich...

                          Kommentar


                            Oder meinst du die Plugin.yaml ?

                            Code:
                            fb1:
                            class_name: AVM
                            class_path: plugins.avm
                            username: xyz
                            password: xyz
                            host: 192.168.70.10
                            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"
                            instance: fritzbox_1
                            
                            # avm_identifier: fritzbox_1

                            Kommentar


                              Das habe ich jetzt nach dem Neustart noch im Log gefunden:
                              Code:
                              2022-04-14 18:36:43 ERROR lib.plugin Plugin 'fb1' exception during import of __init__.py: invalid syntax (<fstring>, line 1)
                              Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/plugin.py", line 548, in __init__
                              exec("import {0}".format(classpath))
                              File "<string>", line 1, in <module>
                              File "<fstring>", line 1
                              (functionbitma sk)
                              ^
                              SyntaxError: invalid syntax

                              Kommentar


                                OK, der Post 794 liegt an der DEBUG-Zeile die ich eingefügt habe aus Post 791
                                Nach dem entfernen läuft das Plugin wieder.

                                Kommentar

                                Lädt...
                                X