BeoLink (Bang & Olufsen)

Hi. Thanks for this piece of work. Which fork is the most up to date?

I have another issue with my Avant. It seems that if it isn’t used for a while (several days) HA is not recognising the Avant anymore. It looks like this (“Unavailable”):

Also at Entities the Avant is not known anymore:

The only way to resolve this, is to reload the integration like this:

This works fine…

As the Avant goes apparently in a kind of hibernation mode, how can I reload this without turning on the Avant? This is a luxury rental villa and it’s a bit awkward to manually reload if renters are there (as when nobody is there the Avant is in hibernation mode and I cannot do anything).

Or, if you have a recommendation, can I wake-up the Avant with HA for instance once a day? Normally I do this manually in the app below, but this takes around 15 seconds and I would like to automate this (you can see the Avant is shown in grey as it’s in sleeping mode). Any advice how to accomplish this is very welcome.

Hi folks,
Forgive the slight deviation off topic, but has anyone had a play with the Halo remote API?

Would be nice to join this up to home assistant to trigger some automations.

I’m toying between getting one of these or the Beosound Emerge - at least with the latter there’ll be another tester for the new Mozart api :wink:

I have made a Nodered flow for my Halo :slight_smile: Can share later

1 Like

That would be awesome!
I am thinking of getting one.

Here is my example of a NR flow for Beoremote Halo.
I’ve added comments to the things that needs to be modified.
Please let me know if there are any questions.

https://www.pastiebin.com/62176faeead01

I’ve just installed giovannis integration again, it’s been a while since last time - is is working for you guys on 2022.3.x?

Unfortunately not very well, no. Some feature works, but I can’t turn on my TV and it doesn’t seem to trigger state updates, meaning I can’t automate it either. Volume and off works.

It’s been a while and I still can’t control my Beosound Balance from Home Assistant. Any news on this?

Is there anything public on the new Mozart API? I maintain the Homebridge plugin for B&O devices (homebridge-beoplay), so I’m interested to see what detail is already available… short of having to buy a new device and reverse it myself.

Hi,
The component is actually ready, however the software for the speaker that supports it is not released - I’m expecting January.

Software version 2.3.4 is being rolled out (phased over 7 days) to Mozart speakers.
This means that I can now share this:

This custom component can be used with:

  • Beosound Balance
  • Beosound Level
  • Beosound Emerge
  • Beosound Theatre (audio only for now)
  • Beolab 28

Add this repository to HACS to install the Bang & Olufsen-component.

For those interested, there is also API documentation available here: Mozart platform API

2 Likes

his is really amazing work! And with the B&O releasing the open API and this component for Home Assistant is mind blowing! I’m really impressed with B&Os commitment to the longevity of their products.

Not to sound ungrateful, but I don’t suppose there’s a chance of them expanding this component to also cover the old “BeoPlay” platform? :slightly_smiling_face:

Hi guys. Im brand new to the HA world, and Im wondering if any of you got Beremote Halo to work? I have tried to install this: GitHub - bang-olufsen/beoremote-halo: Beoremote Halo Open API through HACS but with no luck.
Really want the Halo to work. Any ideas?

I’ve made an automation that announces which other product in the home I’m joining, when making a long press on the Play/Pause button. It’s using the built-in Overlay TTS function in the Mozart speaker, so it does not stop what’s playing, it just lowers the volume and plays the announcement on top.

Here is a very short demo: Join announcement - YouTube

alias: "Long press on Mozart speakers "
description: Tells which room is joined
trigger:
### If long press on Play/pause on Beosound Level
  - platform: device
    device_id: b95e76a87142de088e4466c8a8e6f585
    domain: bangolufsen
    type: PlayPause_longPress
    id: level_join
### If long press on Play/pause on Beosound Emerge    
  - platform: device
    device_id: ce3c4cf11bc51e0bc34f52ee2c988743
    domain: bangolufsen
    type: PlayPause_longPress
    id: emerge_join

condition: []

action:
  - choose:
### If long press on Play/pause on Beosound Level  
      - conditions:
          - condition: trigger
            id: level_join
        sequence:
          ### Only speak if there is something to join        
          - wait_template: >-
              {{state_attr("media_player.beosound_level","beolink").leader is defined}}
            continue_on_timeout: false
            timeout: "2"
          - delay: 
              milliseconds: 700
          ### Say which prodict has been joined. It will use the Friendly name of the product            
          - service: bangolufsen.overlay_audio
            data:
              volume_offset: 20
              tts: >-
                Joined {{(state_attr("media_player.beosound_level","beolink").leader | list).0}}
              tts_language: en-us
            target:
              entity_id: media_player.beosound_level
              
### If long press on Play/pause on Beosound Emerge              
      - conditions:
          - condition: trigger
            id: emerge_join
        sequence:
          ### Only speak if there is something to join
          - wait_template: >-
              {{state_attr("media_player.beosound_emerge","beolink").leader is defined}}
            continue_on_timeout: false
            timeout: "2"
          - delay: 
              milliseconds: 700
          ### Say which prodict has been joined. It will use the Friendly name of the product
          - service: bangolufsen.overlay_audio
            data:
              volume_offset: 20
              tts: >-
                Joined {{(state_attr("media_player.beosound_emerge","beolink").leader | list).0}}
              tts_language: en-us
            target:
              entity_id: media_player.beosound_emerge
mode: single

I’ve been using my own Nodered flow since the launch of CI features on Halo, and it’s working perfect for me.

Here is my sample flow: Pastiebin.com 626c3976a94e8
Go in anc change the websocket in and out to be ws://:8080 and press the ‘send configuration manully’ button, you should be able to swipe up on your halo and see 4 buttons.

It gives me an error: " This node is a type unknown to your installation of Node-RED. Also getting an error about “Encrypted credentials not found”

It’s between change 3 rules and switch and just says unknown string.

Hmm weird. Are you using the HA Nodered add-on? As far as I know all the needed “modules” are installed by default when using the add-on (websocket in/out, delay node, etc.).

I did a restart and now I can see the buttons. That is awesome. So just a newbie question. If I want to control the lights in my “Stue” which is my living room. The only thing I need to change is the state_changed: and pick the light? Do I also need to change the HA server? I can see now that it says CK Home Assistant.

Basically, all the fields where there is a comment next to, you should change to fit your system. So yes, it should connect to YOUR HA server. And in regards to the light, you need to insert your light entity in 2 places, as shown on this image.