מדריך למדידת טמפרטורה בדוד מים והערכה למספר המקלחות החמות בשיטת “עשה זאת בעצמך”

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

נושא שמקשה על הערכת כמות המים החמים הוא שברגע נתון, בדוד יכולים להיות מים בטמפרטורות שונות. בחלק העליון יכולים להיות מים חמים ובחלק התחתון מים קרים שרק נכנסו. לכן, מדידה בנקודה אחת אינה מסוגלת לתאר את המצב בדוד. חימום ע”פ מדידה אחת (בשרוול של התרמוסטט בדר”כ) עלולה להביא לחימום יתר של המים. לדוגמא, אם טמפרטורת המים בחלק העליון של הדוד היא 50 מעלות, אז הטמפרטורה בחלק התחתון יכולה להיות 40 אך גם יכולה להיות 30 מעלות.

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

  • חיישני טמפרטורה DS18B20
  • בקר ESP32 כדי לרכז את המדידות ולשדר לשרת בית חכם
  • תוכנת בית חכם Home Assistant כדי לבצע חישובים, להציג את הנתונים ואופציונלית לפקד על מכשירים (דוד, מחמם גז וכו) בתגובה.

כמובן שאפשר לממש את הפתרון גם בכלים אחרים ע”פ העקרון והשיטה שמתוארים.

את הפתרון אפשר לבצע גם בלי עבודת אינסטלציה או חשמל במתח רשת!

התוצאה הסופית המתקבלת היא:

המדריך מבוסס בחלקו על מידע מקהילת הבית החכם ועז”ב, הוא תרומה לקהילת הבית החכם עז”ב ואפשר לעשות בו שימוש במסגרת רישיון פתוח מסוג CC BY-NC-SA. אשמח להרחיב את המדריך בעזרת משוב ותגובות מהקהילה. חשוב לציין שלא בדקתי את כל צורות ההתקנה בעצמי ולא אם כל סוגי הדודים הקיימים בשוק. במידה ודברים לא עובדים טוב אפשר להתייעץ עם הקהילה בשרשור בפייס או לשלוח משוב בתחתית הדף. אשתדל לעדכן את המדריך עם המשוב ותוספות שתשלחו.

תוכן עניינים

מושגים בסיסים

דוד מים

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

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

דוד מים חשמלי

דוד מים שיש לו גוף חימום חשמלי שמחמם את המים. גוף החימום מוזן חשמלית דרך התרמוסטט.

תרמוסטט

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

קולט שמש

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

דוד שמש

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

פלאנג’

דיסקה עגולה שמתברגת בתחתית הדוד החשמלי שאליה מחוברים גוף חימום ותרמוסטט. קוטרה כ 16 ס”מ.

שרוול תרמוסטט

צינורית מתכת אטומה בקצה אחד ובקצה השני מחוברת לפלאנג’. לתוכה מוכנס החלק שמודד את הטמפרטורה בתרמוסטט. קוטר פנימי של שרוול סטנדרטי הוא כ 10 מ”מ. לתוכו מוכנס תרמוסטט שקוטרו בדר”כ 8 מ”מ. אורך השרוול והטרמוסטט הם כ 30 ס”מ.

חמם (מאיץ חימום)

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

מערכת סולארית מרכזית

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

בקר חיישנים

מכשיר אלקטרוני שמתחבר בחוטי חשמל לחיישנים, קורא את ערכם ומעביר אותו הלאה, בדר”כ למערכת בים חכם. נפוץ לשדר את המידע מהבקר ע”ג פרוטוקול wifi אך ישנם גם פרוטוקולים אחרים.

תרשימים שונים של דודים

תכנון

למימוש הפרויקט יש 3 שלבים עיקריים:

  1. התקנה של חיישנים, בפרט עליון, תחתון וחיישנים נוספים.
  2. התקנה של בקר חיישנים.
  3. הגדרות ב Home Assistant (HA).

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

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

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

תרשימים של צורות פריסה שונות:

חיישנים

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

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

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

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

חיישן עליון

בחיבור המים העליון של קולט פרטי

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

יתרונות: מדידה מתוך הדוד. מדויק מאוד. אינו דורש עבודת חשמל.

