BeoLink (Bang & Olufsen)

Hey guys,
@CMDK @pandaym

I’ve updated the files on dropbox with a new version. This has mute functionality as well as it gets all the available sources and then you can select a source.

When you’re updating the files don’t forget to update the requirements line in the beoplay.py :slight_smile:

Next up: multiroom and playing various media

Marton

Wow, awesome! Will test this weekend - thanks for your work!

Hi marton, I think you have to send the new dropbox link. Got a 404 on the existing one.

I thought dropbox will update the links. Here it goes:

1 Like

Got it up and running, and it’s looking good - only thing is, that if the speaker is not playing when I boot up hassio, it will not fetch playing state and metadata… If I make sure the speaker is playing and I reboot, it works :slight_smile:

Hey @CMDK

You’re right :slight_smile: Haven’t caught that one. Fixed it. Here is a new link:

That’s what happens when you’re not a coder :smiley:

Btw, it only gets the sources when you launch home assistant to avoid polling the speakers all the time. So if you add a new source, you should restart home assistant to get that new one in the list.

Hi marton, CMDK
First of all thanks for taking up the challenge to implement B&O products in HA. I have a A9 and two M5 speakers.

Been reading along for a couple of days and progress seems to be promising, well done so far!

I am a bit of a noob and just set up HA a week ago, so all new days for me, however I really want to see how far you’ve got and try things out. Unfortunately I’m notified of an error regarding the process even though I tried following marton’s guide to pandaym 10d ago.

Is there anything else besides uploading the zip file to the ‘custom_packages’ folder and copying the Beoplay.py file to custom_components/media_player and changing the path?
configuration.yaml is set up as instructed as well?
(Error code in getting is: component and platform: media_player.beoplay can’t be set up, please check config)

Hey SigNoget,

In the beoplay.py, go and change the location in the REQUIREMENTS field. I’m using hass.io, so in my case it’s

REQUIREMENTS = ['file:///config/custom_packages/beoplay.zip#beoplay==0.0.5']

@marton After using the component after a while, things starts happening in my log. My Volumio player stops connecting, and yesterday evening I even lost connection to my Philips Hue-hub at some point.

When I remove the beoplay: from my config, everything settles again. I’m wondering if it’s doing something to the async… What do you need from me in order to know more?

Hey,

@SigNoget, could you send me the relevant log part? That should narrow it down to the problem.

@CMDK I haven’t experienced any of this. Is there anything in the log that could help us find the issue?

Ah, correcting the path in ‘REQUIREMENTS’ did the trick! Thanks CMDK.

No, it just starts to say “Unable to connect to host etc.” for the Hue, Deconz and Volumio after some minutes… So it’s a bit weird :S

Hey @CMDK

I did a test and yeah, there is a memory leak with the most recent version. I don’t know the reason yet, but working on it.

Cool (not the error, but the fact that it’s visible). That means it can be solved :slight_smile:

I think I have fixed it :slight_smile:

I will test tonight :slight_smile:

Hope it works. It’s been flawless for me since yesterday evening. No memory leak here :slight_smile:

Sounds good!

Something happens when I play TuneIn:

Unexpected error in Shape
Traceback (most recent call last):
  File "/config/custom_components/media_player/beoplay.py", line 122, in _start_poll_command
    await self.async_update_status()
  File "/config/custom_components/media_player/beoplay.py", line 170, in async_update_status
    self._speaker.getMusicInfo(data_json)
  File "/config/deps/lib/python3.6/site-packages/beoplay/__init__.py", line 116, in getMusicInfo
    self.media_track = data["notification"]["data"]["liveDescription"]
KeyError: 'liveDescription'

After this, it does not update state in HASS. Source changes can still be done from HASS.

Interesting. It looks like that your speaker has a different json response. Could you check http://speakerip:8080/BeoNotify/Notifications and paste what goes there?

Ok, I see that this value is optional. I’ll change it so it doesn’t require that.

1 Like