Skip to content

NAS auto-discovery, new summary sensors, extended dashboard

Choose a tag to compare

@Tom-Bom-badil Tom-Bom-badil released this 07 Nov 18:03
8f18e03

👉 For end users

Users of the "Example Dashboard": Please update the dashboard with latest code after installation (see Wiki).

  • Easy onboarding through Zeroconf discovery - automatic NAS detection via mDNS, redesigned setup with pre-filled host and title.
  • Enhanced device registry hierarchy - Pools, Volumes and Disks now register as proper sub-devices with brand / model metadata.
  • Improved WebSocket keep-alive - automatic re-authentication and adaptive back-off.
  • New summary sensors - aggregated per Pool / Volume / Disk, with all related data as attributes (=easy use in dashboards).
  • Scaled throughput metrics - automatic conversion from B/s to kB/s / MB/s / GB/s in addition to raw values.
  • Disk sleep state entities added again (thanks for reporting).
  • Shutdown button repaired (thanks for reporting).
  • Single pool NAS - 'pool_1' instead of just 'pool' also in entity names (a further fix for the strange UGOS behavior).
  • Example Dashboard Page reworked - now with cleaner visuals by using summary entities for pools / volumes / disks.

👉 For fellow developers

  • Device meta-caches introduced in __init__.py, with structured DeviceInfo factories in device_info.py for pool ↔ volume ↔ disk relationships.
  • Scaling & templating helpers in utils.py: scale_bytes_per_second, determine_unit, format_dynamic_size, and apply_templates / make_entities for index-based dynamic entities.
  • HTTP client & login flow: stronger RSA-based authentication, token refresh on code 1024, and reduced log noise (api.py).
  • Entity naming: “label-first” convention for summary sensors; stable _summary suffix for entity IDs.
  • Recorder optimization: summary attributes explicitly excluded from the Home Assistant recorder to keep the database lightweight (it's all redundant data).
  • Device relations: Root device via entry / serial; child devices via pool / volume / disk keys with proper via_device linking.
  • Safer handling of missing or null fields in dynamic API paths (Storage, LAN, USB, RAM, UPS).
  • Corrected mapping for disk type and status codes, and more accurate CPU-frequency (MHz) parsing.

Thanks to everyone who has contributed to this release, and special thanks go out to all beta testers!