# automations-alarm.yaml – Alarmo & Sécurité # Automatisations liées au système d'alarme # Version anonymisée — noms, pièces, identifiants ET commandes de pilotage à distance remplacés # # NOTE : les commandes Telegram réelles (déclencheurs `telegram_callback`) et le mapping # exact code PIN / clavier physique ne sont volontairement pas publiés ici. # Ce fichier illustre la structure et la logique des automatisations, pas leur # interface de contrôle exacte. # ───────────────────────────────────────────── # DÉCLENCHEMENT ALARME # ───────────────────────────────────────────── - alias: Notification déclenchement alarme description: Envoie un message de notification quand l'alarme est déclenchée triggers: - trigger: state entity_id: alarm_control_panel.alarmo to: triggered actions: - action: telegram_bot.send_message data: message: "Alarme déclenchée !" target: - !secret telegram_chat_user1 - !secret telegram_chat_user2 - alias: Notification alarme mode absence prolongée description: Notifie les contacts d'urgence en mode absence prolongée triggers: - trigger: state entity_id: alarm_control_panel.alarmo from: armed_vacation to: triggered actions: - action: notify.mobile_app_contact_1 data: message: "Alarme déclenchée !" title: "Alarme domicile" - action: notify.mobile_app_contact_2 data: title: "Alarme domicile" message: "ALARME DÉCLENCHÉE" - alias: Snapshots caméra principale sur alarme description: Envoie plusieurs photos + vidéo de la caméra principale sur déclenchement triggers: - trigger: state entity_id: alarm_control_panel.alarmo to: triggered actions: - repeat: count: 3 sequence: - action: camera.snapshot data: filename: /config/www/tmp1.jpg target: entity_id: camera.camera_principale - action: telegram_bot.send_photo data: verify_ssl: true file: /config/www/tmp1.jpg target: - !secret telegram_chat_user1 - !secret telegram_chat_user2 - delay: seconds: 1 - action: camera.record data: filename: /config/www/clip1.mp4 duration: 10 target: entity_id: camera.camera_principale - action: telegram_bot.send_video data: verify_ssl: true file: /config/www/clip1.mp4 target: - !secret telegram_chat_user1 - !secret telegram_chat_user2 - alias: Snapshots caméra secondaire sur alarme description: Envoie plusieurs photos + vidéo de la caméra secondaire sur déclenchement triggers: - trigger: state entity_id: alarm_control_panel.alarmo to: triggered actions: - repeat: count: 3 sequence: - action: camera.snapshot data: filename: /config/www/tmp2.jpg target: entity_id: camera.camera_secondaire - action: telegram_bot.send_photo data: verify_ssl: true file: /config/www/tmp2.jpg target: - !secret telegram_chat_user1 - !secret telegram_chat_user2 - delay: seconds: 1 - action: camera.record data: filename: /config/www/clip2.mp4 duration: 10 target: entity_id: camera.camera_secondaire - action: telegram_bot.send_video data: verify_ssl: true file: /config/www/clip2.mp4 target: - !secret telegram_chat_user1 - !secret telegram_chat_user2 # ───────────────────────────────────────────── # ARMEMENT / DÉSARMEMENT # ───────────────────────────────────────────── - alias: Notification armement alarme description: Confirme l'armement par notification triggers: - trigger: state entity_id: alarm_control_panel.alarmo to: armed_away actions: - action: telegram_bot.send_message data: message: "Alarme armée." title: "Alarme activée" target: !secret telegram_chat_user1 - action: telegram_bot.send_message data: message: "Alarme armée." title: "Alarme activée" target: !secret telegram_chat_user2 - alias: Notification désarmement alarme description: Confirme le désarmement par notification triggers: - trigger: state entity_id: alarm_control_panel.alarmo to: disarmed actions: - action: telegram_bot.send_message data: message: "Alarme désactivée." title: "Alarme désactivée" target: - !secret telegram_chat_user1 - !secret telegram_chat_user2 # ───────────────────────────────────────────── # COMMANDES À DISTANCE (Telegram) # ───────────────────────────────────────────── # Les automatisations de pilotage à distance (armement, désarmement et # consultation des caméras via le bot Telegram) existent bien dans # l'installation réelle, mais leurs déclencheurs exacts (`telegram_callback` # / nom de commande) ne sont pas publiés dans ce dépôt, pour limiter le # risque qu'un tiers reproduise ces actions s'il découvre le bot. # # Structure générale (illustrative, non fonctionnelle telle quelle) : # # - alias: Commande à distance — désarmement # triggers: # - trigger: event # event_type: telegram_callback # event_data: # command: !secret telegram_cmd_disarm # actions: # - action: alarmo.disarm # data: # entity_id: alarm_control_panel.alarmo # # - alias: Commande à distance — armement # triggers: # - trigger: event # event_type: telegram_callback # event_data: # command: !secret telegram_cmd_arm # actions: # - action: alarmo.arm # data: # entity_id: alarm_control_panel.alarmo # mode: vacation # # - alias: Commande à distance — consultation caméras # triggers: # - trigger: event # event_type: telegram_callback # event_data: # command: !secret telegram_cmd_snapshot # actions: # - repeat: # count: 5 # sequence: # - action: camera.snapshot # target: # entity_id: camera.camera_principale # - action: telegram_bot.send_photo # data: # target: # - !secret telegram_chat_user1 # - !secret telegram_chat_user2 # ───────────────────────────────────────────── # SIRÈNE ZIGBEE # ───────────────────────────────────────────── - alias: Contrôle sirène Zigbee description: Publie le mode sirène (burglar/stop) selon l'état de l'input_boolean triggers: - trigger: state entity_id: input_boolean.sirene_switch actions: - action: mqtt.publish data: topic: zigbee2mqtt/sirene/set payload_template: > {% if is_state('input_boolean.sirene_switch', 'on') %} {"warning": {"mode": "burglar"}} {% else %} {"warning": {"mode": "stop"}} {% endif %} # ───────────────────────────────────────────── # INTÉGRATIONS CONDITIONNELLES # ───────────────────────────────────────────── - alias: Détection Frigate selon état alarme description: Active/désactive la détection Frigate selon l'état de l'alarme triggers: - trigger: state entity_id: alarm_control_panel.alarmo actions: - if: - condition: state entity_id: alarm_control_panel.alarmo state: disarmed then: - type: turn_off device_id: DEVICE_ID_CAMERA_1 entity_id: switch.frigate_detect_camera_1 domain: switch - type: turn_off device_id: DEVICE_ID_CAMERA_2 entity_id: switch.frigate_detect_camera_2 domain: switch else: - type: turn_on device_id: DEVICE_ID_CAMERA_1 entity_id: switch.frigate_detect_camera_1 domain: switch - type: turn_on device_id: DEVICE_ID_CAMERA_2 entity_id: switch.frigate_detect_camera_2 domain: switch - alias: Extinction lumières à l'armement description: Éteint toutes les lumières quand l'alarme passe en mode arming triggers: - trigger: state entity_id: alarm_control_panel.alarmo from: disarmed to: arming actions: - type: turn_off device_id: DEVICE_ID_LUMIERE_1 entity_id: switch.lumiere_1 domain: switch - type: turn_off device_id: DEVICE_ID_LUMIERE_2 entity_id: switch.lumiere_2 domain: switch - type: turn_off device_id: DEVICE_ID_LUMIERE_3 entity_id: light.lumiere_3 domain: light - type: turn_off device_id: DEVICE_ID_LUMIERE_4 entity_id: light.lumiere_4 domain: light - alias: Éclairage plantes en absence description: Active l'éclairage des plantes à pleine puissance quand absent depuis 5 min triggers: - trigger: state entity_id: alarm_control_panel.alarmo to: armed_away for: minutes: 5 actions: - type: turn_on device_id: DEVICE_ID_LUMIERE_PLANTES_1 entity_id: light.lumiere_plantes_1 domain: light brightness_pct: 100 - type: turn_on device_id: DEVICE_ID_LUMIERE_PLANTES_2 entity_id: light.lumiere_plantes_2 domain: light brightness_pct: 100 # ───────────────────────────────────────────── # CLAVIER PHYSIQUE (BLUEPRINT) # ───────────────────────────────────────────── # Le mapping exact code PIN / action n'est pas publié (code PIN déjà en !secret, # mais le nom du blueprint et la structure de configuration sont volontairement # simplifiés ci-dessous pour ne pas constituer un guide d'implémentation 1:1). - alias: Clavier physique avec Alarmo description: > Armement/désarmement via clavier Zigbee à code PIN, basé sur un blueprint communautaire (frient keypad + Alarmo). Configuration complète disponible sur demande. use_blueprint: path: REDACTED — voir documentation Home Assistant / Alarmo pour les blueprints clavier Zigbee disponibles input: pin_list: !secret alarmo_pin control_panel: alarm_control_panel.alarmo