v2.6.4 - CC2 Client ID Fix & Manual IP Flow Improvements
🎉 Major Release: CC2 Printer Support & Manual IP Flow Improvements
This release brings critical fixes for CC2 (Centauri Carbon 2) FDM printers and major improvements to the manual IP configuration flow.
🔧 Critical Bug Fixes
CC2 Client ID Format Fix (#329)
BREAKING FIX: Corrected client_id format to match official Elegoo web interface implementation.
Before (not working):
client_id:1_PC_5234request_id:1_PC_5234_req
After (working):
client_id:0clib9137a(exactly 10 chars)request_id: UUID + timestamp format
This was causing registration timeouts and connection failures. CC2 printers will now connect successfully in LAN-only mode.
Confirmed working by community testing with Centauri Carbon 2 printers.
✨ New Features
Manual IP Flow Refactor
Complete redesign of the manual IP configuration flow:
- Discovery-first approach: Asks for IP address, then auto-detects printer type
- Smart routing: Automatically routes to appropriate setup flow based on printer type:
- CC2 → CC2 authentication flow
- MQTT → Auto-configured MQTT setup
- FDM → Proxy configuration options
- Resin → Camera configuration options
- External IP preservation: Maintains external IP setting across all flows
- Better user experience: No more guessing which flow to use
CC2 Discovery Improvements
- Increased timeout: 5s → 10s for broadcast discovery
- Retry logic: 2 automatic retry attempts for broadcast discovery
- Port binding: Attempts to bind to port 52700 for better response handling
- Comprehensive logging: Detailed debug logs for troubleshooting connection issues
📝 Documentation Updates
CC2 LAN-Only Mode
IMPORTANT: CC2 printers require LAN-Only mode to work with this integration.
Setup Instructions:
- On your printer: Settings → Network → LAN Only Mode
- Enable LAN Only Mode
- Save and restart if prompted
Why LAN-Only?
Cloud mode requires OAuth2 authentication and Elegoo's cloud relay infrastructure, which is not currently supported. This integration connects directly to your printer over your local network.
Network Requirements:
- Printer and Home Assistant must be on the same network/VLAN/subnet
- For Docker/K8s users: Use host networking or proper network bridging
- Port 1883 (MQTT) must be accessible
New Documentation
- Complete CC2 Protocol Documentation
- Updated README with detailed CC2 setup instructions
- Network troubleshooting guide for containerized setups
🐛 Other Improvements
- Debug logging: Comprehensive logging around CC2 MQTT connection, registration, and heartbeat
- Error handling: Better error messages for CC2 authentication failures
- Password fallback: Tries user-provided access code, then empty string, then "123456"
⚠️ Important Notes
CC2 Printers
- LAN-Only Mode Required - Cloud mode is NOT supported
- Must be on same network as Home Assistant
- Access code configuration now works correctly
- Registration timeout issues resolved with correct client_id format
Network Requirements
For users running Home Assistant in containers (Docker, Kubernetes, TrueNAS Scale):
- Use
--network hostmode OR - Configure proper network bridging/macvlan
- Ensure printer and HA container can communicate on port 1883
Breaking Changes
None - all changes are backwards compatible for existing printer configurations.
🙏 Credits
Special thanks to:
- @JoBanJo for extensive testing and patience during debugging
- Community members in #323 and #329 for reporting issues and testing fixes
📦 Installation
HACS (Recommended):
- Go to HACS → Integrations
- Find "Elegoo Printers"
- Click "Update"
- Restart Home Assistant
Manual:
- Download the latest release
- Copy to
custom_components/elegoo_printer/ - Restart Home Assistant
🔗 Links
📊 Full Changelog
CC2 Support:
- Fix client_id format to match web interface (
0cliprefix) - Fix request_id format (UUID + timestamp)
- Increase discovery timeout to 10 seconds
- Add discovery retry logic (2 attempts)
- Add comprehensive debug logging
- Implement password fallback strategy
Manual IP Flow:
- Refactor to discovery-first approach
- Add automatic printer type detection
- Route to appropriate setup flow
- Preserve external_ip across flows
- Update translations
Documentation:
- Add CC2 protocol documentation
- Update README with LAN-only requirements
- Add network troubleshooting guide
- Document client_id format requirements
Files Changed:
custom_components/elegoo_printer/cc2/client.pycustom_components/elegoo_printer/cc2/discovery.pycustom_components/elegoo_printer/cc2/const.pycustom_components/elegoo_printer/config_flow.pycustom_components/elegoo_printer/translations/en.jsonREADME.mddocs/CC2_PROTOCOL.md