ไม่ใช่ Pikud Ha-Oref อย่างเป็นทางการ
สคริปต์นี้สร้างชุดเซ็นเซอร์ไบนารีที่ออกคำเตือนสำหรับอันตรายทั้งหมดที่ส่งสัญญาณโดย Pikud Ha-Oref อันตรายเหล่านี้รวมถึงการแจ้งเตือนสีแดงสำหรับขีปนาวุธและไฟจรวดการละเมิดโดยเครื่องบินที่ไม่ได้รับอนุญาตกิจกรรมแผ่นดินไหวคำเตือนสึนามิการบุกรุกของผู้ก่อการร้ายการรั่วไหลของสารเคมี เมื่อได้รับการแจ้งเตือนประเภทของการคุกคามที่เฉพาะเจาะจงจะถูกระบุในช่วงเริ่มต้นของข้อความ (ตัวอย่างเช่น ירי רקטות וטילים สำหรับจรวดและไฟขีปนาวุธ)
สคริปต์นำเสนอฟังก์ชันเพิ่มเติมเช่นการเก็บถาวรรายละเอียดการแจ้งเตือนทั้งหมดในข้อความประวัติศาสตร์และไฟล์ CSV และอำนวยความสะดวกในการสร้างเซ็นเซอร์ย่อยเพิ่มเติมที่ได้มาจากเซ็นเซอร์หลัก
บันทึก
คุณสามารถปรับแต่งชื่อเซ็นเซอร์ตามความชอบของคุณด้วยชุด red_alert เป็นค่าเริ่มต้น
binary_sensor.red_alert : เก็บข้อมูล pikud ha-oref, เรียกใช้สัญญาณเตือนและรีเซ็ตเป็นอย่างอื่น มันมีประโยชน์สำหรับระบบอัตโนมัติหรือสร้างเซ็นเซอร์เพิ่มเติมbinary_sensor.red_alert_city : คล้ายกับข้างต้น แต่จะทริกเกอร์เฉพาะถ้าเมืองที่ระบุถูกกำหนดเป้าหมายโดยการเตือนภัยinput_text.red_alert : บันทึกข้อมูลการแจ้งเตือนล่าสุดซึ่งทำหน้าที่เป็นบันทึกประวัติศาสตร์input_boolean.red_alert_test : จำลองการแจ้งเตือนแบบจำลองเพื่อตรวจสอบการตั้งค่าระบบอัตโนมัติสคริปต์จะสร้างไฟล์ GeoJSON สองไฟล์โดยอัตโนมัติที่เก็บข้อมูลตำแหน่งทางภูมิศาสตร์ของการแจ้งเตือนซึ่งสามารถแสดงบนแผนที่ผู้ช่วยในบ้าน
เคล็ดลับ
สำหรับการบันทึกข้อมูลประวัติคุณต้องสร้างโฟลเดอร์ที่เรียกว่า www ภายในไดเรกทอรีผู้ช่วยในบ้าน เพื่อให้แน่ใจว่าประวัติการรักษาเซ็นเซอร์จะได้รับการบำรุงรักษาหลังจากรีสตาร์ทในผู้ช่วยบ้านขอแนะนำให้สร้างข้อความอินพุตและผู้ช่วยบูลีน เป็นการดีที่สุดที่จะทำสิ่งนี้ก่อนการติดตั้ง นี่คือวิธีที่คุณสามารถดำเนินการ:
configuration.yaml # /config/configuration.yaml
homeassistant :
allowlist_external_urls :
- http://192.168.86.20:8123 # YOUR HOME ASSISTANT IP
- http://homeassistant.local:8123
allowlist_external_dirs :
- " /config/www "
input_text :
red_alert :
name : Last Alert in Israel
min : 0
max : 255
input_boolean :
red_alert_test :
name : Test Alert
icon : mdi:alert-circleSettings > Add-ons > Ad-on-store และค้นหา AppDaemonrequests แพ็คเกจ Python ภายใต้ส่วนแพ็คเกจ Python 
/addon_configs/a0d7b954_appdaemon/appdaemon.yaml และทำการเปลี่ยนแปลงภายใต้ส่วน AppDeamon ตามที่อธิบายไว้: เคล็ดลับ
หากคุณใช้ Add-On ตัวแก้ไขไฟล์จะตั้งค่าตามค่าเริ่มต้นเพื่ออนุญาตให้เข้าถึงไฟล์ไปยังไดเรกทอรี Assistant หลักเท่านั้น อย่างไรก็ตามไฟล์ Appdaemon Add-on อยู่ในไดเรกทอรีรูท ในการเข้าถึงไฟล์เหล่านี้ให้ทำตามขั้นตอนเหล่านี้:
ไปที่ Settings > Add-ons > File Editor > Configuration
สลับตัวเลือก Enforce Basepath
ในตัวแก้ไขไฟล์คลิกที่ลูกศรถัดจากชื่อไดเรกทอรี (ซึ่งจะเป็น 'homeAssistant') สิ่งนี้จะช่วยให้คุณสามารถเข้าถึงไดเรกทอรีรูทที่ไฟล์ Appdaemon Add-on อยู่

