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
Every attribute that can trigger an attention state change must have a visible sensor entity on the HA device page, with a dynamic icon that reflects whether it's currently contributing to the alert. This document maps each trigger to its entity and tracks coverage.
|`smart_status.passed` = false | SMART Status |`smart_status`|`mdi:alert-octagon` when "FAILED" |
53
+
54
+
---
55
+
56
+
## Summary Entities (per drive, always created)
57
+
58
+
| Entity | Type | Description |
59
+
|---|---|---|
60
+
|**Attention Needed**| Enum sensor | Primary state: NO / MAYBE / YES / UNSUPPORTED. Icon changes per state. Attributes include `severity`, `reasons` list, and `issue_count`. |
61
+
|**Attention Reasons**| Text sensor (diagnostic) | Human-readable semicolon-separated list of what's triggering the alert. Shows "No issues detected" when clean, "No usable SMART data" for UNSUPPORTED. Icon matches attention severity. |
62
+
63
+
---
64
+
65
+
## Icon Behavior
66
+
67
+
All diagnostic sensors that participate in attention evaluation have dynamic icons:
68
+
69
+
-**Normal state (value is 0 or within safe range):** Default icon from `SensorEntityDescription` (varies per sensor — thermometer, clock, harddisk, etc.).
70
+
-**Warning trigger active (MAYBE):** Switches to `mdi:alert-circle` (filled circle with exclamation).
71
+
-**Critical trigger active (YES):** Switches to `mdi:alert-octagon` (octagon stop sign with exclamation).
72
+
73
+
Icons revert to default automatically when the triggering value returns to safe range.
74
+
75
+
The Attention Needed sensor itself has state-based icons: `mdi:check-circle-outline` (NO), `mdi:alert-circle-outline` (MAYBE), `mdi:alert-octagon` (YES), `mdi:help-circle-outline` (UNSUPPORTED).
76
+
77
+
---
78
+
79
+
## Notification Behavior
80
+
81
+
Persistent notifications are managed by the coordinator and fire on state or reason transitions:
82
+
83
+
| Transition | Action |
84
+
|---|---|
85
+
| First poll | Silent baseline — no notification |
| * → UNSUPPORTED | Fire informational notification (once) |
92
+
| Same state, reasons changed | Update notification with new reason list |
93
+
94
+
Notification IDs are stable per drive: `smart_sniffer_attention_{drive_id}`. Each notification lists all active trigger reasons as bullet points.
95
+
96
+
---
97
+
98
+
## Known Gaps (Future Work)
99
+
100
+
-**Temperature triggers** — not yet implemented. Planned: absolute threshold (e.g., > 55°C → MAYBE) and trend-over-time detection (sustained rise over multiple polls). Requires historical storage in the coordinator.
101
+
-**SAS/SCSI triggers** — `scsi_grown_defect_list` and SCSI error counters are not yet parsed. SAS drives currently show as UNSUPPORTED.
102
+
-**NVMe `critical_warning` bitmask decoding** — currently treated as a single flag (≠ 0 → YES). Future: decode individual bits (spare below threshold, temperature exceeded, reliability degraded, read-only mode, volatile memory backup failed) into separate reasons.
0 commit comments