Got my Klipsch Flexus Core 300 soundbar working…

I am very much not a programmer, and I didn’t have enough coding knowledge to make an actual integration. But I spent a LONG time with Wireshark and the Klipsch app, and I learned to do some simple coding. I’ve replicated almost every function of the remote and the Klipsch app using Shell Commands and Scripts.

What’s available:
Shell commands allow on, off, choosing a specific input, and turning most any function directly on or directly off. There are also commands for setting the volume or any surround speaker/subwoofer to a specific number, should anyone be interested in doing so. There are 213 of them, mostly to be used as part of scripts. But if you want to set a specific value rather than toggling, they’re there.

There are scripts to toggle just about all features. Power, Mute, Night Mode, Dialog Mode (cycles through all four levels), Sound Mode (music vs movie), LED Brightness, and Dirac (cycles threw off and any installed profiles). There are also scripts for Volume Up/Down for the main volume; as well as for each of the four possible surround channels, both of the possible height channels, a wired subwoofer, and wireless subwoofers. If you own Klipsch Surr speakers or have a subwoofer of any type connected, you can control the volume.

One limitation: I do not have commands or scripts to set bass/treble/midrange levels; Klipsch updated their app last week and suddenly I can’t wireshark it anymore, so I never got those commands. If anyone has the old version of the app from before March 2026 installed and wants to help get the commands for me, I’d love to get that stuff added. Let me know.

Since I wasn’t able to make an integration, you’re going to have to install the controls manually. Sorry about this, but here’s how to do it:

  1. You need a Helper that contains your IP Address. Go to Settings>Devices&Services>Helpers (along the top of the tab). Click the “Create Helper” button in the bottom right. Choose “text”. Name your helper klipsch_ip and then type your soundbar’s IP address into the text field. Don’t include any “http” in the beginning and don’t include the port. Four numbers with three “.” between them.

  2. Using File Editor, open your Configuration.yaml and make sure the following two lines are in it:
    script: !include_dir_merge_named scripts
    shell_command: !include_dir_merge_named shell_commands

  3. Still in File Editor, make a folder called scripts (not capitalized, no quotes around it) and a folder called shell_commands.

  4. Open the scripts folder in File Editor and choose Upload File (upward-pointing arrow at the top). Choose klipsch_scripts.yaml (attached below) and click ok.

  5. Open the shell_commands folder in File Editor and choose Upload File. Choose klipsch_commands.yaml (attached below) and click ok.

  6. Restart Home Assitant

  7. You should now have all of the scripts and shell commands available for your automations!

Files with both the Scripts and the Shell Commands are on GitHub here:

I haven’t tested this on a Flexus Core 100 or Flexus Core 200 soundbar, but I have no reason to think that it wouldn’t work. If anyone tries it, let me know!