BeoLink (Bang & Olufsen)

Hi @ottar,

Yes, unfortunately it seems like all my pastiebin links has expired by now.

I think this was the content of the one you’re looking for:

Thank you very much!
I’m trying to figure out how to translate the api you’ve posted into rest_commands. My aim is to start specific radio stations from the B&O radio among other things.
Here’s my rest_command in the config. I’ve managed to make a rest command that sets the active source by type, but this one does not work for me.

rest_command:
  beostage_radio:
    url: http://10.0.0.4:8080/BeoZone/Zone/ActiveSources
    method: POST
    headers:
      Content-Type: 'application/json'
    payload: '{ "primaryExperience": { "source": { "id": "beoradio:[email protected]"  } }, "contentId": "1445071514695882" } }'

Any input would be greatly appreciated :slight_smile:

Got it working. Simple syntax error…

Hi,
I simply try to set up a join experience using a rest command. As by now I succeeded to do the following, but I think it could be done easier and shorter: starting a source and adding a second speaker to play synchronously. I’d prefer to tell the second speaker just to join.

post://192.168.0.28:8080/BeoZone/Zone/Stream/Play?{“play”:“play”}
post://192.168.0.29:8080/BeoZone/Zone/ActiveSources?{“activeSources”:{“primary":"beoradio:[email protected]”}}

Could anybody help me to set up a simple join command?

Cheers,
Nietz.

POST /BeoZone/Zone/Device/OneWayJoin HTTP/1.1
Host: 192.168.100.66:8080
Content-Type: application/json

{
    "toBeReleased": false
}

Hi

Is it possible to get the node red for the halo configuration ? or another way to control HA lights from halo?

@cmdk how did you send icons from ha to halo? and get controls to ha

do you have at how to ?

Know this is a old topic, but anyway?

Import this flow to Nodered and change the marked nodes to fit your config. Best of luck :smiley:

Hello,

I’m a Home Assistant beginner… And a Node Red beginner…

BUT…

I managed to integrate Node Red into Home Assistant, import the Ckilt template and configure it to display and control one of my blinds, one of my lights and one of my radiator thermostats on my BeoRemote Halo…

UNFORTUNATELY

  • I don’t understand how to set the button ID (Where could I find another button ID or the list of button IDs to add more lights / alarm control, … I can’t figure out how the ID definition works) ;

  • I haven’t figured out where and how to set things up to have different button pages on my Halo and put such-and-such a button on such-and-such a page…

Thank you in advance for any help you may be able to provide.

Best O

Hi there, good job on getting it to work :+1: I would love it to be simpler, but here we are :slight_smile:

The configuration where you define the pages is found in the node called PRIMARY. Halo supports up to 3 pages with 8 icons.

An example of a 2 page configuration can be seen here:

{
    "configuration": {
        "version": "1.0.1",
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f01",
        "pages": [
            {
                "title": "Page 1",
                "id": "497f6eca-6276-4993-bfeb-53cbbbba6f02",
                "buttons": [
                    {
                        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f03",
                        "value": 0,
                        "title": "Living room",
                        "subtitle": "0%",
                        "content": {
                            "icon": "alternative"
                        },
                        "state": "inactive",
                        "default": false
                    },
                    {
                        "id": "0eeed91c-4407-4837-bd9c-e41d9457ffa9",
                        "title": "Shades",
                        "subtitle": "Unknown",
                        "content": {
                            "icon": "shades"
                        },
                        "state": "inactive",
                        "value": 0
                    }
                ]    
            },
            {
                "title": "Page 2",
                "id": "497f6eca-6275-4993-bfeb-53cbbcca6f02",
                "buttons": [
                    {
                        "id": "e83a53c2-68b0-4dd8-8446-358bbddf766c",
                        "title": "Climate",
                        "subtitle": "Unknown",
                        "content": {
                            "icon": "heat"
                        },
                        "state": "inactive",
                        "value": 0
                    }
                ]
            }            
        ]
    }
}

Putting the above json string in the PRIMARY node should give you 2 seperate pages on BR Halo.

As you might have seen each configuration, page and button has its own id (also known as an uuid). You decide these - you just need to make sure that there are unique - no two pages or buttons can use the same uuid. You can create random uuid’s using this webpage: Online UUID Generator Tool

