All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Dynamic outlet detection: Integration automatically detects device outlet count (5, 8, or other configurations)
- Configurable scan interval: Users can adjust polling frequency from 10-300 seconds via Options Flow
- Options Flow UI: Reconfigure IP address, credentials, and scan interval without removing integration
- Comprehensive automation examples: New AUTOMATIONS.md with 15+ ready-to-use examples
- Documentation updates: Enhanced README with dynamic detection features and configuration instructions
- Outlet entities now created dynamically based on device response (no hardcoded 5-outlet assumption)
- Switch and button platforms detect outlet count automatically
- Status parsing now determines outlet count from device response length
- Models updated to support variable outlet counts with dynamic validation
- Client methods remove hardcoded outlet validation for flexibility
- asyncio import moved to module level in coordinator.py
- Timeout errors now properly caught and displayed with clear messages
- Synced timeout handling between bundled and source libraries
NUM_OUTLETSandOUTLET_RANGEconstants (kept for backward compatibility)get_status_position()function (use dynamic calculation instead)
- Added AUTOMATIONS.md with comprehensive automation examples
- Added FILE_CLEANUP_ANALYSIS.md for repository maintenance
- Updated README with dynamic outlet detection and scan interval documentation
- Updated .gitignore to prevent test artifacts and release zips
- Removed device tracker connection to prevent "IEEE Registration Authority detected" log spam
- MAC address now only shown in device info (not used for connections)
- Device IP address now shown as clickable link in device info card
- Options Flow for updating connection details after initial setup
- Support for multiple NetCommander devices via unique_id
- Ability to update IP address and credentials without removing integration
- Improved timeout error handling with proper asyncio.TimeoutError catching
- Better error messages for connection timeouts
- Removed stale bytecode (.pyc files) from release zip
- Integration loading issue resolved
- sys.path manipulation moved before imports in config_flow.py
- Resolved "No module named 'netcommander_lib'" error
- Initial release
- Home Assistant custom component
- CLI tool with Rich formatting
- Async Python API client library
- Switch entities for outlet control
- Sensor entities for current and temperature monitoring
- Button entities for outlet reboots
- Device info display (model, firmware, hardware version, MAC)
- Comprehensive test suite with pytest
- HACS compatibility
- 5-outlet support (NP-0501DU tested)
- Real-time status monitoring
- Configurable polling (default 30 seconds)
- UI-based configuration
- Multiple output formats for CLI (table, JSON, YAML)
- Environment variable support
- Type-safe Pydantic models
- Custom exception hierarchy
- 2025.10.16.4 - Dynamic outlet detection and configurable scan interval
- 2025.10.16.3 - Fixed device tracking spam
- 2025.10.16.2 - Added IP display in device info
- 2025.10.16.1 - Options Flow for credential updates
- 2025.10.16 - Improved timeout error handling
- 2025.10.15.3 - Fixed bytecode issue
- 2025.10.15.2 - Fixed import path issue
- 2025.10.15 - Initial release
No action required - upgrade is seamless:
- Existing 5-outlet configurations continue working
- Scan interval defaults to 30 seconds (existing behavior)
- Use Options Flow (Configure button) to adjust scan interval if desired
- If you have non-5-outlet devices, they'll now be detected automatically
None - all changes are backward compatible.
See CONTRIBUTING.md for guidelines on submitting changes.
Report bugs and request features at: https://github.com/rmrfslashbin/netcommander/issues
Made with ❤️ for the Home Assistant community