|
7 | 7 |
|
8 | 8 | <p align="center"> |
9 | 9 | <a href="https://github.com/DAB-LABS/smart-sniffer/releases/latest"><img src="https://img.shields.io/github/v/release/DAB-LABS/smart-sniffer?style=flat-square" alt="Release"></a> |
| 10 | + <img src="https://img.shields.io/badge/status-beta-orange?style=flat-square" alt="Beta"> |
10 | 11 | <a href="https://github.com/DAB-LABS/smart-sniffer/actions/workflows/release.yml"><img src="https://img.shields.io/github/actions/workflow/status/DAB-LABS/smart-sniffer/release.yml?style=flat-square&label=build" alt="Build"></a> |
11 | 12 | <a href="LICENSE"><img src="https://img.shields.io/github/license/DAB-LABS/smart-sniffer?style=flat-square" alt="License"></a> |
12 | 13 | </p> |
@@ -114,20 +115,36 @@ Every drive on the machine appears as its own HA device. |
114 | 115 |
|
115 | 116 | <table> |
116 | 117 | <tr> |
117 | | - <td align="center"><strong>SATA SSD — Sensors</strong></td> |
118 | | - <td align="center"><strong>Apple NVMe — Sensors</strong></td> |
| 118 | + <td align="center"><strong>NVMe SSD — Sensors</strong></td> |
| 119 | + <td align="center"><strong>NVMe SSD — Diagnostics</strong></td> |
119 | 120 | </tr> |
120 | 121 | <tr> |
121 | | - <td><img src="images/sensors-samsung-screenshot.png" width="320"></td> |
122 | | - <td><img src="images/sensors-apple-screenshot.png" width="320"></td> |
| 122 | + <td><img src="images/nvme-sensors.png" width="300"></td> |
| 123 | + <td><img src="images/nvme-diagnostics.png" width="300"></td> |
123 | 124 | </tr> |
124 | 125 | <tr> |
| 126 | + <td align="center"><strong>SATA SSD — Sensors</strong></td> |
125 | 127 | <td align="center"><strong>SATA SSD — Diagnostics</strong></td> |
126 | | - <td align="center"><strong>Apple NVMe — Diagnostics</strong></td> |
127 | 128 | </tr> |
128 | 129 | <tr> |
129 | | - <td><img src="images/diag-samsung-screenshot.png" width="320"></td> |
130 | | - <td><img src="images/diag-apple-screenshot.png" width="320"></td> |
| 130 | + <td><img src="images/sata-ssd-sensors.png" width="300"></td> |
| 131 | + <td><img src="images/sata-ssd-diagnostics.png" width="300"></td> |
| 132 | + </tr> |
| 133 | + <tr> |
| 134 | + <td align="center"><strong>Attention: YES (Critical)</strong></td> |
| 135 | + <td align="center"><strong>Trigger Reason in Diagnostics</strong></td> |
| 136 | + </tr> |
| 137 | + <tr> |
| 138 | + <td><img src="images/attention-yes-sensors.png" width="300"></td> |
| 139 | + <td><img src="images/attention-yes-diagnostics.png" width="300"></td> |
| 140 | + </tr> |
| 141 | + <tr> |
| 142 | + <td align="center"><strong>Attention: MAYBE (Warning)</strong></td> |
| 143 | + <td align="center"><strong>Warning Reason in Diagnostics</strong></td> |
| 144 | + </tr> |
| 145 | + <tr> |
| 146 | + <td><img src="images/attention-maybe-sensors.png" width="300"></td> |
| 147 | + <td><img src="images/attention-maybe-diagnostics.png" width="300"></td> |
131 | 148 | </tr> |
132 | 149 | </table> |
133 | 150 |
|
@@ -289,9 +306,21 @@ Binaries output to `agent/build/`. |
289 | 306 | - [ ] Configurable alert thresholds via options flow |
290 | 307 | - [ ] SAS/SCSI drive support |
291 | 308 |
|
| 309 | +## Testing |
| 310 | + |
| 311 | +The integration has been tested against the included [Mock Agent](docs/mock-agent.md) — a standalone Python tool that simulates a `smartha-agent` with fully controllable fake drives. It serves the same API as the real agent, with a web dashboard for changing SMART attributes in real time. Useful for validating attention state transitions, notification behavior, and new drive types without waiting for real hardware to degrade. |
| 312 | + |
| 313 | +```bash |
| 314 | +python3 tools/mock-agent.py --port 9100 --preload sata_hdd,nvme,usb_blocked |
| 315 | +``` |
| 316 | + |
| 317 | +Point the HA integration at `localhost:9100` and you're testing. |
| 318 | + |
292 | 319 | ## Contributing |
293 | 320 |
|
294 | | -Found a bug? Have a drive that isn't mapping correctly? [Open an issue.](https://github.com/DAB-LABS/smart-sniffer/issues) Drive-specific `smartctl -a --json` output samples are especially welcome — they help us catch manufacturer name variants we haven't seen yet. |
| 321 | +Found a bug? Have a drive that isn't mapping correctly? See [CONTRIBUTING.md](CONTRIBUTING.md) for how to help. |
| 322 | + |
| 323 | +Drive-specific `smartctl -a --json` output samples are especially welcome — they help us catch manufacturer name variants we haven't seen yet. |
295 | 324 |
|
296 | 325 | --- |
297 | 326 |
|
|
0 commit comments