תרמוסטטים עם לוחות זמנים קבועים אינם מתאימים לקצב החיים המשתנה תמידית. אנו מפתחים פתרון AI שמתבונן בהתנהגותך במשך 2–3 שבועות ומנבא אוטומטית נקודות הגדרת טמפרטורה נוחות. בניגוד לתרמוסטטים רגילים, המערכת שלנו משתמשת בלמידת מכונה לשליטה חיזויית. היא אוספת נתונים על נוכחות, התאמות ידניות ותנאים חיצוניים, בונה מודל אישי ומיישמת אותו בטווח מוגן (לדוגמה, 18–24°C). זה מפחית את עלויות החימום ב-20–30% ומבטיח נוחות ללא התערבות ידנית. המערכת משתלבת עם תרמוסטטים פופולריים: Nest, Ecobee, Tado, וכן עם כל בקרי MQTT על ESP32. לחיבור ל-Home Assistant, אנו משתמשים ב-REST API וב-WebSocket. האפליקציה הניידת, הבנויה עם SwiftUI ו-Jetpack Compose, מציגה טמפרטורה נוכחית, תחזית ומאפשרת התאמת נקודות הגדרה. מודל ה-AI מיוצא ל-ONNX או TFLite ופועל מקומית על המכשיר, מה שמבטיח פרטיות נתונים.
אילו נתונים נדרשים לאימון?
מודל למידת ההרגלים דורש מספר זרמי נתונים:
- נוכחות בבית. זיהוי נוכחות באמצעות Wi-Fi (ניתוח כתובות MAC דרך טבלת ARP של הנתב) פועל בצורה אמינה יותר מגיאופנסינג כאשר GPS אינו יציב. סריקת Bluetooth פסיבית כאות משלים.
- התאמות ידניות. בכל פעם שאתה משנה את הטמפרטורה באפליקציה, נרשם אירוע קונטקסטואלי: יום בשבוע, שעה, טמפרטורה חיצונית.
- תנאים חיצוניים. טמפרטורה חיצונית (OpenWeatherMap), לחות, עננות—משפיעים על תפיסת הנוחות ועל אובדן חום.
| סוג נתונים | מקור | תקופת איסוף |
|---|---|---|
| נוכחות | Wi-Fi ARP, BLE | כל 5 דקות |
| התאמות ידניות | אפליקציה ניידת | כל אירוע |
| תנאים חיצוניים | OpenWeatherMap או חיישן | כל 30 דקות |
לאימון, נעשה שימוש ב-gradient boosting (LightGBM) על מאפיינים: שעה, יום בשבוע, סוף שבוע, טמפרטורה חיצונית, מספר מכשירים נוכחים. המודל מאומן על סדרות זמן עם אימות צולב TimeSeriesSplit. ייצוא ל-ONNX או TFLite לביצוע על המכשיר.
תוכנית יישום AI לאקלים שלב אחר שלב
- בדיקת ציוד—הערכת תאימות התרמוסטטים שלך (Nest, Ecobee, Tado, בקרי MQTT על ESP32).
- אינטגרציית איסוף נתונים—הגדרת זרמי נוכחות, מזג אוויר ואירועים.
- אימון מודל אישי—איסוף 2–3 שבועות של נתונים, אימון, אימות.
- אינטגרציה לאפליקציה ניידת—SwiftUI / Jetpack Compose, טעינת מודל.
- בדיקות והשקה—בדיקת A/B, ניטור, אימון מחדש במידת הצורך.
כיצד המודל מנבא טמפרטורה נוחה?
לאחר צבירת 2–3 שבועות של נתונים, מתחיל האימון. Gradient boosting (LightGBM) מתאים היטב למשימה זו—הוא מספק תוצאות ניתנות לפירוש ועובד על נתונים מוגבלים. המאפיינים מקודדים עם טרנספורמציה מחזורית (sin/cos של השעה) כדי להתחשב במחזוריות היומית.
# Сервер: обучение персональной модели комфортной температуры
import lightgbm as lgb
from sklearn.model_selection import TimeSeriesSplit
def train_comfort_model(user_id: str) -> lgb.Booster:
events = load_manual_adjustments(user_id, days=30)
features = pd.DataFrame({
'hour_sin': np.sin(2 * np.pi * events.hour / 24),
'hour_cos': np.cos(2 * np.pi * events.hour / 24),
'dow': events.day_of_week,
'is_weekend': events.is_weekend.astype(int),
'outdoor_temp': events.outdoor_temperature,
'presence': events.presence_count,
})
target = events.set_temperature
model = lgb.LGBMRegressor(n_estimators=100, learning_rate=0.05, max_depth=4)
tscv = TimeSeriesSplit(n_splits=5)
model.fit(features, target)
return model
המודל מיוצא ל-ONNX או TFLite ונטען לתוך האפליקציה הניידת. התחזית ל-24 השעות הבאות—מערך של נקודות הגדרת טמפרטורה לפי שעה—מיושמת אוטומטית או דורשת אישור (ניתן להגדרה).
מדוע תרמוסטט רגיל אינו מספיק?
תרמוסטטים מבוססי לוח זמנים אינם מתחשבים בשינויים ספונטניים: אתה חולה, יוצא מוקדם, מחליט לישון בקרירות יותר. מערכת ה-AI מסתגלת תוך 2–3 ימים מתחילת השינויים. המשתמש יכול להגביל את האוטומציה עם טווח מוגן (לדוגמה, 18–24°C). אם המשתמש מתאים ידנית את נקודת ההגדרה האוטומטית מספר פעמים ברציפות, האפליקציה מציעה לאמן מחדש את המודל מיד.
ניהול ציוד אקלים
האפליקציה הניידת שולטת בציוד דרך מספר רמות. להלן השוואה של תרמוסטטים פופולריים:
| תרמוסטט | פרוטוקול | אימות | יכולות |
|---|---|---|---|
| Nest | Google Smart Device Management API | OAuth2 | קריאה/כתיבה של טמפרטורה, לחות, מצבים |
| Ecobee | ecobee3 API | מפתח API | קריאה/כתיבה, חיישני נוכחות |
| Tado | REST API | OAuth2 | קריאה/כתיבה, גיאופנסינג, מזג אוויר |
| MQTT (ESP32) | MQTT | מקומי | קריאה/כתיבה, חיישנים מותאמים אישית |
דוגמה לשליחת נקודת הגדרה דרך Home Assistant ב-iOS:
// iOS: отправка уставки термостата через Home Assistant
class ClimateController {
private let haBaseURL: String
private let bearerToken: String
func setTemperature(entityId: String, temperature: Double) async throws {
let url = URL(string: "\(haBaseURL)/api/services/climate/set_temperature")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer \(bearerToken)", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try JSONEncoder().encode([
"entity_id": entityId,
"temperature": temperature
])
let (_, response) = try await URLSession.shared.data(for: request)
guard (response as? HTTPURLResponse)?.statusCode == 200 else {
throw ClimateError.setpointFailed
}
}
} מה כלול בעבודה?
- ניתוח התרמוסטט הנוכחי ותשתית הרשת.
- פיתוח מודול איסוף נתונים (נוכחות Wi-Fi, אינטגרציית OpenWeatherMap).
- אימון מודל AI אישי עם אימות.
- אינטגרציית מודל לאפליקציה ניידת (iOS/Android).
- תמיכה לאחר ההשקה (חודש אחד של ניטור ואימון מחדש).
לוחות זמנים ועלות
פיתוח מודול AI בסיסי לחדר אחד אורך 8–12 שבועות. מערכת רב-אזורית עם אינטגרציה של מספר יצרני תרמוסטטים אורכת 4–5 חודשים. העלות מחושבת באופן אישי לאחר בדיקה. אנו מבטיחים איכות ומספקים תיעוד API ומודל. צור קשר לייעוץ והערכת פרויקט.
לפי סעיף 4.2 בהנחיות סקירת ה-App Store, האפליקציה חייבת לבקש הרשאת מעקב (ATT) לפני איסוף נתוני נוכחות—אנו מתחשבים בכך ביישום. קבל ייעוץ על אינטגרציה עם הציוד שלך.







