Skip to content

1.0.0

Choose a tag to compare

@devinslick devinslick released this 06 Nov 19:33
Immutable release. Only release title and notes can be modified.

FMD Home Assistant Integration v1.0.0 — Stable Release

Date: 2025-11-06

🎉 Highlights

  • First stable release of the FMD Home Assistant integration
  • Upgraded core dependency to fmd-api==2.0.3 for improved reliability and performance
  • Maintains high test coverage (≥96%) across all entity platforms
  • Production-ready photo/media handling (EXIF timestamps, duplicate prevention, retention)
  • Robust async architecture with non-blocking crypto and file I/O

✅ What’s Included

  • 20 entities per device: device_tracker, buttons, switches, selects, numbers, sensors
  • High-frequency tracking mode with configurable intervals
  • Location provider selection (All, GPS Only, Cell Only, Last Known)
  • Photo capture (front/rear) and download with EXIF-based filenames
  • Automatic photo cleanup (optional) using retention setting
  • Safety-gated device wipe (2-step with auto-timeout)
  • Persistent settings: entities restore state after HA restart
  • Reauthentication flow support in config flow

🔧 Under the Hood

  • API client powered by fmd_api (v2.0.3) with async factory initialization
  • Executor-backed decryption and file writes to keep the event loop responsive
  • Comprehensive error handling and logging throughout
  • Type hints across the codebase; clear separation of concerns per platform

🧪 Quality

  • Test coverage ≥96% (pytest + pytest-homeassistant-custom-component)
  • CI on Python 3.11/3.12 with coverage reporting to Codecov
  • Extensive unit tests for all entities, config flow, and integration lifecycle

🚀 Upgrade Instructions

  1. Update via HACS (or pull latest from GitHub) and restart Home Assistant
  2. No reconfiguration is required; existing entries migrate seamlessly
  3. Optional validation:
    • Trigger a Location Update and confirm provider/timestamps
    • Capture and Download a photo; verify it appears under Media → FMD →

📝 Notes for Automations

  • Commands (Bluetooth, DND, Ringer) are fire-and-forget (no state feedback)
  • Use the “Location Source” select to balance accuracy vs. battery
  • Auto-cleanup only affects local HA media; it does not delete from the FMD server

🔒 Security & Privacy

  • HTTPS strongly recommended for FMD server
  • Photos are decrypted locally; stored in Home Assistant media directory
  • Wipe command is safety-gated and logs warnings

📦 Dependency Changes

  • Bumped fmd-api to 2.0.3

📚 Documentation

  • README updated with stable release notes and guidance
  • Credits updated to include fmd_api library repository

🙌 Acknowledgements

Huge thanks to the FMD-FOSS team for creating the FMD ecosystem, and to all testers who helped harden the 0.9.x beta series leading to this stable release.

For issues or feature requests, please open an issue:
https://github.com/devinslick/home-assistant-fmd/issues