สำคัญ
คุณสามารถค้นหาพิกัดของคุณเอง (ละติจูดและลองจิจูด) ที่นี่: https://www.latlong.net/
latitude: 31.9837528longitude: 34.7359077time_zone: Asia/Jerusalemapp_dir: /homeassistant/appdaemon/apps//addon_configs/a0d7b954_appdaemon/apps เป็น /config/appdaemon/apps # /addon_configs/a0d7b954_appdaemon/appdaemon.yaml
---
# secrets: /homeassistant/secrets.yaml
appdaemon :
app_dir : /homeassistant/appdaemon/apps/ # If you install this script via HACS
latitude : 31.9837528
longitude : 34.7359077
elevation : 2
time_zone : Asia/Jerusalem
plugins :
HASS :
type : hass
# token: !secret appdaemon
http :
timeout : 30
admin :
api :
hadashboard :คุณมีสองตัวเลือกในการดาวน์โหลดสคริปต์: ด้วยตนเองหรือผ่าน HACS การติดตั้งจาก HACs ทำให้มั่นใจได้ว่าหากสคริปต์เวอร์ชันใหม่พร้อมใช้งานคุณจะได้รับการแจ้งเตือนใน Home Assistant การดาวน์โหลดด้วยตนเองจะไม่ให้การอัปเดตอัตโนมัติในอนาคต เลือกวิธีที่เหมาะกับคุณที่สุด
appdaemon/apps และดำเนินการต่อไปยังขั้นตอนสุดท้าย ใน Home Assistant: นำทางไปยัง Settings > Integrations > HACS > Configure และเปิดใช้งาน AppDaemon apps discovery & tracking หลังจากเปิดใช้งานให้กลับไปที่หน้าจอหลัก HACS

