solarwatermeter – מד דוד שמש
אתר סטטי (+ דפי שאלות ותשובות וצרו קשר) שמושך מ-Open-Meteo את קרינת השמש ומזג האוויר, ומעריך כמה הדוד מתחמם – היום מול אתמול – ומי יכול להתקלח בלי להדליק דוד.
המסך הראשי – התשובה קודם
- כמה מקלחות הערב – לכל אחד מבני הבית: "בלי דוד", או כמה דקות להדליק לפני המקלחת שלו (הדלקה לכל אחד בנפרד, בדיוק לכמה שהוא צריך – לפי סדר המקלחות). לחיצה על שם מסמנת "לא הערב" (לא בבית / התקלח בבריכה) לאותו ערב בלבד, והחישוב מתעדכן; מי שכבר רשם מקלחת הערב מסומן "כבר התקלח/ה". בעבר: ציור של הדוד (צבע ומילוי לפי הטמפ׳ עכשיו), "הערב בלי להדליק דוד יספיק ל-3 מתוך 4" עם וי לכל מי שיספיק לו (או "~N מקלחות" בלי שמות), כמה דקות להדליק אם צריך, ושורה "אתמול · מחר".
- מדד חימום סולארי – כרטיס קטן עם הציון של היום, פס עם סימון "יום בהיר כאן", ואתמול להשוואה.
- טיפ שעה (מתי להתקלח), "💰 השמש חסכה לכם" (₪ בחודש האחרון ומאז תחילת הרישום: החום שהמקלחות שנרשמו צריכות, פחות החשמל של ההדלקות שנרשמו, כפול מחיר החשמל – ברירת מחדל 63.52 אג׳ לקוט״ש, ניתן לשינוי בהגדרות; למקלחות ישנות העונה מוערכת) ו**"האתר מכיר אתכם %"** – עולה עם כל מקלחת שנרשמת, ואומר ממי חסרים עוד רישומים.
- כפתורים קבועים בתחתית: "התקלחתי" (חלונית: מי – כולל ניחוש מי בדרך כלל מתקלח בשעה הזו – ואיך היו המים בסוף; אחרי הרישום: מה נלמד, כמה האתר מכיר אתכם עכשיו, ומה נשאר למי שעוד לא התקלח) ו**"הדלקתי דוד"**.
- הגרפים (השמש היום ואתמול, הדוד לאורך היום, עכשיו/בוקר/ערב) תחת "פרטים וגרפים".
- ניווט בתחתית: היום · יומן (מקלחות והדוד החשמלי) · משפחה (בני הבית ושיתוף) · הגדרות. כל לשונית היא
#hash, כך שכפתור "חזרה" בטלפון חוזר ל"היום".
מדד חימום סולארי (זהה לכולם, בלי קשר לדוד)
- קולט סטנדרטי: 45° לדרום, מחמם מים ל-50°C. בכל שעה: חום שימושי = max(0, 0.7 × קרינה על הקולט − 5 × (50 − טמפ׳ האוויר)).
כשקר בחוץ או שהשמש חלשה – הקולט לא מחמם בכלל (בגרף: עמודות אפורות).
- מדד 0–100 = החום השימושי היומי ÷ 5.5 kWh/m² (היום הבהיר הכי טוב בעולם, מדבר גבוה ויבש). בישראל ימים בהירים ≈ 45 (חורף) עד 68 (אביב/סתיו), מעונן ≈ 0–20.
- "ביום בהיר כאן" – המדד שהיה מתקבל היום בלי עננים. "עד עכשיו" מוצג רק כל עוד השמש עוד יכולה להוסיף היום.
מקלחות הערב (לפי הדוד והמשפחה שלכם)
- "הערב בלי להדליק דוד יספיק ל-3 מתוך 4", ובהשוואה – אתמול ומחר באותה שעה. בלי בני משפחה: "~N מקלחות" בגודל ברירת המחדל.
- טמפ׳ המקלחת וטמפ׳ המים מהברז משתנות לפי העונה (אוטומטית לפי טמפ׳ האוויר בימים האחרונים; אפשר לקבוע בהגדרות).
- הדוד מקבל קרינה לפי הזווית והכיוון של הקולטים שלכם (בהגדרות), עם הפסדי חום לפי טמפ׳ האוויר.
הרצה
פותחים את index.html בדפדפן, או מפעילים GitHub Pages על ענף main (תיקיית root).
משפחה, מקלחות ולמידה (family.js)
- כניסה ראשונה: "יהיו מים חמים הערב?", הסבר קצר בשלושה צעדים, ושדה יישוב (עם חיפוש תוך כדי הקלדה) – בלי בקשת הרשאת מיקום. "לפי המיקום של הטלפון" הוא אפשרות משנית, עם הסבר שהמיקום נשמר רק במכשיר. אחר כך התשובה לפי דוד ממוצע (מסומנת כהערכה כללית), ומתחתיה הזמנה "רוצים תחזית שמדויקת לכם?": אפשר להוסיף את בני הבית, או להמשיך בלי שמות – ואז כל המקלחות נרשמות תחת "מישהו מהבית" (נלמד כאדם אחד, ומוצג כ"~N מקלחות").
- בני משפחה: לכל אחד "כמה ליטר מים ב-40°C צריך למקלחת". בהתחלה ברירת מחדל (40 ל׳, ניתן לשינוי), ואחרי כל מקלחת שנרשמת המספר מתעדכן.
- מיקום: משתמש אורח נשאל בכניסה הראשונה איפה הבית. במשפחה, מיקום הבית שמור בהגדרות המשפחה ומשותף לכל הטלפונים.
- רישום מקלחת (כפתור "התקלחתי"): מי, מתי (ברירת מחדל: עכשיו), ובסוף – "חם עד הסוף, ובסוף עוד הוספתי קר" / "חם עד הסוף, אבל בסוף כבר רק על חם" / "נגמר באמצע" / "לא היו מים חמים". "בסוף כבר רק על חם" אומר שהדוד סיים את המקלחת בדיוק בטמפ׳ המקלחת – כמעט מדידה של הדוד, והתשובה הכי מועילה ללמידה.
- רישום הדלקת דוד חשמלי: "הדלקתי עכשיו" ל-10–90 דקות או "עד שאכבה" (+ "כיביתי"), או רישום בדיעבד עם שעה ומשך. הסימולציה מוסיפה את חום גוף החימום לפי הדקות (עד הטרמוסטט).
- סימולציית הדוד (שעה-שעה): חימום מהשמש = קרינה × שטח קולטים × נצילות; התקררות אקספוננציאלית לכיוון טמפ׳ האוויר (קבוע זמן τ); כל מקלחת מורידה
ליטרים × (40 − טמפ׳ מים קרים) / נפח הדוד מעלות. מקלחות שנרשמו גם מתקנות את המצב לפי מה שנצפה בפועל.
- למידה – לא צריך לדעת כלום על הדוד. נפח, שטח קולטים, זווית ונצילות משפיעים רק דרך יחסים, אז במקום לשאול עליהם המודל לומד גורמים מצרפיים: כמה מהר הדוד מתחמם מהשמש, כמה מהר הוא מתקרר בלילה, כמה מהר הדוד החשמלי מחמם, וכמה כל אחד צורך – כאחוז מדוד חם.
אחרי כל מקלחת שנרשמת (ופעם ביום בפתיחה), כל המקלחות של השנה האחרונה (עם הקרינה של כל יום ומי התקלח לפני מי) נבדקות יחד, ונבחרים הערכים שהכי מסבירים את כולן (סבירות מרבית: כל תוצאה נחשבת לא ודאית ב-±2.5° סביב הסף, עם משיכה עדינה לברירות המחדל). זה לא SVR או רשת נוירונים: מודל פיזיקלי של הדוד, שרק כמה פרמטרים שלו נלמדים – מתאים לעשרות-מאות תצפיות "חם/נגמר".
- מזג אוויר: 3 חודשים מתחזית Open-Meteo (
past_days=92), ומה שלפני (עד שנה, רק אם יש מקלחות כאלה) מהארכיון ההיסטורי (archive-api, ב-UTC), פעם ביום ונשמר במכשיר. העונה של כל שעה = ממוצע טמפ׳ האוויר של 14 הימים שלפניה (קובע טמפ׳ מים מהברז ומקלחת).
- משקל לזמן: מקלחת שוקלת 0.5^(גיל/90 יום), לפחות 0.25 – אחרונות חשובות יותר, אבל החורף שעבר עוזר כשהחורף חוזר.
- בהגדרות מוצגת טבלת "מה האתר למד על הדוד": קצב החימום מהשמש (ומהדוד החשמלי) לכל 30 יום ביחס לדוד ממוצע, וכמה זמן הדוד שומר חום.
- סחף חודשי: קצב החימום מהשמש והקצב של הדוד החשמלי נלמדים לכל 30 יום בנפרד (קולטים מתלכלכים/מתנקים, אבנית), עם קנס על קפיצה בין חודשים סמוכים; לתחזית משתמשים בערך של החודש האחרון. הערכים החודשיים נשמרים בהגדרות (, , ) כדי שהלמידה הבאה תתחיל מהם.
לוגו
logo.svg (בכותרת ובכרטיסיית הדפדפן), ו-apple-touch-icon.png / icon-192.png / icon-512.png (אייקון למסך הבית, דרך manifest.webmanifest) נוצרים מאותו ציור. כדי להחליף לוגו מחליפים את ארבעת הקבצים.
SEO
- כותרת, תיאור, כתובת קנונית ותגיות שיתוף (Open Graph,
og-image.png) בכל דף; נתונים מובנים: WebApplication בדף הראשי ו-FAQPage בשאלות ותשובות.
- אחרי עריכת
faq.html מריצים python3 tools/build_faq_ld.py כדי לעדכן את הנתונים המובנים לפי השאלות בדף.
- התקנה כאפליקציה: כפתור "📲 התקנה" בכותרת (Chrome/Android – חלון התקנה; אייפון – הוראות).
sw.js מאפשר התקנה ופתיחה בלי רשת (רשת קודם, ואם אין – העותק האחרון; לא שומר נתוני מזג אוויר או יומן).
sitemap.xml – מגישים ב-Google Search Console (נכס מסוג URL prefix: https://bambiker.github.io/solarwatermeter/). robots.txt לא נוסף כי הוא פועל רק בשורש הדומיין.