Releases: rihokirss/homeasisstant-rn301
Release v1.4.2: Media Browsing Standards Compliance
🎵 Media Browsing Standards Compliance
This release fixes media browsing implementation to properly follow Home Assistant's media player integration standards.
✨ What's New
- MediaClass Compliance: Updated all media browsing to use proper
MediaClassenum instead ofMediaType - Intelligent Classification: Albums now use
MediaClass.ALBUM, folders useMediaClass.DIRECTORY - Standards Compliant: Follows Home Assistant's official media player integration guidelines
🔧 Improvements
- NET RADIO Browsing:
- Folders now use
MediaClass.DIRECTORY - Stations use
MediaClass.TRACK
- Folders now use
- SERVER Browsing:
- Containers use
MediaClass.DIRECTORYorMediaClass.ALBUMas appropriate - Playable tracks use
MediaClass.TRACK
- Containers use
- Navigation Elements: Pagination and back buttons use proper
MediaClass.DIRECTORY
🐛 Bug Fixes
- Fixed incorrect
MediaType.CHANNELusage in NET RADIO browsing - Fixed incorrect
MediaType.MUSICusage in SERVER browsing - Replaced all improper MediaType usage with correct MediaClass enum values
🔧 Technical Details
This release ensures proper separation of concerns:
- MediaClass: Used for categorizing browsable content in media browser UI
- MediaType: Used for identifying actual media content type for playback
The integration now fully complies with Home Assistant's media player standards, ensuring better compatibility and future-proofing.
📦 Installation
Via HACS (Recommended):
- Go to HACS → Integrations
- Search for "Yamaha R-N301"
- Update to v1.4.2
Manual Update:
- Download the latest release
- Replace the
custom_components/yamaha_rn301folder - Restart Home Assistant
Full Changelog: v1.4.1...v1.4.2
v1.4.1 - Code Refactoring and Cleanup
Code Quality Improvements
Refactoring
- Eliminated code duplication: Removed ~135 lines of duplicated XML parsing logic
- Helper methods: Added dedicated functions for pagination controls and navigation
- Factory methods: Created BrowseMedia factory methods for cleaner object creation
- Simplified navigation: Improved path management system for better maintainability
Performance & Maintenance
- Reduced codebase: ~250 fewer lines while maintaining all functionality
- Removed debug noise: Cleaned up redundant debug logging
- Better structure: More organized and maintainable code architecture
Technical Details
- Extract common XML parsing logic (
_parse_server_xml_response) - Add helper methods:
_add_pagination_controls(),_add_back_navigation() - Create factory methods:
_create_folder_browse_media(),_create_track_browse_media() - Simplify path extraction with
_extract_line_id_from_path()
No functional changes - all SERVER media browsing features work exactly the same.
🤖 Generated with Claude Code
Version 1.4.0 - SERVER Media Browsing
🎵 Version 1.4.0 - SERVER Media Browsing Release
🚀 Major New Features
SERVER Media Browsing & Playback
- Complete media server browsing - Navigate through your media server folders and albums
- Hierarchical navigation - Browse servers → categories → albums → tracks with proper folder structure
- Pagination support - Handle large music libraries with 1000+ tracks using Next/Previous page controls
- Direct track playback - Play tracks directly from the Home Assistant media browser
- Full playback integration - All media controls (play, pause, stop, skip, shuffle) work seamlessly
Enhanced User Experience
- Intelligent navigation - Smart back navigation with proper breadcrumb support
- Visual indicators - Emoji icons for navigation elements (🔙 ⬆️ ⬇️ 📄)
- Page information - Display current page and total item counts
- Stable performance - Simplified pagination system for reliable operation
Technical Improvements
- Async API handling - Non-blocking HTTP calls with proper error handling
- State synchronization - Reliable API state management during browsing
- Debug logging - Comprehensive logging for troubleshooting
- Device classification - Added receiver device class for better Home Assistant integration
🔧 What's New
- Browse your media server content directly in Home Assistant
- Navigate through folders and albums like a file browser
- Play any track from any page with proper pagination
- Full media control integration with existing functionality
- Enhanced back navigation with visual indicators
📥 Installation
Available through HACS or manual installation. See README for details.
Full Changelog: v1.3.0...v1.4.0
Version 1.3.0 - Enhanced Configuration Management
🎉 What's New in Version 1.3.0
This release brings significant improvements to configuration management and tuner functionality, making the integration more user-friendly and reliable.
🎛️ Enhanced Configuration Management
- IP Address Management: Change your receiver's IP address directly through Home Assistant UI without removing and re-adding the integration
- Unique Entity ID: Added proper unique_id support for full UI management capabilities
- Automatic Reload: Integration automatically reloads when configuration changes
🎵 Improved Tuner Experience
- Reliable Preset Navigation: Next/Previous buttons now work consistently, even when radio frequency is not locked (weak signal presets)
- Better Signal Handling: Tuner always shows as "playing" when active, ensuring media controls remain visible
- Optimized Performance: Eliminated duplicate API calls for faster preset detection
🔧 Technical Improvements
- Home Assistant 2025.12+ Ready: Fixed deprecated config_entry assignment warnings
- Streamlined Codebase: Removed unnecessary logging and cleaned up code structure
- Better Error Handling: Improved connection testing and error reporting
📖 How to Update Configuration
After updating to v1.3.0, you can easily change your receiver's IP address:
- Go to Settings → Devices & Services
- Find your Yamaha R-N301 integration
- Click Configure
- Update IP address and/or device name
- Integration automatically reloads with new settings
🔄 How to Upgrade
If you installed via HACS, the update should appear automatically. For manual installations, download the latest release and replace your custom_components/yamaha_rn301 folder.
🐛 Bug Fixes
- Fixed preset navigation buttons not appearing on weak signal presets
- Resolved media title display issues for tuner without preset information
- Fixed deprecated warnings for future Home Assistant compatibility
Full Changelog: v1.2.1...v1.3.0
What's Changed
- Add Claude Code GitHub Workflow by @rihokirss in #3
New Contributors
- @rihokirss made their first contribution in #3
Full Changelog: v1.2.1...v1.3.0
Fix volume control mapping
🐛 Bug Fix Release
What's Fixed
- Volume Control Mapping: Fixed volume control mapping between Home Assistant and receiver
- Volume Scaling: Corrected volume conversion to properly map 0-100% range
- Issue Resolved: HA now correctly shows volume when receiver is at 50% instead of appearing as 0%
Technical Details
- Changed volume conversion from
/50to/100for proper scaling - Updated
async_set_volume_levelto use* 100instead of* 50 - Receiver volume range (0-100) now correctly maps to HA volume range (0-1.0)
Installation
Available via HACS or manual installation. See README for details.
Full Changelog: v1.2.0...v1.2.1
Enhanced Tuner Controls and Display
Release Notes:
🎵 Enhanced Tuner Controls and Display
This release adds powerful tuner preset controls and enhanced media information display.
✨ New Features
- 🎛️ TUNER Preset Navigation: Switch between 8 radio presets using next/previous track buttons in Home Assistant UI
- 📺 Enhanced Media Display: Show station names, program info, and frequencies in compact format
- Example:
#4 RAADIO 2 • FKA TWIGS - Striptease_ (FM 101.6 MHz)
- Example:
- 📻 NET RADIO Browse Media: Browse and select internet radio stations directly in Home Assistant
- ⚡ Fully Async Implementation: Complete conversion to async/await for better performance
🔧 Improvements
- Better API Communication: Enhanced error handling and XML parsing
- Modern MediaType Support: Updated to use latest Home Assistant MediaType enum
- Compact Display: Removed verbose "Preset" text for cleaner UI
📋 Usage
When using the TUNER source:
- Use next/previous track buttons to cycle through presets 1-8
- Media title shows preset number, station name, current program, and frequency
- All existing volume, power, and source controls remain available
🔄 Previous Features (v1.1.0)
- Config Flow Support with connection testing
- Modern Home Assistant 2025.10+ compatibility
- Async HTTP calls and improved error handling
- HACS compatibility
📦 Installation
Install via HACS or manually - see README for details.
Domain Change to yamaha_rn301
What's New in v1.1.1
Domain Change
- Changed integration domain from
rn301toyamaha_rn301 - Follows Home Assistant naming conventions for brand-specific integrations
- Submitted to Home Assistant Brands repository for proper icon support
HACS Ready
- Passes HACS validation (pending brands merge)
- Ready for HACS default repository submission
- Improved integration discovery and branding
Migration Steps
- Remove old
rn301integration from Home Assistant - Restart Home Assistant
- Reinstall from HACS or manually
- Reconfigure with your receiver's IP address
Technical Details
- All functionality remains the same
- Only the internal domain name has changed
- Full Home Assistant 2025.10+ compatibility maintained