Control JBL 5.1 soundbar

Hello,

i want to ask if someone manage to control JBL Bar 5.1 through home assistant?

Regards

1 Like

Iā€™m also interested in this. Anybody done it?

Iā€™m about to get one. Donā€™t they have a remote? with a broadlink and universal media player something could be worked out.

HI, sorry to drag up an old thread. I have a JBL Bar 800 connected to my Homeassistant. I can turn it on and stream media to it as it starts up in chromecast mode. However what I would like to to as part of an automation is to have it start up in bluetooth mode. This is the default startup mode if I use the JBL remote to turn it on. Unfortunetly when i control it through homeassistant using the media_player.turn _on it always starts up in chromcast mode. And I played around with the media_player.select_source to see if I could figure it out that way but I couldnā€™t get it to work. Anyone know of a way to be able to do this?

FYI I read up in the forums and people have previously suggested to use something like the Broadlink RM4. However this isnā€™t an option as there is nowhere for me to be able to place it line of site.

Hi

I landed on this page because I to shutdown the JBL 800 when I shutdown my TV. Itā€™s unable to work over CEC because is power-off the TV by a smartplug.

This and some other pages didnā€™t give me a good solution.
I was unable to accept there is no solution because Iā€™m able to use their app (JBL one) that act as a remote. So I did some digging of my own. Through http-toolkit Iā€™ve discovered their probably is something like an API. Iā€™ve only uncovered what I need but maybe somebody is able to do much more through this method.

The JBL is reachable over an HTTP request.
Substitute << ip-address >> with the ip-address of your soundbar.

rest_command:
  jbl_power:
    url: 'http://<<ip-address>>/httpapi.asp'
    method: POST
    payload: 'command=sendAppController&payload={"key_pressed": "power"}'
  jbl_volume_down:
    url: "http://<<ip-address>>/httpapi.asp"
    method: POST
    payload: 'command=sendAppController&payload={"key_pressed": "volumeDown"}'
  jbl_volume_up:
    url: "http://<<ip-address>>/httpapi.asp"
    method: POST
    payload: 'command=sendAppController&payload={"key_pressed": "volumeUp"}' 

After pasting the above code in your config, restart your HA.

In the automation call it with:

alias: Power down soundbar
service: rest_command.jbl_power
data: {}

You champion. Thanks for updating this, really appreciated

I needed somewhat more functions so I decided to make a full custom integration.
you can find it here: https://github.com/MrBearPresident/JBL_Soundbar.

You have to add it to the ā€œcustom integrationā€ folder. This folder should be (created) in your config folder.

it would be nice to submit it to HACS (and add an icon -
icons8-jbl-48
) or even to HA. it works for 1000 as well (just need to edit ip addr and change poling period)