KEF

The kef integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allows you to control the KEF LS50 Wireless and KEF LSX speakers from Home Assistant.

Supported devices:

  • KEF LS50 Wireless
  • KEF LSX

Configuration

To add KEF Speakers to your installation, add the following to your configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file. After changing the configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file, restart Home Assistant to apply the changes. The integration is now shown on the integrations page under Settings > Devices & services. Its entities are listed on the integration card itself and on the Entities tab.

# Example configuration.yaml entry
media_player:
 - platform: kef
   host: IP_ADDRESS
   type: LS50

Configuration Variables

host string Required

IP address of the device. Example: 192.168.1.32

type string Required

The speaker type, either LS50 or LSX.

name string (Optional, default: KEF)

The name of the device

port integer (Optional, default: 50001)

The port of the device

maximum_volume float (Optional, default: 0.5)

Maximum volume allowed. Number between 0 and 1.

volume_step float (Optional, default: 0.05)

Volume step when increasing volume.

inverse_speaker_mode boolean (Optional, default: false)

Switch channels from L/R to R/L.

standby_time integer (Optional)

The speakers automatically turn to standby mode after either 20 or 60 minutes. Leave out for the speaker to never go into standby mode.

supports_on integer (Optional, default: true)

LS50 Wireless with a serial number below LS50W13074K24L/R2G do not support turning on the speakers over the network. Set this to false if you have an older model.

Advanced - configuration example

# Example configuration.yaml entry
media_player:
 - platform: kef
   host: IP_ADDRESS
   type: LS50
   name: My KEF speakers
   maximum_volume: 0.6
   volume_step: 0.05

Actions

Just like in the KEF Control app, we can change the digital signal processing (DSP) settings.

The speaker’s current DSP settings are updated automatically each hour and after each action. To update the settings manually, use kef.update_dsp.

Action kef.update_dsp

Update all DSP settings.

Data attribute Optional Description
entity_id No The entity_id of the KEF speaker.

Action kef.set_mode

Set the mode of the speaker. When optional attributes are left out, the setting will be unchanged.

Data attribute Optional Description
entity_id No The entity_id of the KEF speaker.
desk_mode Yes “Desk mode” (true or false)
wall_mode Yes “Wall mode” (true or false)
phase_correction Yes “Phase correction” (true or false)
high_pass Yes “High-pass mode” (true or false)
sub_polarity Yes “Sub polarity” (- or +)
bass_extension Yes “Bass extension” selector (Less, Standard, or Extra)

Action kef.set_desk_db

Set the “Desk mode” slider of the speaker in dB.

Data attribute Optional Description
entity_id No The entity_id of the KEF speaker.
db_value No Value of the slider (-6 to 0 with steps of 0.5)

Action kef.set_wall_db

Set the “Wall mode” slider of the speaker in dB.

Data attribute Optional Description
entity_id No The entity_id of the KEF speaker.
db_value No Value of the slider (-6 to 0 with steps of 0.5)

Action kef.set_treble_db

Set desk the “Treble trim” slider of the speaker in dB.

Data attribute Optional Description
entity_id No The entity_id of the KEF speaker.
db_value No Value of the slider (-2 to 2 with steps of 0.5)

Action kef.set_high_hz

Set the “High-pass mode” slider of the speaker in Hz.

Data attribute Optional Description
entity_id No The entity_id of the KEF speaker.
hz_value No Value of the slider (50 to 120 with steps of 5)

Action kef.set_low_hz

Set the “Sub out low-pass frequency” slider of the speaker in Hz.

Data attribute Optional Description
entity_id No The entity_id of the KEF speaker.
hz_value No Value of the slider (40 to 250 with steps of 5)

Action kef.set_sub_db

Set the “Sub gain” slider of the speaker in dB.

Data attribute Optional Description
entity_id No The entity_id of the KEF speaker.
db_value No Value of the slider (-10 to 10 with steps of 1)

Notes

  • The LS50 Wireless was tested with the latest firmware of 19-11-2019: p6.3001902221.105039422 and older firmware: p6.2101809171.105039422
  • The LSX Wireless was tested with the latest firmware of 10-10-2019 v4.1: p20.4101909240.105243