Hi, I’ve create an addon for my use and wanted to share it if it can be useful to other people
Thanks to @ElVit for helping with some debugging and providing valuable input!
About
Scrutiny by Analogj is a Hard Drive Health Dashboard & Monitoring solution, merging manufacturer provided S.M.A.R.T metrics with real-world failure rates. This addon is based on the docker image from linuxserver.io.
Features :
- SMART monitoring
- Automatic addition of local drives
- Hourly/daily or weekly updates
- Ingress
- Automatic upstream updates
Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.
- Add my Hass.io add-ons repository to your home assistant instance (instructions)
- Install this add-on.
- Click the
Save
button to store your configuration. - Set the add-on options to your preferences
- Start the add-on.
- Check the logs of the add-on to see if everything went well.
- Open the webUI (Ingress based) and adapt the software options
Configuration
Webui can be found through Ingress.
It automatically mounts all local drives and updates it regularly, then provides SMART data in an easy to read dashboard with temperature and probability of failure.
GUID: user
GPID: user
ssl: true/false (for Ingress)
certfile: fullchain.pem #ssl certificate
keyfile: privkey.pem #sslkeyfile
Updates: hourly/daily/weekly #frequency of smart update
Integration
Integration with HA can be done with the rest platform in configuration.yaml.
Two types of api endpoints are available:
- Summary data : http://YOURIP:ADDONPORT/api/summary
- Detailed data : http://YOURIP:ADDONPORT/api/WWN/details
For the detailed data, wmn can be found for each hdd within the scrutiny app. For example for me : http://192.168.178.23:8086/api/device/0x50014ee606c14537/details
Example to get data from the first hdd.
rest:
- verify_ssl: false
scan_interval: 60
resource: http://YOURIP:ADDONPORT/api/summary
sensor:
- name: "HDD disk 1"
json_attributes_path: "$.data[0].smart_results[0]"
value_template: "OK"
json_attributes:
- "device_wwn"
- "date"
- "smart_status"
- "temp"
- "power_on_hours"
- "power_cycle_count"
- "ata_attributes"
- "nvme_attributes"
- "scsi_attributes"