Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

Probleme mit dict Element

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

    Probleme mit dict Element

    Hallo zusammen,

    kann wir jemand sagen was hier falsch ist?

    Code:
    Test_mqtt:
        type: dict
        mqtt_topic_in: shellies/shellydimmer2-xyz/light/0/status
        on_change:
        - ..Test_mqtt_Level = value['brightness']
        - ..Test_mqtt_State = value['ison']
    Test_mqtt_Level:
        type: num
        on_change:
        - ..Test_mqtt_out = {"brightness":Test_mqtt_Level(), "turn":Test_mqtt_State()}
    Test_mqtt_State:
        type: bool
        on_change:
        - ..Test_mqtt_out = {"brightness":Test_mqtt_Level(), "turn":Test_mqtt_State()}
    Test_mqtt_out:
        type: dict
        mqtt_topic_out: shellies/shellydimmer2-xyz/light/0/set​
    Es kommt dann einer Warnung

    WARNING lib.item.item Item Test_mqtt_State: 'On_Change' item-value='True' problem evaluating {"brightness":Test_mqtt_Level(), "turn":Test_mqtt_State()}: name 'Test_mqtt_Level' is not defined

    Ich denke daher das mein Code bei dem OnChange Falsch sein muss, komme aber leider nicht auf die Lösung :-(


    #2
    stimmt die Adressierung der items in den Test_mqtt_out Dicts? IMHO müsste es "sh.Test_mqtt_Level()" heißen bzw. innerhalb der jeweiligen item-Definition einfach "value".

    Also z.B.
    Code:
    Test_mqtt_Level:
    type: num
    on_change:
    - ..Test_mqtt_out = {"brightness": value, "turn": sh.Test_mqtt_State()}​
    Gruß
    Wolfram

    Kommentar


      #3
      In den on_change Attributen fehlt bei dem Zugriff auf die Items das sh. vorne weg.

      Statt
      Code:
      on_change:
      - ..Test_mqtt_out = {"brightness":Test_mqtt_Level(), "turn":Test_mqtt_State()}
      ​
      muss das
      Code:
      on_change:
      - ..Test_mqtt_out = {"brightness":sh.Test_mqtt_Level(), "turn":sh.Test_mqtt_State()}
      ​
      heissen
      Viele Grüße
      Martin

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

      Kommentar

      Lädt...
      X