Alarme (alarmo) com ativação e desativação automática

Queria compartilhar aqui, depois de muita luta consegui fazer funcionar. Mais um passo para a casa ser automática de verdade.

O objetivo era usar a integração alarmo para monitorar a casa mas fazer com que o home assistant ative e desative o alarme de forma automática sem as pessoas que acessam a casa terem que colocar a senha. E era complicado pois a sirene é muito alta e encomoda bastante (tocar durante a noite seria um desastre total).

Essa automação ficou interessante pois usou vários sensores pela casa:
Sensor de ocupação da cama;
Sensor de digital do portão social;
Fechaduras biométricas;
Sensores de portas e janelas;
Localização da pessoas da casa (device tracker do celular)al.

O que a automação faz:
Quando quaquer pessoa cadastrada abrir as portas ou portões usando digital o alarme disarma;
Quando qualquer um dos portões é fechado o alarme arma desde que não haja ninguem em casa ou as pessoas presentes estejam deitadas (dormindo);
Quando todos as pessoas da casa deitam o alarma arma;
Quando ao menos uma pessoa levanta da cama o alarme desarma;
Quando o portão da garagem é aberto por controle o alarme não é desarmado pois é muito fácil copiar controle de portão, isso dificultou muito a automação;

1 curtida

Top, só falta compartilhar a automação rs

Por hora tudo bem há algumas temporizações que se os buracos dos queijos se alinhas pode ocorredor um acionamento indevido mas até agora tudo bem. Essa foi interessante.

Yaml
alias: Utilidades - Alarme ativação e desativação automática
description: ""
triggers:
  - trigger: state
    entity_id:
      - person.joao
    from: home
    to: null
    id: joao sai de casa
  - trigger: state
    entity_id:
      - person.maria
    from: home
    to: null
    id: maria sai de casa
  - trigger: state
    entity_id:
      - person.joao
    from: null
    to: home
    id: joao chega em casa
  - trigger: state
    entity_id:
      - person.maria
    from: null
    to: home
    id: maria chega em casa
  - trigger: state
    entity_id:
      - binary_sensor.controle_de_acesso_sesoc_dig_inscrita_detectada
    from: "off"
    to: "on"
    id: Abertura do portão social por digital cadastrada
  - trigger: state
    entity_id:
      - switch.indicador_digital_cadastrada_fechaduras_biometricas
    from: null
    to: "on"
    id: Abertura da porta da sala, cozinha e lavanderia por digital
  - trigger: state
    entity_id:
      - binary_sensor.garagem_contato_portao_da_garagem_contact
    to: "off"
    id: Portão da garagem fechado
    enabled: true
  - trigger: state
    entity_id:
      - binary_sensor.garagem_contato_portao_social_contact
    to: "off"
    id: Portão social fechado
    enabled: true
  - trigger: state
    entity_id:
      - binary_sensor.sensor_de_cama_cama_lado_direito
    from: null
    to: "on"
    id: "Sensor cama direito acionado "
    for:
      hours: 0
      minutes: 0
      seconds: 5
  - trigger: state
    entity_id:
      - binary_sensor.sensor_de_cama_cama_lado_direito
    from: null
    to: "off"
    id: Sensor cama direito desligado
    for:
      hours: 0
      minutes: 0
      seconds: 5
  - trigger: state
    entity_id:
      - binary_sensor.sensor_de_cama_cama_lado_esquerdo
    from: null
    to: "on"
    id: "Sensor cama esquerdo acionado "
    for:
      hours: 0
      minutes: 0
      seconds: 5
  - trigger: state
    entity_id:
      - binary_sensor.sensor_de_cama_cama_lado_esquerdo
    from: null
    to: "off"
    id: Sensor cama esquerdo desligado
    for:
      hours: 0
      minutes: 0
      seconds: 5
