Automatisation MQTT sur shelly RGBW

Bonjour messieurs !
je suis embêté sur une automatisation : je souhaite faire simplement un on/off d’un shelly RGBW avec un bouton aqara.

Voici mon code :

- id: led terrasse (on)
  alias: led terrasse (on)
  trigger:
  - platform: event
    event_type: xiaomi_aqara.click
    event_data:
      entity_id: binary_sensor.switch_158d0004506d69
      click_type: single
  condition: []
  action:
  - service: mqtt.publish
    topic: shellies/shellyrgbw2-5A3760/color/0/command
    payload: on

Lorsque je valide via file editor il ne m’indique aucune erreur. J’ai test le mqtt.publish via outil de développement et la commande fonctionne. J’ai aussi vérifié via « écouter un évènement » que mon bouton xiaomi fonctionne.

Je suis passer par le file editor pour faire cette automatisation. Après reboot celle ci n’apparait pas dans la liste des automatisations, que l’on peut trouver via l’onglet configuration de HA. Cela peut venir de la ? (c’est ma 1ere que je fais sans passer par l’éditeur visuel).

Merci de votre aide.

Si elle n’apparaît pas, ça semble être un problème de configuration.

Tu l’as écrite dans quel fichier ?

À quel emplacement ?

Et enfin, dans le fichier configuration.yaml, tu as quoi comme lignes contenant le terme automation ?

réponds à chaque question en les sélectionnant avec la souris et en cliquant sur le bouton CITER

Salut,
voici les réponses :

je l’ai écrite dans le fichier automations.yaml (la ou il y a deja les automations crée via le visuel HA)

A la fin du fichier :
Capture

j’ai ceci : automation: !include automations.yaml

Merci pour ton aide.

La chose que je peux dire rapidement, c’est que

- id: led terrasse (on)
  alias: led terrasse (on)

je le remplacerai par

- id: led_terrasse_on #sans espaces
  alias: led terrasse (on)

Tu dois avoir une erreur présente dans ton fichier log qui parle de automation, tu peux le partager ?

effectivement j’ai ceci :

Logger: homeassistant.components.hassio
Source: components/hassio/__init__.py:383
Integration: Hass.io ([documentation](https://www.home-assistant.io/hassio), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+hassio%22))
First occurred: 11:13:46 (2 occurrences)
Last logged: 13:55:42

`Invalid config for [automation]: [topic] is an invalid option for [automation]. Check: automation->action->0->topic. (See ?, line ?). Invalid config for [automation]: [topic] is an invalid option for [automation]. Check: automation->action->0->topic. (See ?, line ?).`

donc si je comprend bien, je ne peux pas utiliser topic dans une automation. Je vais enquêter de ce coté.

Du coup c’est pas l’id (je viens d’apprendre un truc :+1:)

J’avais pas vu mais mets les données du service dans la balise data :

service: mqtt_publish
data:
  topic: blabla
  payload: on

Bon je ne comprend vraiment pas ou ca merde. J’ai refais des tests via mqtt :


Le bandeau s’allume et s’éteint correctement. Le bouton j’ai bien les events qui remontent. J’ai tenté de faire lautomation via le visuel HA, ce qui me donne :

- id: '1605279953117'
  alias: test bouton led terrasse
  description: ''
  trigger:
  - platform: event
    event_type: xiaomi_aqara.click
    event_data:
      entity: binary_sensor.switch_158d0004506d69
      click_type: single
  condition: []
  action:
  - service: mqtt.publish
    data:
     topic: shellies/shellyrgbw2-5A3760/color/0/command
     payload: 'on'
  mode: single

je recharge les automations, mais ca ne fonctionne tjrs pas, le bandeau ne réagis pas. Bien vu pour le data @Clemalex

Par contre via mon lovelace cela fonctionne. J’avais recup le code de thehookup, que j’ai mis dans configuration.yaml : GitHub - thehookup/Shelly-RGBW2: A repository for Shelly RGBW2 control in Home Assistant via MQTT. Cela peut-il venir de la ?

Du coup, t’en est où exactement ?
Ton automatisation apparaît maintenant ?(je pense que oui, vu que t’es partie sur le mode graphique)

Montre nous la configuration (code yaml) de la carte qui fonctionne.

light:
  - platform: mqtt
    schema: template
    name: "LED TERRASSE"
    command_topic: "shellies/shellyrgbw2-5A3760/color/0/set"
    state_topic: "shellies/shellyrgbw2-5A3760/color/0/status"
    effect_list:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
    command_on_template: >
      {"turn": "on"
      {%- if brightness is defined -%}
      , "gain": {{brightness | float | multiply(0.3922) | round(0)}}
      {%- endif -%}
      {%- if red is defined and green is defined and blue is defined -%}
      , "red": {{ red }}, "green": {{ green }}, "blue": {{ blue }}
      {%- endif -%}
      {%- if white_value is defined -%}
      , "white": {{ white_value }}
      {%- endif -%}
      {%- if effect is defined -%}
      , "effect": {{ effect }}
      {%- endif -%}
      }
    command_off_template: '{"turn":"off"}'
    state_template: "{% if value_json.ison %}on{% else %}off{% endif %}"
    brightness_template: "{{ value_json.gain | float | multiply(2.55) | round(0) }}"
    red_template: '{{ value_json.red }}'
    green_template: '{{ value_json.green }}'
    blue_template: '{{ value_json.blue }}'
    white_value_template: '{{ value_json.white }}'
    effect_template: '{{ value_json.effect }}'
    qos: 2
    retain: false

Je précise j’ai test les 2 topics : shellies/shellyrgbw2-5A3760/color/0/set (et shellies/shellyrgbw2-5A3760/color/0/command comme montré sur la doc du shelly : Welcome to Shelly Technical Documentation | Shelly Technical Documentation et les 2 façons fonctionnent. Il n’y a vraiment que l’automatisation qui ne se lance pas.

Du coup j’en suis au meme point, j’ai fais une petite pause pour réfléchir :smiley:

Est-ce que tu a une entité light.led_terrasse du coup ?

Si oui, ton automation devrait être :

- id: '1605279953117'
  alias: test bouton led terrasse
  description: ''
  trigger:
  - platform: event
    event_type: xiaomi_aqara.click
    event_data:
      entity: binary_sensor.switch_158d0004506d69
      click_type: single
  condition: []
  action:
  - service: light.turn_on
    data:
      entity_id: light.led_terrasse
  mode: single

c’est le service light qui est appelé ici

oui cette automation fonctionne. Mais du coup le service mqtt.publish on peut faire quoi avec ?
Si vraiment on peut pas l’utiliser, je validerais cette solution :+1:

Je n’utilise pas MQTT, mais pour moi le service en question ne concerne pas les lampes, vu que HA permet l’utilisation de la plateforme light pour ce même domaine.

C’est difficile de te répondre mais le service de publication peux être utile pour d’autre utilisations, comme se faire sa propre base de donnée sur un serveur distant de HA par exemple, publier des messages pour récupérer cette valeur pour faire tout ce que l’on imagine…

je me pencherais sur le mqtt plus tard, j’en ai pas réellement besoin, c’été surtout pour comprendre comment ca fonctionne, le principal est que mon bandeau led fonctionne :stuck_out_tongue: . Merci pour ton aide. Je valide la solution :slight_smile:

1 « J'aime »