Sitelet https://github.com/cmos486/Bravia-REST-API/releases
Skip to content

Releases: cmos486/Bravia-REST-API

v1.7.1 — Fix Left/Right navigation buttons

Choose a tag to compare

@cmos486 cmos486 released this 23 Aug 19:58

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 getRemoteControllerInfo response (discovered at startup), instead of using hardcoded values
  • Added command name aliases — if the TV reports CursorLeft/CursorRight instead of Left/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_command service 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

Choose a tag to compare

@cmos486 cmos486 released this 21 Jul 15:20

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

Choose a tag to compare

@cmos486 cmos486 released this 17 Jul 16:54

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

Choose a tag to compare

@cmos486 cmos486 released this 17 Jul 11:49

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

Choose a tag to compare

@cmos486 cmos486 released this 15 Jul 18:53

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

Choose a tag to compare

@cmos486 cmos486 released this 23 Jun 19:39

Fixes

  • Sound Output select stuck 'unknown' (#6): outputTerminal is a sound setting (getSoundSettings v1.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() to BraviaClient (read counterpart to set_sound_settings)
  • BraviaSoundOutputSelect now 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

Choose a tag to compare

@cmos486 cmos486 released this 29 May 19:20

Fix: brand icon path

Move icon from icons/ to brand/ — the correct path for HA dashboard display.

v1.5.4

Choose a tag to compare

@cmos486 cmos486 released this 29 May 18:05

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

Choose a tag to compare

@cmos486 cmos486 released this 29 May 16:45

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

Choose a tag to compare

@cmos486 cmos486 released this 26 May 17:29

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