Skip to content

Repository files navigation

SmplWise Runtime Auto-Off

אינטגרציית Home Assistant שמגבילה זמן פעולה רצוף של רכיבים בחדר.

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

בהגדרות אפשר לבחור אם מועד הכיבוי הראשון נקבע לפי הרכיב הפעיל הראשון (הוותיק ביותר) או לפי הרכיב הפעיל האחרון (זה שהופעל לאחרונה).

עקרונות בטיחות

  • רק רכיבים שנבחרו במפורש נשלטים; ה־Area משמש לסינון בלבד.
  • רכיבים חייבים להשתייך בזמן הביצוע לאותו Area ולתמוך ב־turn_off.
  • כל קריאת שירות נעשית לרכיב יחיד, כך שכשל אחד אינו מונע טיפול באחרים.
  • unknown, unavailable, רכיב מושבת, רכיב שהועבר חדר או זהות שהשתנתה מטופלים בצורה סגורה ובטוחה.
  • Group שנבחר במפורש עלול לשלוט בכל חבריו.
  • מחזור פעיל שכבר נמדד נשמר דרך unknown,‏ unavailable, מצב חסר ואתחול של Home Assistant. רק מצב off שנצפה בפועל מאפס אותו. אם הרכיב נכבה ונדלק בזמן שכל המערכת לא הייתה זמינה, אין דרך טכנית לזהות זאת.

אופן הפעולה

  1. מצב off פירושו שהרכיב כבוי. כל מצב תקין אחר נחשב פעיל.
  2. מעבר מ־off למצב פעיל פותח מחזור ומחשב מועד כיבוי לפי הזמן שהוגדר.
  3. עדכון מאפיינים או מעבר בין שני מצבים פעילים אינו מאפס את הספירה.
  4. כיבוי הרכיב לפני המועד מבטל את המחזור שלו.
  5. הרכיב הראשון שמגיע לזמן המרבי מפעיל ניסיון כיבוי לכל הרכיבים הפעילים שנבחרו במצב הראשון. במצב האחרון, ממתינים עד שהרכיב הפעיל שהופעל לאחרונה מגיע לזמן המרבי.
  6. אם רכיב נשאר פעיל לאחר ניסיון הכיבוי, האינטגרציה מתזמנת בדיקה נוספת לפי מרווח הבדיקה הנפרד ומנסה לכבות שוב את הרכיבים שעדיין פעילים.
  7. שעת ההדלקה המקורית אינה מתאפסת בין הניסיונות. הבדיקה החוזרת נמשכת בכל מרווח בדיקה מוגדר עד שהרכיב נכבה.

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

אפשר, לדוגמה, להגדיר כיבוי ראשון לאחר 45 דקות ומרווח בדיקה חוזרת של 5 דקות. במקרה כזה רכיב שנשאר פעיל ייבדק שוב כל 5 דקות, בלי לאפס את 45 הדקות שבהן היה פעיל מלכתחילה.

ישויות לכל Device

  • מתג הפעלה או השהיה של הכלל.
  • חיישן בינארי שמציג אם רכיב נבחר כלשהו פעיל.
  • חיישן מצב: אתחול, מושבת, המתנה, ספירה, ביצוע, הושלם או שגיאה.
  • חיישן שבת/חג בינארי אופציונלי: כאשר הוא on, הכיבוי האוטומטי וכל ניסיון חוזר מושהים. unknown או unavailable חוסמים כיבוי מטעמי בטיחות.
  • חיישן שמציג איזה רכיב צפוי להגיע ראשון לזמן המרבי.
  • חיישן שמציג ממתי הרכיב המפעיל פעיל. חיישן הפעילות כולל במאפיינים את שעת ההתחלה של כל רכיב ואת הרכיבים שנחשבים פעילים בזמן חוסר זמינות.
  • חיישן זמן לכיבוי המתוכנן הבא.
  • חיישן שמבדיל בין כיבוי ראשון לבין ניסיון חוזר.
  • חיישן זמן לכיבוי האחרון שבוצע.
  • חיישנים שמציגים את זמן הפעולה המרבי ואת מרווח הבדיקה שהוגדרו.
  • Event entity לפעילות: תזמון, ביטול, ביצוע, אין פעולה או כשל.

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

התקנה דרך HACS

  1. פותחים HACS ובוחרים Custom repositories.
  2. מוסיפים את https://github.com/jonioliel/ha-runtime-auto-off מסוג Integration.
  3. מתקינים את SmplWise Runtime Auto-Off ומפעילים מחדש את Home Assistant.
  4. עוברים אל Settings → Devices & services → Add integration ומוסיפים את האינטגרציה.

התקנה ידנית

מעתיקים את התיקייה custom_components/runtime_auto_off אל config/custom_components/runtime_auto_off ומפעילים מחדש את Home Assistant.

English summary

SmplWise Runtime Auto-Off monitors explicitly selected, area-scoped entities. Each entity has an independent continuous-active timer. When any selected entity reaches the configured duration, all selected active entities receive a shutdown command. Any entity that remains active is checked and retried after the configured retry interval, which is independent from the initial runtime limit. The initial deadline can follow either the first (oldest) or last (newest) active entity. Persisted active clocks continue through unavailable states and restarts until an actual off state is observed. Retry deadlines survive restarts, and service success is accepted only when Home Assistant confirms the entity is off. The integration creates one first-class Home Assistant device per rule and supports full UI editing.

About

SmplWise Home Assistant integration that turns off selected room entities after a continuous runtime limit.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages