Parent: #20
Phase: 1.1.x parity build-out, still no default adapter switch.
Goal:
Add webOS adapter write/control operations for the non-brightness calls currently performed through bscpylgtv.
Scope:
- Switch HDMI input via
tv/switchInput.
- Power off via
system/turnOff, preserving the existing power-state guard behavior where applicable.
- Turn screen off via the current tvpower endpoint.
- Turn screen on via the current tvpower endpoint.
- Support older screen on/off endpoint fallbacks where practical.
- Preserve structured errors for unsupported endpoints and webOS error responses such as substate mismatches.
- Keep webOS request details inside the adapter boundary.
Acceptance criteria:
- Mock websocket tests assert the exact request payloads.
- Screen on/off fallback behavior is tested.
- Existing screen, lifecycle, suspend, and shutdown policy semantics are not changed.
- The production adapter still defaults to bscpylgtv.
- The policy layer continues to call adapter-neutral TV operations.
Out of scope:
- OLED brightness write parity.
- Making webOS the default adapter.
- Multi-TV profile selection.
- Removing Python dependencies.
Parent: #20
Phase: 1.1.x parity build-out, still no default adapter switch.
Goal:
Add webOS adapter write/control operations for the non-brightness calls currently performed through bscpylgtv.
Scope:
tv/switchInput.system/turnOff, preserving the existing power-state guard behavior where applicable.Acceptance criteria:
Out of scope: