Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Event KNX
#1
Bonsoir à tous,

Quelqu'un a-t-il déjà reussi à faire un event KNX dans HA ?

En gros j'ai un bouton sur un interrupteur et je voudrais déclencher une automation HA avec mais je fais chou blanc..

J'ai intégré ceci en dans les yaml knx :


Code :
##################
#    Event
##################
  event:
    - address:
      - '5/12/8'
##################

Et j'ai intégré ceci dans mon automation :

Code :
trigger:
  platform: event
  event_type: knx_event
conditions:
  - condition: template
    value_template: "{{ trigger.event.data.destination == '5/12/8' }}"

Mais l'automation ne se déclenche pas.. 

Si vous avez une idée je suis preneur. Merci !
Répondre
#2
dans home assistant tu as ceci:

Events [/url]
Code :
knx:
  event:
    - address:
        - "0/1/*"
    - address:
        - "1/2/*"
        - "1/3/2-4"
      type: "2byte_unsigned"
    - address:
        - "3/4/5"
      type: "2byte_float"

[size=1]YAML

[/size]
[size=1]Configuration Variables 
Looking for your configuration file?
address list | string [size=1]Required[/size]
Defines a list of patterns for matching KNX group addresses. Telegrams with destination addresses matching one of the patterns are sent to the Home Assistant event bus as 
[/size]

Code :
knx_event
.
[size=1]type 
string | integer (Optional)[url=https://www.home-assistant.io/integrations/knx/#type]
Telegram payloads in 
[/size]

Code :
knx_event
 events will be decoded using the configured type (DPT) for the addresses in the same block. The decoded value will be written to the event data 

Code :
value
 key. If not configured the 

Code :
value
 key will be 

Code :
None
 - the 

Code :
data
 key will still hold the raw payload (use this for DPT 1, 2, 3). All sensor types are valid types - see KNX Sensor (e.g., “2byte_float” or “1byte_signed”).
Every telegram that matches an address pattern with its destination field will be announced on the event bus as a 
Code :
knx_event
 event containing data attributes
  • Code :
    data
     contains the raw payload data (e.g., 1 or “[12, 55]”).
  • Code :
    destination
     the KNX group address the telegram is sent to as string (e.g., “1/2/3”).
  • Code :
    direction
     the direction of the telegram as string (“Incoming” / “Outgoing”).
  • Code :
    source
     the KNX individual address of the sender as string (e.g., “1.2.3”).
  • Code :
    telegramtype
     the APCI service of the telegram. “GroupValueWrite”, “GroupValueRead” or “GroupValueResponse” generate a knx_event.
  • Code :
    value
     contains the decoded payload value if 

    Code :
    type
     is configured for the address. Will be 

    Code :
    None
     for “GroupValueRead” telegrams.
si ca peut t'aider
Répondre
#3
Effectivement j'ai formaté autrement le trigger :

Code :
triggers:
  - trigger: knx.telegram
    destination: 5/12/8

Et cela fonctionne maintenant ! Merci
Répondre
#4
C'est quand même particulier, je veux faire quelque chose de pas sorcier pourtant :

J'ai un bouton KNX sur un interrupteur. Il a 2 GA, une pour le toogle, une pour le retour d'état.

Je veux que lorsque j'appuis sur l'interrupteur, un script HA se lance et dise à l'interrupteur que c'est ON.
Si j'appuis à nouveau, je veux que le script HA se lance et dise à l'interrupteur que c'est OFF.
Comme si je voulais allumer quelque chose depuis le KNX via HA et avoir le retour d'état qui se mette à jour

La base en somme non ? Je trouve que HA parfois niveau formatage est beaucoup trop complexe pour des opérations de base..
Si quelqu'un a déjà fait cela je suis preneur
Répondre
#5
pourquoi passes tu par un script 
il suffit pour moi si j'ai bien compris de créer un knx_switch avec 1GA pour le switch et 1 GA pour l'état
Répondre
#6
je ne comprends pas ce que tu dis ?

Creer une entité switch knx ? oui je l'ai faite mais derriere je dois agir sur quelque chose qui n'est pas knx et avec plusieurs options donc je ne vois pas comment faire autrement.

Sur le principe ca fonctionne de toute façon, si j'utilise que la partie "Toogle" et que je lance l'automation cela fonctionne nickel. Par contre j'aimerai que le fait d'avoir lancé cette action retourne l'état 1 à l'interrupteur, et du coup si je rappuis sur le bouton que ca fasse l'automation inverse.
Répondre
#7
Ton bouton commande t il un switch dans KNX ou bien uniquement un actionneur non KNX ??
Répondre
#8
(28/12/2025, 20:15:46)richardpub a écrit : Ton bouton commande t il un switch dans KNX ou bien uniquement un actionneur non KNX ??

C'est un bouton sur un interrupteur KNX, qui doit commander quelque chose dans HA (et renvoyer l'état au bouton, c'est cette partie qui pose problème)
Répondre
#9
C'est bon j'y suis arrivé, donc pour ceux que cela interesse :

J'ai un bouton sur un interrupteur KNX qui doit declencher une automation sur HA, ce même bouton doit subir l'état de l'activation de l'automation pour permettre de désactiver ensuite l'automation.
Chez moi 5/12/8 est le toggle du bouton, 5/12/9 est le retour d'etat dudit bouton.

Voici donc le code nécessaire :

Code :
alias: ****nom de votre automation****
description: ""
triggers:
  - trigger: knx.telegram
    destination: 5/12/8
actions:
  - choose:
      - conditions:
          - condition: template
            value_template: "{{trigger.payload == 1 }}"
        sequence:
          - action: knx.send
            data:
              payload: 1
              address: 5/12/9
.... vos infos d'automation ici
....
      - conditions:
          - condition: template
            value_template: "{{trigger.payload == 0 }}"
        sequence:
          - action: knx.send
            data:
              payload: 0
              address: 5/12/9
.... vos infos d'automation ici
....

mode: single
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)