Frient Keypad KEPZB-110

Bonjour,

Je viens d’intégrer via MQTT ce keypad (KEPZB-110) de chez Frient en vu de gerer l’armement et le désarmement de l’alarme.

Seulement, pas grand chose ne remonte via Zigbee2MQTT, et je n’arrive pas a l’utiliser.

Quelqu’un a t’il déja eu a faire a ce keypad?

Merci pour votre aide :wink:

Hello

tu as etais voir la pour voir ce qui remonte avec zigbee2mqtt ?

Oui, et c’est pas terrible pour plusieurs raison:
1/ On ne peut pas utiliser les led du clavier, ni de badge RFID (alors que je l’avais pris un peu pour ca)
2/ Les info qu’ils remontent permette de lancer des automations, le problème c’est que ca fonctionne un peu quand ca fait.

D’ou ma question, si quelqu’un a réussi a l’intégrer sans probleme :wink:

Bonjour,

Je viens de le recevoir ce jour et comme vous je galère sur l’intégration et le paramétrage de ce dernier. Idéalement je souhaiterai l’intégrer à alarmo sinon indépendemment.

Je reste ouvert à toutes suggestions.

J’ai fait une automation qui fonctionne (1 fois sur 5). Le problème c’est que les attributs action, action code, action zone, switch vite d’une valeur à « None » au moment de l’activation. Et j’ai l’impression que les automation ne prend pas toujours en compte les valeurs…

Armement de l’alarme:
si la valeur « action » passe a « arm_all_zones », et si action code est a « 1234 », alors activer l’alarme.
Sachant que 1234 peut etre modifier avec la valeur voulu:

alias: "[KEYPAD] Activation alarme"
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.frient_rfid_action
    to: arm_all_zones
condition:
  - condition: state
    entity_id: sensor.frient_rfid_action_code
    state: "1234"
action:
  - device_id: 89185ab5133f64e6bbc24853b73d679f
    domain: alarm_control_panel
    entity_id: alarm_control_panel.alarmo
    type: arm_away
    code: "1234"
mode: single

Voila. j’espère que ca a pu t’aider… Moi je suis toujours coincé a cause de plusieurs soucis:
1/ Impossible d’utiliser le capteur RFID
2/ Impossible de faire fonctionner les LED
3/ Fonctionne 1 fois sur 5

1/ Est-ce que ta carte RFID est à la bonne fréquence ? Il y a du 13.56Mhz et du 125khz. Ca pourrait expliquer ça…
2/ Il y a un test vidéo avec jeedom et c’est ce qui en sort. Les leds n’ont pas l’air utilisables. https://youtu.be/CFJIlpGjQCs
3/ Problème de couverture zigbee?

Bonjour golfvert,

1/Le RFID, le pad bip bien , mais a aucun endroit je peux recuperer la valeur. C est ca le probleme
2/ j’ai vu des videos ou les mecs arrivent a utiliser les LED, avec ZHA par exemple
3/ Non pas de probleme de couverture, je vois bien les valeurs changer, mais elles repassent toutes de suite a "None’

J’ai l’impression que c’est comme le clavier. Il faut « valider » avec une des touches d’action. Non ?

C’est pas très grave, si? Du moment que tu reçois le code + quelle touche d’envoi a été tapée, ça va le faire. Pourquoi est-ce un souci ? C’est un événement, pas un état…

En fait j’essaie de comprendre pourquoi l’automation ne se declenche pas toujours, et la seule explication que je trouve pour l’instant c est que les valeurs switch tres vite d’un etat a a None.

