Goal
Add a Homey repair flow that lets users refresh a paired SoundTouch speaker's stored IP address without deleting/re-adding the device and without changing presets.
Context
SoundTouch speakers may receive a new IP address after DHCP changes, router changes, office network changes, or Homey moving between LANs. The app already stores the Bose device ID and IP address, so repair should be able to rediscover the same physical speaker and update only the connection details.
Matching Strategy
When repairing an existing device, discover SoundTouch devices and match candidates against the current Homey device by:
- Bose device ID / MAC from
/info against device.getData().id.
- Stored discovery ID / mDNS instance name as fallback.
- Current Homey device name as a softer fallback, only if needed.
Scope
- Add a
repair flow to the SoundTouch driver.
- Reuse discovery where possible.
- Let the user select the replacement/current speaker if multiple candidates are found.
- Update only
store.address, store.discoveryId, and settings.ip_address.
- Reconnect websocket and sync status after repair.
- Do not alter preset names, preset URLs, active preset state, or Flow cards.
Acceptance Criteria
- A user can repair an existing speaker after its IP changes.
- The repair flow prefers exact Bose device ID matches.
- If no exact match is available, the user can manually select a discovered candidate.
- Existing preset settings remain unchanged after repair.
- The device reconnects and becomes available after a successful repair.
npx homey app validate passes.
Goal
Add a Homey repair flow that lets users refresh a paired SoundTouch speaker's stored IP address without deleting/re-adding the device and without changing presets.
Context
SoundTouch speakers may receive a new IP address after DHCP changes, router changes, office network changes, or Homey moving between LANs. The app already stores the Bose device ID and IP address, so repair should be able to rediscover the same physical speaker and update only the connection details.
Matching Strategy
When repairing an existing device, discover SoundTouch devices and match candidates against the current Homey device by:
/infoagainstdevice.getData().id.Scope
repairflow to the SoundTouch driver.store.address,store.discoveryId, andsettings.ip_address.Acceptance Criteria
npx homey app validatepasses.