Repository navigation
Releases: cmos486/Bravia-REST-API
Release list
v1.7.1 — Fix Left/Right navigation buttons
Fix: Left & Right remote buttons not working (#11)
IRCC button entities were hardcoding base64 command codes at module load time. The codes for Left and Right don't work on all Sony Bravia models because different TVs use different IRCC code sets.
What changed
- Button entities now resolve IRCC codes at press time from the TV's own
getRemoteControllerInforesponse (discovered at startup), instead of using hardcoded values - Added command name aliases — if the TV reports
CursorLeft/CursorRightinstead ofLeft/Right, both names now resolve correctly - Hardcoded codes still serve as fallback for TVs that don't report codes via the API
- Same fix applied to the remote entity and the
send_ircc_commandservice for consistency
Upgrade
Update via HACS or replace the custom_components/bravia_rest_api/ folder and restart Home Assistant.
Full Changelog: v1.7.0...v1.7.1
v1.7.0
What's New
Separate polling intervals for TV on vs standby
You can now configure two different refresh intervals:
- Refresh Interval (TV On) — polling rate when the TV is active (default: 15s, max: 60s)
- Refresh Interval (Standby) — polling rate when the TV is in standby (default: 60s, max: 300s)
This reduces unnecessary network traffic when the TV is off while keeping fast state updates when it's on.
Both settings are available in the integration's Options (Configure button).
Full Changelog: v1.6.0...v1.7.0
v1.6.0 — Configurable Refresh Interval
What's New
Configurable Refresh Interval (#10)
Added a user-configurable polling interval in integration options, allowing users to control how frequently the integration polls the TV for state updates.
- Slider control: 1s – 60s range (default: 15s)
- Live update: Changes apply immediately without restarting the integration
- Translations: English and Spanish
Use Case
Automations that rely on fast state synchronization (e.g. monitoring volume_level to sync with other devices) can now reduce the polling interval for near-real-time updates.
Files Changed
| File | Change |
|---|---|
const.py |
Added CONF_SCAN_INTERVAL, MIN_SCAN_INTERVAL (1s), MAX_SCAN_INTERVAL (60s) |
coordinator.py |
Reads scan_interval from entry options at init |
config_flow.py |
Added slider to options flow |
__init__.py |
Updates coordinator.update_interval live on options change |
strings.json / en.json / es.json |
Added UI strings for the new option |
Full Changelog: v1.5.5...v1.6.0
Full Changelog: v1.5.8...v1.6.0
v1.5.8
Fix: HTTPS auto-detection for newer Bravia TVs
Newer consumer Bravia TVs (e.g. Sony Bravia 5) may serve the REST API over HTTPS instead of HTTP, causing PSK authentication to fail during setup.
Changes
- HTTPS auto-detection: config flow now tries HTTP first, then automatically falls back to HTTPS (with self-signed certificate support)
- PSK whitespace stripping: trailing/leading spaces in the PSK input are now trimmed
- HTTP 401 handling: some newer models return 401 instead of 403 for auth failures — both are now handled
- SSL preference is stored in the config entry and used for all subsequent API calls
Upgrade
Update via HACS or manually replace custom_components/bravia_rest_api/. Existing configurations (HTTP) continue to work without changes. If you previously couldn't set up a newer Bravia TV, try adding it again after updating.
Full Changelog: v1.5.7...v1.5.8
v1.5.7
Bug Fixes
- Configured devices reappearing as "discovered" after restart (#9): SSDP discovery without PSK fell back to using the host IP as unique_id, which didn't match the serial/mac unique_id from manual configuration. Added host-based entry matching before the unique_id check so already-configured devices are correctly recognized and skipped.
Full Changelog: v1.5.6...v1.5.7
v1.5.6
Fixes
- Sound Output select stuck 'unknown' (#6):
outputTerminalis a sound setting (getSoundSettingsv1.1), not a speaker setting. The entity now reads from the correct API endpoint and refreshes via the coordinator on every poll cycle, so external changes (TV remote, eARC handshakes) are reflected automatically. - SSDP UPnP constant imports (#8, contributed by @gaoflow): Fixed incorrect imports for SSDP service info constants that could prevent UPnP discovery.
Changes
- Added
get_sound_settings()toBraviaClient(read counterpart toset_sound_settings) BraviaSoundOutputSelectnow uses coordinator-polled state instead of a one-time startup fetch- Version bump to 1.5.6
What's Changed
- Fix SSDP UPnP constant imports by @gaoflow in #8
New Contributors
- @gaoflow made their first contribution in #8
Full Changelog: v1.5.5...v1.5.6
v1.5.5
v1.5.4
Fix: CEC device labels lost on older TVs
The v1.5.3 fix for HDMI inputs on KD-49X8005C caused CEC device names (e.g. "PlayStation") to disappear. The v1.0 API fallback doesn't return the label field, and was overwriting the cache.
Changes
- Preserve cached CEC/custom labels when the current fetch lacks them
- Add v1.5 → v1.2 version fallback for
getContentList(better CEC discovery on older TVs)
Full Changelog: v1.5.3...v1.5.4
v1.5.3
Fix: HDMI inputs disappearing on older/non-Pro TVs
Fixes a regression introduced in v1.5.0 where HDMI inputs (e.g. "HDMI 1", "HDMI 2") completely vanished from the source list on older TVs like the KD-49X8005C.
What happened
The CEC discovery feature called an API method (getContentList v1.5) that older TVs don't support. When the TV returned an unexpected response, it crashed the entire update cycle — wiping out all sources, not just CEC.
What's fixed
- Non-JSON responses from unsupported API versions are now caught properly
- HDMI input fetch (
getCurrentExternalInputsStatus) now falls back from v1.1 → v1.0 for all error types - CEC discovery is fully isolated — failures can never break the core update cycle
- Added type validation to prevent malformed API responses from causing errors
How to update
HACS → Integrations → Bravia REST API → Update → Restart Home Assistant
Full Changelog: v1.5.2...v1.5.3
v1.5.2
Fix
- Add brand icon to component directory so it displays correctly in the HA integration dashboard
The icon existed in brand/ (for HACS/GitHub) but was missing from custom_components/bravia_rest_api/icons/, where Home Assistant looks for it.
Full Changelog: v1.5.1...v1.5.2