Sinon pourquoi ca fonctionne aleatoirement? ( Ce n est pas un probleme de portée, je vois bien les valeurs changer dans HA.

Pour le rfid, les infos ne remontent pas dans zigbee2mqtt, je pense sue le probleme vient de la.

Quoi qu’il en soit, je creuse le sujet. Si je trouve qque chose, je ferais remonter l’info ici :wink:

Bonjour,

Pour info et après plusieurs galères le Keypad fonctionne parfaitement. l’ensemble des infos remontent via le blueprint et Alarmo :

https://community.home-assistant.io/t/zigbee2mqtt-sync-keypad-and-alarm-control-panel-states/345311

https://www.maxime.house/comment-configurer-alarmo-dans-home-assistant/

Reste à faire fonctionner le NFC…

Une piste pour les tags RFID : KEYZB-110 rfid not read · Issue #9615 · Koenkk/zigbee2mqtt · GitHub

You need to scan the RFID then push an action button (eg « disarm »). You’ll then get a payload with, for instance :
{…« action »=« disarm »,« action_code »=« +3EF12D34 »…}
The mere scanning of the RFID chip do not generate a message (just like typing a code doesn’t on its own), the message is sent when an action is pushed.

Salut messieurs,

Je viens aussi de mettre en place ce « keypad », mais plusieurs choses semblent ne pas bien se passer.

Les « sensors » dans z2m, plusieurs « sans valeur » :

Dans Ha on retrouve bien ces sensors, avec les « sans valeur » à « none » :

J’ai essayé le blueprint proposé par @VCA , mais ça crache pas mal d’erreur dès qu’il tente un « mqtt publish » …

Donc en attendant, je n’ai gardé du blueprint que la partie « écoute » du keypad pour piloter alarmo.

Je n’ai tenté que les manipulations « digitales » (j’ai pas de badge rfid sous la main).

[EDIT]
Je suis un boulet, j’avais oublié le « /set » sur le « MQTT Set Topic of your Zigbee2MQTT Keypad ».

[EDIT-2]
J’en ai profité pour modifier le blueprint et ajouter la prise en compte du mode « night » :wink:

Juste une question, vous utilisez quel modèle de clé zigbee ?

Celle normale, tout les actions d’un interrupteurs sous Z2M sont comme ca. Pourquoi, je sais pas …
Tu verra une modification de la valeur quand tu cliquera sur un bouton, mais c’est très rapide ( tu le vois et ca repasse dessuite sur none).

Ouais c’est curieux comme comportement, mais on va s’y faire :wink: !!!

1 « J'aime »

Bonjour à tous,

Ma clé est une CC2652P.
Par contre je bute sur l’utilisation RFID. Si vous avez un tuto je suis preneur comme le choix de badge compatible.

Et pour vour ca fonctionne bien sans probleme?

Dans mon cas j’ai toujours le meme probleme, a savoir, parfois l’automation se déclenche, parfois non … Je dois insister 5 a 10 fois avant que l’alarme s’enclenche. Et pourtant je vois bien les valeurs du Keypad changer au moment de la saisi…

Vraiment étrange…

Salut @podav

Tu parles de ton automation « perso » ici

Ou tu utilises le blueprint ?

Perso j’utilise le blueprint depuis une petite semaine, et pour l’instant RAS ?

Si tu utilises ton automation perso, je pense que tu devrais changer le trigger et le baser sur le topic MQTT plutôt que sur les sensors.

Pour le fonctionnement des leds ça fonctionne avec le blueprint.

Pour les badge rfid je ne sais pas dire puisque je n’en utilise pas.

En effet, avec le blueprint ca fonctionne a tout les coup.
Les leds fonctionnent parfaitement aussi.

Je vais m’attaquer a la partie RFID voir ce que ca donne :wink:

En tout cas merci pour le blueprint!

Hello,

Peux-tu nous dire les modifications que tu as effectué pour la prise en compte du mode « night » s’il te plait ?

Salut @prohand

Le plus simple va être de te donner le code :

le code
blueprint:
  name: PIN-Keypads for Zigbee2MQTT modified by Herbs
  description: This Blueprint allows the synchronisation of an alarm control panel
    with a Zigbee2MQTT keypad. This means that the status of the alarm control panel
    is transmitted to the keypad and vice versa.
  domain: automation
  input:
    z2m_keypad_path:
      name: MQTT State Topic of your Zigbee2MQTT Keypad
      description: 'The State Topic is composed of your Zigbee2MQTT base_topic (see
        your Z2M Addon Configuration) and the Friendly Name of your keypad in Z2M.
        Example: zigbee2mqtt/Keypad'
    z2m_keypad_path_set:
      name: MQTT Set Topic of your Zigbee2MQTT Keypad
      description: 'This is the same as your State Topic, with the addition of /set.
        Example: zigbee2mqtt/Keypad/set'
    pin:
      name: Pincode
      description: 'The valid pin code to be accepted as correct by your alarm system.
        Example: 1234'
    control_panel:
      name: Control Panel
      description: 'An alarm control panel. Example: https://www.home-assistant.io/integrations/manual'
      default: []
      selector:
        entity:
          domain: alarm_control_panel
          multiple: false
    action_arming:
      name: Action Arming
      description: An action to be performed when the alarm panel changes to the arming
        state.
      default: []
      selector:
        action: {}
    action_armed_home:
      name: Action Armed Home
      description: An action to be performed when the alarm panel changes to the armed
        home state.
      default: []
      selector:
        action: {}
    action_armed_night:
        name: Action Armed Night
        description: "An action to be performed when the alarm panel changes to the armed night state."
        default: []
        selector:
            action: {}         
    action_armed_away:
      name: Action Armed Away
      description: An action to be performed when the alarm panel changes to the armed
        away state.
      default: []
      selector:
        action: {}
    action_disarmed:
      name: Action Disarmed
      description: An action to be performed when the alarm panel changes to the disarmed
        state.
      default: []
      selector:
        action: {}
    action_pending:
      name: Action Pending
      description: An action to be performed when the alarm panel changes to the pending
        state.
      default: []
      selector:
        action: {}
    action_panic:
      name: Action Panic
      description: An action to be performed when the panic / SOS button of the keypad
        is pressed.
      default: []
      selector:
        action: {}
  source_url: https://community.home-assistant.io/t/zigbee2mqtt-sync-keypad-and-with-alarm-control-panel-states/345311
