Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- alarm_control_panel:
- - platform: manual
- code: !secret alarm_code
- code_arm_required: true
- delay_time: 0
- arming_time: 60
- trigger_time: 3600
- disarm_after_trigger: false
- disarmed:
- trigger_time: 0
- # armed_home:
- # arming_time: 0
- # delay_time: 0
- # armed_night:
- # arming_time: 0
- # delay_time: 0
- input_text:
- prev_alarm_triggered_mode:
- name: Modalità allarme quando scattato l'ultima volta
- input_boolean:
- alarm_triggered:
- name: Allarme scattato?
- initial: false
- alarm_cancelled:
- name: Inserimento allarme annullato?
- initial: false
- alarm_auto_arm:
- name: Attivazione automatica allarme
- alarm_auto_disarm:
- name: Disattivazione automatica allarme
- group:
- #Elenco delle luci che si accendono quando scatta l'antifurto
- luci_antifurto:
- name: Luci antifurto
- entities:
- - switch.lampada_a_terra
- - light.shelly_1_cucina
- - light.shelly_1_farettofront
- - light.shelly_1_tettoia
- - light.shelly_faretti_soggiorno
- - light.shelly_soffitto_soggiorno
- - light.shelly_luce_letto
- #Sensori usati per l'antifurto in modalità fuori casa. Servono sia come trigger che come elenco di ricerca per il messaggio di intrusione
- sensori_antifurto_away:
- name: Sensori usati per antifurto
- entities:
- - binary_sensor.porta_ingresso
- - binary_sensor.portafinestra_cucina
- - binary_sensor.finestra_cucina
- - binary_sensor.motion_cucina
- - binary_sensor.finestra_soggiorno_lato_cucina
- - binary_sensor.finestra_soggiorno_lato_scale
- - binary_sensor.motion_soggiorno
- - binary_sensor.finestra_corridoio_lato_scale
- - binary_sensor.finestra_corridoio_lato_bagno
- - binary_sensor.motion_corridoio
- - binary_sensor.finestra_bagno
- - binary_sensor.finestra_camera
- - binary_sensor.portafinestra_camera
- - binary_sensor.finestra_cameretta
- - binary_sensor.portafinestra_cameretta
- - binary_sensor.finestra_mansarda_pc
- - binary_sensor.finestra_mansarda_letto
- #Sensori usati per l'antifurto in modalità notte. Servono sia come trigger che come elenco di ricerca per il messaggio di intrusione
- sensori_antifurto_night:
- name: Sensori usati per antifurto
- entities:
- - binary_sensor.porta_ingresso
- - binary_sensor.portafinestra_cucina
- - binary_sensor.finestra_cucina
- - binary_sensor.motion_cucina
- - binary_sensor.finestra_soggiorno_lato_cucina
- - binary_sensor.finestra_soggiorno_lato_scale
- - binary_sensor.motion_soggiorno
- - binary_sensor.finestra_corridoio_lato_scale
- - binary_sensor.finestra_corridoio_lato_bagno
- - binary_sensor.finestra_bagno
- - binary_sensor.finestra_camera
- - binary_sensor.portafinestra_camera
- - binary_sensor.finestra_cameretta
- - binary_sensor.portafinestra_cameretta
- - binary_sensor.finestra_mansarda_pc
- - binary_sensor.finestra_mansarda_letto
- #Sensori usati per l'antifurto in modalità a casa. Servono sia come trigger che come elenco di ricerca per il messaggio di intrusione
- sensori_antifurto_home:
- name: Sensori usati per antifurto
- entities:
- - binary_sensor.porta_ingresso
- - binary_sensor.portafinestra_cucina
- - binary_sensor.finestra_cucina
- - binary_sensor.finestra_soggiorno_lato_cucina
- - binary_sensor.finestra_soggiorno_lato_scale
- - binary_sensor.finestra_corridoio_lato_scale
- - binary_sensor.finestra_corridoio_lato_bagno
- - binary_sensor.finestra_bagno
- - binary_sensor.finestra_camera
- - binary_sensor.portafinestra_camera
- - binary_sensor.finestra_cameretta
- - binary_sensor.portafinestra_cameretta
- - binary_sensor.finestra_mansarda_pc
- - binary_sensor.finestra_mansarda_letto
- light:
- #Elenco delle luci che si accendono in flash rosso quando scatta l'antifurto
- - platform: group
- name: luci_antifurto_flash
- entities:
- - light.shelly_tavolo_1
- - light.shelly_tavolo_3
- - light.shelly_tavolo_2
- - light.shelly_rgbw2_tv
- - light.luce_armadio_camera
- script:
- # Accensione luci allarme
- luci_allarme:
- alias: Accensione luci allarme
- description: Accende tutte le luci configurate e fa lampeggiare quelle che possono di rosso
- sequence:
- #- condition: state
- # entity_id: sun.sun
- # state: 'below_horizon'
- - service: light.turn_on
- entity_id: group.luci_antifurto
- - service: switch.turn_on
- entity_id: group.luci_antifurto
- - service: light.turn_on
- entity_id: light.luci_antifurto_flash
- data:
- rgb_color:
- - 255
- - 0
- - 0
- brightness: 255
- effect: 'Flash'
- # Reset luci allarme
- reset_luci_allarme:
- alias: Spegne luci allarme
- description: Dopo aver acceso le luci allarme questo script reimposta la situazione normale al disinserimento dell'allarme
- sequence:
- - service: light.turn_off
- entity_id: group.luci_antifurto
- - service: switch.turn_off
- entity_id: group.luci_antifurto
- - service: light.turn_on
- entity_id: light.luci_antifurto_flash
- data:
- rgb_color:
- - 255
- - 255
- - 255
- brightness: 255
- effect: 'Off'
- - delay:
- seconds: 1
- - service: light.turn_off
- entity_id: light.luci_antifurto_flash
- automation:
- # Avvio Home Assistant
- - alias: 'Reset allarme riavvio Home Assistant'
- trigger:
- - platform: homeassistant
- event: start
- condition: []
- action:
- - service: input_boolean.turn_off
- entity_id: input_boolean.alarm_triggered
- # Sensori scattati -> attivo allarme
- - alias: 'Trigger allarme'
- trigger:
- - platform: state
- entity_id: group.sensori_antifurto_night
- to: 'on'
- - platform: state
- entity_id: group.sensori_antifurto_home
- to: 'on'
- - platform: state
- entity_id: group.sensori_antifurto_away
- to: 'on'
- condition:
- - condition: or
- conditions:
- - condition: and
- conditions:
- - condition: state
- entity_id: alarm_control_panel.ha_alarm
- state: armed_night
- - condition: state
- entity_id: group.sensori_antifurto_night
- state: 'on'
- - condition: and
- conditions:
- - condition: state
- entity_id: alarm_control_panel.ha_alarm
- state: armed_home
- - condition: state
- entity_id: group.sensori_antifurto_home
- state: 'on'
- - condition: and
- conditions:
- - condition: state
- entity_id: alarm_control_panel.ha_alarm
- state: armed_away
- - condition: state
- entity_id: group.sensori_antifurto_away
- state: 'on'
- action:
- - service: input_text.set_value
- entity_id: input_text.prev_alarm_triggered_mode
- data_template:
- value: "{{states('alarm_control_panel.ha_alarm')}}"
- - service: alarm_control_panel.alarm_trigger
- entity_id: alarm_control_panel.ha_alarm
- # Allarme scattato (qualunque motivo)
- - alias: 'Allarme scattato'
- trigger:
- - platform: state
- entity_id: alarm_control_panel.ha_alarm
- to: 'triggered'
- condition: []
- action:
- - service: script.luci_allarme
- - choose:
- #armed_night
- - conditions:
- - condition: state
- entity_id: input_text.prev_alarm_triggered_mode
- state: 'armed_night'
- sequence:
- - service: script.notifica_allarme
- data_template:
- title: 'ALLARME'
- message: >
- {% set detected = dict((states | selectattr('entity_id', 'in', state_attr('group.sensori_antifurto_night', 'entity_id')) | list) | groupby('state'))['on'] | map(attribute='name') | list | join(', ') %}
- Allarme! Intrusione da {{ detected }}
- #armed_home
- - conditions:
- - condition: state
- entity_id: input_text.prev_alarm_triggered_mode
- state: 'armed_home'
- sequence:
- - service: script.notifica_allarme
- data_template:
- title: 'ALLARME'
- message: >
- {% set detected = dict((states | selectattr('entity_id', 'in', state_attr('group.sensori_antifurto_home', 'entity_id')) | list) | groupby('state'))['on'] | map(attribute='name') | list | join(', ') %}
- Allarme! Intrusione da {{ detected }}
- #armed_away
- - conditions:
- - condition: state
- entity_id: input_text.prev_alarm_triggered_mode
- state: 'armed_away'
- sequence:
- - service: script.notifica_allarme
- data_template:
- title: 'ALLARME'
- message: >
- {% set detected = dict((states | selectattr('entity_id', 'in', state_attr('group.sensori_antifurto_away', 'entity_id')) | list) | groupby('state'))['on'] | map(attribute='name') | list | join(', ') %}
- Allarme! Intrusione da {{ detected }}
- - service: input_boolean.turn_on
- entity_id: input_boolean.alarm_triggered
- # Allarme disinserito
- - alias: 'Allarme disinserito: spegnimento luci e notifica'
- trigger:
- - platform: state
- entity_id: alarm_control_panel.ha_alarm
- to: 'disarmed'
- condition:
- - condition: state
- entity_id: input_boolean.alarm_cancelled
- state: 'off'
- action:
- - service: script.notifica
- data:
- title: Antifurto disinserito
- message: L'antifurto è stato disinserito
- channel: info
- group: info
- icon: protection_off
- alexa: true
- - choose:
- - conditions:
- - condition: state
- entity_id: input_boolean.movimentazione_automatica_tapparelle
- state: 'on'
- - condition: template
- value_template: '{{ state_attr("sun.sun", "elevation") > -6 }}'
- sequence:
- - service: script.tapparelle_apri
- - condition: state
- entity_id: input_boolean.alarm_triggered
- state: 'on'
- - service: script.reset_luci_allarme
- # Allarme inserito
- - alias: 'Allarme inserito'
- trigger:
- - platform: state
- entity_id: alarm_control_panel.ha_alarm
- to: 'armed_home'
- - platform: state
- entity_id: alarm_control_panel.ha_alarm
- to: 'armed_away'
- - platform: state
- entity_id: alarm_control_panel.ha_alarm
- to: 'armed_night'
- condition: []
- action:
- - service: input_boolean.turn_off
- entity_id: input_boolean.alarm_triggered
- - service: input_boolean.turn_off
- entity_id: input_boolean.alarm_cancelled
- - service: script.notifica
- data:
- title: Antifurto inserito
- message: "L'antifurto è stato inserito in modalità {{states('alarm_control_panel.ha_alarm')}}"
- channel: info
- group: info
- icon: protection
- alexa: true
- - choose:
- - conditions:
- - condition: state
- entity_id: input_boolean.movimentazione_automatica_tapparelle
- state: 'on'
- sequence:
- - service: script.tapparelle_chiudi
- # Allarme in inserimento, determino se annullare l'inserimento (uso group.sensori_antifurto_home perchè comprende solo i sensori porte/finestre)
- - alias: 'Allarme in inserimento'
- trigger:
- - platform: state
- entity_id: alarm_control_panel.ha_alarm
- to: 'arming'
- condition:
- - condition: state
- entity_id: group.sensori_antifurto_home
- state: 'on'
- action:
- - service: script.notifica
- data:
- title: ANTIFURTO NON ATTIVATO!
- message: >
- {% set detected = dict((states | selectattr('entity_id', 'in', state_attr('group.sensori_antifurto_home', 'entity_id')) | list) | groupby('state'))['on'] | map(attribute='name') | list | join(', ') %}
- Porte o finestre aperte: {{ detected }} . Impossibile attivare antifurto! Operazione annullata.
- channel: warning
- group: warning
- icon: warning
- alexa: true
- - service: input_boolean.turn_on
- entity_id: input_boolean.alarm_cancelled
- - service: alarm_control_panel.alarm_disarm
- data:
- entity_id: alarm_control_panel.ha_alarm
- code: !secret alarm_code
- # Attivazione allarme quando l'ultimo esce da casa (se attiva la configurazione)
- - alias: 'Attivazione automatica allarme'
- trigger:
- - platform: event
- event_type: uscita_ultimo_da_casa
- condition:
- - condition: state
- entity_id: input_boolean.alarm_auto_arm
- state: 'on'
- action:
- - service: alarm_control_panel.alarm_arm_away
- entity_id: alarm_control_panel.ha_alarm
- data:
- code: !secret alarm_code
- # Disattivazione allarme quando il primo rientra in casa (se attiva la configurazione)
- - alias: 'Disattivazione automatica allarme'
- trigger:
- - platform: event
- event_type: arrivo_primo_a_casa
- condition:
- - condition: state
- entity_id: input_boolean.alarm_auto_disarm
- state: 'on'
- action:
- - service: alarm_control_panel.alarm_disarm
- entity_id: alarm_control_panel.ha_alarm
- data:
- code: !secret alarm_code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement