Alarmanlage mit Alarmo und Bosch Aussensirene

eben getestet, es geht mit dem frient keyboard… danke für den Tipp @richardpolzer
kann ich damit auch 2 keypads nutzen? brauche dann nur noch eine lösung, wie ich eine info bekomme, wenn es sich nicht aktivieren lässt… muss mal schauen, wie ich es löse… vielleicht über push nachricht oder so…

@MarzyHA : nutzt du auch die bosch sirene, alarmo und das friend keypad? klappt alles immer ohne probleme`?

Die Bosch-Sirene bisher noch nicht - Anschaffung ist aber geplant! Ansonsten klappt es bisher ganz gut :slight_smile:

bin auch nur bei der gelandet, weil ich keine anderen Aussensirene für Zigbee gefunden habe - und optisch gefällt sie mir auch :wink: hoffe, dass alles klappt… kann man beim keypad irgendwie die empfindlichkeit der beleuchtung einstellen? die geht auch oft im komplett dunklen raum nicht… und ich weiß nicht wieso…

@richardpolzer: mit dem blueprint scheint aber kein nfc zu gehen… oder?

1 „Gefällt mir“

Naja, die IDs/ PINs der Tags musst du vermutlich bei Alarmo hinterlegen!

Ja, genau :grin: Hast du sie an den Strom angeschlossen oder betreibst du sie nur mit Solar?

Ich denke nicht… zumindest nicht per Zigbee2Mqtt. Bei mir funktioniert die Beleuchtung aber gut… Wenn ich mich mit meiner Hand nährere um einen Code einzugeben, geht die Beleuchtung immer an…

Ganz genau das einzige was mit dem Blueprint nicht geht ist der Sleep Mode aber der ist relativ trivial den hinzuzufügen wenn man die Kontrolle übernimmt von dem Blueprint.

Ja einfach 2 mal als Automation einrichten, einmal für jedes keypad

In Alarmo kannst du eine Benachrichtigung auslösen bei „Scharfschaltung fehlgeschlagen“ da Kannst du dann auch eine eigene Nachricht definieren mit dem Platzhalter Open Sensors wenn notwendig.

Was ist der Sleep-Mode? Was macht der?

Du kannst in Alarmo nicht nur Home und Away haben sondern auch noch Sleep (auf Deutsch heißt der Nacht). Dieser muss aber erst in Alarmo aktiviert werden und dann müsste man auch noch den Blueprint anpassen da das Keypad ja den button dafür hätte

1 „Gefällt mir“

Ah, na klar :upside_down_face: Ich habe bei Sleep immer an Ruhezustand des Keypads gedacht :sweat_smile:
Danke für deine schnelle Antwort und den Blueprint-Vorschlag :pray:

1 „Gefällt mir“

Kleines Update von mir:
Ich habe nun auch auf den von @richardpolzer vorgeschlagenen Blueprint gewechselt! Er funktioniert prima! :slight_smile: Ich habe den Blueprint-Code so angepasst, dass er den night/ sleep Mode auch unterstützt - auch das funktioniert gut! (Dann muss man nicht die „Kontrolle übernehmen“ und kann es weiter als übersichtlichen Blueprint nutzen). Bei Interesse teile ich hier gerne den Code, der dann über das Filemanager-Addon ziemlich leicht geändert werden kann.

1 „Gefällt mir“

Interesse :wink: P.S.: Betreibe meine Sirene per Solar.

Was schätzt du, wann Du den Code zur Verfügung stellen kannst?

Oh sorry total vergessen. Wenn ich heute Abend nach Hause komme, werde ich das machen!

2 „Gefällt mir“

Hier ist der angepasste Code:

Code
blueprint:
  name: Alarmo Keypad Sync
  description: Keypad sync with Alarmo - modified Version (added night mode)
  domain: automation
  input:
    state_topic:
      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'
      selector:
        text:
          multiple: false
          multiline: false
    set_topic:
      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'
      selector:
        text:
          multiple: false
          multiline: false
    entity:
      name: Alarmo entity
      description: An alarm control panel entity from alarmo.
      selector:
        entity:
          domain:
          - alarm_control_panel
          integration: alarmo
          multiple: false
          reorder: false
  source_url: https://community.home-assistant.io/t/zigbee2mqtt-control-alarmo-via-keypad/420016
trigger:
- platform: state
  entity_id: !input entity
  to: disarmed
  id: to_state_disarmed
- platform: state
  entity_id: !input entity
  to: armed_home
  id: to_state_armed_home
- platform: state
  entity_id: !input entity
  to: armed_away
  id: to_state_armed_away
- trigger: state
  entity_id: !input entity
  to: armed_night
  id: to_state_night
- platform: state
  entity_id: !input entity
  to: arming
  id: to_state_arming
- platform: state
  entity_id: !input entity
  to: pending
  id: to_state_pending
- platform: state
  entity_id: !input entity
  to: triggered
  id: to_state_triggered
- platform: mqtt
  topic: !input state_topic
  id: keypad_command
- platform: event
  event_type: alarmo_failed_to_arm
  id: event_arm_failure
- platform: event
  event_type: alarmo_command_success
  id: event_command_success
condition: []
action:
- choose:
  - conditions:
    - condition: trigger
      id: to_state_disarmed
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input set_topic
        payload: "{\n  \"arm_mode\": \n  {\n    \"mode\": \"disarm\"\n  }\n}"
  - conditions:
    - condition: trigger
      id: to_state_armed_home
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input set_topic
        payload: "{\n  \"arm_mode\": \n  {\n    \"mode\": \"arm_day_zones\"\n  }\n}"
  - conditions:
    - condition: trigger
      id: to_state_armed_away
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input set_topic
        payload: "{\n  \"arm_mode\": \n  {\n    \"mode\": \"arm_all_zones\"\n  }\n}"
  - conditions:
    - condition: trigger
      id: to_state_night
    sequence:
    - action: mqtt.publish
      data:
        topic: !input set_topic
        payload: "{\n  \"arm_mode\": \n  {\n    \"mode\": \"arm_night_zones\"\n  }\n}"
  - conditions:
    - condition: trigger
      id: to_state_arming
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input set_topic
        payload: "{\n  \"arm_mode\": \n  {\n    \"mode\": \"exit_delay\"\n  }\n}"
  - conditions:
    - condition: trigger
      id: to_state_pending
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input set_topic
        payload: "{\n  \"arm_mode\": \n  {\n    \"mode\": \"entry_delay\"\n  }\n}"
  - conditions:
    - condition: trigger
      id: to_state_triggered
    sequence:
    - service: mqtt.publish
      data_template:
        topic: !input set_topic
        payload: "{\n  \"arm_mode\": \n  {\n    \"mode\": \"in_alarm\"\n  }\n}"
  - conditions:
    - condition: trigger
      id: keypad_command
    sequence:
    - choose:
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action == "disarm"  }}'
        sequence:
        - service: alarmo.disarm
          data:
            entity_id: !input entity
            code: '{{ trigger.payload_json.action_code }}'
            context_id: '{{ trigger.payload_json.action_transaction }}'
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action == "arm_all_zones"  }}'
        sequence:
        - service: alarmo.arm
          data:
            entity_id: !input entity
            mode: away
            code: '{{ trigger.payload_json.action_code }}'
            context_id: '{{ trigger.payload_json.action_transaction }}'
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action == "arm_day_zones"  }}'
        sequence:
        - service: alarmo.arm
          data:
            entity_id: !input entity
            mode: home
            code: '{{ trigger.payload_json.action_code }}'
            context_id: '{{ trigger.payload_json.action_transaction }}'
      - conditions:
        - condition: template
          value_template: '{{ trigger.payload_json.action == "arm_night_zones"  }}'
        sequence:
        - service: alarmo.arm
          data:
            entity_id: !input entity
            mode: night
            code: '{{ trigger.payload_json.action_code }}'
            context_id: '{{ trigger.payload_json.action_transaction }}'
  - conditions:
    - condition: trigger
      id: event_arm_failure
    sequence:
    - choose:
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.reason == ''invalid_code'' }}'
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input set_topic
            payload: "{\n  \"arm_mode\": \n  {\n    \"transaction\": {{ trigger.event.data.context_id
              }},\n    \"mode\": \"invalid_code\"\n  }\n}"
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.reason == ''open_sensors'' }}'
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input set_topic
            payload: "{\n  \"arm_mode\": \n  {\n    \"transaction\": {{ trigger.event.data.context_id
              }},\n    \"mode\": \"not_ready\"\n  }\n}"
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.reason == ''not_allowed'' }}'
        - condition: template
          value_template: '{{ trigger.event.data.command|lower == ''disarm'' }}'
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input set_topic
            payload: "{\n  \"arm_mode\": \n  {\n    \"transaction\": {{ trigger.event.data.context_id
              }},\n    \"mode\": \"already_disarmed\"\n  }\n}"
  - conditions:
    - condition: trigger
      id: event_command_success
    sequence:
    - choose:
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.action == ''arm'' }}'
        - condition: template
          value_template: '{{ trigger.event.data.context_id != null }}'
        - condition: template
          value_template: '{{ trigger.event.data.mode == ''away'' }}'
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input set_topic
            payload: "{\n  \"arm_mode\": \n  {\n    \"transaction\": {{ trigger.event.data.context_id
              }},\n    \"mode\": \"arm_all_zones\"\n  }\n}"
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.action == ''arm'' }}'
        - condition: template
          value_template: '{{ trigger.event.data.context_id != null }}'
        - condition: template
          value_template: '{{ trigger.event.data.mode == ''home'' }}'
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input set_topic
            payload: "{\n  \"arm_mode\": \n  {\n    \"transaction\": {{ trigger.event.data.context_id
              }},\n    \"mode\": \"arm_day_zones\"\n  }\n}"
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.action == ''disarm'' }}'
        - condition: template
          value_template: '{{ trigger.event.data.context_id != null }}'
        sequence:
        - service: mqtt.publish
          data_template:
            topic: !input set_topic
            payload: "{\n  \"arm_mode\": \n  {\n    \"transaction\": {{ trigger.event.data.context_id
              }},\n    \"mode\": \"disarm\"\n  }\n}"
mode: parallel
max: 10

Diesen Code einfach im File Editor unter blueprints → automation → neliss → zigbee2mqtt-control-alarmo-via-keypad.yaml reinpacken. Damit überschreibst du den Blueprint mit der geupdateden Version. Du kannst ihn aber auch als neuen Blueprint in einen neuen Ordner packen (nicht neliss, sondern anderen Namen wählen)
Danach am besten Home Assistant neustarten.

2 „Gefällt mir“

super, vielen Dank!