Answered

Arc Powering On TV when Saying Turn Off

  • 19 December 2020
  • 4 replies
  • 1488 views

I’ve got a Sonos Arc connected to my LG GX via HDMI ARC. I’m using Amazon Alexa for voice control via the Arc.

When saying “Alexa, turn off TV” the Arc flips the current power state, while “Alexa, turn on TV” works correctly. In other words:

  • TV is off, say “Alexa, turn off TV”, TV turns on
  • TV is on, say “Alexa, turn off TV”, TV turns off
  • TV is off, say “Alexa, turn on TV”, TV turns on
  • TV is on, say “Alexa, turn on TV”, TV stays on

The one I underlined is unexpected behavior. Instead I expect the power to stay off.
 

I have a routine when I leave home to turn off all the lights and devices in my house. So instead this often turns on my TV unexpectedly.

icon

Best answer by rmpartt2 13 January 2021, 16:48

View original

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.

4 replies

For a few troubleshooting steps I’ve done…

I’ve removed the Sonos and Sonos TV devices in the Alexa app, and rerun discovery. Issue remained

I removed the deceives again, disabled the Sonos Skill, then reenabled the skill, and rerun discovery. Issue remained.

I disconnected the TV and reconnected to the Arc. Issue remained.

I reran device setup in the Sonos app. Issue remained.

I reran device setup on the TV. Issue remained.

This isn’t something Sonos is involved in, it’s between the Alexa process, which Amazon owns in the cloud, and your LG. 

Sonos is the microphone by which your voice is carried to the cloud for processing, and then the receiver of commands it gets from the cloud and sends that command to the TV. Sonos does no processing of any of this data, it merely is the carrier. 

 

This isn’t something Sonos is involved in, it’s between the Alexa process, which Amazon owns in the cloud, and your LG. 

Sonos is the microphone by which your voice is carried to the cloud for processing, and then the receiver of commands it gets from the cloud and sends that command to the TV. Sonos does no processing of any of this data, it merely is the carrier. 

That does not seem correct to me.

The Sonos Arc is connected via HDMI ARC to the TV. On my Alexa I only have the Sonos skill enabled not the LG skill. In the detected devices in the Alexa app it shows “Sonos TV”.

Thus as I understand, the Sonos skill is presenting a virtual TV to Alexa. Thus, when I say “Alexa, turn off TV” that is received by the virtual TV. The Arc processes that signal and returns an HDMI-CEC command.

To confirm this I disabled WiFi on the TV. Thus the only connection to Alexa is via the Sonos HDMI channel. Which then means the signal has to be an HDMI-CEC command.

With all that it seems the Arc is presenting the wrong HDMI-CEC command. When saying “Alexa, turn off TV” the Arc is sending the HDMI-CEC command “Power” (CEC frame 50:44:40), which tells the device turn off if on and on if off. Instead it should be sending the HDMI-CEC command “Power Off Function” (CEC frame 50:44:6C), which tells the device power off if on and do nothing if off.

When saying “Alexa, turn on TV” the arc is sending the correct HDMI-CEC command “Power On Function” (CEC frame 50:44:6D), which tells the device power on if off and do nothing if on.

 

Ohh and new username because I corrected my email, which breaks the community sign on.

Last night I figured out how to resolve the issue. In summary after adding the Arc to Alexa run device discovery, and make sure both “Sonos” and “Sonos TV” are in the same device group a.k.a. room in Alexa.

There are two devices in Alexa - “Sonos” which is the Sonos Arc, and “Sonos TV” which is the virtual TV mentioned above. “Sonos TV” only appears after adding the Arc and asking Alexa to discover devices.

I had not added the virtual TV to the same room as the Sonos. The Arc even without the virtual TV still responds to “Alexa turn TV” events. When I added “Sonos TV” to the device group which held “Sonos” everything started working correctly.