variables:
  pin_var: !input pin
trigger:
- platform: state
  entity_id: !input control_panel
  to: arming
  id: panel_arming
- platform: state
  entity_id: !input control_panel
  to: armed_home
  id: panel_armed_home
- platform: state
  entity_id: !input 'control_panel'
  to: armed_night
  id: panel_arming_night   
- platform: state
  entity_id: !input control_panel
  to: disarmed
  id: panel_disarmed
- platform: state
  entity_id: !input control_panel
  to: armed_away
  id: panel_armed_away
- platform: state
  entity_id: !input control_panel
  to: pending
  id: panel_pending
- platform: mqtt
  topic: !input z2m_keypad_path
  id: keypad_mqtt
condition: []
action:
- choose:
  - conditions:
    - condition: trigger
      id: panel_arming
    sequence:
    - choose:
      - conditions:
        - condition: state
          entity_id: !input control_panel
          state: armed_home
          attribute: next_state
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input z2m_keypad_path_set
            payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_day_zones\"\n  }\n}"
      - conditions:
        - condition: state
          entity_id: !input control_panel
          state: armed_night
          attribute: next_state
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input z2m_keypad_path_set
            payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_night_zones\"\n  }\n}"            
      - conditions:
        - condition: state
          entity_id: !input control_panel
          state: armed_away
          attribute: next_state
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input z2m_keypad_path_set
            payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"exit_delay\"\n  }\n}"
      default: []
    - choose:
      default: !input action_arming
  - conditions:
    - condition: trigger
      id: panel_armed_away
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input z2m_keypad_path_set
        payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_all_zones\"\n  }\n}"
    - choose:
      default: !input action_armed_away
  - conditions:
    - condition: trigger
      id: panel_arming_night 
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input z2m_keypad_path_set
        payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_night_zones\"\n  }\n}"
    - choose:
      default: !input action_armed_night       
  - conditions:
    - condition: trigger
      id: panel_disarmed
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input z2m_keypad_path_set
        payload: "{\n \"arm_mode\": \n  {\n    \"mode\": \"disarm\"\n  }\n}"
    - choose:
      default: !input action_disarmed
  - conditions:
    - condition: trigger
      id: panel_armed_home
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input z2m_keypad_path_set
        payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_day_zones\"\n  }\n}"
    - choose:
      default: !input action_armed_home
  - conditions:
    - condition: trigger
      id: panel_pending
    sequence:
    - choose:
      default: !input action_pending
  - conditions:
    - condition: trigger
      id: keypad_mqtt
    sequence:
    - choose:
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action_transaction != null and
            trigger.payload_json.action_code == pin_var }}'
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input z2m_keypad_path_set
            payload: "{\n \"arm_mode\": \n  {\n    \"transaction\": \"{{ trigger.payload_json.action_transaction
              }}\",\n    \"mode\": \"{{ trigger.payload_json.action }}\"\n  }\n}"
    - choose:
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action_code == pin_var and trigger.payload_json.action
            == "arm_all_zones" }}'
        sequence:
        - service: alarm_control_panel.alarm_arm_away
          target:
            entity_id: !input control_panel
          data:
            code: !input pin
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action_code == pin_var and trigger.payload_json.action
            == "arm_night_zones" }}'
        sequence:
        - service: alarm_control_panel.alarm_arm_night
          target:
            entity_id: !input control_panel
          data:
            code: !input pin            
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action_code == pin_var and trigger.payload_json.action
            == "arm_day_zones" }}'
        sequence:
        - service: alarm_control_panel.alarm_arm_home
          target:
            entity_id: !input control_panel
          data:
            code: !input pin
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action_code == pin_var and trigger.payload_json.action
            == "disarm" }}'
        sequence:
        - service: alarm_control_panel.alarm_disarm
          target:
            entity_id: !input control_panel
          data:
            code: !input pin
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action == "panic" }}'
        sequence:
        - choose:
          default: !input action_panic
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action_code != pin_var and trigger.payload_json.action_code
            | int(-1) != -1 }}'
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input z2m_keypad_path_set
            payload: "{\n \"arm_mode\": \n  {\n   \"transaction\": \"{{ trigger.payload_json.action_transaction
              }}\",\n   \"mode\": \"invalid_code\"\n  }\n}"
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action == None }}'
        sequence:
        - choose:
          - conditions:
            - condition: state
              entity_id: !input control_panel
              state: armed_away
            sequence:
            - service: mqtt.publish
              data_template:
                topic: !input z2m_keypad_path_set
                payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_all_zones\"\n
                  \ }\n}"
          - conditions:
            - condition: state
              entity_id: !input control_panel
              state: armed_home
            sequence:
            - service: mqtt.publish
              data_template:
                topic: !input z2m_keypad_path_set
                payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_day_zones\"\n
                  \ }\n}"
          - conditions:
            - condition: state
              entity_id: !input control_panel
              state: armed_night
            sequence:
            - service: mqtt.publish
              data_template:
                topic: !input z2m_keypad_path_set
                payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_night_zones\"\n
                  \ }\n}"                  
          - conditions:
            - condition: state
              entity_id: !input control_panel
              state: disarmed
            sequence:
            - service: mqtt.publish
              data_template:
                topic: !input z2m_keypad_path_set
                payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"disarm\"\n  }\n}"
          - conditions:
            - condition: state
              entity_id: !input control_panel
              state: arming
            - condition: state
              entity_id: !input control_panel
              state: armed_home
              attribute: next_state
            sequence:
            - service: mqtt.publish
              data_template:
                topic: !input z2m_keypad_path_set
                payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_day_zones\"\n
                  \ }\n}"
          - conditions:
            - condition: state
              entity_id: !input control_panel
              state: arming
            - condition: state
              entity_id: !input control_panel
              state: armed_night
              attribute: next_state
            sequence:
            - service: mqtt.publish
              data_template:
                topic: !input z2m_keypad_path_set
                payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_night_zones\"\n
                  \ }\n}"                  
          - conditions:
            - condition: state
              entity_id: !input control_panel
              state: arming
            - condition: state
              entity_id: !input control_panel
              state: armed_away
              attribute: next_state
            sequence:
            - service: mqtt.publish
              data_template:
                topic: !input z2m_keypad_path_set
                payload: "{\n \"arm_mode\": \n  {\n   \"mode\": \"arm_all_zones\"\n
                  \ }\n}"
      default: []
  default: []
mode: parallel
max: 10