לקוח פנה אלינו עם בעיה: מכונת כביסה של Samsung, שואב אבק רובוטי של Roborock ומקרר של LG — לכל אחד אפליקציה משלו. ניהול שלושה ממשקים שונים אינו נוח, ואוטומציה של תרחישים ("התחל ניקוי לאחר הכביסה") בלתי אפשרית. בנינו אפליקציית בית חכם מאוחדת למובייל שמאחדת מכשירים ממותגים שונים ומוסיפה תרחישים שאינם זמינים באפליקציות הרשמיות. הפתרון שלנו מקצר את זמן האינטגרציה בחצי בהשוואה לפיתוח מאפס, ועלות הפיתוח היא אישית — אתה משלם רק על המותגים והתכונות שאתה צריך. פרויקט טיפוסי כולל 5–10 מכשירים, וזמן תגובה לאירוע יכול להגיע עד 30 שניות. אנו משתמשים ב-API מוכחים ותוכנת ביניים כדי להבטיח פעולה יציבה גם כשאין ממשק רשמי. זה מפחית את עלויות התחזוקה בעד 40% בהשוואה לשימוש במספר אפליקציות מקוריות. הפיתוח הוא על Flutter, המספק קוד בסיס אחד ל-iOS ואנדרואיד ומאיץ עדכונים. צור קשר להערכת פרויקט מקדימה.
פיתוח אפליקציית בית חכם למובייל: כיצד לאחד מכשירים מרובי מותגים?
מערכות אקולוגיות ו-API
- Samsung SmartThings — REST API בכתובת
https://api.smartthings.com/v1. אסימוני גישה אישיים של OAuth2 או זרימת OAuth2 מלאה. תומך במכונות כביסה (washerWashingCourse), מקררים (refrigerationSetpoint), מזגנים. ב-Flutter:http+dioעם אסימון Bearer. הרשמת אירועי WebHook דרך נקודת הקצהsubscriptions. - LG ThinQ — אין API ציבורי רשמי. אנו עובדים דרך ספריות לא רשמיות בהנדסה הפוכה (
pythinq,thinq2-be) או דרך אינטגרציית Home Assistant LG ThinQ כתוכנת ביניים. זה אופייני למכשירי חשמל גדולים: יצרנים סוגרים את ה-API כדי למנוע גישה של צד שלישי. - Miele —
developer.miele.com, OAuth2, REST API. ניהול תוכניות כביסה, מעקב סטטוס, התראות push דרך webhook של Miele. - Bosch/Siemens Home Connect — REST API בכתובת
https://api.home-connect.com. OAuth2. תומך במקררים, תנורים, מכונות כביסה. סביבת ארגז חול לבדיקה ללא מכשירים אמיתיים. - Xiaomi (Mi Home) — פרוטוקול Xiaomi MiIO, UDP, מקומי. הספרייה
python-miioמתועדת היטב. שואבי Roborock/Dreame משתמשים בפרוטוקולים מקומיים נפרדים או בענן דרך MiCloud API.
השוואת API לבית חכם
| מותג | סוג API | אימות | מגבלות |
|---|---|---|---|
| Samsung SmartThings | REST + WebHook | OAuth2 | 1000 בקשות/יום (חינם) |
| LG ThinQ | ספריות לא רשמיות בלבד | — | לא יציב, דורש תוכנת ביניים |
| Miele | REST | OAuth2 | 500 בקשות/יום |
| Bosch/Siemens | REST | OAuth2 | 100 בקשות/יום (ניסיון) |
| Xiaomi Mi Home | UDP/ענן | MiToken | תלוי במכשיר |
כיצד לקבל מפת חדר משואב אבק רובוטי?
Roborock הוא אחד הנפוצים ביותר. ה-API הרשמי של Roborock הופיע לאחרונה; לפני כן השתמשנו בהנדסה הפוכה דרך MiIO. התכונה המרכזית לשואבים היא מפת החדר. הרובוט בונה את המפה דרך SLAM ומאחסן אותה במכשיר. כדי לקבל את המפה: או פרוטוקול קנייני (Roborock S7+: פורמט בינארי עם דחיסת RLE) או דרך Home Assistant vacuum.send_command עם get_map_data. הצגת המפה ב-Flutter: פענוח blob בינארי ל-Uint8List, בניית Picture דרך Canvas. חדרים הם מצולעים צבעוניים. מיקום הרובוט הוא אייקון מעל. מכשולים הם פיקסלים כהים. אנו משתמשים ב-CustomPainter עם repaint: ValueNotifier<RobotState>. התחלת ניקוי ספציפי לחדר: POST /api/commands/vacuum/start_room עם מזהה החדר מהמפה. ה-API של Roborock מעביר room_ids כרשימה של מזהים מספריים.
אינטגרציית Roborock API שלב אחר שלב
- הירשם במפתחי Roborock וקבל client_id / client_secret.
- התקן את הספרייה
roborockעבור Dart או Python. - בדוק זמינות מכשיר דרך
vacuum.discover(). - קבל את המפה דרך
vacuum.get_map_data(). - פענח נתונים בינאריים לפי התיעוד.
- הצג את המפה באמצעות
CustomPainter.
מעקב אחר סטטוס מכשירי חשמל
מכונת כביסה: תוכנית נוכחית, זמן שנותר, שגיאות. אין צורך בזמן אמת — עדכון כל 30–60 שניות מספיק. התראה על סיום מחזור — דרך WebHook או שאילתות עם בדיקת status == "finished". ב-Flutter: Timer.periodic(Duration(seconds: 60), (t) => _fetchStatus()) עד status != 'idle'. ברגע שהמחזור מסתיים — הודעת FCM למשתמש ועצירת הטיימר. מקרר: טמפרטורת התא, מדחס, פתיחת דלת (חיישן ביכולת Samsung SmartThings: contactSensor). התראה אם הדלת פתוחה יותר משתי דקות — בקצה האחורי דרך טריגר מבוסס כללים.
השוואת שיטות התראות Push
| שיטה | זמן השהיה | אמינות | מורכבות |
|---|---|---|---|
| WebHook | מיידי | תלוי רשת | בינוני |
| שאילתות כל 30 שניות | עד 30 שניות | גבוהה | נמוכה |
ניטור אנרגיה
תקעים חכמים עם מדידת הספק (Shelly Plug S, Tapo P110) הם רכיב חשוב למכשירי חשמל. הספק בוואטים, צריכה כוללת ב-kWh. פרסום MQTT כל 5–30 שניות. הצגת צריכה: תרשים קו באמצעות fl_chart (Flutter) או victory-native (React Native). צבירה לפי שעה/יום/חודש בקצה האחורי (PostgreSQL date_trunc). אנו לא שולפים נתונים גולמיים של 30 הימים האחרונים לאפליקציה — רק צבירות, חוסך עד 80% מתעבורת הרשת.
ניסיון ואחריות
לצוות שלנו יש ניסיון של 5+ שנים בפיתוח אפליקציות IoT, עם מסירה של למעלה מ-30 פרויקטים של בית חכם. אנו מבטיחים אינטגרציה יציבה דרך API רשמיים, ובמקום שאין כאלה, אנו משתמשים בפתרונות קוד פתוח מוכחים עם שיפורים משלנו. המהנדסים שלנו מוסמכים ב-Flutter ומכירים את הנחיות סקירת ה-App Store (סעיפים 4.2/5.1) ואת כללי Google Play. קבל הערכת פרויקט — צור קשר לייעוץ.
דוגמת קוד להצגת מפה ב-Flutter
```dart @override Widget build(BuildContext context) { return CustomPaint( painter: MapPainter(robotState), child: Container(), ); } ```מה כלול בעבודה
- ניתוח ועיצוב ארכיטקטורת האפליקציה.
- אינטגרציה עם API של מותגים נבחרים (עד 5 מותגים).
- פיתוח אפליקציית Flutter עם ממשק משתמש מותאם לאנדרואיד ו-iOS.
- הקמת קצה אחורי (Node.js/Python) עם מיקרוסרביסים וברוקר MQTT.
- התראות Push (FCM) ועדכוני רקע.
- בדיקות על מכשירים אמיתיים וניפוי באגים.
- העלאה ל-App Store ו-Google Play (חתימת קוד, פרופיל provisioning).
- תיעוד אינטגרציה והדרכת צוות.
- תמיכה לאחר השקה (אחריות באגים ל-3 חודשים).
מלכודות טיפוסיות
משוב ממכשירי חשמל יכול להיות לא יציב. ה-webhook של Samsung SmartThings עלול לפספס אירוע באינטרנט לא יציב. שאילתות כגיבוי אם אין אירוע webhook תוך >5 דקות היא ביטוח סטנדרטי. ל-Home Connect API יש מגבלת קצב: 100 בקשות ליום למכשיר במצב ניסיון. לייצור — בקש גישה מסחרית. REST APIs קלים יותר לשימוש מ-MQTT, אבל איטיים פי 10 בשאילתות של 10 מכשירים.
לוחות זמנים
מותג אחד (לדוגמה, Samsung SmartThings), ניטור ושליטה בסיסיים — 4–6 שבועות. ריבוי מותגים, מפת שואב, ניטור אנרגיה, אוטומציה — 3–5 חודשים. העלות מחושבת באופן אישי לפי קבוצת המותגים ומורכבות האינטגרציה. בקש הערכה מקדימה — נחשב תוך יום אחד. קבל ייעוץ לפרויקט שלך — צור קשר.