นำทางไปยังหน้าที่ Custom Repositories และเพิ่มที่เก็บต่อไปนี้เป็น AppDaemon : https://github.com/idodov/RedAlert/
กลับไปที่หน้าจอหลัก HACS และค้นหา Red Alerts Israel คลิกที่ Download และดำเนินการต่อไปยัง ขั้นตอนสุดท้าย
ในไฟล์ appdaemon/apps/apps.yaml ให้เพิ่มรหัสต่อไปนี้
สำคัญ
ตรวจสอบให้แน่ใจว่าได้แทนที่ค่า city_names ตามที่ Pikud Ha-Oref กำหนดไว้ ตัวอย่างเช่นอย่าเขียน תל אביב แทนที่จะเขียน: תל אביב - דרום העיר
สำหรับรายการชื่อเมืองและพื้นที่ - คลิกที่นี่
# /appdaemon/apps/apps.yaml
red_alerts_israel :
module : red_alerts_israel
class : Red_Alerts_Israel
interval : 2
timer : 120
sensor_name : " red_alert "
save_2_file : True
city_names :
- תל אביב - מרכז העיר
- כיסופים
- שדרות, איבים, ניר עם
- אשדוד - א,ב,ד,ה
- נתיב הל''ה| พารามิเตอร์ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
interval | ช่วงเวลาในวินาทีที่สคริปต์ทำงาน | 2 |
timer | ระยะเวลาในไม่กี่วินาทีซึ่งเซ็นเซอร์ยังคงเปิดอยู่หลังจากการแจ้งเตือน | 120 |
sensor_name | ชื่อของเซ็นเซอร์ไบนารีหลักในผู้ช่วยในบ้าน ( binary_sensor.#sensor_name# ) | red_alert |
save_2_file | จัดเก็บไฟล์ข้อมูลประวัติ ทุกครั้งที่มีการทริกเกอร์การแจ้งเตือนไฟล์ TXT เฉพาะและไฟล์ CSV จะบันทึกข้อมูล ไฟล์นี้สามารถเข้าถึงได้จาก Home Assistant Directory/ CSV สามารถเปิดได้ในแอปพลิเคชันสเปรดชีตใด ๆ เช่น Excel หรือ Google Sheets | True |
city_names | ชื่อของเมืองที่เปิดใช้งานเซ็นเซอร์ไบนารีตัวที่สองที่จะชื่อ binary_sensor.#sensor_name#_city คุณสามารถเพิ่มเมืองต่างๆที่คุณต้องการได้ | תל אביב - מרכז העיר |
ผู้ช่วยในบ้านเริ่มต้นสี่หน่วยงานที่แตกต่างกัน:
binary_sensor.red_alert : นี่คือเอนทิตีหลักที่ใช้งานได้ในระหว่างการแจ้งเตือนสีแดงในอิสราเอลและเปลี่ยนกลับไปใช้เป็นอย่างอื่น มันครอบคลุมช่วงของแอตทริบิวต์เช่นหมวดหมู่, ID, ชื่อเรื่อง, ข้อมูล, คำอธิบาย, จำนวนการแจ้งเตือนที่ใช้งานอยู่และอิโมจิbinary_sensor.red_alert_city : เอนทิตีนี้เก็บข้อมูล pikud-ha-oref และเปิดใช้งานเพียงอย่างเดียวหากการแจ้งเตือนรวมถึงเมืองที่ระบุinput_text.red_alert : มีไว้สำหรับการบันทึกประวัติการแจ้งเตือนในสมุดบันทึก เมื่อพิจารณาถึงขีด จำกัด 255 ตัวอักษรของผู้ช่วยบ้านสำหรับหน่วยงานข้อความเหตุการณ์ที่กว้างขวางอาจนำไปสู่ข้อมูลที่ถูกตัดหรือละเว้น ดังนั้นจึงไม่เหมาะสมที่จะพึ่งพาเอนทิตีนี้สำหรับทริกเกอร์ระบบอัตโนมัติหรือสร้างเซ็นเซอร์ย่อยinput_boolean.red_alert_test : การพลิกสวิตช์นี้สร้างข้อมูลที่สมมติขึ้น (สำหรับเมืองที่เลือก) ที่เปิดใช้งานเซ็นเซอร์สำหรับระยะเวลาที่กำหนดตามการกำหนดค่า timerตัวอย่างการ์ด

type : vertical-stack
cards :
- type : tile
entity : input_text.red_alert
vertical : true
state_content : last-changed
- type : entities
entities :
- entity : binary_sensor.red_alert
- entity : binary_sensor.red_alert_city
- entity : input_boolean.red_alert_test
state_color : trueประวัติศาสตร์ 24 ชั่วโมง

เคล็ดลับ
คุณสามารถแก้ไขการ์ดโดยเลือกที่จะแสดงหรือไม่แสดงประวัติและข้อมูลเพิ่มเติม {% set show_history = False %} false คือการไม่แสดงประวัติการแจ้งเตือน 24 ชั่วโมง {% set show_info = False %} - เท็จคือการไม่แสดงข้อมูลเพิ่มเติม
type : markdown
content : >-
{% set show_history = True %}
{% set show_info = True %}
{% set alerts = state_attr('binary_sensor.red_alert',
'last_24h_alerts_group') %}
{% set oref = states('binary_sensor.red_alert') %}
<table width=100%><tr><td align=center>
{% if oref == 'on' %}
# <font color = red>{{ state_attr('binary_sensor.red_alert', 'prev_title')
}}</font> {{ state_attr('binary_sensor.red_alert', 'emoji') }}
</td></tr>
<tr><td align=center><big><big>
<b>{{ state_attr('binary_sensor.red_alert', 'alert_txt') }}</b></big></big>
{% else %}
## <font color=green>אין התרעות</font> ✅{% endif %}
</td></tr></table>
{% set current_date = now().date() %}
{% if state_attr('binary_sensor.red_alert', 'prev_last_changed') |
regex_match("^\d{4}-\d{2}-\d{2}T\d{2}:d{2}:d{2}.d+$") %}
{% set last_changed_timestamp = state_attr('binary_sensor.red_alert',
'prev_last_changed') | as_timestamp %}
{% if current_date == (last_changed_timestamp | timestamp_custom('%Y-%m-%d',
true) | as_datetime).date() %}
{% set current_timestamp = now().timestamp() %}
{% set time_difference = current_timestamp - last_changed_timestamp %}
<center>התרעה אחרונה נשלחה {% if time_difference < 3600 %} לפני {{
(time_difference / 60) | int }} דקות
{% elif time_difference < 86400 %}היום בשעה {{ last_changed_timestamp |
timestamp_custom('%H:%M', true) }}
{% else %}בתאריך {{ last_changed_timestamp | timestamp_custom('%d/%m/%Y',
true) }}, בשעה {{ last_changed_timestamp | timestamp_custom('%H:%M', true) }}
{% endif %}{% endif %}{% endif %}
</ha-alert>
{% if alerts and show_history %}
{% if show_info %}
<hr>
<table width=100%>
<tr><td align=center>
{{ state_attr('binary_sensor.red_alert', 'cities_past_24h') | length }}
:ערים</td>
<td align=center>
{{ state_attr('binary_sensor.red_alert', 'last_24h_alerts') | length }}
:התרעות</td></tr>
<tr>
<td colspan=2 align=center>
במהלך 24 שעות אחרונות
</td>
</tr>
<tr><td colspan=2><hr></td></tr>
</table>
{% endif %}
<table width=100% align=center>
{% for alert_type, areas in alerts.items() %}
<tr>
<td></td>
</tr>
<tr>
<td colspan=6 align=center><h2><font color=blue>{{ alert_type }}</font></h2>
<hr></td>
</tr>
{% for area, cities in areas.items() %}
<tr>
<td></td>
</tr>
<tr>
<td colspan=6 align=center><big><b>{{ area }}</b></big></td></tr>
<tr>
<td colspan=6></td>
</tr>
{% for city_pair in cities|batch(2) %}
<tr><td align=right valign=top>{{ city_pair[0].city }}</td>
<td valign=top> - </td><td valign=top>{{ city_pair[0].time[11:16] }}</td>{% if
city_pair|length > 1 %}
<td align=right valign=top>{{ city_pair[1].city }}</td>
<td valign=top> - </td><td valign=top>{{ city_pair[1].time[11:16] }}{% else
%}</td>{% endif %}</tr>
{% endfor %}
<tr>
<td colspan=6> </td>
</tr>
{% endfor %}
{% endfor %}
</table>
{% else %}
{% endif %}
เคล็ดลับ
ใช้ทริกเกอร์นี้ในระบบอัตโนมัติ {{ (as_timestamp(now()) - as_timestamp(states.binary_sensor.red_alert.last_updated)) > 30 }} เพื่อทราบว่าสคริปต์ไม่ทำงานเมื่อใด
นอกจากนี้คุณยังสามารถสร้างการ์ด Markdown SpecialHis เพื่อติดตามเซ็นเซอร์:

