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

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