/hass-kef-connector

A Home Assistant integration for KEF speakers

Primary LanguagePythonApache License 2.0Apache-2.0

🏠️↔️🔉 Kef Connector

A Home Assistant integration for KEF speakers 🔊

Kef Connector is compatible with LSX2LT, LSX2, LS50W2 and LS60.

Installation and configuration

⬇️ Installation

This custom component is available on HACS !
You can also install it manually, but HACS is the recommended method (see bellow for "manual installation").

Installation with HACS\

  1. Go to your Home Assistant instance > HACS tab > Integrations.
    image

  2. Clic on explore & download repository on the bottom right corner.
    image

  3. Search for Kef Connector.
    image

  4. Clic on Kef Connector > then "Download this repository with HACS" > then Download image

Now, restart home assistant and then follow the instructions in the configuration section.

Manual Installation
Copy the kef_connector folder in your home assistant config/custom_components folder, and then follow the configuration section.

🔧 Configuration

In your configuration.yaml file, add the following :

media_player:
  - platform: kef_connector
    host: <IP-of-your-speakers>

⚠️ Replace <IP-of-your-speakers> with the correct IP.

More information on how to find the IP of your Kef speakers here.

📜 Platform configuration options

Here is the list of the variables you can set if your configuration.yaml file.

option required default value comment
host Required None This should be a string in the form www.xxx.yyy.zzz, being the IP address of your speakers.
name Optional see comment If you do not specify a name, the integration will fetch the name you set up on the KefConnect app for your speakers, if any. If you specify a name property, this name will be used instead.
maximum_volume Optional 1.0 This should be a float between 0 and 1. 0 is muted and 1 is maximum volume. Bear in mind that this option does not override the maximum volume set in the KefConnect app. It will prevent hass from setting a volume higher than maximum_volume
volume_step Optional 0.03 This should be float bewteen 0 and 1 (however it is not recommended to set it higher than 0.1). This value is by how much volume will be changed when calling media_player.volume_up or media_player.volume_down services, by clicking on volume_down_up for example.
speaker_model Optional see comment Write the model of your KEF speakers (either LSX2, LSX2LT, LS50W2 or LS60). This allows Kef Connector to know which sources are available on your speakers. If you do not put speaker_model in your configuration.yaml, by default, all sources will be available on the entity, even though they are not physically present on your speakers (for example, there is no analog input on the LSX2LT).

🧑‍🔬 Full configuration example

This is just and example ! You can copy it but at least change the host value to the IP address of you speakers. More info on how to find the IP address here.

media_player:
  - platform: kef_connector
    host: 192.168.1.42
    name: "My Kef Speakers"
    maximum_volume: 0.7
    volume_step: 0.02
    speaker_model: LS50W2