Alarmo - comment creer un sensor pour récupérer l'état de l'alarme?

Bonjour,

j’ai monté un lecteur RFID avec esp32 pour armer/désarmer alarmo (je me suis largement inspiré du projet suivant : GitHub - aronkahrs-us/ESPHome-Alarm-Panel-Keypad-Rfid-Display: DIY Alarm Panel using NodeMCU v3 ESP8266 for Home Assistant (Alarmo), using a 4x4 matrix keypad, RFID(RC522) and a MAX7219 7-Segment Dislpay). Pour le moment j’arrive à envoyer à HA l’ID d’un badge RFID enregistré (la prochaine étape sera d’armer/désarmer l’alarme en présentant le badge).
Mais avant ça, je souhaite faire sonner mon boitier (avec un buzzer passif) lors des changements d’état d’alarmo. Je n’arrive pas a créer un sensor qui me renvoi cet état (sous forme numérique) pour l’utiliser dans esphome, voilà le code que j’utilise (et qui ne fonctionne pas) dans mon sensors.yaml :

  - platform: template
    sensors:
     alarm_state:
      value_template: >-
        {% set alarm_states =  {
            'disarmed' : 0,
            'arming' : 1,
            'armed_away' : 2,
            'armed_home' : 3,
            'armed_night' : 4,
            'armed_vacation' : 5,
            'armed_custom_bypass' : 6,
            'pending' : 7,
            'triggered' : 8 } %}
        {% set state =  states.alarm_control_panel.alarmo %}
      friendly_name: Alarm State (esphome)
      icon_template: mdi:security

qu’est ce qui cloche là dedans?
Merci à tous.

Bonjour @xavier
Pas sur PC donc un peu compliqué de préciser ma, réponse, j’utilise aussi des badges rfid dans ce but.
Voici mon automatisation:

alias: Balise activation Alarme
description: Pour les filles
mode: single
triggers:
  - id: Estelle
    tag_id: 04-93-2D-2A-F7-0F-96
    trigger: tag
  - id: Katell
    tag_id: 4C-F9-DC-6E
    trigger: tag
  - id: Enora
    tag_id: 04-2C-5F-2A-F7-0F-91
    trigger: tag
  - id: Bruno
    tag_id: 04-97-25-2A-F7-0F-90
    trigger: tag
conditions:
  - condition: state
    entity_id: alarm_control_panel.massimo_alarm
    state: disarmed
actions:
  - target:
      entity_id:
        - alarm_control_panel.massimo_alarm
    data: {}
    action: alarm_control_panel.alarm_arm_away
  - metadata: {}
    data:
      color_name: red
      brightness: 225
    target:
      entity_id:
        - light.ruban_led_color_light_26_sejour
        - light.ruban_led_color_light_21
    action: light.turn_on
  - data:
      message: Alarme maison activée par {{ trigger.id }}
      title: Alarme
    action: notify.mobile_app_iphone_x2
  - target:
      entity_id: media_player.esp32_voice_control_1_mediasat1
    data:
      media_content_id: >-
        media-source://tts/tts.piper?message=Alarme+maison+activ%C3%A9e+un&language=fr_FR&voice=fr_FR-gilles-low
      media_content_type: provider
    metadata:
      title: Alarme maison activée un
      thumbnail: https://brands.home-assistant.io/_/tts/logo.png
      media_class: app
      children_media_class: null
      navigateIds:
        - {}
        - media_content_type: app
          media_content_id: media-source://tts
        - media_content_type: provider
          media_content_id: >-
            media-source://tts/tts.piper?message=Alarme+maison+activ%C3%A9e+un&language=fr_FR&voice=fr_FR-gilles-low
    enabled: false
    action: media_player.play_media
  - target:
      entity_id:
        - tts.piper
    data:
      cache: true
      media_player_entity_id: media_player.esp32_voice_control_1_mediasat1
      message: Alarme maison activée par {{ trigger.id }}
    action: tts.speak
  - delay:
      hours: 0
      minutes: 0
      seconds: 28
      milliseconds: 0
  - metadata: {}
    data:
      transition: 5
    target:
      entity_id:
        - light.ruban_led_color_light_26_sejour
        - light.ruban_led_color_light_21
    action: light.turn_off
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  - data: {}
    action: tts.clear_cache

Pour activer un buzzer branché sur un ESP32:

type: turn_on
device_id: 2edb1139897da202bcb52ba567594068
entity_id: switch.buzzer
domain: switch

J’espère que ça t’aidera :wink:
Bob

@Bob , merci, je vais regarder ça de plus près.

Bon, finalement je laisse tomber le sensor pour activer le buzzer. Je crée un button dans esphome qui me fait sonner le buzzer (en fait 2 boutons avec chacun une sonnerie différente) que j’utilise avec une automatisation. Si certains sont intéressés je pourrais partager le projet quand ce sera finalisé.

@Bob : merci, en me basant sur ton code j’ai réussi à faire ce que je veux!

1 « J'aime »