תוכן עניינים:

תאורה מתוזמנת של ESPHOME SONOF S26: 11 שלבים (עם תמונות)
תאורה מתוזמנת של ESPHOME SONOF S26: 11 שלבים (עם תמונות)

וִידֵאוֹ: תאורה מתוזמנת של ESPHOME SONOF S26: 11 שלבים (עם תמונות)

וִידֵאוֹ: תאורה מתוזמנת של ESPHOME SONOF S26: 11 שלבים (עם תמונות)
וִידֵאוֹ: מדריך קצר להפעלת מתגים חכמים בבית חכם מבית טופרזול 2024, נוֹבֶמבֶּר
Anonim
ESPHOME SONOF S26 אור מתוזמן
ESPHOME SONOF S26 אור מתוזמן

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

אז בואו נראה כמה עוד אני יכול להכניס את עצמי לחור ארנב.

שלב 1: שלב 1: אני צריך דרך לשלוח את העוזרים מהבית

קצת גוגל עוזר. כמה משיכת השיער עוזרת, אם יש לך באמת: פתח את התוסף של עורך הקוד של Visual Studio. תחת תיקיית Config מצא את הקובץ config.yaml והעתק והדבק כמה דברים שמצאתי מוסתר באיזה פורום. מצטער אם זכרתי הייתי נותן הכרה. הוסיף את הקוד והפעלתי את עוזר הבית מחדש.

שלב 2: שלב 2: הוספת הקוד הבא ל- Configuration.yaml

שלב 2: הוספת הקוד הבא ל- Configuration.yaml
שלב 2: הוספת הקוד הבא ל- Configuration.yaml

מספר קלט:

ft_start_hr:

שם: שעות התחלת אור של FT

אייקון: mdi: הפעלת שעון

דקה: 0

מקסימום: 23

שלב 1

# ראשוני: 13

השורה הראשונה תהיה מזהה ישות מספר הקלט.

לאחר מכן אנו צריכים כמה פרטים עבור הבחור הקטן הזה:

שם יהיה מדהים: שעות ההתחלה של FT Light ל- P. S. FT מיועד לדגים … לא מה שחשבת נכון?

הבא הוא סמל אופציונלי. יש הרבה בחירות לבחירה אז תשתגעו … או לא.

לאחר מכן נוכל להכניס ערך מינימלי, מקסימלי וצעד. מכיוון שמדובר בשעות בחרתי 0 - 23 בשלבים בודדים.

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

אתה יכול להיכנס למצב לבחור תיבה. אך כברירת מחדל הוא בוחר עבורך מחוון נחמד. אני חושב שמחוון יעשה לעת עתה.

היו מודעים לשקעים מכיוון שהם חשובים מאוד. ראו את התמונה

אז אלה יתנו לך ישויות בעוזרת הבית בכדי שתוכל להסתגל.

להלן קישור למידע נוסף אודות מספרי קלט:

www.home-assistant.io/integrations/input_n…

שלב 3: שלב 3: כעת עלינו להביא את המידע ל- ESPHOME API

שלב 3: כעת עלינו לקבל את המידע ל- ESPHOME API
שלב 3: כעת עלינו לקבל את המידע ל- ESPHOME API

חיישן:

- פלטפורמה: תבנית

חיישנים:

ft_start_hr:

value_template: '{{states.input_number.ft_start_hr.state | int}} '

נ

זה ייתן ל- ESPHome API את החיבור הנדרש, כמו כן כעת הוא מספר שלם במקום מחוון טקסט מפואר:-P

כאן הוא לוקח את מצב מספר הקלט וממיר אותו למספר שלם ושומר אותו בחיישן.

להלן מידע נוסף על התבניות:

www.home-assistant.io/integrations/templat…

אה שיניתי את סיומת הקובץ של הקובץ שלי לטקסט כדי שאוכל להעלות אותו … הוראות ההוראה עשויות להיות ניתנות להריסה עם ימל …

שלב 4: שלב 4: אז תצורת ESPHome של התקע כעת

שלב 4: אז תצורת ESPHome של התקע כעת
שלב 4: אז תצורת ESPHome של התקע כעת

התחלתי עם תצורת בסיס לתקע s-on-off ואז התחלתי להתעסק.

לא אפרט כיצד להבהב את תקע S26 עם ESPHome מכיוון שלגוגל יש את כל התשובות.

קובץ התצורה המלא שלי יהיה זמין להורדה בסוף. דא דא דה…

אז נתחיל עם החלק המקושר לעוזר הבית:

עלינו ליצור חיישנים התואמים את החיישנים בעוזר הבית כדי שיוכלו לדבר זה עם זה.

שלב 5: שלב 5: חיבור עוזר הבית של ESPHome … Beam Me Up Scotty

שלב 5: חיבור עוזרי הבית של ESPHome … Beam Me Up Scotty
שלב 5: חיבור עוזרי הבית של ESPHome … Beam Me Up Scotty

חיישן:

- פלטפורמה: עוזרת בית

entity_id: sensor.ft_start_hr

