전쟁 안전
- 2022년 러시아는 우크라이나를 전면 침공하여 대량 학살 전쟁을 벌였음.
- 우크라이나는 매일 핵무기를 제외한 모든 종류의 무기에 의해 공격받고 있음.
- Home Assistant는 안전을 유지하고 다가오는 위협에 대해 알림을 제공함.
공습 경보 모니터링
- Home Assistant는 우크라이나 전역의 공습 경보 시스템을 모니터링하고 안전 센서를 작동시킴.
- 위험이 발생하면 중요한 알림을 보내고 스마트 스피커로 메시지를 발표함.
- 거리에서도 공습 경보가 울리지만, 자동화된 알림 시스템을 통해 집에서도 경고를 받을 수 있음.
id: air_siren_kyiv
alias: 'Alert: Air Siren in Kyiv'
description: Air Alert announcement when we are in Kyiv. Sends critical notifications and announces on speakers.
trigger:
- platform: state
entity_id: binary_sensor.alerts_kyiv_air
to: 'on'
from: 'off'
variables:
title: Air Alert goes off!
- platform: state
entity_id: binary_sensor.alerts_kyiv_air
to: 'off'
from: 'on'
variables:
title: It is safe now!
condition:
- alias: Someone is in Kyiv
condition: state
entity_id: sensor.family_in_kyiv
state: 'on'
action:
- service: script.announcement
data:
title: '{{ title }}'
force_speak: true
notify_data:
group: air-alerts
push:
sound:
name: default
critical: 1
volume: 0.75
모니터링 채널 스크래핑
- 다양한 텔레그램 채널을 통해 공격 상황을 모니터링함.
- 직접 채널을 확인하는 대신 Home Assistant를 통해 자동화함.
- HA Multiscrape 커스텀 통합을 사용하여 여러 센서를 한 번에 스크래핑함.
multiscrape:
- name: War Monitor
resource: https://t.me/s/war_monitor
scan_interval: 5
list_separator: '|||'
binary_sensor:
- unique_id: imminent_attack_in_war_monitor
name: Imminent Attack in War Monitor
icon: mdi:airplane-clock
device_class: safety
select_list: '.js-message_text'
value_template: >-
{% set message = value.split("|||") | last | lower %}
{{ "зліт" in message and "бортів" in message and "ту-95" in message }}
attributes:
- name: latest_message
select_list: '.js-message_text'
value_template: "{{ value.split('|||') | last }}"
임박한 위험 모니터링
- Tu-95 폭격기가 미사일 발사 지점으로 이동하는 데 약 3시간이 걸림.
- 미사일이 발사되면 키예프까지 도달하는 데 1-2시간이 소요됨.
- 저녁에 폭격기가 이륙하면 대규모 미사일 공격이 예상됨.
alias: 'Alert: Imminent Attack by Strategic Bombers'
description: Send a notification when Tu-95 strategic bombers take off from Russian airfields. This means an attack by cruise missiles is imminent. Prepare a hideout.
trigger:
- platform: state
entity_id:
- binary_sensor.imminent_attack_in_war_monitor
- binary_sensor.imminent_attack_in_operinform
from: 'off'
to: 'on'
action:
- service: script.announcement
data:
service: notify.all
speak: false
notify: true
title: 'Bombers take off 🛫'
messages:
- '{{ trigger.to_state.attributes.latest_message }}'
직접적인 위험 경고
- 공격이 발생하면 피난처로 갈지, 잠을 잘지 결정해야 함.
- 대부분의 사람들은 피난처로 가지만, 위험을 계산하여 잠을 자는 경우도 있음.
- 키예프나 특정 지역 이름과 "경고", "안전한 장소에 있어야 함" 등의 키워드를 감지하는 센서가 있음.
multiscrape:
- name: War Monitor
resource: https://t.me/s/war_monitor
scan_interval: 5
list_separator: '|||'
binary_sensor:
- unique_id: danger_in_war_monitor
name: Danger in War Monitor
icon: mdi:rocket-launch
device_class: safety
select_list: '.js-message_text'
value_template: >-
{% set message = value.split("|||") | last | lower %}
{% set in_kyiv = "київ" in message or "святошин" in message %}
{% set danger_now = "уважно" in message
or "швидкісна ціль" in message
or "подалі від зовнішніх стін" in message
or "безпечних місцях" in message
%}
{{ danger_now and in_kyiv }}
attributes:
- name: latest_message
select_list: '.js-message_text'
value_template: "{{ value.split('|||') | last }}"
alias: 'Alert: Danger in Kyiv'
description: Danger of missile/drone strike in Kyiv RIGHT NOW. Critical alert to hide immediately.
trigger:
- platform: state
entity_id:
- binary_sensor.danger_in_war_monitor
- binary_sensor.danger_in_operinform
from: 'off'
to: 'on'
action:
- alias: Send a critical notification
service: script.announcement
data:
service: notify.all
speak: false
notify: true
title: Direct Danger ⚠️
messages:
- '{{ trigger.to_state.attributes.latest_message }}'
notify_data:
group: air-alerts
push:
sound:
name: default
critical: 1
volume: 1
- variables:
messages:
- Увага! Пряма загроза удару!
- Увага загроза удару по Києву!
- Увага! Негайно перейдіть до сховку!
- Увага! Негайно сховайтесь!
- Увага! Пряма загроза!
- Увага! Негайно сховайтесь!
- Увага! Атака на Київ!
- service: media_player.volume_set
entity_id:
data:
volume_level: 0.6
target:
device_id: media_player.bedroom_homepod
- alias: Speak in Bedroom
service: script.announcement
data:
speak: true
speaker: media_player.bedroom_homepod
notify: false
force_speak: true
messages: '{{ messages }}'
- delay:
hours: 2
GN⁺의 의견
-
기술적 통합의 중요성: Home Assistant와 같은 자동화 시스템을 통해 실시간으로 위협을 모니터링하고 대응할 수 있는 능력은 현대 전쟁 상황에서 매우 중요함.
-
심리적 스트레스: 지속적인 위협 속에서 생활하는 것은 큰 심리적 스트레스를 유발할 수 있음. 이러한 자동화 시스템이 일부 스트레스를 줄여줄 수 있음.
-
기술의 한계: 자동화 시스템이 모든 상황을 완벽하게 대처할 수는 없음. 기술적 오류나 오작동이 발생할 수 있음.
-
대체 솔루션: 유사한 기능을 제공하는 다른 오픈소스 프로젝트나 상용 솔루션도 고려해볼 만함. 예를 들어, IFTTT나 Zapier와 같은 서비스도 유사한 자동화 기능을 제공함.
-
보안 문제: 이러한 자동화 시스템이 해킹되거나 오작동할 경우, 잘못된 정보가 전달될 수 있음. 보안 강화가 필요함.