1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-24 21:06:19 +00:00

Improve KNX config-UI group address labels and descriptions (#154716)

This commit is contained in:
Matthias Alphart
2025-10-18 10:08:26 +02:00
committed by GitHub
parent 907ef8fa15
commit c874c4ac73
6 changed files with 50 additions and 141 deletions

View File

@@ -13,7 +13,7 @@
"requirements": [
"xknx==3.10.0",
"xknxproject==3.8.2",
"knx-frontend==2025.10.9.185845"
"knx-frontend==2025.10.17.202411"
],
"single_config_entry": true
}

View File

@@ -93,7 +93,6 @@ BASE_ENTITY_SCHEMA = vol.All(
BINARY_SENSOR_KNX_SCHEMA = vol.Schema(
{
"section_binary_sensor": KNXSectionFlat(),
vol.Required(CONF_GA_SENSOR): GASelector(
write=False, state_required=True, valid_dpt="1"
),
@@ -117,10 +116,8 @@ BINARY_SENSOR_KNX_SCHEMA = vol.Schema(
COVER_KNX_SCHEMA = AllSerializeFirst(
vol.Schema(
{
"section_binary_control": KNXSectionFlat(),
vol.Optional(CONF_GA_UP_DOWN): GASelector(state=False, valid_dpt="1"),
vol.Optional(CoverConf.INVERT_UPDOWN): selector.BooleanSelector(),
"section_stop_control": KNXSectionFlat(),
vol.Optional(CONF_GA_STOP): GASelector(state=False, valid_dpt="1"),
vol.Optional(CONF_GA_STEP): GASelector(state=False, valid_dpt="1"),
"section_position_control": KNXSectionFlat(collapsible=True),
@@ -195,11 +192,9 @@ _hs_color_inclusion_msg = (
LIGHT_KNX_SCHEMA = AllSerializeFirst(
vol.Schema(
{
"section_switch": KNXSectionFlat(),
vol.Optional(CONF_GA_SWITCH): GASelector(
write_required=True, valid_dpt="1"
),
"section_brightness": KNXSectionFlat(),
vol.Optional(CONF_GA_BRIGHTNESS): GASelector(
write_required=True, valid_dpt="5.001"
),
@@ -229,28 +224,24 @@ LIGHT_KNX_SCHEMA = AllSerializeFirst(
GroupSelectOption(
translation_key="individual_addresses",
schema={
"section_red": KNXSectionFlat(),
vol.Optional(CONF_GA_RED_SWITCH): GASelector(
write_required=False, valid_dpt="1"
),
vol.Required(CONF_GA_RED_BRIGHTNESS): GASelector(
write_required=True, valid_dpt="5.001"
),
"section_green": KNXSectionFlat(),
vol.Optional(CONF_GA_GREEN_SWITCH): GASelector(
write_required=False, valid_dpt="1"
),
vol.Required(CONF_GA_GREEN_BRIGHTNESS): GASelector(
write_required=True, valid_dpt="5.001"
),
"section_blue": KNXSectionFlat(),
vol.Optional(CONF_GA_BLUE_SWITCH): GASelector(
write_required=False, valid_dpt="1"
),
vol.Required(CONF_GA_BLUE_BRIGHTNESS): GASelector(
write_required=True, valid_dpt="5.001"
),
"section_white": KNXSectionFlat(),
vol.Optional(CONF_GA_WHITE_SWITCH): GASelector(
write_required=False, valid_dpt="1"
),
@@ -313,7 +304,6 @@ LIGHT_KNX_SCHEMA = AllSerializeFirst(
SWITCH_KNX_SCHEMA = vol.Schema(
{
"section_switch": KNXSectionFlat(),
vol.Required(CONF_GA_SWITCH): GASelector(write_required=True, valid_dpt="1"),
vol.Optional(CONF_INVERT, default=False): selector.BooleanSelector(),
vol.Optional(CONF_RESPOND_TO_READ, default=False): selector.BooleanSelector(),

View File

@@ -386,9 +386,9 @@
"binary_sensor": {
"description": "Read-only entity for binary datapoints. Window or door states etc.",
"knx": {
"section_binary_sensor": {
"title": "Binary sensor",
"description": "DPT 1 group addresses representing binary states."
"ga_sensor": {
"label": "State",
"description": "Group address representing a binary state."
},
"invert": {
"label": "Invert",
@@ -415,50 +415,47 @@
"cover": {
"description": "The KNX cover platform is used as an interface to shutter actuators.",
"knx": {
"section_binary_control": {
"title": "Open/Close control",
"description": "DPT 1 group addresses triggering full movement."
},
"ga_up_down": {
"label": "Open/Close"
"label": "Open/Close control",
"description": "Group addresses triggering a full movement."
},
"invert_updown": {
"label": "Invert",
"label": "Invert open/close",
"description": "Default is UP (0) to open a cover and DOWN (1) to close a cover. Enable this to invert the open/close commands from/to your KNX actuator."
},
"section_stop_control": {
"title": "Stop",
"description": "DPT 1 group addresses for stopping movement."
},
"ga_stop": {
"label": "Stop"
"label": "Stop",
"description": "Group addresses for stopping movement."
},
"ga_step": {
"label": "Stepwise move"
"label": "Stepwise move",
"description": "Group addresses for stepwise movement. Used to stop the cover when no dedicated stop address is available."
},
"section_position_control": {
"title": "Position",
"description": "DPT 5 group addresses for cover position."
"description": "Control cover position."
},
"ga_position_set": {
"label": "Set position"
"label": "Set position",
"description": "Group addresses for setting a new absolute position."
},
"ga_position_state": {
"label": "Current position"
"label": "Current position",
"description": "Group addresses reporting the current position."
},
"invert_position": {
"label": "Invert",
"description": "Invert payload before processing. Enable if KNX reports 0% as fully closed."
"label": "Invert position",
"description": "Invert telegram payload before processing. Enable if KNX reports 0% as fully closed."
},
"section_tilt_control": {
"title": "Tilt",
"description": "DPT 5 group addresses for slat tilt angle."
"description": "Control slat tilt angle."
},
"ga_angle": {
"label": "Tilt angle"
},
"invert_angle": {
"label": "[%key:component::knx::config_panel::entities::create::cover::knx::invert_position::label%]",
"label": "Invert angle",
"description": "[%key:component::knx::config_panel::entities::create::cover::knx::invert_position::description%]"
},
"section_travel_time": {
@@ -466,38 +463,32 @@
"description": "Used to calculate intermediate positions of the cover while traveling."
},
"travelling_time_up": {
"label": "Travel time for opening",
"description": "Time the cover needs to fully open in seconds."
"label": "Time for opening",
"description": "Time in seconds the cover needs to fully open."
},
"travelling_time_down": {
"label": "Travel time for closing",
"description": "Time the cover needs to fully close in seconds."
"label": "Time for closing",
"description": "Time in seconds the cover needs to fully close."
}
}
},
"light": {
"description": "The KNX light platform is used as an interface to dimming actuators, LED controllers, DALI gateways and similar.",
"knx": {
"section_switch": {
"title": "Switch",
"ga_switch": {
"label": "Switch",
"description": "Turn the light on/off."
},
"ga_switch": {
"label": "Switch"
},
"section_brightness": {
"title": "Brightness",
"description": "Control the brightness of the light."
},
"ga_brightness": {
"label": "Brightness"
"label": "Brightness",
"description": "Control the absolute brightness of the light."
},
"section_color_temp": {
"title": "Color temperature",
"description": "Control the color temperature of the light."
},
"ga_color_temp": {
"label": "Color temperature",
"label": "Color temperature addresses",
"options": {
"5_001": "Percent",
"7_600": "Kelvin",
@@ -520,60 +511,52 @@
},
"individual_addresses": {
"label": "Individual addresses",
"description": "RGB(W) using individual state and brightness group addresses."
"description": "RGB(W) using individual group addresses for each color channel's state and brightness."
},
"hsv_addresses": {
"label": "HSV",
"description": "Hue, saturation and brightness using individual group addresses."
"description": "Hue, saturation and brightness controlled by individual group addresses."
}
},
"ga_color": {
"label": "Color",
"label": "Color addresses",
"options": {
"232_600": "RGB",
"242_600": "XYY",
"251_600": "RGBW"
}
},
"section_red": {
"title": "Red",
"description": "Controls the light's red color component. Brightness group address is required."
},
"ga_red_switch": {
"label": "Red switch"
"label": "Red switch",
"description": "Group address to switch the color channel on/off."
},
"ga_red_brightness": {
"label": "Red brightness"
},
"section_green": {
"title": "Green",
"description": "Controls the light's green color component. Brightness group address is required."
"label": "Red brightness",
"description": "Group address to control the brightness of the color channel. Required."
},
"ga_green_switch": {
"label": "Green switch"
"label": "Green switch",
"description": "[%key:component::knx::config_panel::entities::create::light::knx::color::ga_red_switch::description%]"
},
"ga_green_brightness": {
"label": "Green brightness"
},
"section_blue": {
"title": "Blue",
"description": "Controls the light's blue color component. Brightness group address is required."
"label": "Green brightness",
"description": "[%key:component::knx::config_panel::entities::create::light::knx::color::ga_red_brightness::description%]"
},
"ga_blue_switch": {
"label": "Blue switch"
"label": "Blue switch",
"description": "[%key:component::knx::config_panel::entities::create::light::knx::color::ga_red_switch::description%]"
},
"ga_blue_brightness": {
"label": "Blue brightness"
},
"section_white": {
"title": "White",
"description": "Controls the light's white color component. Brightness group address is required."
"label": "Blue brightness",
"description": "[%key:component::knx::config_panel::entities::create::light::knx::color::ga_red_brightness::description%]"
},
"ga_white_switch": {
"label": "White switch"
"label": "White switch",
"description": "[%key:component::knx::config_panel::entities::create::light::knx::color::ga_red_switch::description%]"
},
"ga_white_brightness": {
"label": "White brightness"
"label": "White brightness",
"description": "Group address to control the brightness of the color channel."
},
"ga_hue": {
"label": "Hue",
@@ -589,10 +572,6 @@
"switch": {
"description": "The KNX switch platform is used as an interface to switching actuators.",
"knx": {
"section_switch": {
"title": "Switching",
"description": "DPT 1 group addresses controlling the switch function."
},
"ga_switch": {
"label": "Switch",
"description": "Group address to switch the device on/off."

2
requirements_all.txt generated
View File

@@ -1328,7 +1328,7 @@ kiwiki-client==0.1.1
knocki==0.4.2
# homeassistant.components.knx
knx-frontend==2025.10.9.185845
knx-frontend==2025.10.17.202411
# homeassistant.components.konnected
konnected==1.2.0

View File

@@ -1153,7 +1153,7 @@ kegtron-ble==1.0.2
knocki==0.4.2
# homeassistant.components.knx
knx-frontend==2025.10.9.185845
knx-frontend==2025.10.17.202411
# homeassistant.components.konnected
konnected==1.2.0

View File

@@ -3,12 +3,6 @@
dict({
'id': 1,
'result': list([
dict({
'collapsible': False,
'name': 'section_binary_sensor',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_sensor',
'options': dict({
@@ -99,12 +93,6 @@
dict({
'id': 1,
'result': list([
dict({
'collapsible': False,
'name': 'section_binary_control',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_up_down',
'optional': True,
@@ -134,12 +122,6 @@
}),
'type': 'ha_selector',
}),
dict({
'collapsible': False,
'name': 'section_stop_control',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_stop',
'optional': True,
@@ -322,12 +304,6 @@
dict({
'id': 1,
'result': list([
dict({
'collapsible': False,
'name': 'section_switch',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_switch',
'optional': True,
@@ -349,12 +325,6 @@
'required': False,
'type': 'knx_group_address',
}),
dict({
'collapsible': False,
'name': 'section_brightness',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_brightness',
'optional': True,
@@ -508,12 +478,6 @@
}),
dict({
'schema': list([
dict({
'collapsible': False,
'name': 'section_red',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_red_switch',
'optional': True,
@@ -555,12 +519,6 @@
'required': True,
'type': 'knx_group_address',
}),
dict({
'collapsible': False,
'name': 'section_green',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_green_switch',
'optional': True,
@@ -602,12 +560,6 @@
'required': True,
'type': 'knx_group_address',
}),
dict({
'collapsible': False,
'name': 'section_blue',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_blue_switch',
'optional': True,
@@ -649,12 +601,6 @@
'required': True,
'type': 'knx_group_address',
}),
dict({
'collapsible': False,
'name': 'section_white',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_white_switch',
'optional': True,
@@ -767,12 +713,6 @@
dict({
'id': 1,
'result': list([
dict({
'collapsible': False,
'name': 'section_switch',
'required': False,
'type': 'knx_section_flat',
}),
dict({
'name': 'ga_switch',
'options': dict({