EP Capability Test Cases
Test Case ID: CMN-EP-CAPABILITY-REPORT-BV-01: When KV store does not have the capability report saved, the event to send capability is scheduled
| Field | Value |
|---|---|
| Case ID | C103619346 |
| Executable by Customer | Yes |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Clear capability KV store to simulate first-time setup (no capability report saved):print clear_cap 3 | CMD: ERR: 0Key check: KV store cleared, EN will send capability report on next startup |
| 2 | Initialize stack and start: BLE: sid init 1 / sid startFSK: sid init 2 / sid startLoRa: sid init 3 / sid start | CMD: ERR: 0 |
| 3 | Wait for time sync and join: BLE: Wait for time sync only FSK/LoRa: Wait for time sync and join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 4 | Check EN sends capability report and receives ACK BLE: establish BLE connection first: sid conn_req 1 | ECPFG(2) st 2->5 (Ready to send)Sent capability and config message: [Tx][0:2:2:- ] st:0ECPFG(5) st 5->6 (Waiting for ACK)ECPFG(2) st 6->2 (ACK received, back to check state)ECPFG(6) st 2->7 (Updating KV store)Received capability and config message: [Rx][0:2:3:- ] err:0ECPFG(2) st 7->10 (Done, idle)Key check: Capability report sent and ACK received |
Test Case ID: CMN-EP-CAPABILITY-REPORT-BV-02: When Capability stored in the KV store is equal to the capability of the Endpoint, the Capability event report is not generated
| Field | Value |
|---|---|
| Case ID | C103619347 |
| Executable by Customer | Yes |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Clear capability KV store to simulate first-time setup (no capability report saved):print clear_cap 3 | CMD: ERR: 0Key check: KV store cleared, EN will send capability report on next startup |
| 2 | Initialize stack and start: BLE: sid init 1 / sid startFSK: sid init 2 / sid startLoRa: sid init 3 / sid start | CMD: ERR: 0 |
| 3 | Wait for time sync and join: BLE: Wait for time sync only FSK/LoRa: Wait for time sync and join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 4 | Check EN sends capability report and receives ACK BLE: establish BLE connection first: sid conn_req 1 | ECPFG(2) st 2->5 (Ready to send)Sent capability and config message: [Tx][0:2:2:- ] st:0ECPFG(5) st 5->6 (Waiting for ACK)ECPFG(2) st 6->2 (ACK received, back to check state)ECPFG(6) st 2->7 (Updating KV store)Received capability and config message: [Rx][0:2:3:- ] err:0ECPFG(2) st 7->10 (Done, idle)Key check: Capability report sent and ACK received |
| 5 | Wait 5 seconds, then reinitialize stack and wait for time sync/join:sid deinitBLE: sid init 1 / sid startFSK: sid init 2 / sid startLoRa: sid init 3 / sid startBLE: Wait for time sync only, then: sid conn_req 1FSK/LoRa: Wait for time sync and join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 6 | Verify EN does NOT send capability report again | No [Tx][0:2:2:- ] within 20 secondsKey check: Capability report NOT sent (KV store already synced with cloud) |
Test Case ID: CMN-EP-CAPABILITY-REPORT-BV-03: Endpoint default capability report
| Field | Value |
|---|---|
| Case ID | C103619348 |
| Executable by Customer | No |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Init and start stack:sid init <stack>sid start | CMD: ERR: 0 |
| 2 | Wait until time sync and join complete, for BLE, wait time sync complete only | Time sync complete: [Rx][0:108:3:4] err:0Join complete: [Rx][0:22F:3:4] err:0 |
| 3 | Check if EN send capability report and receive ACK, for BLE, need to establish BLE connection first (if KV store of EN synced with cloud, ignore this step) | ECPFG(2) st 2->5Sent capability and config message: [Tx][0:2:2:<stack>] st:0ECPFG(5) st 5->6ECPFG(2) st 6->2ECPFG(6) st 2->7Received capability and config message: [Rx][0:2:3:<stack>] err:0ECPFG(2) st 7->10 |
| 4 | Print the current capabilities:print get_cap 3 | Shows EP capability content including: Capability version, SDK version, links enabled, features_support, Qualification id, Traffic threshold table id, metrics periodicity, TX power values, threshold rates |
| 5 | Get capability via API | Check the capability is same as step 4 (enableMetricsReport, featuresSupported, linksSupported, manufacturerType, maxTxPower, metricsPeriodicity, qualificationId, sdkVersion, trafficThresholdTable) |
| 6 | Search on splunk, if KV store of EN already synced with cloud on step 3, initiateRequestCapabilities via API then search on splunk:index=halo_operations* <sidewalkID> methodIdentifier = "NotifyCapabilityHandler" | All values should same as step 4 |
Test Case ID: CMN-EP-CAPABILITY-REQUEST-BV-01: Endpoint is online, send request to get endpoint capability
| Field | Value |
|---|---|
| Case ID | C103619350 |
| Executable by Customer | No |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Initialize stack, start, and wait for time sync/join: BLE: sid init 1 / sid start / Wait for time syncFSK: sid init 2 / sid start / Wait for time sync and joinLoRa: sid init 3 / sid start / Wait for time sync and join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 2 | Initiate request capability via API, then check EN sends capability report and ACK received | API response: {"requestId": "<id>", "status": "SUCCESS"}On EN: [Rx][0:2:0:- ] err:0 (Read request received)ECPFG(2) st 2->5 (Ready to send)Sent capability and config message: [Tx][0:2:3:- ] st:0ECPFG(5) st 5->10 (Done, idle)Key check: EN received capability request and sent response |
| 3 | Wait 20 seconds for cloud to update, then get capability via API and verify it matches EN:print get_cap 3 | API response capability matches EN capability values Key check: Cloud capability same as EN capability |
Test Case ID: CMN-EP-CAPABILITY-CONFIGURE-BV-01: Endpoint configuration shall be updated on user setting
| Field | Value |
|---|---|
| Case ID | C103619351 |
| Executable by Customer | No |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Initialize stack, start, and wait for time sync/join: BLE: sid init 1 / sid start / Wait for time syncFSK: sid init 2 / sid start / Wait for time sync and joinLoRa: sid init 3 / sid start / Wait for time sync and join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 2 | Set configuration via API with custom values (trafficThresholdTable with tableId=1, custom LoRa/FSK/BLE rates, enableTrafficThrottling=false, enableMetricsReport=false, metricsPeriodicity=9) | Received write capability and config message:[Rx][0:2:1:- ] err:0ECPFG(8) st 10->2 (SET_CFG event)ECPFG(2) st 2->5 (Ready to send)Response write capability and config message: [Tx][0:2:3:- ] st:0ECPFG(5) st 5->10 (Done, idle)Key check: EN received configuration and sent response |
| 3 | Wait 20 seconds for cloud to update, then verify cloud capability matches EN:print get_cap 3 | API response capability matches EN capability values Key check: Cloud capability same as EN capability after configuration update |
Test Case ID: CMN-EP-CAPABILITY-REGISTER-BV-01: Endpoint capability is set to default after re-registration
| Field | Value |
|---|---|
| Case ID | C103619352 |
| Executable by Customer | No |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Initialize stack, start, and wait for time sync/join: BLE: sid init 1 / sid start / Wait for time syncFSK: sid init 2 / sid start / Wait for time sync and join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK): Njoin(1, 2) st 2->6 |
| 2 | Set configuration via API with custom values (trafficThresholdTable with tableId=3, all rates=1, enableTrafficThrottling=false, enableMetricsReport=false, metricsPeriodicity=1) | Received write capability and config message:[Rx][0:2:1:- ] err:0ECPFG(8) st 10->2ECPFG(2) st 2->5Response write capability and config message: [Tx][0:2:3:- ] st:0ECPFG(5) st 5->10Key check: EN received configuration and sent response |
| 3 | Deregister EN via API | EVENT SID STATUS: State: 1, Reg: 1, Time: 1, Link_Mask: 0Key check: EN deregistered (Reg: 1) |
| 4 | Re-register EN, then reinitialize stack and wait for time sync/join: BLE: sid init 1 / sid start / Wait for time sync / sid conn_req 1FSK: sid init 2 / sid start / Wait for time sync and join | EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK): Njoin(1, 2) st 2->6Key check: EN re-registered (Reg: 0) |
| 5 | Check EN sends capability report and receives ACK BLE: establish BLE connection first: sid conn_req 1 | ECPFG(2) st 2->5 (Ready to send)Sent capability and config message: [Tx][0:2:2:- ] st:0ECPFG(5) st 5->6 (Waiting for ACK)ECPFG(2) st 6->2 (ACK received)ECPFG(6) st 2->7 (Updating KV store)Received capability and config message: [Rx][0:2:3:- ] err:0ECPFG(2) st 7->10 (Done, idle)Key check: Capability report sent and ACK received |
| 6 | Verify capability back to default and matches cloud:print get_cap 3 | All capabilities should return to default values API response capability matches EN default capability Key check: Capability reset to default after re-registration |
Test Case ID: CMN-EP-CAPABILITY-THRESHOLD-BV-01: Traffic threshold reset mechanism
| Field | Value |
|---|---|
| Case ID | C103619353 |
| Executable by Customer | No |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Initialize stack, start, and wait for time sync/join: BLE: sid init 1 / sid start / Wait for time syncFSK: sid init 2 / sid start / Wait for time sync and joinLoRa: sid init 3 / sid start / Wait for time sync and join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 2 | Set configuration via API (low threshold, enable throttling): trafficThresholdTable with tableId=1, LoRa staticMaxPacketPerDay=3, FSK packetsPerMin=3, BLE packetsPerMin=3, enableTrafficThrottling=true | Received write capability and config message:[Rx][0:2:1:- ] err:0ECPFG(8) st 10->2ECPFG(2) st 2->5Response write capability and config message: [Tx][0:2:3:- ] st:0ECPFG(5) st 5->10Key check: EN received configuration and sent response |
| 3 | Verify EN applied new traffic config:print get_cap 3 | Features support ... Traffic throttling enabled 1Traffic threshold table id 1Key check: New traffic config applied |
| 4 | Send 3 ULs (BLE: establish connection first): BLE: sid conn_req 1sid send TEST (repeat 3 times) | EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: - LINK_MODE: 0 ADDITIONAL ATTRS: 0Key check: All 3 ULs sent successfully |
| 5 | sid stop / sid start, wait for joined (BLE: connect again):sid stopsid startBLE: sid conn_req 1FSK/LoRa: Wait for join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 6 | Send 1 UL (should be dropped - threshold not reset by sid stop/start):sid send TEST | TRAFFIC THRESHOLD RATE EXCEEDED on LINK - FOR LIMIT TYPE 0CMD: ERR: -20Key check: UL dropped (threshold not reset by sid stop/start) |
| 7 | Reinitialize stack to reset threshold:sid deinitBLE: sid init 1 / sid start / Wait for time sync / sid conn_req 1FSK: sid init 2 / sid start / Wait for time sync and joinLoRa: sid init 3 / sid start / Wait for time sync and join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 8 | Send 3 ULs (threshold reset after reinit):sid send TEST (repeat 3 times) | EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: - LINK_MODE: 0 ADDITIONAL ATTRS: 0Key check: All 3 ULs sent successfully (threshold reset) |
Test Case ID: CMN-EP-CAPABILITY-PERIODICITY-BV-01: Set metrics periodicity
| Field | Value |
|---|---|
| Case ID | C103619354 |
| Executable by Customer | Yes |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Initialize stack and wait for time sync/join: BLE: sid init 1 / sid start / Wait for time syncFSK: sid init 2 / sid start / Wait for time sync and joinLoRa: sid init 3 / sid start / Wait for time sync and joinPlease choose either one | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 2 | Check EN sends capability report and receives ACK BLE: establish BLE connection first: sid conn_req 1 | ECPFG(2) st 2->5 (Ready to send)Sent capability and config message: [Tx][0:2:2:- ] st:0ECPFG(5) st 5->6 (Waiting for ACK)ECPFG(2) st 6->2 (ACK received)ECPFG(6) st 2->7 (Updating KV store)Received capability and config message: [Rx][0:2:3:- ] err:0ECPFG(2) st 7->10 (Done, idle)Key check: Capability report sent and ACK received |
| 3 | Set metricsPeriodicity to 1 and enableMetricsReport to true via API:{"deviceId": "{<DEVICE_ID>}", "enableMetricsReport": true, "metricsPeriodicity": 1} | Received write capability and config message:[Rx][0:2:1:- ] err:0ECPFG(8) st 10->2 (SET_CFG event)ECPFG(2) st 2->5 (Ready to send)Response write capability and config message: [Tx][0:2:3:- ] st:0ECPFG(5) st 5->10 (Done, idle)Key check: EN received configuration and sent response |
| 4 | Get capability via API, verify metricsPeriodicity and enableMetricsReport | enableMetricsReport: true metricsPeriodicity: 1 Key check: metricsPeriodicity = 1 (6 hours), enableMetricsReport = true |
| 5 | Print capabilities on EN:print get_cap 3 | metrics periodicity 6 hoursmetrics enabled 1Key check: EN shows correct metrics periodicity |
| 6 | Reboot EN and restart stack, then wait 6 hours:rebootBLE: sid init 1 / sid start / Wait for time syncFSK: sid init 2 / sid start / Wait for time sync and joinLoRa: sid init 3 / sid start / Wait for time sync and joinWait 6 hours | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -After 6 hours: metrics send to cloud ENC-S: M:15 [B:E:2] err 0 |
| 7 | Search on Splunk to verify metrics report sent:index=halo_operations* <sidewalkID> methodIdentifier = "NotifyCapabilityHandler" | Metrics report found on Splunk Key check: EN sent metrics report after 6 hours |
Test Case ID: CMN-EP-CAPABILITY-PERIODICITY-BV-02: Set metrics periodicity when link metrics is disabled
| Field | Value |
|---|---|
| Case ID | C103619355 |
| Executable by Customer | Yes |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Initialize stack and wait for time sync/join: BLE: sid init 1 / sid start / Wait for time syncFSK: sid init 2 / sid start / Wait for time sync and joinLoRa: sid init 3 / sid start / Wait for time sync and join | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: -Join (FSK/LoRa): Njoin(1, 2) st 2->6 |
| 2 | Check EN sends capability report and receives ACK BLE: establish BLE connection first: sid conn_req 1 | ECPFG(2) st 2->5 (Ready to send)Sent capability and config message: [Tx][0:2:2:- ] st:0ECPFG(5) st 5->6 (Waiting for ACK)ECPFG(2) st 6->2 (ACK received)ECPFG(6) st 2->7 (Updating KV store)Received capability and config message: [Rx][0:2:3:- ] err:0ECPFG(2) st 7->10 (Done, idle)Key check: Capability report sent and ACK received |
| 3 | Set metricsPeriodicity to 1 and enableMetricsReport to false via API:{"deviceId": "{<DEVICE_ID>}", "enableMetricsReport": false, "metricsPeriodicity": 1} | Received write capability and config message:[Rx][0:2:1:- ] err:0ECPFG(8) st 10->2 (SET_CFG event)ECPFG(2) st 2->5 (Ready to send)Response write capability and config message: [Tx][0:2:3:- ] st:0ECPFG(5) st 5->10 (Done, idle)Key check: EN received configuration and sent response |
| 4 | Get capability via API, verify metricsPeriodicity and enableMetricsReport | enableMetricsReport: false metricsPeriodicity: 1 Key check: metricsPeriodicity = 1 (6 hours), enableMetricsReport = false |
| 5 | Print capabilities on EN:print get_cap 3 | metrics periodicity 6 hoursmetrics enabled 0Key check: EN shows metrics disabled |
| 6 | Reboot EN and restart stack, then wait 6 hours:rebootBLE: sid init 1 / sid start / Wait for time syncFSK: sid init 2 / sid start / Wait for time sync and joinLoRa: sid init 3 / sid start / Wait for time sync and joinWait 6 hours | Time sync: EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: - |
| 7 | Search on Splunk to verify metrics report NOT sent:index=halo_operations* <sidewalkID> methodIdentifier = "NotifyCapabilityHandler" | No metrics report found on Splunk Key check: EN did NOT send metrics report (enableMetricsReport = false) |
Test Case ID: BLE-EP-CAPABILITY-THRESHOLD-BV-01: Verify traffic thresholds for BLE stack
| Field | Value |
|---|---|
| Case ID | C103619361 |
| Executable by Customer | No |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Initialize BLE stack and wait for time sync:sid init 1sid start | CMD: ERR: 0EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 1 |
| 2 | Establish BLE connection:sid conn_req 1 | CMD: ERR: 0EVENT SID STATUS LINK MODE: LORA: 0, FSK: 0, BLE: 1Key check: BLE connected |
| 3 | Check EN capability synced with cloud (KV_STORE updated) | ECPFG(2) st 7->10 (Done, idle)Key check: Capability synced |
| 4 | Set configuration via API (low threshold, enable throttling): trafficThresholdTable with tableId=1, BLE packetsPerMin=1, enableTrafficThrottling=true | Received write capability and config message:[Rx][0:2:1:- ] err:0ECPFG(8) st 10->2ECPFG(2) st 2->5Response write capability and config message: [Tx][0:2:3:- ] st:0ECPFG(5) st 5->10Key check: EN received configuration and sent response |
| 5 | Verify EN applied new traffic config:print get_cap 3 | Traffic throttling enabled 1BLE max packets per min 1Key check: New traffic config applied |
| 6 | Send 4 ULs with BLE connection:sid conn_req 1T=0s: sid send TEST (1st UL)T=25s: sid send TEST (2nd UL)T=47s: sid send TEST (3rd UL)T=65s: sid send TEST (4th UL) | 1st UL: EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: - LINK_MODE: 0 ADDITIONAL ATTRS: 02nd UL: TRAFFIC THRESHOLD RATE EXCEEDED on LINK - FOR LIMIT TYPE 0 CMD: ERR: -203rd UL: TRAFFIC THRESHOLD RATE EXCEEDED on LINK - FOR LIMIT TYPE 0 CMD: ERR: -204th UL: EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: - LINK_MODE: 0 ADDITIONAL ATTRS: 0Key check: UL 2~3 dropped (threshold exceeded), UL 4 success after threshold reset |
Test Case ID: FSK-EP-CAPABILITY-THRESHOLD-BV-01: Verify traffic threshold for FSK stack
| Field | Value |
|---|---|
| Case ID | C103619362 |
| Executable by Customer | No |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Initialize FSK stack and wait for time sync and join:sid init 2sid start | CMD: ERR: 0EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2Njoin(1, 2) st 2->6 |
| 2 | Check EN capability synced with cloud (KV_STORE updated) | ECPFG(2) st 7->10 (Done, idle)Key check: Capability synced |
| 3 | Set configuration via API (low threshold, enable throttling): trafficThresholdTable with tableId=1, FSK packetsPerMin=1, enableTrafficThrottling=true | Received write capability and config message:[Rx][0:2:1:- ] err:0ECPFG(8) st 10->2ECPFG(2) st 2->5Response write capability and config message: [Tx][0:2:3:- ] st:0ECPFG(5) st 5->10Key check: EN received configuration and sent response |
| 4 | Verify EN applied new traffic config:print get_cap 3 | Traffic throttling enabled 1FSK max packets per min 1Key check: New traffic config applied |
| 5 | Send 4 ULs: T=0s: sid send TEST (1st UL)T=25s: sid send TEST (2nd UL)T=47s: sid send TEST (3rd UL)T=65s: sid send TEST (4th UL) | 1st UL: EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: - LINK_MODE: 0 ADDITIONAL ATTRS: 02nd UL: TRAFFIC THRESHOLD RATE EXCEEDED on LINK - FOR LIMIT TYPE 0 CMD: ERR: -203rd UL: TRAFFIC THRESHOLD RATE EXCEEDED on LINK - FOR LIMIT TYPE 0 CMD: ERR: -204th UL: EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: - LINK_MODE: 0 ADDITIONAL ATTRS: 0Key check: UL 2~3 dropped (threshold exceeded), UL 4 success after threshold reset |
Test Case ID: LORA-EP-CAPABILITY-THRESHOLD-BV-01: Verify traffic threshold on static endpoint of LoRa
| Field | Value |
|---|---|
| Case ID | C103619363 |
| Executable by Customer | No |
Test Steps
| Step | Description | Expected Result |
|---|---|---|
| 1 | Initialize LoRa stack and wait for time sync and join:sid init 3sid start | CMD: ERR: 0EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 4Njoin(1, 2) st 2->6 |
| 2 | Check EN capability synced with cloud (KV_STORE updated) | ECPFG(2) st 7->10 (Done, idle)Key check: Capability synced |
| 3 | Set configuration via API (low threshold, enable throttling): trafficThresholdTable with tableId=1, LoRa staticMaxPacketPerDay=3, staticBurstRate=1 second, enableTrafficThrottling=true | Received write capability and config message:[Rx][0:2:1:- ] err:0ECPFG(8) st 10->2ECPFG(2) st 2->5Response write capability and config message: [Tx][0:2:3:- ] st:0ECPFG(5) st 5->10Key check: EN received configuration and sent response |
| 4 | Verify EN applied new traffic config:print get_cap 3 | Traffic throttling enabled 1LoRa static burst rate 1 message every 1 secondsLoRa static max packets per day 3Key check: New traffic config applied |
| 5 | Send 4 ULs (verify burst rate): T=0s: sid send TEST (1st UL)T=25s: sid send TEST (2nd UL)T=47s: sid send TEST (3rd UL)T=65s: sid send TEST (4th UL) | 1st UL: EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: - LINK_MODE: 0 ADDITIONAL ATTRS: 02nd UL: TRAFFIC THRESHOLD RATE EXCEEDED on LINK - FOR LIMIT TYPE 0 CMD: ERR: -203rd UL: TRAFFIC THRESHOLD RATE EXCEEDED on LINK - FOR LIMIT TYPE 0 CMD: ERR: -204th UL: EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: - LINK_MODE: 0 ADDITIONAL ATTRS: 0Key check: UL 2~3 dropped (threshold exceeded), UL 4 success after threshold reset |
| 6 | Wait 61 seconds, then send 3 more ULs (verify max packets per day): T=0s: sid send TEST (1st UL)T=65s: sid send TEST (2nd UL)T=75s: sid send TEST (3rd UL) | 1st UL: EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: - LINK_MODE: 0 ADDITIONAL ATTRS: 02nd UL: TRAFFIC THRESHOLD RATE EXCEEDED on LINK - FOR LIMIT TYPE 0 CMD: ERR: -203rd UL: TRAFFIC THRESHOLD RATE EXCEEDED on LINK - FOR LIMIT TYPE 0 CMD: ERR: -20Key check: Max packets per day (3) reached, subsequent ULs dropped |