Skip to content

Releases: rihokirss/homeasisstant-rn301

Release v1.4.2: Media Browsing Standards Compliance

22 Jul 19:23

Choose a tag to compare

🎵 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 MediaClass enum instead of MediaType
  • Intelligent Classification: Albums now use MediaClass.ALBUM, folders use MediaClass.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
  • SERVER Browsing:
    • Containers use MediaClass.DIRECTORY or MediaClass.ALBUM as appropriate
    • Playable tracks use MediaClass.TRACK
  • Navigation Elements: Pagination and back buttons use proper MediaClass.DIRECTORY

🐛 Bug Fixes

  • Fixed incorrect MediaType.CHANNEL usage in NET RADIO browsing
  • Fixed incorrect MediaType.MUSIC usage 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):

  1. Go to HACS → Integrations
  2. Search for "Yamaha R-N301"
  3. Update to v1.4.2

Manual Update:

  1. Download the latest release
  2. Replace the custom_components/yamaha_rn301 folder
  3. Restart Home Assistant

Full Changelog: v1.4.1...v1.4.2

v1.4.1 - Code Refactoring and Cleanup

22 Jul 15:36

Choose a tag to compare

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

22 Jul 15:12

Choose a tag to compare

🎵 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

21 Jul 19:58

Choose a tag to compare

🎉 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:

  1. Go to SettingsDevices & Services
  2. Find your Yamaha R-N301 integration
  3. Click Configure
  4. Update IP address and/or device name
  5. 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

New Contributors

Full Changelog: v1.2.1...v1.3.0

Fix volume control mapping

16 Jul 09:26

Choose a tag to compare

🐛 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 /50 to /100 for proper scaling
  • Updated async_set_volume_level to use * 100 instead 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

15 Jul 18:15

Choose a tag to compare

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)
  • 📻 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

15 Jul 06:41

Choose a tag to compare

What's New in v1.1.1

Domain Change

  • Changed integration domain from rn301 to yamaha_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

  1. Remove old rn301 integration from Home Assistant
  2. Restart Home Assistant
  3. Reinstall from HACS or manually
  4. 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