מסדרון הוא מקום נוח להתחיל בו: נכנסים, האור נדלק, וכשאין תנועה במשך זמן מוגדר הוא נכבה. זו פעולה קטנה שאפשר לראות ולבדוק, ויש בה כמעט את כל המרכיבים של אוטומציה: אירוע, החלטה ופעולה.
נבנה אוטומציה אחת עם שני טריגרים (אירועים שמפעילים אותה). הראשון מדליק את האור כשהחיישן מזהה תנועה. השני מכבה אותו אחרי שהחיישן נמצא במצב ״אין תנועה״ במשך שתי דקות רצופות. ההדלקה תפעל בכל שעות היום; תנאי של חושך אפשר להוסיף בהמשך.
מה צריך לפני שמתחילים?
- Home Assistant פעיל. התחביר במדריך תואם לתיעוד סדרת 2026.9.
- חיישן תנועה שכבר מופיע כישות מסוג
binary_sensor. - תאורה שכבר מופיעה כישות מסוג
lightואפשר להפעיל אותה דרך Home Assistant.
המדריך אינו מתקין את Home Assistant ואינו מצמד מכשירים. לפני יצירת האוטומציה, ודאו שהתאורה מגיבה להפעלה ידנית מהממשק ושהחיישן משנה מצב כשעוברים לידו.
נשתמש בשמות binary_sensor.hallway_motion ו־light.hallway. אלו שמות לדוגמה: החליפו אותם במזהי הישויות אצלכם. אפשר למצוא את המזהים בפרטי הישות או בכלי המפתחים תחת States.
למה יש שני טריגרים?
החיישן מדווח על מצבים. כשהוא עובר מ־off ל־on, נרצה להדליק את האור. כשהוא עובר מ־on ל־off ונשאר כך שתי דקות, נרצה לכבות.
אם החיישן חוזר ל־on במהלך שתי הדקות, הרצף של off נקטע. הספירה תתחיל מחדש במעבר הבא ל־off. זהו השימוש ב־for בטריגר מצב, כפי שמתואר בתיעוד הטריגרים של Home Assistant.
הזמן הזה מתחיל כש־Home Assistant מקבל את המעבר ל־off, לא ברגע שבו האדם האחרון יצא מהמסדרון. אם לחיישן עצמו יש השהיה לפני דיווח על סיום תנועה, היא מתווספת לזמן שהגדרנו.
יוצרים אוטומציה ריקה
בממשק באנגלית, פתחו Settings ואז Automations & scenes. צרו אוטומציה חדשה וריקה. בתפריט של האוטומציה בחרו עריכה ב־YAML.
הקוד הבא הוא התוכן של אוטומציה אחת בעורך. אל תעטפו אותו במפתח automation:, ואל תדביקו אותו בלי התאמה לתוך רשימת האוטומציות שבקובץ automations.yaml.
id: homeran_hallway_motion_01
alias: "תאורת מסדרון לפי תנועה"
description: "הדלקה בתנועה וכיבוי אחרי שתי דקות ללא תנועה"
triggers:
- trigger: state
entity_id: binary_sensor.hallway_motion
from: "off"
to: "on"
id: motion
- trigger: state
entity_id: binary_sensor.hallway_motion
from: "on"
to: "off"
for: "00:02:00"
id: clear
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id: motion
sequence:
- action: light.turn_on
target:
entity_id: light.hallway
- conditions:
- condition: trigger
id: clear
sequence:
- action: light.turn_off
target:
entity_id: light.hallway
mode: restart
החליפו את שני מזהי הישויות ושמרו. אם העורך כבר מנהל מזהה id לאוטומציה, אפשר להשאיר את המזהה שהוא נתן לה במקום המזהה שבדוגמה.
כל טריגר מקבל מזהה: motion או clear. הפעולה choose בוחרת רצף לפי המזהה של הטריגר שהפעיל את האוטומציה. זו דרך להחזיק את ההדלקה והכיבוי באותו מקום, בלי שתי אוטומציות נפרדות. המבנה מתועד בפעולות וסקריפטים ובתנאי אוטומציה.
מה עושה restart?
mode: restart אומר שאם מתחילה ריצה חדשה בזמן שהקודמת עדיין פעילה, Home Assistant עוצר את הריצה הקודמת ומתחיל את החדשה, בתנאים המוגדרים. כאן הרצפים קצרים, והמצב מבטא העדפה לאירוע החדש. תיעוד מצבי הריצה מפרט גם את single, את queued ואת parallel.
אין כאן delay של שתי דקות בתוך הפעולות. ההמתנה מוגדרת ב־for של הטריגר, ו־restart אינו אחראי לאיפוס שלה. חשוב להפריד בין שני המנגנונים כדי להבין מה קורה כשמזוהה תנועה מחדש.
בדיקה שמכסה את ההתנהגות האמיתית
בצעו את הבדיקה דרך החיישן והמנורה, ולא רק באמצעות כפתור הרצה:
- התחילו כשהחיישן במצב
offוהאור כבוי. - עברו ליד החיישן. בדקו שהאור נדלק כשהמצב הופך ל־
on. - צאו מהאזור. המתינו עד שהחיישן ידווח
off, ואז עוד שתי דקות. - בדקו שהאור נכבה.
- חזרו על התהליך, אבל עברו שוב ליד החיישן לפני ששתי הדקות מסתיימות. האור אמור להישאר דולק עד שיעברו שתי דקות רצופות במצב
offהחדש.
הזמן הכולל עשוי להיות ארוך יותר בגלל השהיית החיישן. כדי להבין את הרצף, הסתכלו גם על היסטוריית מצבי הישות.
האוטומציה בוחרת פעולה לפי מזהה טריגר. הפעלה ידנית של פעולות בלבד אינה משחזרת בהכרח טריגר עם אותו מזהה, ולכן אינה בדיקה מלאה של הדוגמה. כשמשהו לא קורה, פתחו את ה־Trace (תיעוד הריצה של האוטומציה) ובדקו איזה טריגר הופעל ואיזה ענף נבחר. מדריך הבדיקות מסביר את ההבדל בין דרכי ההרצה ואת השימוש ב־Traces.
שלושה מקרים שכדאי להכיר
הופעלה התאורה ידנית. הדוגמה אינה מבחינה בין הדלקה ידנית להדלקה מהאוטומציה. אם לאחר מכן מתרחש טריגר הכיבוי, היא תכבה את האור. אם רוצים לשמור על תאורה ידנית, צריך להוסיף מצב עקיפה או לתכנן לוגיקה אחרת.
בוצעה הפעלה מחדש בזמן ההמתנה. המתנה של for שכבר התחילה אינה נשמרת אחרי הפעלה מחדש של Home Assistant או טעינה מחדש של האוטומציות. בנוסף, הטריגרים כאן דורשים מעבר מפורש בין on ל־off; הם אינם מבצעים תיקון מצב אוטומטי בעת עליית המערכת. המגבלה של for מתועדת בעמוד הטריגרים.
נוסף תנאי של חושך. אם תוסיפו תנאי גלובלי שמאפשר את האוטומציה רק בלילה, הוא עלול לחסום גם את הכיבוי. עדיף לבדוק את תנאי החושך בענף ההדלקה בלבד, ולהשאיר לכיבוי דרך לפעול גם כשהתנאי השתנה.
אחרי שהגרסה הבסיסית עובדת כמה ימים, יש טעם לשנות זמני המתנה, להוסיף רמת בהירות או להתחשב במצב ידני. כל שינוי קטן צריך להיבדק מול שגרת הבית, לא רק מול העובדה שה־YAML נשמר בהצלחה.