Commande d'un automatisme Node-red depuis un bouton KNX

Bonjour,
Je souhaiterais utiliser un interrupteur KNX disponible pour augmenter le chauffage d’une pièce lorsqu’une séance de repassage se profile à l’horizon… Eh oui, Madame est frileuse. Quand à moi, pour couper court à toute remarque acerbe, l’accès à cette pièce m’est formellement interdit ! :joy: :joy: :joy:

Pour cela, j’ai créé un automatisme HA déclenché par une entité input_boolean.
L’ensemble fonctionne correctement dans HA

Je crée maintenant un expose dans FileEditor pour charger l’interrupteur KNX mais celui-ci ne répond pas.
Je pense que le problème pourrait venir de la définition de expose, entre le type et le input_boolean mais je ne vois pas la solution dans les exemples expose de l’intégration.

Merci pour votre aide,
patrickp78

knx:
  expose:
    - type: binary
      entity_id: "input_boolean.on_off_repassage"
      address: "0/0/16"

Bonjour,

“expose:” ne sert qu’à exposer des informations dans un A.G. pour que H.A agisse comme un actionneur vous pouvez utiliser une automation du type:

triggers:

  trigger: knx.telegram
  destination: "xx/xx/xx" # A.G

actions:

  - choose: 

    - conditions: "{{ trigger.data[0] == 0 }}"
      sequence:
      - action: input_boolean.turn_off
        target:
          entity_id: xxxxxxxxxxx


    - conditions: "{{ trigger.data[0] == 1 }}"
      sequence:
      - action: input_boolean.turn_on
        target:
          entity_id: xxxxxxxxxxx
    

De plus vous pourrez utiliser le “expose” comme retour d’état

Mcp

Merci pour le retour, mais…
Est-ce que je dois mettre tout ce code dans le fichier configuration.yaml ?
Comment se fait la liaison avec ETS6 ?
Voici les adresses de groupe que j’ai affectées sur l’interrupteur.

AG

Avec, si j’ai bien compris :
destination: « 0/0/16 »
entity_id: input_boolean.on_off_repassage

AG, c’est bien Adresse de Groupe ?

Dans une automatisation

Oui, c’est bien cela

Oui, pardon c’est adresse group

Dans ETS, il faut créer l’AG et lier votre bouton poussoir avec.

Mcp

Désolé mais je n’ai visiblement pas tout compris.
Juste pour mémoire, j’ai créé une entrée input_boolean.on_off_repassage et avec ce bouton dans HA, je modifie le régime de chauffage. Ça, ça fonctionne.
Maintenant je veux envoyer ça dans ETS pour pouvoir actionner un interrupteur KNX (A.G. 0/0/16)

J’ai donc mis le code dans File Editor et j’ai ce message quand je veux lancer le redémarrage…

Dans quel fichier l’avez-vous mis ?

Il faut que cela soit dans une automation

Mcp

Pas très habitué aux automations HA, je les fais dans Node-Red… personne n’est parfait ! :joy:
Collé le code à la suite de tout ce qui existe,

Avec ce message à la fin (il doit manquer un - .id: xxxxxx pour commencer, ce qui voudrait dire que l’automation devrait être faite dans HA Automation, mais là je ne sais pas comment commencer et entrer le trigger: knx.telegram et la suite).

end of the stream or a document separator is expected (332:1)

 329 |       entity_id:
 330 |       - button.vertical_reset_m ...
 331 |   mode: single
 332 | triggers:
-------^
 333 |   trigger: knx.telegram

Si vous avez plusieurs automations dans un fichier, oui cela est le cas

il vous faut ajouter le “-id:” avant le “triggers:” ligne 332

il faut juste un nom unique pour l’id, exemple - id: bouton_repassage_via_knx

mcp

Salut

Aller modifier le fichier automation.yaml n’est pas une bonne idée. Pour ajouter une automatisations on se sert de l’interface automatisations.

1 « J'aime »

Il est possible qu’il y ait eu confusion parce qu’en fait, l’automatisation avait déjà été faite dans Node-Red…
Quoi qu’il en soit, mon interrupteur KNX ne déclenche toujours pas. Je dois m’arrêter pour aujourd’hui, je reprends demain avec votre aide si vous êtes dispo.
Merci @mcp

Oups ! En furetant dans les automations, je m’aperçois d’un problème avec le trigger (la suite semble bonne) !!!

Voilà où j’en suis :
1 - j’ai supprimé le code expose dans configuration.yaml
2 - le code dans Automation.yaml

- id: on_off_repassage
  triggers:
    trigger: knx.telegram
    destination: "0/0/16"
  actions:
    - choose: 
      - conditions: "{{ trigger.data[0] == 0 }}"
        sequence:
        - action: input_boolean.turn_off
          target:
            entity_id: input_boolean.on_off_repassage
      - conditions: "{{ trigger.data[0] == 1 }}"
        sequence:
        - action: input_boolean.turn_on
          target:
            entity_id: input_boolean.on_off_repassage

3 - les adresses de groupe dans ETS
AG

4 - l’automation dans HA

C’est juste que le trigger knx.telegram n’est pas pris en charge par l’interface graphique :slight_smile:

la partie “expose:” devrait être à destination de votre AG 0/0/17 pour le retour d’état et celle-ci doit être dans une section “knx:”

mcp

Donc je vire tout le code dans automation.yaml et je remets le code expose dans knx: du yaml en remplaçant le On/Off 0/0/16 par le retour d’état 0/0/17. C’est bien ça ?

A moins que le code de l’automation soit bon et qu’il ne faille pas tenir compte de l’interface graphique ?
J’avoue que je ne sais plus en j’en suis…

Bonjour,

Il ne faut pas tenir compte de l’ “IHM” ce trigger n’est pas pas implémenté … il faut mettre le code dans votre fichier d’automation, dans votre cas le “automation.yaml”.

Pour le “expose:” il faut le mettre sous la section “knx:” du fichier configuration.yaml par défaut, sinon dans le fichier que vous avez choisi pour cette configuration, comme dans l’exemple de ma documentation:

D’ailleurs celle-ci est relativement complète et avec de nombreux exemples.

Mcp

Bonjour,

Voici ma solution après bien des tergiversations techniques.
But : changer le régime de chauffage de la pièce dans laquelle se fait le repassage (passer de « standby » à « confort »
Moyen : utiliser un bouton disponible sur un thermostat Hager KNX situé dans une chambre d’amis dans laquelle se fait le repassage, afin de changer en « Confort » le régime de chauffage s’il est en « standby » grâce à un automatisme Node-Red

L’affectation des Adresses de Groupe dans ETS6 :

  • le bouton 5 est en mode télérupteur en clignotement continu
  • j’ai ajouté l’éclairage du porte-étiquette quand le bouton est sur ON
    nb : il s’agit d’un chauffage au sol. Le radiateur électrique (bouton 6) n’est pas concerné

Le code dans File editor :

knx:
  light:
     - name: 'KNX Repassage'
       address: '0/0/16'
       state_address: '0/0/17'

L’automatisme Node-Red : il pourra être complété pour assurer un retour au mode initial quand le bouton passe à OFF

Remarque : bien que j’ai des doutes sur la bonne affectation du retour d’état 0/0/17, l’ensemble marche correctement sans avoir eu besoin de faire appel à un « expose » KNX.
N’hésitez-pas si vous voyez matière à optimisation.
patrickp78

Ce sujet a été automatiquement fermé après 2 jours. Aucune réponse n’est permise dorénavant.