id: id_ft_start_hr

אז כעת אנו יוצרים חיישן ב- ESPHome מהסוג לעוזר ביתי. מי היה מנחש?

מזהה הישות יצטרך להתאים למה שהגדרת בקובץ config.yaml שלך.

הגדרתי מזהה כך ש- ESPHome תוכל להתייחס לחיישן הזה בשפע החשיבה שלו.

שלב 6: שלב 6: מאפשר להוסיף קצת זמן

שלב 6: מאפשר להוסיף קצת זמן
שלב 6: מאפשר להוסיף קצת זמן

אז מכיוון שזהו תקע מתוזמן … מאפשר למעשה להוסיף קצת זמן … או שהוא מפחית? עכשיו זה בעבר?

להלן כמה יסודות של רכיב הזמן. אנחנו יכולים לבחור כמה שונים אבל בחרתי בעוזר ביתי. קל מדי?

esphome.io/components/time.html

שלב 7: שלב 7: מרווח

שלב 7: מרווח
שלב 7: מרווח

לא זה לא הפסקה, או שזה?

הַפסָקָה:

- מרווח: 1 שניות

לאחר מכן:

- למבדה: |-

id (gl_ft_start_hr) = id (id_ft_start_hr).state;

אז הגדרתי מרווח של שנייה אחת כדי לכתוב את ערך החיישן מהעוזר הביתי למשתנה הגלובלי.

אני רק רוצה לעשות את זה פעם שנייה כשהזמן מתקתק … טיק טק

שלב 8: שלב 8: אז יש לנו זמן וכסף … מה הלאה?

שלב 8: אז יש לנו זמן וכסף … מה הלאה?
שלב 8: אז יש לנו זמן וכסף … מה הלאה?

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

יצרתי שלושה מתגים עם מזהה: start_time_valid, stop_time_valid ו- run_time_valid

start_time_valid נכון כאשר הוא עבר את הזמן שהוגדר להפעלת הממסר.

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

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

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

- פלטפורמה: תבנית

name: "זמן ההתחלה תקף"

id: start_time_valid

למבדה: |-

if (id (homeassistant_time).now (). hour> id (gl_ft_start_hr)) {

להחזיר נכון;

}

אחרת אם (id (homeassistant_time).now (). שעה == id (gl_ft_start_hr) &&

id (זמן עוזר הבית).כעת (). דקה> מזהה (gl_ft_start_mn)) {

להחזיר נכון;

}

אחרת אם (id (homeassistant_time).now (). שעה == id (gl_ft_start_hr) &&

id (זמן עוזר הבית).כעת (). דקה == id (gl_ft_start_mn) &&

id (homeassistant_time).now (). second> = id (gl_ft_start_ss)) {

להחזיר נכון;

}

אחר {

להחזיר שקר;

}

שלב 9: שלב 9: עכשיו לכמה סקריפטים: 'להיות, או לא להיות: זו השאלה'

שלב 9: עכשיו לכמה תסריטים: 'להיות, או לא להיות: זו השאלה'
שלב 9: עכשיו לכמה תסריטים: 'להיות, או לא להיות: זו השאלה'

אממ תסריט לא נכון אחי!

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

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

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

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

אני מריץ את שני הסקריפטים האלה במרווח של שנייה אחת כדי לבדוק כל שנייה.

שלב 10: שלב 10: כמה סקריפטים של בונוס

שלב 10: כמה סקריפטים של בונוס
שלב 10: כמה סקריפטים של בונוס

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

מזהה הסקריפט הראשון: relayisoff יפעיל את האור במשך 5 דקות אם הוא כבוי מתוזמן בזמן ואז יכבה.

מזהה התסריט השני: relayison הוא כמעט הפוך מהראשון וידליק את האור מחדש 5 שניות מאוחר יותר אם הוא אמור להידלק. מי אמר שאתה יכול לכבות את אדוני האור!

להלן מידע נוסף אודות סקריפטים:

esphome.io/guides/automations.html

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

שלב 11: שלב 11: כמה מחשבות אחרונות

שלב 11: כמה מחשבות אחרונות
שלב 11: כמה מחשבות אחרונות
שלב 11: כמה מחשבות אחרונות
שלב 11: כמה מחשבות אחרונות

מעוזרת הבית רציתי שהמתג יפעל באותו אופן כמו הכפתור.

לא שמתי שם למתג המקומי של חיישן בינארי מכיוון שלא הייתי צריך לראות אותו נדחף לעוזר הבית.

לא שמתי שם למתג ממסר מכיוון שרציתי להשתמש בתסריטים לביצוע המעבר מהעוזר הביתי.

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

לא בדקתי אם לכבות את עוזר הבית שלי אם התקע עדיין יפעל כהלכה. אני מקווה שכן. ראיתי כמה פוסטים בנושאים מסוימים בעת אובדן החיבור ל- API של עוזר הבית.

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

עכשיו לשנות את הזמנים בעוזר הבית מבוסס על זריחה ושקיעה …+ - כמה

מוּמלָץ: