BGG Sync v1.1.0
BGG Sync v1.1.0
This major update introduces powerful new features for tracking your BoardGameGeek collection and significantly improves the robustness of the integration with a fully verified 100% test suite.
🌟 Highlights
🎲 Full Collection Tracking
You can now import your entire BoardGameGeek collection into Home Assistant!
- Toggle Option: Enable "Track Collection" in the configuration options to auto-create sensors for every game you own.
- Rich Metadata: Each game sensor now includes detailed data:
min/max players,playtime,rank,weight,year released, and more. - Dynamic Art: Game sensors now display the official box art as their icon/picture.
🏷️ Enhanced Game Tracking
The track_game service is smarter:
- Targeting: Add games to specific users in a multi-user setup.
- Custom Tags: Attach NFC tags or Music URIs directly when tracking a game for easier automation integration.
🛡️ Robustness & Reliability
- 100% Test Coverage: The integration has undergone a massive code quality overhaul, ensuring every line of code is tested. This means fewer bugs and higher reliability.
- API Optimization: Smarter batching of API requests prevents connection errors when syncing large collections.
📜 Changelog
Added
- Collection Tracking: New option to track your entire BGG collection as individual sensors.
- Rich Metadata Refinement: Added parsing for
min_players,max_players,min_playtime,max_playtime,sub_type,year,rank,weight. - Game Tracking Service: Enhanced
bgg_sync.track_gameservice to support addingnfc_tagandmusicattributes to specific games. - Dynamic Icons: Game sensors now display the game's box art if available, falling back to the dice icon.
- Configuration: Added "Track Collection" toggle in Options Flow.
Changed
- API Performance: Optimized batch sizing (reduced to 20) for BGG API requests to prevent "400 Bad Request" errors on large collections.
- Translations: Improved UI labels for configuration options.
- Attributes: Renamed
subtypetosub_typeand fixedcoll_idto only appear when relevant. - Reliability: Achieved 100% test coverage and implemented strict linting (ruff) to ensure robustness and code quality.
Fixed
- Fixed issue where game attributes (Weight, Rating, etc.) were showing as "Unknown" due to XML parsing errors.
- Fixed issue where service calls to track_game with
tagorplaylistaliases were ignored (now strictlynfc_tagandmusic). - Fixed multi-user collection tracking support.