Ankündigung

Einklappen
Keine Ankündigung bisher.

Unerwartetes Verhalten in update_item()

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

    Unerwartetes Verhalten in update_item()

    Hallo,

    wenn mein Plugin nach dem Start seine Items aktualisiert, wird immer update_item() aufgerufen, was in diesem Kontext unpraktisch ist. Es besteht zwar die Möglichkeit die Aufrufparameter zu prüfen, aber sie sind in solchen Fällen wie folgt gesetzt:
    Code:
    caller = Logic, source = None, dest = None
    D.h. momentan kann ich nicht zwischen einem "Kurzschluß" (eigene Aktualisierung) und einem externen Logik-Aufruf unterscheiden. Gibt es etwas, was ich übersehen habe?

    Wenn die Logik alle Parameter einmal empfangen hat, verhält sie sich wieder wie erwartet - update_item() wird nur bei externen Änderungen aufgerufen.

    Das einzige Workaround, wäre ein Flag pro Parameter zu setzen, so dass die erste Aktualisierung durch die Logik nicht ausgeführt wird.

    Gruß
    toggle

    #2
    Hallo,

    Du kannst Cache verwenden, dann sollte es keine Änderung bei der Initialisierung geben. Oder sqlite = init.

    Bis bald

    Marcus

    Kommentar


      #3
      Es handelt sich um Einstellungen, die von der Wärmepumpe kommen. Es macht nicht wirklich Sinn, sie zu cachen oder in die Datenbank zu schreiben. Sie sollten nur bewußt geschrieben werden.

      Kommentar


        #4
        Hallo,

        Du kannst auch bei dem Item-Update eine "source" als Attribut mitgeben, das kannst Du später auch wieder rausfiltern. Das macht z.B. das KNX Plugin so.

        Bis bald

        Marcus

        Kommentar


          #5
          Ja, das macht Sinn. Danke!

          Kommentar

          Lädt...
          X