Utiliser un Hue Dimmer Switch avec Zigbee Home Automation

Hello,

Avant de passer à Zigbee2MQTT, j’avais tenté le coup avec ZHA qui reste très bon pour qui voudrait une solution 100% native à Home Assistant.

Cas d’utilisation : contrôler trois spots avec un Hue Dimmer Switch.
Si par hasard tous les spots ne sont pas allumés et qu’on appuie sur un des boutons pour augmenter ou diminuer la luminosité, on ne règle que les spots allumés.

Prérequis

  • Avoir ajouté son Hue Dimmer Switch à Zigbee Home Automation

Comment ça marche ?

Le Hue dimmer switch n’expose qu’une entité : le niveau de batterie. Ce qui apparaît comme étant un peu hors contexte :slight_smile:
Il faut donc se fier aux évènements Home Assistant.

Récupération de l’identifiant de l’appareil

Aller dans les outils de développements puis dans évènements.
Dans évènements auquel s’abonner, on saisi zha_event et clique sur commence à écouter.
On appuie sur un bouton du dimmer switch, un appuie simple pour repérer event.data et on_press. Dans l'évènement concerné, il faut repérer le device_id`.

Les automatisations

Cette configuration est indentée pour être mise dans le fichier automations.yaml.

- alias: "Allumer la lumière du salon"
  description: 'Allume toutes les lumières du salon lorsque le bouton On du dimmer switch est appuyé une fois'
  trigger:
  - platform: event
    event_type: zha_event
    event_data:
      device_id: <id>
      command: on_press
  condition: []
  action:
  - service: light.turn_on
    entity_id:
      - light.spot_canape
      - light.spot_cuisine
      - light.spot_fenetre
  mode: single

- alias: "éteindre la lumière du salon"
  description: 'éteindre la lumière du salon quand le bouton OFF du Hue dimmer switch a été pressé'
  trigger:
  - platform: event
    event_type: zha_event
    event_data:
      device_id: <id>
      command: off_press
  condition: []
  action:
  - service: light.turn_off
    entity_id:
      - light.spot_canape
      - light.spot_cuisine
      - light.spot_fenetre
  mode: single

- alias: "Augmenter la luminosité dans le salon"
  description: 'Augmenter la luminosité quand le bouton du dimmer switch est appuyé'
  trigger:
  - platform: event
    event_type: zha_event
    event_data:
      device_id: <id>
      command: up_press
  - platform: event
    event_type: zha_event
    event_data:
      device_id: <id>
      command: up_old
  condition: "{{ is_state('light.spot_canape', 'on') or is_state('light.spot_cuisine', 'on') or is_state('light.spot_fenetre', 'on') }}"
  action:
    service: light.turn_on
    data_template:
      entity_id: "{{ expand(['light.spot_canape', 'light.spot_cuisine', 'light.spot_fenetre']) | selectattr('state','eq','on') | map(attribute='entity_id') | join(',') }}"
      brightness_step_pct: 10
  mode: queued

- alias: "Diminuer la luminosité dans le salon"
  description: 'Diminuer la luminosité quand le bouton du dimmer switch est appuyé'
  trigger:
  - platform: event
    event_type: zha_event
    event_data:
      device_id: <id>
      command: down_press
  - platform: event
    event_type: zha_event
    event_data:
      device_id: <id>
      command: down_old
  condition: "{{ is_state('light.spot_canape', 'on') or is_state('light.spot_cuisine', 'on') or is_state('light.spot_fenetre', 'on') }}"
  action:
    service: light.turn_on
    data_template:
      entity_id: "{{ expand(['light.spot_canape', 'light.spot_cuisine', 'light.spot_fenetre']) | selectattr('state','eq','on') | map(attribute='entity_id') | join(',') }}"
      brightness_step_pct: -10
  mode: queued

Ne pas oublier de remplacer par le device_id et les entités light à contrôler.

Conclusion

Avec ça, on a donc la possibilité d’allumer ou éteindre toutes les lumière que l’on souhaite et de contrôler leur luminosité en appuyant une fois sur plus ou moins (palier de 10%) ou en restant appuyé sur ces mêmes boutons.

Reprendre l’écoute des évènements peut permètre de savoir en suite comment gérer un double ou triple appuie sur un des boutons et donc de n’allumer que certaines lumières selon l’appuie, ce qui donne encore plus de sens à ne changer la luminosité que des lumières actuellement allumées.

3 « J'aime »