מבוסס על אביזר Thermowell (טרמו-וול) שמתברג לצנרת ומיצר שרוול מתכת שנכנס לתוך הדוד שבו אפשר להתקין חיישן. דומה לשרוול של התרמוסטט. עבור החיישן העליון יש להתקין טרמו-וול באורך של הרדיוס של הדוד. כך שהמדידה תהיה במרכז עד כמה שאפשר. בדר”כ אביזר של 30 ס”מ עושה את העבודה.

לפרטים נוספים ראה פוסט של Dotan Zohar.

ברוב הדודים הגדולים, מומלץ להשתמש בחיישן עם כבל באורך 2 מטר במידה והחיבורים יתבצעו בתחתית הדוד או כבל באורך אחר שמתאים למצב.

על הצינור מים חמים של קולט שמש פרטי

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

יתרונות: פשוט. אינו דורש עבודת אינסטלציה או חשמל.

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

ברוב הדודים הגדולים, מומלץ להשתמש בחיישן עם כבל באורך 2 מטר במידע והחיבורים יתבצעו בתחתית הדוד או כבל באורך אחר שמתאים למצב.

לפרטים נוספים ראה פוסט של Yaniv Levi.

דרך פח הדוד

חסרונות: יש לאטום את נקודת הגישה בסיום. דורש כיול.

יתרונות: אינו דורש עבודת אינסטלציה או חשמל.

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

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

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

את החור יש לקדוח ב 45 מעלות כלפי מטה ופנימה (באלכסון). במידה וקודחים דוך לכיוון הדוד, אז ייתכן שהחיישן לא יכנס כולו לתעלה. עובי הבידוד הוא כ 4 ס”מ ואורך החיישן בין 5 ל 6 ס”מ. עדיף שהתעלה תהיה באלכסון ויותר מהחיישן יכנס פנימה.

את החור יש לקדוח תחילה עם מקדח 8 מ”מ למתכת כדי לעבור אתו את הפח (מילימטרים בודדים). אחר-כך לקדוח עם מקדח 6 מ”מ (או קוטר אחר בהתאם לקוטר החיישן שלכם). את הקידוח בשכבת האיטום כדאי לעשות עם מברגה (לא מקדחה) במצב שבו הקלאץ’ במצב הכי חלש. אפשר גם לקדוח ידנית. לעצור ברגע שעוברים את הקצף ומגיעים למתכת.

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

דוגמאות נוספות להתקנה אפשר לראות בהערות של Eilon Ashkenazi ו Ronny Tuttnauer בשרשור של Kirill Sorokov.

חיישן תחתון

בשרוול התרמוסטט

חסרונות: דורש פירוק חוטי חשמל 220V, בזמן חימום יכול לתת קריאה גבוהה מהטמפ’ האמיתית של המים בחלק התחתון (מאוד תלוי בסוג המאיץ), נדרש חיישן קטן ולא סטנדרטי.

יתרונות: מדידה מתוך הדוד. מדויק מאוד. אינו דורש עבודת אינסטלציה.

את החיישן אפשר לייצר לבד ע”י הלחמה של רכיב DS18B20 לחוטים בעובי של 1 מ”מ. יש לבודד את הרגליים אחת מהשנייה ואפשר להשתמש בצינור מתכווץ (shrink). אפשר גם להזמין חיישן כזה אצלי, פרטים בסוף.

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

לפרטים נוספים ראה פוסט של Yanir Tzabary.

בחיבור המים התחתון של קולט פרטי

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

יתרונות: מדידה מתוך הדוד. מדויק מאוד. אינו דורש עבודת חשמל.

דומה לחיבור בצינור העליון של הקולט הפרטי.

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

דרך פח הדוד

חסרונות: יש לאטום את נקודת הגישה. דורש כיול.

יתרונות: אינו דורש עבודת אינסטלציה או חשמל.

כמו בשיטה “דרך הפח עבור החיישן העליון” אבל בגובה של כ 25 ס”מ מתחתית הדוד.

חיישן יציאת מים חמים

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

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

לחבר כמו עבור “חיישן עליון על צינור הכניסה מהקולט”. אזיקונים ונייר כסף או משהו אחר לבודד את החום.

