Skip to main content
Contributor I
May 5, 2025

FIXED: Sonos Playbar Remote Pairing with TCL TV remote – What Actually Worked

  • May 5, 2025
  • 45 replies
  • 9191 views

I wanted to share this in case someone else runs into the same frustrating issue I did:

  • TV: TCL P7K QLED Google TV (2025 model)

  • Soundbar: Sonos Playbar (2015)

  • Connection: Optical cable (no HDMI ARC)

  • Remote: TCL stock remote (IR + Bluetooth hybrid)

🧨 The Problem:

The Sonos S1 app wouldn’t complete remote pairing. Sometimes it would recognize the first Volume + press, sometimes not. If it did, it would fail on Volume - and say “volume control with optical is not supported” (which is nonsense — Playbar is designed for IR+optical).

  • Disabling HDMI-CEC on the TV didn’t help.

  • IR confirmed working via phone camera.

  • Bluetooth turned off didn’t work.

  • Factory reset on the bar made no difference.

  • Universal remote wouldn't pair either (even though it had worked with the Playbar before).

✅ What Finally Worked:

After all else failed, we just started mashing the requested buttons repeatedly during setup like we were speed-running a boss fight in a video game.

Literally just kept pressing Volume + rapid-fire at different angles, and eventually Sonos accepted it. Same with Volume -. If one of the steps timed out, hit the ‘back’ button once and try that step again. 

Moral of the story: If everything else checks out, and Sonos sees some input but won’t pair, go full gamer mode on the remote. Don’t be gentle.

Hope this saves someone 2 hours and some sanity.

This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

45 replies

Lyricist I
January 9, 2026

Another option for the geeky minded amongst you:

  1. Use the TCL TV API to get the current TV volume level - this value is still updated with remote keypresses even when you switch off the built-in speakers
  2. Use the Sonos Playbar API to set the volume level to the value you got from the TV. 

I do this using a HomeAssistant automation via the integrations for both Sonos and Android TV. It runs every time a value change on the TV volume is reported. It works incredibly well and is surprisingly responsive with little to no lag. As a bonus you can leave the remote in Bluetooth mode which I prefer to IR mode  

The downside is that you’re relying on a 3rd system as a middleman. But so far it’s the best way I’ve found to do it without using another remote. 

Lyricist III
January 9, 2026

Another option for the geeky minded amongst you:

  1. Use the TCL TV API to get the current TV volume level - this value is still updated with remote keypresses even when you switch off the built-in speakers
  2. Use the Sonos Playbar API to set the volume level to the value you got from the TV. 

I do this using a HomeAssistant automation via the integrations for both Sonos and Android TV. It runs every time a value change on the TV volume is reported. It works incredibly well and is surprisingly responsive with little to no lag. As a bonus you can leave the remote in Bluetooth mode which I prefer to IR mode  

The downside is that you’re relying on a 3rd system as a middleman. But so far it’s the best way I’ve found to do it without using another remote. 

Man i’d love to read how you did it!

Lyricist I
January 10, 2026

First thing you need is HomeAssistant running on your network:

https://www.home-assistant.io/getting-started/
 

Once you are running HomeAssistant, the TV should be automatically discovered and offered to you to add in the settings->devices & services. If not, it can be added manually by selecting Add Integration -> Android TV Remote and supplying the TV’s IP. See more here:

https://www.home-assistant.io/integrations/androidtv_remote/
 

Your Sonos system should be auto discovered too in the same way. If not, once again add it manually with Add Integration -> Sonos. See more here:

https://www.home-assistant.io/integrations/sonos/
 

With both now configured you can set up an Automation in Settings -> Automations & scenes. Here is general info on automations:

https://www.home-assistant.io/docs/automation/
Specifically, my automation is configured as follows:

alias: TV - Sonos Volume
description: ""
triggers:
- trigger: state
entity_id:
- media_player.living_room_tv_3
attribute: volume_level
conditions: []
actions:
- action: media_player.volume_set
metadata: {}
data:
volume_level: "{{ trigger.to_state.attributes.volume_level }}"
target:
device_id:
- 08643b437ed928bd060a240f0a21f15d
mode: single

This is what it looks like in the GUI:

 

As you can see from my screenshots, it’s late and I’m doing this from my phone, so apologies if the instructions are not super clear. 😅

 

Hope this helps!

 

106rallye
January 10, 2026

Wow, that’s a great work around.

I’m just asking myself why TCL would feel the need to use a rolling ir code for a TV. What benefit would this bring?

Lyricist III
January 10, 2026

Wow, that’s a great work around.

I’m just asking myself why TCL would feel the need to use a rolling ir code for a TV. What benefit would this bring?



yeah, this is going on my to-try list!