Fixes
- Two devices with the same USB ID, only one detected (#128): the detector called
usb.core.find(), which returns the first match — users running two coolers with identical VID:PID (e.g. Frozen Warframe 240 + Trofeo Vision 6.86", both0416:5302) only saw one. Now usesfind_all=Trueand emits aDetectedDeviceper physical USB;usb_path(usb:bus:address) disambiguates downstream. Same fix for the macOS detector. - Headless
led-mode temp_linked/load_linkedhad wrong colors (#130): on a headless box the CLI never started a metrics loop, so sensor-linked LED modes ran against a zeroedHardwareMetrics. The CLI composition root now bootstrapsSystemServiceonce and seeds every connected device with current metrics before the command runs.
Refactors
Trccis now a container —__iter__yields every connected LCD then LED,__len__returns total. Call sites can writefor device in trcc:andlen(trcc)instead of poking_lcd_devices/_led_devices.