feat: add Telnet port 17000 support for Wave SoundTouch IV (#352)#355
Open
scheilch wants to merge 2 commits into
Open
feat: add Telnet port 17000 support for Wave SoundTouch IV (#352)#355scheilch wants to merge 2 commits into
scheilch wants to merge 2 commits into
Conversation
- New TelnetConfigService for device configuration via sys commands - New endpoints: POST /wizard/telnet-configure, POST /wizard/telnet-verify - Extend connectivity check with telnet_available + setup_method fields - Input validation: oct_host and device_ip validated against injection - envswitch boseurls set command with correct syntax per manual guide - Add 38 new tests (26 base + 12 review fixes) Closes #352
Contributor
✅ CI Passed
|
|
|
Is there a way to contribute with testing? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Adds backend support for configuring Wave SoundTouch IV devices via Telnet port 17000. These devices don't support USB provisioning/SSH — Telnet is the only configuration method.
Changes
New:
TelnetConfigService(setup/telnet_config_service.py)configure_urls()— sendssys configurationcommands for all 4 URLs +envswitch boseurls setverify_configuration()— readsgetpdo CurrentSystemConfiguration, parses XML responsereboot()— sendssys rebootSoundTouchTelnetClientfromssh_client.pyNew Endpoints (
wizard_routes.py)POST /wizard/telnet-configure— configure device via Telnet (IP + OCT host)POST /wizard/telnet-verify— verify current device configurationExtended: Connectivity Check (
service.py)check_device_connectivity()now returnstelnet_availableandsetup_method("ssh" | "telnet" | "none")Security
oct_hostanddevice_ip(Pydantic validators + defense-in-depth in constructor)Test Results
Frontend
Backend-only for now. Frontend wizard integration (conditional step rendering for Telnet devices) will follow as separate PR.
Device Testing Required
envswitch boseurls setcommand syntax on real devicegetpdo CurrentSystemConfigurationXML parsingRelated
doc/wave-soundtouch-iv-telnet-setup.md