חיישן סביבה (ambient)

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

ריכוז החיישנים

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

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

החיישן עובד על מתח של 3.3 וולט. זהו מתח נמוך ולא מסוכן. יש להרחיק את כל חוטי החשמל של האלקטרוניקה מחוטי החשמל של הרשת (220V) לביטחונכם ולתקינות הציוד האלקטרוני.

בקר חיישנים

חומרה

לחומרת הבקר נשתמש בלוח פיתוח ESP32, שהוא לוח מאוד פופולרי וניתן להזמין אותו בארץ ובחו”ל.

אנחנו נשתמש ב 3 פינים של הלוח ונחבר את הלוח לריכוז החיישנים. את הפלוס של החיישנים נחבר לפין 3V3, את המינוס נחבר לפין GND ואת הנתונים נחבר לפין 15. בנוסף, אם אין לנו בריכוז חיישנים לוח שיש בו כבר נגד אז נצטרך לשים נגד 4.7kohm בין הפלוס לקו הנתונים (pull-up resistor).

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

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

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

  • לרכוש כרטיס ממיר קטן מהברגה לפינים dupont ואז לחבר עם 3 חוטי jumper נקבה-נקבה.
  • לחבר את הכבל ל 3 חציי חוטי dupont נקבה.
  • להלחים את הכבל ישירות לפינים. יש להקפיד שלא יהיה קצר.
  • להלחים את הכבל ל 3 חציי חוטי dupont נקבה.
  • ללחוץ סופיות dupont על הכבל.

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

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

אלטרנטיבות

משתמשים מתקדמים יכולים לשקול בקרים אחרים. כמה דוגמאות:

תוכנה

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

יש להתקין את התוסף (add-on) ESPHome לפי ההוראות המתוארות פה:

https://esphome.io/guides/getting_started_hassio

אחר-כך יש לחבר את הבקר בכבל USB של נתונים למחשב HA ולהוסיף device חדש בממשק ESPHome. יש לאפשר לתוכנה לעדכן את הבקר. אם זה מכשיר ראשון תצטרכו להזין את פרטי רשת ה wifi שלכם. בנוסף תצטרכו לתת שם לבקר. אפשר לדוגמא לקרוא לו Water Tank.

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

כעת, בחרו EDIT ובסוף רשימת ההגדרות תוסיפו את השורות:

# Temperature sensors
dallas:
  - pin: GPIO15
    update_interval: 5s

תשמרו ותעדכנו את הבקר.

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

ב ESPHome לבחור LOGS עבור ה device שהוספתם ולחפש בלוג (LOG) את הפלט של סריקת החיישנים שדומה ל:

[16:50:53][D][dallas.sensor:082]: Found sensors:
[16:50:53][D][dallas.sensor:084]: 0xc63c7af648619328

המספר 0xc63c7af648619328 הוא מזהה של החיישן. במידה וישנו יותר מחיישן אחד אז יודפסו כמה מספרים מזהים.

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

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

sensor:
  - platform: dallas
    address: 0xc63c7af648619328
    name: "Temperature #1"
  - platform: dallas
    address: 0xc64c7af648619328
    name: "Temperature #2"

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

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

sensor:
  - platform: dallas
    address: 0xc63c7af648619328
    name: "Top Sensor Temperature"
  - platform: dallas
    address: 0xc64c7af648619328
    name: "Bottom Sensor Temperature"
  - platform: dallas
    address: 0xc65c7af648619328
    name: "Exit Temperature"
  - platform: dallas
    address: 0xc66c7af648619328
    name: "Ambient Temperature"

את ההגדרות יש לשמור ולהתקין. אחר-כך לבדוק שהבקר נוסף ל Home Assistant ולהוסיף אם לא (אמור להופיע להוספה אוטומטית באינטגרציות). לבדוק ב Settings, Entities או Settings, Devices או Developer Tools, STATES שהערכים מתקבלים בזמן אמת וכל חיישן מדווח איפה שצריך.

בשלב זה נתוני החיישנים נאספים ונשאר לנו רק לעבד אותם.

אלטרנטיבות

