Bose Soundtouch group status & Alexa

Hello, I have a pair of Bose Soundtouch 10 that I have configured into a group thusly:

(config)

media_player:
  - platform: soundtouch
    host: !secret bose_right_ip
    port: 8090
    name: bose_right
  - platform: soundtouch
    host: !secret bose_left_ip
    port: 8090
    name: bose_left

(groups.yaml)

bose:
  name: Bose
  icon: mdi:speaker
  entities:
    - media_player.bose_left
    - media_player.bose_right

I can call the homeassistant.turn_on and off to activate the group but the status always shows as off.

Also, when I had Alexa working to turn on and off this group, Alexa would always say “bose is not responding” even though they did indeed turn on with the command.

Any tips regarding config or something else to allow the group status to be sensed?

Thanks!

Just a ping to bring the question up in the list. Any help with Bose status visibility?

the group needs to have a state that alexa expects. Try using the universal media player integration instead of a group.

Good suggestion, I’ll check on that. But, …
should I first define each speaker as a Bose Soundtouch, and then combine them using universal media player? I guess the soundtouch platform would be needed to allow controlling the various source, power etc.

OK, the config I have now is below. It seems to be showing the state properly! However, now I see the play pause etc which I don’t want, and there’s no switch in the card to turn it on or off, or at least the switch doesn’t work. UI screenshot also below. Wasn’t sure if I even needed the on and off commands to be configured, since this is sort of a degenerate use of universal media player, where you’d normally have receiver, tv, other stuff, but only want to turn on a specific part to cue the rest. Wonder why the button now doesn’t work? Can I just show a toggle like the others? How can I get rid of the play pause etc.? Not needed.

image
did the upload work?


media_player:
  - platform: soundtouch
    host: !secret bose_right_ip
    port: 8090
    name: bose_right
  - platform: soundtouch
    host: !secret bose_left_ip
    port: 8090
    name: bose_left
  - platform: universal
    name: "Bose"
    children:
      - media_player.bose_left
      - media_player.bose_right
    commands:
      turn_on:
        service: media_player.turn_on
        data:
          entity_id: media_player.bose
    commands:
      turn_off:
        service: media_player.turn_off
        data:
          entity_id: media_player.bose

That configuration is not correct. Your second commands section is wiping out your first commands section. You’re only ending up overriding turn_off. Also, you don’t even need to override those. This whole section here describes how the media player works, and what you want to override.

This configuration is all you really need. The rest will be auto filled in unless you want to change the behavior.

  - platform: universal
    name: "Bose"
    children:
      - media_player.bose_left
      - media_player.bose_right

The config with just the universal media player doesn’t work at all for the two bose soundtouch devices I have. The entity “media_player.bose_left” isn’t defined at all with just that universal platform. I think I need to have the sound touch platform configured for each of the speakers and then join them with the universal platform. When I do that, it sort of works.

The system can see when the speakers are on (there is still the media controls which I don’t know how to get rid of them) but can only be turned off. Also, only one of them turns off. So, if they are both playing, the control will show as “playing”. If I click the button, one of the speakers will turn off (left) and if I push it again, the other will turn off. Then, it’s dead. The button will not turn either back on.

Anyone have this setup who can share their specific configuration that works?

Thanks!

Maybe I wasn’t clear. The universal media player config is needed to group them together. You still need each soundtouch config.

Did you read the blurb in the docs? This is how it behaves unless you want different functionality. If you want it to turn them all on and all off, then you need to add state_tempate, turn_on, and turn_off. This is covered in the first and second paragraph in the image I posted.

Also, the universal media_player docs cover those scenarios. There’s 3 good examples at the bottom of the docs, you just have to tailor the scripts to do what you want.

OK, I appreciate your efforts to help! I think we have been misunderstanding each other a bit. I thought in one post you said I didn’t need the turn_on and turn_off commands and in a following one you said I did need them for the behavior I want.

So, here’s what I want - turn on one switch and both speakers turn on,turn off the same switch, both turn off, and the switch shows the correct state. No media controls on the screen. I’m not sure but I think the last command may be incompatible with the universal media player?

I originally had a group, and the behavior was all correct except that HA was not reporting the state I desired. I wonder if I should go back and try to figure how to make a group work? (By the way, the group also worked in automations, which so far the universal media player has not, so more to figure out there as well).

But if I did stick with universal media player, I need to figure out what is meant by the “state_template”. The docs cover templates, but not sure how to write a template that tells HA how to understand / display state in the desired way.

Thanks again.

@braddo Just saw this thread regarding your SoundTouch question. I have created a new SoundTouchPlus integration that might be able to help if you’re interested.

More information, as well as capabilities can be found on my GitHub Project wiki page.

It handles grouping using the native HA media_player join and unjoin services. I can also show you how to setup your ST-10’s as a stereo pair if you want to use them that way instead of just as a “group”.

Hope it helps!

4 years later! Thanks for the reply, will check it out.

Yeah, I’m a little late to the party. :smiley: But better late than never as they say. Hopefully the new integration can fix some of your issues.