Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin Skeleton

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

    Plugin Skeleton

    Hi zusammen!

    Ich habe Fragen zum Skeleton Plugin im dev Ordner..
    a) Im update_item heißt es self.logger("update_item was called with item '{}' from caller '{}', source '{}' and dest '{}'".format(item, caller, source, dest))
    Sollte das nicht self.logger.debug heißen?

    b) Ebenfalls unter def update_item steht in der ersten Zeile
    if item():
    Führt diese Zeile nicht dazu, dass der darunter angegebene Code nur ausgeführt wird, wenn das Item den Wert 1 hat? Mir erschließt sich der Sinn dieser Zeile nicht ganz..

    c) Wie sollte denn nun die Abfrage, ob ein Item ein bestimmtes Attribut hat, aussehen.. Bis dato wurde ja meist verwendet:
    if 'foo' in item.conf:
    Neu wäre aber if self.has_iattr(item.conf, 'foo'): zu bevorzugen, sehe ich das richtig?

    #2
    Zu c: Ja, has_iattr ist zu verwenden, da dies die Instanz des Plugins implizit mitberücksichtigt

    Kommentar


      #3
      Das Skeleton habe ich an die neuen Gegebenheiten angepaßt und aus dem Plugin rauskopiert. Es nennt sich jetzt sample_plugin.
      Zu a) Ja.
      zu b) Mir erschließt sich das auch nicht. Ich würde es rausnehmen. Da ich aber auf dieser Basis noch kein neues Plugin geschrieben habe, kann ich das derzeit nicht nachvollziehen. Wenn Du einfach mal in andere Plugins schaust, kannst Du feststellen, ob es dort benötigt wird. Vermutlich kann das da raus.
      zu c) Ja.

      Kommentar


        #4
        Ich hab mal in andere Plugins geschaut, das if item() konnte ich eigtl. nirgends finden. Zu c) war ja auch mal die Diskussion, wie man dann den eigentlichen Wert des Attributs abfragen soll. Gibt es das get_iattr und wäre das der bevorzugte Weg?

        Kommentar


          #5
          https://github.com/smarthomeNG/smart...ki/SmartPlugin kennst du? Ja, get_iattr...

          Kommentar

          Lädt...
          X