Ankündigung

Einklappen
Keine Ankündigung bisher.

In Automation auf KNX String reagieren

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

    In Automation auf KNX String reagieren

    Hallo zusammen,

    ich brauche mal das Schwarmwissen.
    Ich möchte in einer Automation auf verschiedene Strings reagieren, die auf einer GA kommen.

    Soweit so einfach:
    triggers:
    Code:
    - domain: knx
    device_id: b0aa37b12aa6486d394ad69fd214bcaf
    type: telegram
    trigger: device
    group_value_write: true
    group_value_response: true
    group_value_read: true
    incoming: true
    outgoing: true
    destination:
    - 8/5/0
    Aber wie erkenne ich jetzt den String?
    trigger.payload scheint den string zu enthalten aber als Liste, also jeder Buchstabe ein Objekt.
    Kennt einer einen einfachen Weg, den eingehenden String zu vergleichen und dann entsprechend zu reagieren?

    Ich hatte an sowas wie {{trigger.payload == "0x412d303034363532303438000000" }} gedacht.

    Was ich schon versucht habe, ist den String als KNX Entität anzulegen. Probleme:
    - Wenn ich auf Zustandsänderung triggere, dann entgehen mir die unveränderten Telegramme, also wenn zweimal hintereinander der selbe String kommt.
    - Wenn ich auf das Telegramm triggere und dann die Entität abfrage, dann scheint der Wert nicht immer konsistent zu sein, sprich: In der Entität steht noch der vorherige String.

    Vielleicht hat es ja schon jemand so umgesetzt. Google, ChatGPT etc, sind mir irgendwie keine große Hilfe. ​

    #2
    Hi 👋!

    Zitat von DerSeppel Beitrag anzeigen
    Ich hatte an sowas wie {{trigger.payload == "0x412d303034363532303438000000" }} gedacht.
    Kannst du schon machen, aber halt als Liste `payload == [0x41, 0x2d, ...]`

    Zitat von DerSeppel Beitrag anzeigen
    Kennt einer einen einfachen Weg, den eingehenden String zu vergleichen und dann entsprechend zu reagieren?
    Wenn du die GA im Projekt mit einem String-DPT hinterlegt hast, sollte `trigger.value` einfach den String enthalten. Wenn du kein Projekt hast, kannst du das statt mit dem device trigger mit `knx.telegram` über `type` für den Trigger extra setzen. Siehe https://www.home-assistant.io/integr...legram-trigger

    Zitat von DerSeppel Beitrag anzeigen
    Wenn ich auf Zustandsänderung triggere, dann entgehen mir die unveränderten Telegramme
    Bei einem Sensor gibts dafür `always_callback` Siehe https://www.home-assistant.io/integr...lways_callback

    Kommentar


      #3
      Ah, vielen Dank für den Input. Das mit der Liste wird vermutlich gehen. Probiere ich mal aus.
      Wobei es eleganter sein wird, wenn ich das über den Text-Sensor mache. Danke für den Hinweis auf always_callback!

      Kommentar


        #4
        Kurzes Update: Funktioniert jetzt.

        - always_callback ist für den text sensor leider nicht implementiert.
        - Der Hinweis mit dem DPT war richtig. Hab den in der Projektdatei hinzugefügt, jetzt kann ich einfach über trigger.value den String vergleichen.

        Danke!

        Kommentar

        Lädt...
        X