BeoLink (Bang & Olufsen)

I have only tested it with speakers. I don’t have a B&O TV, I use a projector :stuck_out_tongue: So there might be something specific to B&O TVs that I haven’t considered.

Okay, so a b&o essence or a beosound moment might also not be working?

The essence is a Bluetooth remote isn’t it? That won’t work with this. Only IP based devices. I think the moment should work, because it is more like a “speaker” than a TV. But I don’t have that either so I cannot say for sure.

The essence is a media player just like the moment, but there is a remote to the essence which I think you are thinking on. I cannot get the essence or the moment to work either, so I am properbly doing something wrong :stuck_out_tongue:

I have simple written this in my configuration.yaml:

media_player:
  - platform: beoplay
    host: 192.168.192.109
    name: Beoplay Bad Oppe

  - platform: beoplay
    host: 192.168.192.128
    name: BeoVision 14

  - platform: beoplay
    host: 192.168.192.132
    name: BeoPlay V1

  - platform: beoplay
    host: 192.168.192.120
    name: BeoSound Moment

and then I have the 4 b&o units showing up in my overview

Should it just work like that, or am I missing a step or two?

Thanks for the help so far :slight_smile:

Right. Well, the media players won’t show anything until you start playing something. You can try playing something and see if it works.

Hi there, to @madsroge90 question , just to clarify the beoplay integration that I wrote is configured through

Configuration -> Integrations -> Add Integration -> BeoPlay

Then insert the host name.

It only supports one device right now. Will work on multidevice and zeroconf in a couple of weeks.

1 Like

Oh that bug about the Unknown is actually something I fixed in my version . there were a couple of lines that were flipped in the code chat checks the status. Something like this is the right sequence:

      if self._on == False:
            return STATE_OFF
      if self._state is None:
            return None

Also, for some reason the default media card doesn’t offer the source list if the device is off for some reason. But if you use mini-media-player, then the source List is available even when the device is off, and you can turn it on by selecting a source from the list.

I am now using the integration by @g.iac with great succes. Looking forward to follow your updates to the code :slight_smile:

Great work @g.iac! I have also looked at your MLGW/BLGW integration. You are really making these user-friendly.

Is your plan also to contribute this to the official release too? I have seen in the past for other integrations that the Home Assistant team do some push back on multiple integrations handling the same device. The BLGW can also control the Network Link products. So if your plane is to have them both in the official release, you might consider having a roadmap which can make them a joined integration. And maybe use the BeoLink name or something else which reflects a future joined integration.

@g.iac, are you expecting that the integration will support the possibility to interact with Deezer? With the Bang & Olufsen or the BeoLiving app, it is possible to find my favorite songs/playlists and in general search available music on Deezer. It could be perfect if that would be possible also on HA. If this will be possible, I think I will move all my automation from B&O gateway to HA.

If it’s any help, here is a basic API document. The commands for e.g. Deezer content are in the bottom. Select HTTP instead of Curl in the top of the page.

1 Like

Hi @Abildgren, yes, I would love make these official at some point. I think beoplay is close to prime time. MLGW still has some tweaks I want to do before publishing. I want to add zeroconf and an easier configuration management.

I updated the Beoplay integration, and it now supports Zeroconf, multiple entities and the correct source list.

@madsroge90 @cklit

I added to the underlying library (pybeoplay) also rudimentary support for playing playlist items from Deezer and Tunein, as well as TV stand support, but because I don’t have devices that are capable of doing that, I can’t test it. And the media_player component doesn’t yet implement that functionality. Maybe something you want to write code for?

I switched my Beoplay plugin to use pybeoplay to make it easier for me to debug the glue without nagging @marton all the time :slight_smile:

1 Like

How do I install it? Is it a custom integration? I don’t see it under integrations (add integration)

@krede check the instructions here: https://github.com/giachello/beoplay

1 Like

Thanks for the help

What a great upgrade to this integration. I got the new custom component installed and it works great.

One small thing I noticed: I configured all my units, but the zeroconf keeps popping up with more to add, but the cards are “blank”. When I click Configure, it’s definitely the Beoplay integration:

Ah, suddenly they disappeared - they had been there through several restarts, but are now gone. Thanks again and sorry :slight_smile:

Thanks!

Yeah, the card are blank because the icon is black text on transparent background. We should fix that.

The discovered devices, if already installed should not show up. I have the same bug. You should be able to dismiss them though with the “ignore” button.

As the component is right now, metadata is not shown for Airplay.

Can anyone explain me why? When I comment out the ‘if AirPlay’ 's in media_player.py it shows just fine, but I imagine these rules were made for a reason?

Screenshot 2021-02-22 at 21.10.30