Bien sûr!
Voilà le topo :
J’ai une alarme Hager sans fil, avec le module TRC120 qui permet de récupérer les infos de l’alarme sur le bus KNX.
J’ai donc paramétré les adresses de groupe KNX de l’alarme comme des switchs dans HA (il y a plusieurs zones ON/OFF).
knx:
switch:
- name: alarme ouvertures
address: 4/0/0
state_address: 4/0/1
- name: alarme rdc
address: 4/1/0
state_address: 4/1/1
J’ai créé un groupe ensuite.
alarme:
name: Alarme
entities:
- switch.alarme_ouvertures
- switch.alarme_rdc
Puis un binary sensor pour avoir l’état Activé/inactive de l’alarme
binary_sensor:
# Etat Alarme
- platform: template
sensors:
etat_alarme:
friendly_name: "Etat Alarme"
#device_class: safety
value_template: "{{ is_state('group.alarme', 'on') }}"
J’ai donc créé un template qui renvoie les états que connaît le panel alarm de HA :
sensor:
# Etat Alarme
- platform: template
sensors:
statut_alarme:
friendly_name: "Statut Alarme"
entity_id: binary_sensor.etat_alarme
value_template: >-
{% if is_state('switch.alarme_ouvertures', 'off') and is_state('switch.alarme_rdc', 'off') %}
disarmed
{% elif is_state('switch.alarme_ouvertures', 'on') and is_state('switch.alarme_rdc', 'off') %}
armed_home
{% elif is_state('switch.alarme_ouvertures', 'on') and is_state('switch.alarme_rdc', 'on') %}
armed_away
{% else %}
unavailable
{% endif %}
icon_template: >
{% if is_state('binary_sensor.alarm_arm_status', 'off') %}
mdi:lock-open
{% elif is_state('binary_sensor.alarm_arm_status', 'on') %}
mdi:lock
{% else %}
mdi:lock-alert
{% endif %}
Et en le réutilisant dans le template control_alarm_panel, cela fonctionne :
alarm_control_panel:
- platform: template
panels:
alarme_hager:
name: 'Alarme Hager'
code_arm_required: true
value_template: "{{ states('sensor.statut_alarme') }}"
arm_home:
- service: switch.turn_on
data:
entity_id: switch.alarme_ouvertures
arm_away:
- service: switch.turn_on
data:
entity_id:
- switch.alarme_ouvertures
- switch.alarme_rdc
disarm:
- condition: template
value_template: "{{ code == 'mon_code_num' }}"
- service: switch.turn_off
data:
entity_id:
- switch.alarme_ouvertures
- switch.alarme_rdc
Je vais maintenant pouvoir en poussant un peu rajouter des capteurs type aqara et autres je suppose.