הקובץ configuration.yaml הוא קובץ טקסט רגיל, ולכן הוא קריא על ידי כל מי שיש לו גישה לקובץ. הקובץ מכיל סיסמאות ומפתחות API הנמצאים בשימוש במערכת ויש להסיר אותם במידה ותרצה לשתף את קבצי התצורה שלך. באמצעות קובץ secrets.yaml תוכל להסיר את כל המידע הפרטי מקובצי התצורה. הפרדה זו יכולה גם לעזור לך לשמור על מעקב קל יותר של הסיסמאות שלך ומפתחות ה- API. כמו כן אחסון מפתחות ה API והססמאות וכמו כן מידע כמו כתובות IP או MAC הנדרשים למספר סנסורים, אוטומציות או תרחישים יכולים להכתב פעם אחת בלבד בקובץ זה ובכך לנהל אותם בצורה יותר נוחה.
במדריך זה אתן מספר דוגמאות לשימוש בקובץ ה secrets.yaml.
Api Password
אם ניקח לדוגמה את סיסמה ההתחברות למערכת, אשר מוגדרת בקובץ ה configuration.yaml בצורה הבאה:
http: api_password: YOUR_PASSWORD
את הערך הזה נגדיר ב secrets בצורה הבאה, את ההגדרה בקובץ הקונפיגורציה נחליף בזו:
http: api_password: !secret http_password
ובקובץ ה secrets נוסיף את השורה הבאה:
http_password: YOUR_PASSWORD
כלומר, קובץ הקונפיגורציה יפנה לקובץ secrets וישתמש בערך שנמצא במשתנה בשם api_password.
Broadlink Switch / Sensor
דוגמה נוספת היא שימוש באותם פרמטרים כגון כתובת IP או MAC במקומות שונים בקובץ ההגדרה.
לצורך העניין אם נעשה שימוש במכשיר כדוגמת Broadlink RM 2 pro שיכול לשמש גם כ switch IR/RF אך גם כחיישן טמפרטורה נצטרך להחזיק הגדרה כפולה:
פעם אחת כ Switch:
switch: - platform: broadlink host: 192.168.0.1 mac: 'aa:bb:cc:dd:ee:ff'
ופעם אחת כ Sensor:
sensor: - platform: broadlink host: 192.168.0.1 mac: 'aa:bb:cc:dd:ee:ff' monitored_conditions: - 'temperature'
ככה שאם נחליף את המכשיר או נשנה את כתובת ה IP שלו נצטרך לעבור בכל המקומות ולשנות. גם כאן מגיע לעזרתנו קובץ ה secrets באופן הבא:
בקובץ ה secrets נגדיר את השורות הבאות:
broadlink_ip: 192.168.0.1 broadlink_mac: 'aa:bb:cc:dd:ee:ff'
ואז כל שעלינו לעשות הוא לשנות בקובץ ההגדרות שיראו כך:
ב Switch:
switch: - platform: broadlink host: !secrets broadlink_ip mac: !secrets broadlink_mac
וכנל ב Sensor:
sensor: - platform: broadlink host: !secrets broadlink_ip mac: !secrets broadlink_mac monitored_conditions: - 'temperature'
ובכך בעצם אם יהיה שינוי כלשהו נצטרך לעשותו פעם אחת בלבד בקובץ ה secrets וכל המקומות בהם הוא מוגדר יקבלו את השינוי כאחד.
Leave a Reply