پرش به مطلب اصلی

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 کند.