KNX-Integration: friendly_name works for lamp but not for socket

I’m importing lots of devices from KNX using the KNX integration, which basically works, but I can only set the friendly_name for some devices while others fail.

current configuration etc.

This is my configuration.yaml

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

homeassistant:
  customize: !include customize.yaml

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
knx: !include knx.yaml

Here’s a part of my knx.yaml for one room

binary_sensor:
  # Türkontakt
  - name: "f_k1"
    state_address: "25/0/80"
    device_class: "door"
    sync_state: "init"
climate:
  # Heizung
  - name: "f_h1"
    temperature_address: "24/1/80"
    target_temperature_state_address: "14/1/80"
    operation_mode_address: "4/3/80"
    operation_mode_state_address: "14/3/80"
    command_value_state_address: "14/2/80"
light:
  # Spots
  - name: "f_l1"
    address: "1/1/80"
    state_address: "11/1/80"
  # Dekolampe (Kommode)
  - name: "f_l3"
    address: "1/1/82"
    state_address: "11/1/82"
sensor:
  # Bewegungsmelder 1 Haustür
  - name: "f_bm1 Helligkeit"
    state_address: "25/2/80"
    type: "illuminance"
    device_class: "illuminance"
    sync_state: "init"
  # Bewegungsmelder 2 Durchgang
  - name: "f_bm2 Helligkeit"
    state_address: "25/2/81"
    type: "illuminance"
    device_class: "illuminance"
    sync_state: "init"
  # Heizung
  - name: "f_h1 Temperatur"
    state_address: "24/1/80"
    type: "temperature"
    device_class: "temperature"
    sync_state: "init"
  # Luftbefeuchter EG
  - name: "f_s2 Energie"
    state_address: "22/4/81"
    type: "active_energy"
    device_class: "energy"
    sync_state: "init"
  # Luftbefeuchter EG
  - name: "f_s2 Strom"
    state_address: "22/2/81"
    type: "current"
    device_class: "current"
    sync_state: "init"
switch:
  - name: "f_s1"
    address: "2/1/80"
    state_address: "12/1/80"
    device_class: "outlet"
  # Luftbefeuchter EG
  - name: "f_s2"
    address: "2/1/81"
    state_address: "12/1/81"
    device_class: "outlet"

In customize.yaml I have these lines for this room

# F – Flur/Treppenhaus
sensor.bt_h1_temperatur:
  friendly_name: "Heizung"
  icon: "mdi:heating-coil"
climate.bt_h1:
  friendly_name: "Heizung"
  icon: "mdi:heating-coil"
sensor.ez_h1_temperatur:
  friendly_name: "Heizung"
  icon: "mdi:heating-coil"
climate.ez_h1:
  friendly_name: "Heizung"
  icon: "mdi:heating-coil"
sensor.f_bm1_helligkeit:
  friendly_name: "Bewegungsmelder 1 Haustür"
  icon: "mdi:brightness-6"
sensor.f_bm2_helligkeit:
  friendly_name: "Bewegungsmelder 2 Durchgang"
  icon: "mdi:brightness-6"
sensor.f_h1_temperatur:
  friendly_name: "Heizung"
  icon: "mdi:heating-coil"
climate.f_h1:
  friendly_name: "Heizung"
  icon: "mdi:heating-coil"
binary_sensor.f_k1:
  friendly_name: "Türkontakt"
  icon: "mdi:door"
light.f_l1:
  friendly_name: "Spots"
  icon: "mdi:lightbulb"
light.f_l3:
  friendly_name: "Dekolampe (Kommode)"
  icon: "mdi:lamp"
switch.f_s1:
  friendly_name: "Steckdosen (allg.)"
  icon: "mdi:power-socket-de"
switch.f_s2:
  friendly_name: "Luftbefeuchter EG"
  icon: "mdi:power-socket-de"
sensor.f_s2_energie:
  friendly_name: "Luftbefeuchter EG"
  icon: "mdi:lightning-bolt"
sensor.f_s2_strom:
  friendly_name: "Luftbefeuchter EG"
  icon: "mdi:current-ac"

problem

The following screenshot from the dashboard however shows that the friendly name only works for lights, climate and door contacts (binary sensors), while it is ignored for sockets/outlet and other sensors.

tests

When I change the icon it works, thus the ID or the “link” seems to be correct. I. e. with a change to

switch.f_s1:
  friendly_name: "Steckdosen (allg.)"
  icon: "mdi:power-socket"

The icon for this outlet changes. I also tried to use name: instead of friendly_name: or set friendly_name: directly in knx.yaml as an AI suggested to to so but it didn’t work as ist is wrong as far as I understood the documentation, so that’s no surprise. I can rename the from the UI but I don’t want that to keep my system in sync with my KNX setup (the YAML files mentioned) are generated with a script from my KNX planning tool and not written by hand).

question / expected behavior

How can I set the friendly name for all kinds of elements via YAML?

Bonus question: The sockets and sensors appear as “Andere” (others) in the dashboard, is there a way to have something like “Steckdosen” (outlets) and “Sensoren” (sensors) like it is done for “Beleuchtung” (lights)?

system and version

Some version info (current version as of today)

  • Installationsmethode: Home Assistant OS
  • Core: 2026.2.3
  • Supervisor: 2026.02.3
  • Operating System: 17.1
  • Frontend: 20260128.6

I also noticed the the friendly names of lamps are not used everywhere. For example at the overview for room “Büro Tobi” the lamp is shown as “LED-Deckenl…“. But in the dialogue and at the main dashboard in the favorites it isn’t.