Shadow، Telemetry و Event
این سه مفهوم را جدا نگه دارید.
Child Shadow
Shadow وضعیت ارتباط/Binding فعلی Child را نگه میدارد و retained است:
.../up/device/{deviceSerial}/AES
مثال:
{"deviceSerial":"AIRN0987654322","online":false,"enabled":true,"reason":"poll_timeout","lastSeenAt":1812999000}
online=false به معنی Unbind نیست. enabled=false هم با Offline فرق دارد.
Telemetry
Telemetry داده عملیاتی واقعی است، نه Command intent:
.../up/telemetry/{deviceSerial}/AES
{
"deviceSerial":"AIRN0987654321",
"values":[{"groupKey":"rgb","operationKey":"on_off","value":true,"ts":1813000001}]
}
Event
Event برای رخداد مهم و discrete است:
.../up/event/{type}/AES
مثل Alarm، تغییر critical یا رخداد قابل Notification. Event نباید برای stream پرتکرار Telemetry استفاده شود.
Attribution
اگر Event درباره Child است، Business identity آن Child DeviceSerial است، ولی Security/Transport principal همچنان Physical Gateway است. Backend باید Association فعال را validate کند.