The id’s are used when you need to send an update to the button, e.g. if you want to adjust the subtitle for button 1 on page 1 (The Living room light), you send it to 497f6eca-6276-4993-bfeb-53cbbbba6f03 via the LIGHT subflow.
If you want to add multiple lights, you need to use multiple LIGHT subflows. Hope this makes sense?

1 Like

Thanks a lot for this complete and quick answer.

I have a strange issue with my Ikea blind : When I close it with Halo, it’s impossible to open it with HomeKit…. After opening it with Halo… the issue disappear…

Best regards.

I’ve updated the Halo Nodered flow. Found multiple errors, and tried to simplify the behavior of some of the subflows - so unfortunately you probably should set it up from scratch again - but it should work better.

When you do a full deploy it now waits 5 secs before sending the config, in order for Nodered to get connection to HA first.

The good news is that I’ve also added a Scene and Switch subflow :wink:

It’s the same URL as previous, but I’ll post it here again.

I have an B&O Avant 55. I have installed the integration BeoPlay for Bang & Olufsen 2024.8.1. When I turn on the Avant I can turn off and on the entity via HA. However, when after x hours (let say the night of 8 hours, as I don’t know exactly after how many hours) I cannot turn on or off the same entity via the on/off button in HA.

My Avant is set to wake on LAN, WLAN etc. Also the quick start at the Avant has been turned on.

How can I turn it on via the software? The only way to wake it up, is physically via the B&O BeoRemote One. Is this because the Avant is just a bit older? The same doing for the Stage or Core is no problem (via BeoPlay integration).

If it’s not possible, the only option I see is an IR external solution that brings the Avant to live… any input is welcome as I’m struggling for a long time with this.

PS I’m looking for this functionality as I have linked my BeoLab 20 via WiSa through my Avant and I would like to control this with HA. As I can turn on the Core, this is not sufficient to let the Beolab 20 play as I need to be able via software to turn on the Avant (otherwise WiSa won’t work at all)

Are you completely sure that your quick start timers are active? The weekdays below the timer(s) must be white, not grey.

Anyways, if you want to start the TV without quick start timer, you can send a Wake On LAN package (Wake on LAN - Home Assistant). It takes quite a bit of time for it to wake up (expect about 45 seconds) and then you need to send a source command once it’s “awake”.

However this should not be necessary if quick start timers are active.

I’m not 100% sure but almost sure… even if I did it wrong, the latter would be also fine as I can start the Avant 55 via software, wait for a minute and then start to select the Core (which is at the same network but at another level of my house) and start playing Music Assistant which will ultimately play on my Beolab 20’s which are connected via the WiSa of my Avant 55…

It’s a rental house and the least I could start playing some welcome music etc…

I’m not currently at this holiday home, but in a few weeks I can check. It’s a 1.050 km drive…

Is there a post command which I can type into my browser URL to test this? I could try via VPN to see if I can start the Avant by a simple statement, but so far whatever I did no luck at all…

Alright.

I would:

  • add a Ping binary sensor for the TV
  • add a Wake-on-LAN button. Remember to use the correct MAC address for the interface you’re using to connect the TV to network (wifi or lan)

I’ve created a short example of an automation that should be able to start the TV. Your trigger can be anything you like, I’m using a button-helper for this example. Bear in mind that I don’t have a product to test this on, so for example there might not be a source named “TV”. Hope this helps.

alias: WOL test
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_button.start_tv
conditions: []
actions:
  - action: button.press
    target:
      entity_id: button.wake_on_lan_aa_bb_cc_dd_ee_00
  - wait_for_trigger:
      - trigger: state
        entity_id:
          - binary_sensor.beotv_ping_sensor
        to: "on"
    continue_on_timeout: false
    timeout:
      hours: 0
      minutes: 1
      seconds: 15
      milliseconds: 0
  - action: media_player.select_source
    metadata: {}
    data:
      source: TV
    target:
      entity_id: media_player.beotv
mode: single

Thanks for this @cklit

I’m trying to obtain the mac address but as it’s a holiday home, I cannot wake it up. Even not with the B&O app via a VPN connection.

I have tried this button:

But I get the message: Failed to perform the action remote/turn_on. Cannot connect to host 192.168.3.164:8080 ssl:default [Connect call failed ('192.168.3.164', 8080)]

(the media player “Living BeoVision-Avant-55” under it, gives no reaction at all)

The IP address of the Avant is correct.

Anything I do, I cannot get it alive so I cannot obtain the mac address. Next time in about 3 week or so, I will be there again. It’s 1.050 km drive…