Sonos tv trigger


wouldn’t it be great if there is a trigger (when…) for the Sonos beam for when it switches to tv.

Then we can do things like dimming lights or change Sonos groups etc…

I know that we can already set an action to switch to tv in flows.
Currently in my home the tv is started usually using Alexa voice command or the good old tv remote

Share you’re thoughts with me!

1 Like

Hmm, Homey has no way of knowing the TV is on if you were to use the remote or the TV’s alexa skill unless there is an app to detect it.
What I did was to use a virtual device named “Netflix and Chill” and trigger a flow to on the TV and everything else needed.

I use a wall plug. When energy is used, it marks a virtual device as ‘on’, so Homey knows the tv is on. I use it to set the volume of the beam to the correct level.

I use 4% - 8% to listen to music, but for the tv, it needs to be about 20%. Homey does this automatically for me.

What would you like to achieve?

1 Like

Hmm but homey knows when Sonos changed things like the track, volume or album.
seems similar to know if input is changed to tv

I am still curious what you would like to achieve? Maybe we can help.

My beam is always connected to my tv and always on, so when I’m watching tv, the source of the beam is automatically changed to tv. So knowing whether the tv is on or not means knowing whether the beam changed it’s source to tv or not.

I think that is actually what @AyrtoN is trying to achieve. This would be useful for me as well.

I used to have a Denon receiver and the Marantz app works perfectly for this. Immediate detection of the receiver being on or switched to a different channel.
Same with the Onkyo I used to have and the Onkyo app I made myself.

But now I have a Sonos system, I am getting rid of the Denon and just ordered a Marmitek Connect 621 switch for the HDMI switching.

Sadly the LG Webos app doesn’t detect the TV being turned on.

So why doesn’t this work for him / you? Maybe I can come up with another solution.

Edit: The wall plug is connected to my tv, so it measures the energy consumption of the tv. The virtual device therefore represents the tv.

I think it will work, just need to invest in some new plugs :wink:

Yeah, that is true.

I was thinking about another way to detect this. Depending on your set-up, I might have another way. I have a Sonos One in the living room, where my Beam and tv are also located. When I’m watching tv, I obviously don’t want to listen to music at the same time. Therefore, when the tv is on, the beam is playing and the one is not playing. When I’m listing to music, I always use both the One and the Beam.

You could make a flow that checks whether Beam is playing and One is not playing, if this is true, the tv must be on. When the tv is on, the source of the beam is changed to the tv, so you have another trigger. Perhaps catch this in boolean, so you can use it as a trigger. Unfortunaltly, we can’t use the condition Is playing as a trigger, so you’ll have to find a work-around for that.

Just throwing this out there, without testing or anything

Thanks all for your feedback,
I see several solutions

  • invest in some hardware to detect power change
  • feature request for the Sonos app.: To detect source change and be able to use it as a trigger. Not sure if the developers read this forum? Or if this is the place to ask for new features.
  • tricks like @Neuron44 suggested

l shall try your idea first @Neuron44 (using state of the 2speakers as trigger)

Good luck and let us know if it worked!

I use the harmony hub. It detects when activity is started or stopped. That way I control de sonos speakers, kichen speaker muted surround speaker muted, sonos play volume 15 etc. Stop tv watching, unmute, volume 8 sonos playbar etc etc. Works like a charm.

How do you know when the beam or speakers are playing in homey?

When using the “track is changed” trigger then it works but unfortunately only with music, not with radio

This way it works fine for me

Two ways.

  1. There is a tag. In Dutch it says ‘Afspelen’, I’m guessing it will say ‘Playing’ in English, which can read either yes or no
  2. There is a flow card in the AND-part.

Like I said before, there is no way of using the change of a tag as a trigger (yet, as far as I am aware of). So I guess you’ll have to let the flow run every 5 seconds (which is a trigger). I don’t really like this method, but sometimes there is no other way.

@Marcel_Ubels: I’m guessing AyrtoN doesn’t have a Harmony Hub. Buying one especially for this purpose might be a little bit much. If it were up to me, I would buy a wall plug instead. Cheaper and you can also use it for other things. The Hub probably has more options, that I don’t know.

So to summarize it, my advise:

  • buy a wall plug and use that as a trigger;
  • don’t want to buy a wall plug for this? Use the Date & Time > Every x seconds (I would run it every 5 seconds) as a trigger. Not ideal, but it works
  • Otherwise you would have to be very creative with a trigger

So I could make it work without a wall plug doing the following:

A flow that triggers every 5 seconds (during evening only). That updates 2booleans. 1 for the Sonos beam, the other for the kitchen.

Other flows that are triggered on these Boolean changes. Flows like when both are playing but there groups are different then do things like set volume/lights. There is a tag for current group on each Sonos device that can be used for this.

Hi guys,

I was wondering the exact same thing. The beam supports CEC so, in theory, it would be possible to emit some kind of tv-status-change to the homey app i guess. Or even the other way around; start the tv with the beam?

Yes, you can start your tv with the Beam. The beam has a separate flowcard for this.

Edit: A statement is nothing without proof:

Sorry for activating an old thread. I have a flow checking if my sonos is playing, if not, then to play the radio. however, when the TV is on, it doesn’t recognize that anything is playing on the sonos. is that a bug? it does work when music is playing, but not if the TV is on