Offline-first Runtime
Gateway نباید با قطع Cloud تبدیل به یک Device غیرقابلاستفاده شود.
باید ادامه پیدا کند
در صورت وجود Cache/Configuration معتبر:
- Manufacturer control logic
- Native bus polling
- Driver execution
- Local UI/control
- Child communication
- Cached Analyzer execution
- Local APIهای پشتیبانیشده
نباید اتفاق بیفتد
- Reboot loop بهخاطر MQTT failure
- پاک کردن Credential معتبر
- پاک کردن Child association cache صرفاً بهخاطر Offline
- Replay کردن بینهایت Commandهای قدیمی
- متوقف کردن Bus برای انتظار Cloud
Boot
load local configuration/cache
→ initialize Driver/Bus
→ localRuntimeReady
→ start MQTT/HTTP connection asynchronously
→ sync newer server state when available
localRuntimeReady مستقل از mqttConnected است.
Reconnect
Reconnect باید Subscriptionها را Restore کند، current state/revisions را Sync کند و از Replay کورکورانه Historical commandها خودداری کند.