type : markdown
content : >-
{% set status = (as_timestamp(now()) -
as_timestamp(states.binary_sensor.red_alert.last_updated)) < 30 %}
{% if status %}
<ha-alert alert-type="info">Run **{{ state_attr('binary_sensor.red_alert', 'count') }}** times since restart
{% else %}
<ha-alert alert-type="warning">**SCRIPT IS NOT RUNNING!!!**
{% endif %}
</ha-alert> คุณสามารถใช้ attribue ใด ๆ จากเซ็นเซอร์ ตัวอย่างเช่นในการแสดงชื่อบนการ์ด Lovelace ให้ใช้ไวยากรณ์รหัสนี้: {{ state_attr('binary_sensor.red_alert', 'title') }}
| ชื่อแอตทริบิวต์ | วิธี | ตัวอย่าง |
|---|---|---|
| `active_now ' | on มีการแจ้งเตือนสด off เมื่อไม่มีการแจ้งเตือนสด | off |
count | นับจำนวนครั้งที่สคริปต์ทำงานตั้งแต่การรีสตาร์ทครั้งสุดท้ายของผู้ช่วยบ้าน โดยการตรวจสอบข้อมูลนี้คุณสามารถพิจารณาได้ว่าสคริปต์ไม่ทำงานหรือไม่ | 12345 |
cat | หมายเลขหมวดหมู่ สามารถจาก 1 ถึง 13 | 1 |
title | ประเภทการโจมตีในข้อความ | ירי רקטות וטילים |
data | รายการเมืองเป็นสตริง | תל אביב - מרכז העיר |
cities | รายชื่อเมืองที่ถูกโจมตี | - קריית שמונה |
alerts_count | จำนวนการแจ้งเตือนสด | 4 |
my_cities | เมืองผู้ใช้ที่กำหนดไว้ | - תל אביב - מרכז העיר |
areas | รายการพื้นที่เป็นสตริง | גוש דן |
desc | อธิบายสิ่งที่ต้องทำ | היכנסו למרחב המוגן ושהו בו 10 דקות |
duration | มีกี่วินาทีในห้องที่ปลอดภัย | 600 |
id | id ของการแจ้งเตือน | 133413399870000000 |
data_count | จำนวนเมืองที่ถูกโจมตี | 1 |
cities_past_24h | รายชื่อเมืองที่โจมตีในช่วง 24 ชั่วโมงที่ผ่านมา | - שלומי |
last_24h_alerts | รายการการแจ้งเตือนทั้งหมดใน 24 ชั่วโมงที่ผ่านมา | title city area time |
last_24h_alerts_group | รายการการแจ้งเตือนทั้งหมด 24 ชั่วโมงจัดกลุ่มตามชื่อเรื่องและพื้นที่ | titile , area , city , time |
emoji | ไอคอนสำหรับประเภทของการโจมตี | |
prev_* | ข้อมูลล่าสุดจากแต่ละ attribue | จัดเก็บข้อมูลล่าสุดเมื่อเซ็นเซอร์ทำงานอยู่ |
alert | หนึ่งบรรทัดข้อความเต็ม | ירי רקטות וטילים ב־קו העימות - בצת, שלומי |
alert_alt | Breaking Line Full Text | ירי רקטות וטילים/n* קו העימות: בצת, שלומי |
alert_txt | ข้อความหนึ่งบรรทัด | קו העימות: בצת, שלומי |
alert_wa | เพิ่มประสิทธิภาพข้อความเพื่อส่งผ่าน whatsapp | ![]() |
alert_tg | เพิ่มประสิทธิภาพข้อความเพื่อส่งผ่านโทรเลข |
ตัวอย่าง:
count : 237
id : 1234567890000000
cat : 1
title : ירי רקטות וטילים
desc : היכנסו למרחב המוגן ושהו בו 10 דקות
data : אבירים, פסוטה
areas : קו העימות
data_count : 2
duration : 600
last_changed : " 2024-03-29T20:18:36.354614 "
emoji : ️
icon_alert : mdi:alert
prev_last_changed : " 2024-03-29T20:18:36.354636 "
prev_cat : 1
prev_title : ירי רקטות וטילים
prev_desc : היכנסו למרחב המוגן ושהו בו 10 דקות
prev_data : שלומי
prev_data_count : 1
prev_duration : 600
prev_areas : קו העימות
alert : " ירי רקטות וטילים ב־קו העימות: שלומי "
alert_alt : |-
ירי רקטות וטילים
* קו העימות: שלומי
alert_txt : " קו העימות: שלומי "
alert_wa : |-
*ירי רקטות וטילים*
> קו העימות
שלומי
_היכנסו למרחב המוגן ושהו בו 10 דקות_
friendly_name : All Red Alerts
icon : mdi:alert
alert_tg : |-
**ירי רקטות וטילים**
**__קו העימות__** — שלומי
__היכנסו למרחב המוגן ושהו בו 10 דקות__
สคริปต์ยังสร้างไฟล์ GeoJSON สองไฟล์โดยอัตโนมัติซึ่งจัดเก็บข้อมูลตำแหน่งทางภูมิศาสตร์ของการแจ้งเตือนและสามารถแสดงบนแผนที่ผู้ช่วยในบ้าน ไฟล์ทั้งสองอยู่ในไดเรกทอรี \homeassistantconfigwww ไฟล์ red_alert_24h.geojson เก็บข้อมูลสำหรับการแจ้งเตือนจาก 24 ชั่วโมงที่ผ่านมาและไฟล์ red_alert_latest.geojson เก็บข้อมูลการแจ้งเตือนล่าสุด
เพื่อแสดงข้อมูลบนแผนที่ผู้ช่วยในบ้าน:
http://homeassistant.local:8123/local/red_alert_24h.geojson
บันทึก
หากการรวม Geojson ไม่สามารถเข้าถึงไฟล์ GeoJson ให้เปิดไฟล์ configuration.yaml และเพิ่มการอนุมัติที่จำเป็นเช่นนี้:
homeassistant :
allowlist_external_urls :
- http://192.168.86.174:8123 # YOUR HA IP
- http://homeassistant.local:8123
allowlist_external_dirs :
- " /config/www " สคริปต์เก็บข้อมูลเซ็นเซอร์ในไฟล์ข้อความชื่อ red_alert_history.txt และ red_alert_history.csv ทั้งสองอยู่ในไดเรกทอรี \homeassistantconfigwww ทุกครั้งที่มีการแจ้งเตือน (รวมถึงการแจ้งเตือนการทดสอบ) ไฟล์จะได้รับการอัปเดต ไฟล์ CSV เฉพาะสามารถเปิดได้ในแอปพลิเคชันสเปรดชีตใด ๆ เช่น Excel หรือ Google Sheets คุณสามารถเข้าถึงไฟล์เหล่านี้ได้โดยตรงจากเบราว์เซอร์ของคุณโดยใช้ URL ที่ให้ไว้: http: //homeassistant.local: 8123/local/red_alert_history.txt

แสดงว่ามีการแจ้งเตือนจำนวนการแจ้งเตือนที่ใช้งานอยู่และสถานที่ที่เกี่ยวข้อง

type : markdown
content : >-
<center><h3>{% if state_attr('binary_sensor.red_alert', 'data_count') > 0 %}
כרגע יש {% if state_attr('binary_sensor.red_alert', 'data_count') > 1 %}{{
state_attr('binary_sensor.red_alert', 'data_count') }} התרעות פעילות{% elif
state_attr('binary_sensor.red_alert', 'data_count') == 1 %} התרעה פעילה אחת{%
endif %}{% else %} אין התרעות פעילות{% endif %}</h3>
{% if state_attr('binary_sensor.red_alert', 'data_count') > 0 %}<h2>{{
state_attr('binary_sensor.red_alert', 'emoji') }} {{
state_attr('binary_sensor.red_alert', 'title') }}</h2>
<h3>{{ state_attr('binary_sensor.red_alert', 'data') }}</h3>
**{{ state_attr('binary_sensor.red_alert', 'desc') }}** {% endif %} </center>
title : Red Alertการใช้สคริปต์นี้คุณมีความยืดหยุ่นในการรวมข้อมูลเพิ่มเติมเช่น เวลาที่แม่นยำที่การแจ้งเตือนถูกเรียกใช้


type : markdown
content : >-
<center><h3>{% if state_attr('binary_sensor.red_alert', 'data_count') > 0 %}
כרגע יש {% if state_attr('binary_sensor.red_alert', 'data_count') > 1 %}{{
state_attr('binary_sensor.red_alert', 'data_count') }} התרעות פעילות{% elif
state_attr('binary_sensor.red_alert', 'data_count') == 1 %} התרעה פעילה אחת{%
endif %}{% else %} אין התרעות פעילות{% endif %}</h3>
{% if state_attr('binary_sensor.red_alert', 'data_count') > 0 %}<h2>{{
state_attr('binary_sensor.red_alert', 'emoji') }} {{
state_attr('binary_sensor.red_alert', 'title') }}</h2> <h3>{{
state_attr('binary_sensor.red_alert', 'data') }}</h3> **{{
state_attr('binary_sensor.red_alert', 'desc') }}** {% endif %}
{% if state_attr('binary_sensor.red_alert', 'last_changed') |
regex_match("^\d{4}-\d{2}-\d{2}T\d{2}:d{2}:d{2}.d+$") %}
{% set last_changed_timestamp = state_attr('binary_sensor.red_alert',
'last_changed') | as_timestamp %}
{% set current_date = now().date() %}
{% if current_date == (last_changed_timestamp | timestamp_custom('%Y-%m-%d',
true)
| as_datetime).date() %}
ההתרעה האחרונה נשלחה היום בשעה {{ last_changed_timestamp | timestamp_custom('%H:%M', true) }}
{% else %}התרעה אחרונה נשלחה בתאריך {{ last_changed_timestamp |
timestamp_custom('%d/%m/%Y', true) }}, בשעה {{ last_changed_timestamp |
timestamp_custom('%H:%M', true) }}
{% endif %}
{% endif %}
</center>อีกวิธีที่ดีกว่า:


type : markdown
content : >-
<ha-icon icon="{{ state_attr('binary_sensor.red_alert', 'icon')
}}"></ha-icon> {% if state_attr('binary_sensor.red_alert', 'data_count') > 0
%}כרגע יש {% if state_attr('binary_sensor.red_alert', 'data_count') > 1 %}{{
state_attr('binary_sensor.red_alert', 'data_count') }} התרעות פעילות{% elif
state_attr('binary_sensor.red_alert', 'data_count') == 1 %} התרעה פעילה אחת{%
endif %}{% else %}אין התרעות פעילות{% endif %}{% if
state_attr('binary_sensor.red_alert', 'data_count') > 0 %}
<ha-alert alert-type="error" title="{{ state_attr('binary_sensor.red_alert',
'title') }}">{{ state_attr('binary_sensor.red_alert', 'data') }}</ha-alert>
<ha-alert alert-type="warning">{{ state_attr('binary_sensor.red_alert',
'desc') }}</ha-alert>
{% endif %}
{% if state_attr('binary_sensor.red_alert', 'last_changed') |
regex_match("^\d{4}-\d{2}-\d{2}T\d{2}:d{2}:d{2}.d+$") %}
{% set last_changed_timestamp = state_attr('binary_sensor.red_alert',
'last_changed') | as_timestamp %}
{% set current_date = now().date() %}{% if current_date ==
(last_changed_timestamp | timestamp_custom('%Y-%m-%d', true)
| as_datetime).date() %}<ha-alert alert-type="info">ההתרעה האחרונה נשלחה היום בשעה {{ last_changed_timestamp | timestamp_custom('%H:%M', true) }}
{% else %}התרעה אחרונה נשלחה בתאריך {{ last_changed_timestamp |
timestamp_custom('%d/%m/%Y', true) }}, בשעה {{ last_changed_timestamp |
timestamp_custom('%H:%M', true) }}{% endif %}{% endif %}</ha-alert> คุณมีความยืดหยุ่นในการสร้างการกระทำอัตโนมัติที่หลากหลายซึ่งถูกเรียกโดยเซ็นเซอร์ไบนารีหรือเซ็นเซอร์ย่อย ตัวอย่างเช่นหนึ่งแอปพลิเคชั่นที่มีศักยภาพคือการส่งข้อความการแจ้งเตือนไปยังหน้าจอเมทริกซ์ LED (ใน PIC: การส่งต่อการแจ้งเตือนทั้งหมดไปยังนาฬิกาอัจฉริยะ Ulanzi ซึ่งขึ้นอยู่กับ ESPHOME32 และมีหน้าจอ)

(เปลี่ยน #your phone# เป็นชื่อเอนทิตีของคุณ)
alias : Notify attack
description : " Real-time Attack Notification "
trigger :
- platform : state
entity_id :
- binary_sensor.red_alert
from : " off "
to : " on "
condition : []
action :
- service : notify.mobile_app_#your phone#
data :
message : " {{ state_attr('binary_sensor.red_alert', 'data') }} "
title : " {{ state_attr('binary_sensor.red_alert', 'title') }} {{ state_attr('binary_sensor.red_alert', 'areas') }} "
mode : singleเป็นภาพประกอบอื่นคุณสามารถกำหนดค่าไฟ RGB ของคุณเพื่อเปลี่ยนสีซ้ำ ๆ ในขณะที่การแจ้งเตือนทำงานอยู่

(เปลี่ยน light.#light-1# ไปยังชื่อเอนทิตีของคุณ)
alias : Alert in city
description : " When an alert occurs in your define city, the lights will cyclically change to red and blue for a duration of 30 seconds, after which they will revert to their previous states "
trigger :
- platform : state
entity_id :
- binary_sensor.red_alert_city
from : " off "
to : " on "
condition : []
action :
- service : scene.create
data :
scene_id : before_red_alert
snapshot_entities :
- light.#light-1#
- light.#light-2#
- light.#light-3#
- repeat :
count : 30
sequence :
- service : light.turn_on
data :
color_name : blue
target :
entity_id :
- light.#light-1#
- light.#light-2#
- light.#light-3#
- delay :
hours : 0
minutes : 0
seconds : 0
milliseconds : 500
- service : light.turn_on
data :
color_name : red
target :
entity_id :
- light.#light-1#
- light.#light-2#
- light.#light-3#
- delay :
hours : 0
minutes : 0
seconds : 0
milliseconds : 500
- service : scene.turn_on
data : {}
target :
entity_id : scene.before_red_alert
mode : singleแอตทริบิวต์ "DESC" ให้ข้อมูลเกี่ยวกับระยะเวลาในไม่กี่นาทีสำหรับการพักในห้องที่ปลอดภัย ระบบอัตโนมัตินี้จะสร้างตัวจับเวลาตามข้อมูลจากแอตทริบิวต์นี้ ก่อนที่จะใช้ระบบอัตโนมัตินี้จำเป็นต้องสร้างตัวช่วยจับเวลา
#your phone# เป็นชื่อเอนทิตีของคุณ) Alias : Safe to go out
description : " Notify on phone that it's safe to go outside "
mode : single
trigger :
- platform : template
value_template : >-
{{ "תל אביב - מרכז העיר" in state_attr('binary_sensor.red_alert',
'data').split(', ') }}
condition : []
action :
- service : timer.start
data :
duration : >-
{{ state_attr('binary_sensor.red_alert_city', 'duration') }}
target :
entity_id : timer.red_alert
- service : notify.mobile_app_#your phone#
data :
title : ההתרעה הוסרה
message : אפשר לחזור לשגרה ในขณะที่คุณต้องระบุเมืองที่เซ็นเซอร์ไบนารีรองจะเปิดใช้งานคุณยังมีความยืดหยุ่นในการกำหนดเซ็นเซอร์ย่อยเพิ่มเติมตามเซ็นเซอร์หลัก นี่คือตัวอย่างบางส่วนของวิธีการทำสิ่งนี้
บันทึก
ในการสร้างเซ็นเซอร์ที่เปิดใช้งานเฉพาะเมื่อมีการโจมตีเกิดขึ้นในเมืองเฉพาะที่มีรูปแบบตัวละครที่คล้ายกันในชื่อเมืองอื่น ๆ คุณควรใช้วิธีการต่อไปนี้ ตัวอย่างเช่นหากคุณต้องการสร้างเซ็นเซอร์ที่เปิดใช้งานเมื่อมีการโจมตี "יבנ" เท่านั้น และ ไม่ใช่ "גןיבנ" คุณสามารถใช้ไวยากรณ์รหัสต่อไปนี้ หากคุณต้องการเรียกใช้พื้นที่เฉพาะให้ใช้ฟังก์ชั่นแยกและตรวจสอบให้แน่ใจว่าพิมพ์ชื่อเมืองและพื้นที่ ตรง ตามที่ปรากฏใน https://www.oref.org.il/12481-he
{{ "תל אביב - מרכז העיר" in state_attr('binary_sensor.red_alert', 'data').split(', ') }}
{{ "יבנה" in state_attr('binary_sensor.red_alert', 'data').split(', ') }}
{{ "אירוס" in state_attr('binary_sensor.red_alert', 'data').split(', ')
or "בית חנן" in state_attr('binary_sensor.red_alert', 'data').split(', ')
or "גן שורק" in state_attr('binary_sensor.red_alert', 'data').split(', ') }}
ในเมืองที่มีหลายโซนการพึ่งพาฟังก์ชั่นแยก แต่เพียงผู้เดียวจะไม่ได้ผลถ้าคุณกำหนดชื่อเมืองเท่านั้น หากคุณต้องการเซ็นเซอร์ที่กระตุ้นให้กับทุกโซนภายใน 11 เมืองแบ่งออกเป็นหลายโซนการแจ้งเตือนขอแนะนำให้ใช้ฟังก์ชัน Search_regex แทนการแยกข้อมูล
{{ state_attr('binary_sensor.red_alert', 'data') | regex_search("תל אביב") }}
อิสราเอลแบ่งออกเป็น 30 เขตเมืองช่วยให้คุณสามารถกำหนดสถานะทั่วไปของเมืองใกล้เคียงได้โดยไม่จำเป็นต้องระบุแต่ละแห่ง เพื่อให้บรรลุเป้าหมายนี้คุณสามารถใช้แอตทริบิวต์ "พื้นที่" นี่คือรายการของพื้นที่ 30 เขตในอิสราเอลที่นำเสนอตามลำดับตัวอักษร:
אילת, בקע, בקעתית, ג, גליל,, גליל,, עמק, שפל, מפ, מפ, מפ, , לכיש, מנש, מע מעיש,,,,,,,,,,,,,,,,, שפלת, שפלת, שפלת, שפלת,
{{ "גוש דן" in state_attr('binary_sensor.red_alert', 'areas').split(', ') }}
แอตทริบิวต์ 'CAT' กำหนดประเภทการแจ้งเตือนโดยมีช่วงตั้งแต่ 1 ถึง 13 คุณมีตัวเลือกในการตั้งค่าเซ็นเซอร์ไบนารีสำหรับการแจ้งเตือนประเภทใดประเภทหนึ่งโดยมีหรือไม่มีเมืองหรือพื้นที่ใด ๆ ที่คุณเลือก
| แมว (หมายเลข) | ประเภทของการแจ้งเตือน |
|---|---|
| 1 | การโจมตีของมิสซิล |
| 6 | การรุกของเครื่องบินที่ไม่ได้รับอนุญาต |
| 13 | การแทรกซึมของผู้ก่อการร้าย |
ทริกเกอร์สำหรับระบบอัตโนมัติ
{{ state_attr('binary_sensor.red_alert', 'cat') == '6' }}
ตัวอย่างการแจ้งเตือนทริกเกอร์สำหรับการเจาะเครื่องบินที่ไม่ได้รับอนุญาตใน Nahal-Oz
{{ state_attr('binary_sensor.red_alert', 'cat') == '6'
and "נחל עוז" in state_attr('binary_sensor.red_alert', 'data').split(', ') }}