משתמשים מתקדמים יכולים לשקול לשים קושחה אחרת במקום ESPHome. לדוגמא:

  • Tasmota

הגדרות ב HA

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

ראה הסבר ב: https://www.home-assistant.io/docs/configuration/packages/#create-a-packages-folder

אפשר גם להוסיף ולשלב את ההגדרות החדשות עם ההגדרות ב configuration.yaml הראשי.

חיישני טמפרטורה

במידע שקבענו ב ESPHome את ה hostname של הבקר ל water-tank ואת ה friendly_name ל Water Tank אז החיישנים שהגדרנו מעל יופיעו במערכת HA כ:

sensor.water_tank_top_sensor_temperature

sensor.water_tank_bottom_sensor_temperature

sensor.water_tank_exit_temperature

sensor.water_tank_ambient_temperature

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

פרמטרים נשלטים ע”י משתמש

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

input_number:
  water_tank_desired_temperature:
    name: Water Tank Desired Temperature
    initial: 40
    min: 30
    max: 50
    step: 1
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-water"
  water_tank_capacity:
    name: Water Tank Capacity
    initial: 150
    min: 30
    max: 300
    step: 10
    unit_of_measurement: "L"
    icon: "mdi:storage-tank-outline"
  water_tank_liters_per_minute:
    name: Water Tank Liters Per Minute
    initial: 10
    min: 5
    max: 20
    step: 1
    unit_of_measurement: "L/min"
  water_tank_minutes_per_shower:
    name: Water Tank Minutes Per Shower
    initial: 5
    min: 3
    max: 20
    step: 1
    unit_of_measurement: "min/sh"
    icon: "mdi:shower-head"

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

חיישנים מחושבים

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

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

נגדיר חיישן מחושב חדש ב HA, לדוגמא עבור חיישן עליון שהתקננו דרך הפח.

sensor:
- platform: template
    sensors:
      water_tank_top_temperature:
        friendly_name: "Water Tank Top Temperature"
        unit_of_measurement: "°C"
        device_class: temperature
        value_template: >
          {% set top_sensor = states('sensor.water_tank_top_sensor_temperature') | float %}
          {% set ambient = states('sensor.water_tank_ambient_temperature') | float %}
          {% set alpha = 0.62 %}
          {{ (top_sensor/alpha - ambient/alpha + ambient) | round(1, default=0) }}

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

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

חישובי מקלחות

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

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

נשים לב שאם המים בדוד הם ב 50 מעלות, המים הקרים הם 20 מעלות והטמפרטורה המבוקשת היא 40 אז כל ליטר מים מהדוד יספיק ל 1.5 ליטר מקלחת!

נגדיר חיישנים נוספים ב HA (בהמשך לבלוק הקודם):

      water_tank_percent_hot:
        friendly_name: "Water Tank Percent Hot"
        unit_of_measurement: "%"
        value_template: >
          {% set top = states('sensor.water_tank_top_temperature') | float %}
          {% set bottom = states('sensor.water_tank_bottom_temperature') | float %}
          {% set desired = states('input_number.water_tank_desired_temperature') | float %}
          {{ (100 * min(max((top-desired) / max(top-bottom,0.1),0),1)) | round(1, default=5) }}
      water_tank_liters_at_desired_temperature:
        friendly_name: "Water Tank Liters at Desired Temperature"
        unit_of_measurement: "L"
        device_class: volume
        value_template: >
          {% set top = states('sensor.water_tank_top_temperature') | float %}
          {% set bottom = states('sensor.water_tank_bottom_temperature') | float %}
          {% set ratio_hot = (states('sensor.water_tank_percent_hot') | float) / 100.0 %}
          {% set cold = states('sensor.water_tank_ambient_temperature') | float %}
          {% set desired = states('input_number.water_tank_desired_temperature') | float %}
          {% set tank_capacity = states('input_number.water_tank_capacity') | float %}
          {% set avg_above_desired = (top + max(bottom, desired)) / 2 %}
          {% set liters_ratio = (avg_above_desired-desired)/(desired-cold) + 1 %}
          {{ (liters_ratio * tank_capacity * ratio_hot) | round(1, default=0) }}
      water_tank_avail_minutes_use:
        friendly_name: "Water Tank Available Minutes Hot Use"
        unit_of_measurement: "min"
        device_class: duration
        value_template: >
          {% set liters = states('sensor.water_tank_liters_at_desired_temperature') | float %}
          {% set liters_per_min = states('input_number.water_tank_liters_per_minute') | float %}
          {{ (liters / liters_per_min) | round(1, default=0) }}
      water_tank_avail_showers:
        friendly_name: "Water Tank Available Hot Showers"
        value_template: >
          {% set minutes = states('sensor.water_tank_avail_minutes_use') | float %}
          {% set minutes_per_shower = states('input_number.water_tank_minutes_per_shower') | float %}
          {{ (minutes / minutes_per_shower) | round(1, default=0) }}

