Bang & Olufsen
The Bang & Olufsen integration enables control of some of the features of certain Bang & Olufsen devices through Home Assistant.
Compatible devices
Devices that have been tested and should work without any trouble are:
- Beolab 8
- Beolab 28
- Beosound 2 3rd gen
- Beosound A5
- Beosound A9 5th gen
- Beosound Balance
- Beosound Emerge
- Beosound Level
- Beosound Theatre
and any other Mozart based products.
Configuration
To add the Bang & Olufsen integration to your Home Assistant instance, use this My button:
Bang & Olufsen can be auto-discovered by Home Assistant. If an instance was found, it will be shown as Discovered. You can then set it up right away.
If it wasn’t discovered automatically, don’t worry! You can set up a manual integration entry:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the Add Integration button.
-
From the list, select Bang & Olufsen.
-
Follow the instructions on screen to complete the setup.
The IP address of your device. Can be found by navigating to the device on the Bang & Olufsen app and selecting Settings
→ About
→ IP address
.
Services
play_media services
The Bang & Olufsen integration supports different playback types in the media_player.play_media
service: playback from URL, activating a favourite, playback from a local file, playing a radio station, activating a Deezer flow and Deezer playlists, albums, and tracks.
play_media examples
Playing DR P1 from a URL:
service: media_player.play_media
target:
entity_id: media_player.beosound_balance_12345678
data:
media_content_type: url
media_content_id: http://live-icy.dr.dk/A/A03H.mp3
Activating the first favourite:
service: media_player.play_media
target:
entity_id: media_player.beosound_balance_12345678
data:
media_content_type: favourite
media_content_id: 1
Playing a local file:
service: media_player.play_media
target:
entity_id: media_player.beosound_balance_12345678
data:
media_content_id: media-source://media_source/local/example.mp3
media_content_type: music
Playing a radio station:
service: media_player.play_media
target:
entity_id: media_player.beosound_balance_12345678
data:
media_content_id: 1234567890123456
media_content_type: radio
Playing a Deezer flow. Optionally define a Deezer user ID:
service: media_player.play_media
target:
entity_id: media_player.beosound_balance_12345678
data:
media_content_type: deezer
media_content_id: flow
extra:
id: 1234567890
Playing a Deezer playlist. Optionally define starting position for the playlist:
service: media_player.play_media
target:
entity_id: media_player.beosound_balance_12345678
data:
media_content_type: deezer
media_content_id: playlist:1234567890
extra:
start_from: 123
Playing a Deezer album. Optionally define starting position for the album:
service: media_player.play_media
target:
entity_id: media_player.beosound_balance_12345678
data:
media_content_type: deezer
media_content_id: album:1234567890
extra:
start_from: 123
Playing a Deezer track:
service: media_player.play_media
target:
entity_id: media_player.beosound_balance_12345678
data:
media_content_type: deezer
media_content_id: 1234567890
Automations
WebSocket notifications received from the device are fired as events in Home Assistant. These can be received by listening to bang_olufsen_websocket_event
event types, where device_id
or serial_number
can be used to differentiate devices.
Getting Deezer URIs
To find Deezer playlist, album URIs, and user IDs for Deezer flows, the Deezer website has to be accessed. When navigating to an album, the URL will look something like: https://www.deezer.com/en/album/ALBUM_ID, and this needs to be converted to: album:ALBUM_ID
and the same applies to playlists, which have the format: playlist:PLAYLIST_ID
.
Additionally a Deezer user ID can be found at https://www.deezer.com/en/profile/USER_ID by selecting the active user in a web browser.