התראת צבע אדום ב Home-Assistant

RedAlert - צבע אדום

בתור אחד שההורים שלו גרים בדרום, חיפשתי דרך להטמיע את התראות צבע אדום במערכת הבית החכם. מדוע? אחת הסיבות היא שבלילה כאשר יש אזעקה, לקום לבית חשוך זה די מבהיל, ולכן הדלקה אוטומטית של אורות בבית בעת אזעקה יכולה להיות פתרון לא רע לעניין.

אז לאחר מחקר קצר הצלחתי ליצור סקריםט שיודע למשוך התראות צבע אדום מפיקוד העורף ומשם הדרך לשלוח אותם ל HA היתה קצרה, תוך שימוש בפרוטוקול MQTT. נכון, אפשר גם להכין קומפוננטה יעודית אך בחרתי שלא לעשות זאת מכמה סיבות:

  • הראשונה, יכולת להשתמש באותו הסקריפט לשלוח ולהציג התראה בפלטפורמות שונות ומגוונות, כמו Home-Assistant, Telegram ועוד.
  • השניה, על מנת לקבל את ההתראות כמה שיותר בזמן אמת הסקריפט צריך לייצר בקשת http אחת לשניה דבר שעלול להכביד מאוד על HA.

ככה שבסופו של דבר, יש סקריפט שרץ ברקע (קונטיינר, Windows Service אן systemctl) שרק בעת שיש התראה פעילה הוא "ידחוף" אותה ל HA באמצעות MQTT.

במדריך זה אסביר כיצד להתקין את הקונטיינר ולהגדיר את המערכת אך לפני זנעשה זאת שימו לב בקפידה להערה הבאה:

*** השימוש במערכת זו על אחריות המשתמש בלבד ולא על הכותב שלה, ומתוך ידיעה שהגורם היחידי שמוסמך להתריעה על התראות צבע אדום הוא פיקוד העורף, ***

שלב א' – התקנת הקונטיינר באמצעות docker-compose

אם הגעתם לשלב זה, סימן שבחרתם להשתמש במערכת תוך ידיעת המגבלות (הידד!).
על מנת להתקין את המערכת יש לוודא כי על השרת מותקן סביבת docker + docker compose על פי המדריך הבא.

כעת, ערכו את רובץ ה docker-compose.yaml שלכם והכניסו פנימה את קטע הקוד הבא:

  redalert:
    image: techblog/redalert
    container_name: redalert
    restart: always
    environment:
      - MQTT_HOST={Broker Address}
      - MQTT_USER={Broker Username}
      - MQTT_PASS={Broker Password}
      - MQTT_PORT={Broker Port}
      - DEBUG_MODE=False
    restart: unless-stopped

כאשר:

  • MQTT_HOST – כתובת שרת ה MQTT.
  • MQTT_USER – שם המשתמש לשרת ה MQTT
  • MQTT_PASS – הסיסמה לשרת ה MQTT
  • MQTT_PORT – הפורט של שרת ה MQTT (אופציונלי, ברירת המחדל הנה 1883).
  • DEBUG_MODE – משמש לבדיקת המערכת על ידי פניה ל URL חלופי שמחזיר התראת בדיקה.

שמרו את הקובץ והריצו את הפקודה :

docker-compose up -d

ונוכל לראות שהקונטיינר רץ:

שלב ב' – התקנת ה Mqtt Sensor והגדרתו לקבלת ההתראות

בשלב זה נגדיר sensor מסוג MQTT אשר יאפשר את קבלת ההתראות בתוך Home-Assistant. כאשר ישנן שתי אפשרויות לקבל ההתראה.
האחת, קבלת ההתראה במלואה, כולל זמן, כותרת, ID ורשימת הישובים:

  - platform: mqtt
    name: "Red Alert"
    state_topic: "/redalert/"
    value_template: "{{ value_json }}"
    qos: 1
  - platform: mqtt
    name: "Red Alert"
    state_topic: "/redalert/"
    value_template: "{{ value_json.data }}"
    qos: 1

בהצלחה ושלא נזדקק לכך!

3 Comments

Leave a Reply

כתובת האימייל שלך לא תפורסם


*