ממשק משתמש

נוסיף באחר הדאשבורדים שלנו את הנתונים בכרטיס Entities שימושי

type: entities
entities:
  - entity: sensor.water_tank_top_temperature
    name: Top Temperature
  - entity: sensor.water_tank_bottom_temperature
    name: Bottom Temperature
  - entity: sensor.water_tank_percent_hot
    name: Percent hot
  - entity: sensor.water_tank_liters_at_desired_temperature
    name: Liters at Desired Temperature
  - entity: sensor.water_tank_avail_minutes_use
  - entity: sensor.water_tank_avail_showers
  - entity: input_number.water_tank_desired_temperature
    name: Desired Temperature
  - entity: input_number.water_tank_capacity
  - entity: input_number.water_tank_liters_per_minute
    name: Liters Per Minute
  - entity: input_number.water_tank_minutes_per_shower
    name: Minutes Per Shower
title: Water Tank

ונקבל:

כדאי גם להוסיף כרטיס “History Graph” ולעקוב אחרי הערכים לאורך זמן. זה במיוחד חשוב לכיול.

כיול

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

מי שמרגיש נוח עם מתימטיקה יכול לחשב את alpha מתוך 3 מדידות בצורה הבאה:

top_sensor = alpha * max_exit + (1 – alpha) * ambient

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

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

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

המשך

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

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

רכיבים וחלקים

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

חיישני טמפרטורה בקפסולה

מילות חיפוש: DS18B20 Temperature Sensor Waterproof Stainless Steel

לשים לב לאורך הכבל וסוג מחבר.

במידה וריכוז החיישנים יהיה בכרטיס מסודר אז יש להזמין עם מחבר JST-XH שמתואר גם כ “2.54MM” או “2.54-3P cable”.

חיישן טמפרטורה קטן לתרמוסטט

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

מי שרוצה רק את הרכיב, לבניה עצמית, יכול להזמין בעזרת מילות חיפוש: DS18B20 IC TO-92

לשים לב לאורך הכבל וסוג מחבר.

כרטיס לחיבור חיישן לבקר

מילות חיפוש: DS18B20 adapter module

כרטיס קטן עם חיבור הברגה ל 3 חוטים בצד אחד וחיבור 3 פינים dupont בצד שני.

כולל נגד שנדרש עבור חיישני DS18B20.

לרוב כולל גם חוטים שמאפשרים חיבור לפינים של ESP32.

כרטיס לריכוז חיישנים

אפשר להזמין אצלי.

כרטיס עם מספר חיבורי XH, חיבור הברגה וחיבור dupont.

כולל גם חיישן DS18B20 על הלוח שיכול לשמש כמדידה של הסביבה.

בנוסף על הכרטיס ישנם נגד, קבל ולד אינדיקטור.

בקר ESP32

מילות חיפוש: esp32 development board

הכרטיס עם ה 30 פינים הוא בדר”כ הנפוץ והפופולארי ביותר.

לשים לב לסוג חיבור USB. ישנם כרטיסים עם USB-C וישנם עם Micro USB. אני דווקא ממליץ יותר על ה Micro כי בהרבה גרסאות USB-C חסר קבל על ה ENable וזה מקשה על הצריבה (נדרש ללחוץ ידנית על כפתורים).

קיטים

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

כבלים

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

קופסאות חשמל

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

שאלות ותשובות

בהמשך…

Leave a Reply

Your email address will not be published. Required fields are marked *