When SMART_DEVICES specifies an explicit type (e.g. /dev/sda:scsi), the
agent resolved the device type correctly but smartctlArgs dropped the -d
flag for scsi/ata (the #1345 scan-misdetection workaround), so smartctl
re-detected the wrong type (sat) and collection failed on USB drives
whose bridge does not support SAT passthrough.
Mark types that come from an explicit SMART_DEVICES hint and always pass
them through via -d, while still letting scan-detected scsi/ata
auto-detect as before. Adds regression tests for the arg building, the
full parse -> merge -> args path, and flag preservation across rescans.
Fixes#2072
* feat: add ATA Device Statistics parsing and fall back for SMART temp reading
* simplify ata device statistics structs and fix smartctl args tests
* simplify ata device statistics lookup to use page number only
---------
Co-authored-by: henrygd <hank@henrygd.me>