conditions:
  - condition: state
    entity_id: input_boolean.configuracao_alarme_automatico
    state: "on"
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - joao sai de casa
          - condition: or
            conditions:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: person.maria
                    state: home
              - condition: state
                entity_id: binary_sensor.sensor_de_cama_cama
                state: "on"
        sequence:
          - if:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: alarm_control_panel.alarmo
                    state: armed_away
            then:
              - action: alarmo.arm
                metadata: {}
                data:
                  mode: away
                  skip_delay: false
                  force: false
                  entity_id: alarm_control_panel.alarmo
                  code: "123456"
      - conditions:
          - condition: trigger
            id:
              - maria sai de casa
          - condition: or
            conditions:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: person.joao
                    state: home
              - condition: state
                entity_id: binary_sensor.sensor_de_cama_cama
                state: "on"
        sequence:
          - if:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: alarm_control_panel.alarmo
                    state: armed_away
            then:
              - action: alarmo.arm
                metadata: {}
                data:
                  mode: away
                  skip_delay: false
                  force: false
                  entity_id: alarm_control_panel.alarmo
                  code: "123456"
      - conditions:
          - condition: trigger
            id:
              - Portão da garagem fechado
              - Portão social fechado
          - condition: and
            conditions:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: person.maria
                    state: home
              - condition: not
                conditions:
                  - condition: state
                    entity_id: person.joao
                    state: home
        sequence:
          - if:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: alarm_control_panel.alarmo
                    state: armed_away
            then:
              - action: alarmo.arm
                metadata: {}
                data:
                  mode: away
                  skip_delay: false
                  force: false
                  entity_id: alarm_control_panel.alarmo
                  code: "123456"
      - conditions:
          - condition: trigger
            id:
              - Abertura do portão social por digital cadastrada
              - Abertura da porta da sala, cozinha e lavanderia por digital
              - joao chega em casa
              - maria chega em casa
        sequence:
          - if:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: alarm_control_panel.alarmo
                    state: disarmed
            then:
              - action: alarmo.disarm
                metadata: {}
                data:
                  entity_id: alarm_control_panel.alarmo
                  code: "123456"
          - delay:
              hours: 0
              minutes: 0
              seconds: 40
              milliseconds: 0
      - conditions:
          - condition: trigger
            id:
              - "Sensor cama direito acionado "
          - condition: or
            conditions:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: person.joao
                    state: home
              - condition: not
                conditions:
                  - condition: state
                    entity_id: person.maria
                    state: home
              - condition: state
                entity_id: binary_sensor.sensor_de_cama_cama_lado_esquerdo
                state: "on"
        sequence:
          - if:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: alarm_control_panel.alarmo
                    state: armed_home
            then:
              - action: alarmo.arm
                metadata: {}
                data:
                  mode: home
                  skip_delay: false
                  force: false
                  entity_id: alarm_control_panel.alarmo
                  code: "123456"
      - conditions:
          - condition: trigger
            id:
              - "Sensor cama esquerdo acionado "
          - condition: or
            conditions:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: person.joao
                    state: home
              - condition: not
                conditions:
                  - condition: state
                    entity_id: person.maria
                    state: home
              - condition: state
                entity_id: binary_sensor.sensor_de_cama_cama_lado_direito
                state: "on"
        sequence:
          - if:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: alarm_control_panel.alarmo
                    state: armed_home
            then:
              - action: alarmo.arm
                metadata: {}
                data:
                  mode: home
                  skip_delay: false
                  force: false
                  entity_id: alarm_control_panel.alarmo
                  code: "123456"
      - conditions:
          - condition: trigger
            id:
              - Sensor cama direito desligado
          - condition: not
            conditions:
              - condition: state
                entity_id: alarm_control_panel.alarmo
                state: triggered
        sequence:
          - if:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: alarm_control_panel.alarmo
                    state: disarmed
            then:
              - action: alarmo.disarm
                metadata: {}
                data:
                  entity_id: alarm_control_panel.alarmo
                  code: "123456"
      - conditions:
          - condition: trigger
            id:
              - Sensor cama esquerdo desligado
          - condition: not
            conditions:
              - condition: state
                entity_id: alarm_control_panel.alarmo
                state: triggered
        sequence:
          - if:
              - condition: not
                conditions:
                  - condition: state
                    entity_id: alarm_control_panel.alarmo
                    state: disarmed
            then:
              - action: alarmo.disarm
                metadata: {}
                data:
                  entity_id: alarm_control_panel.alarmo
                  code: "123456"
mode: single
1 curtida