You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: specs/001-device-status/spec.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@
9
9
10
10
### User Story 1 - View Device Status Without Confusion (Priority: P1)
11
11
12
-
Non-technical users need to view their device list without being confused by misleading status indicators. Currently, LoRaWAN devices that send data infrequently (every 30 minutes to 24 hours) appear as "disconnected" most of the time because the Connection State column only shows "connected" when there's an active connection to the configured cloud IoT service (for example, Azure IoT Hub or AWS IoT Core). This causes users to think devices are malfunctioning and generates unnecessary support requests.
12
+
Non-technical users need to view their device list without being confused by misleading status indicators. Currently, LoRaWAN devices that send data infrequently (every 30 minutes to 24 hours) appear as "disconnected" most of the time because the Connection State column only shows "connected" when there's an active connection to the cloud IoT service. This causes users to think devices are malfunctioning and generates unnecessary support requests.
13
13
14
14
**Why this priority**: This is the core problem causing user confusion and unnecessary support overhead. Removing the misleading Connection State column immediately solves the primary pain point.
15
15
@@ -23,15 +23,15 @@ Non-technical users need to view their device list without being confused by mis
23
23
24
24
### User Story 2 - View Accurate Device Activity Timestamp (Priority: P2)
25
25
26
-
Users need to see when a device last communicated with the system to understand device activity patterns. The current "Last Status Update" column only updates when the Device Twin is modified, which doesn't reflect actual device communication and creates confusion about device activity.
26
+
Users need to see when a device last communicated with the system to understand device activity patterns. The current "Last Status Update" column only updates when the device metadata is modified, which doesn't reflect actual device communication and creates confusion about device activity.
27
27
28
28
**Why this priority**: This enhances the fix by replacing misleading information with accurate activity tracking. It's P2 because removing the confusing column (P1) already solves the critical problem, but this provides better information.
29
29
30
30
**Acceptance Scenarios**:
31
31
32
32
1.**Given** I am viewing the device list page, **When** I look at the column headers, **Then** I should NOT see a "Last Status Update" column
33
-
2.**Given** a device has sent telemetry data, **When** I view the device information, **Then** I should see the timestamp of the last activity (lastActivityTime)
34
-
3.**Given** the Device Twin was updated but no device activity occurred, **When** I view the device information, **Then** the activity timestamp should reflect the actual last device communication, not the Twin update
33
+
2.**Given** a device has sent telemetry data, **When** I view the device information, **Then** I should see the timestamp of the last activity
34
+
3.**Given** the device metadata was updated but no device activity occurred, **When** I view the device information, **Then** the activity timestamp should reflect the actual last device communication, not the metadata update
35
35
36
36
---
37
37
@@ -51,11 +51,11 @@ Users managing gateways need the same clarity as device management. Gateways als
51
51
52
52
### Edge Cases
53
53
54
-
- What happens when a device has never sent any data (lastActivityTime is null)?
54
+
- What happens when a device has never sent any data (last activity timestamp is null)?
55
55
- Display should show "No activity recorded" or similar placeholder text rather than an error or blank field
56
56
- How does the system handle devices that were recently registered but haven't communicated yet?
57
57
- Should display registration timestamp or "Awaiting first contact" status
58
-
- What if lastActivityTime data is not available from the cloud provider (Azure IoT Hub or AWS IoT Core)?
58
+
- What if last activity timestamp data is not available from the cloud provider?
59
59
- System should gracefully handle missing data with appropriate fallback display
60
60
61
61
## Requirements *(mandatory)*
@@ -66,15 +66,15 @@ Users managing gateways need the same clarity as device management. Gateways als
66
66
-**FR-002**: System MUST remove the "Connection State" column from the gateway list view
67
67
-**FR-003**: System MUST remove the "Last Status Update" column from the device list view
68
68
-**FR-004**: System MUST remove the "Last Status Update" column from the gateway list view
69
-
-**FR-005**: System MUST display device activity information using the lastActivityTime field from the cloud provider (Azure IoT Hub or AWS IoT Core)
70
-
-**FR-006**: System MUST display gateway activity information using the lastActivityTime field from the cloud provider
71
-
-**FR-007**: System MUST handle cases where lastActivityTime is not available (null or missing) by displaying appropriate placeholder text
69
+
-**FR-005**: System MUST display device activity information using the last device activity timestamp from the cloud provider
70
+
-**FR-006**: System MUST display gateway activity information using the last gateway activity timestamp from the cloud provider
71
+
-**FR-007**: System MUST handle cases where the last activity timestamp is not available (null or missing) by displaying appropriate placeholder text
72
72
-**FR-008**: System MUST maintain all other existing columns and functionality in device and gateway list views
73
73
74
74
### Key Entities
75
75
76
-
-**Device**: Represents an IoT device connected to the portal. Key attributes include device ID, name, model, and activity timestamp (lastActivityTime)
77
-
-**Gateway**: Represents an IoT gateway managing multiple devices. Key attributes include gateway ID, name, model, and activity timestamp (lastActivityTime)
76
+
-**Device**: Represents an IoT device connected to the portal. Key attributes include device ID, name, model, and last activity timestamp
77
+
-**Gateway**: Represents an IoT gateway managing multiple devices. Key attributes include gateway ID, name, model, and last activity timestamp
0 commit comments