Skip to content

Commit 950e758

Browse files
farmiofrenck
authored andcommitted
Fix KNX UI schema missing DPT (home-assistant#152430)
1 parent 9cd940b commit 950e758

File tree

2 files changed

+57
-13
lines changed

2 files changed

+57
-13
lines changed

homeassistant/components/knx/storage/entity_store_schema.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,27 +118,31 @@
118118
vol.Schema(
119119
{
120120
"section_binary_control": KNXSectionFlat(),
121-
vol.Optional(CONF_GA_UP_DOWN): GASelector(state=False),
121+
vol.Optional(CONF_GA_UP_DOWN): GASelector(state=False, valid_dpt="1"),
122122
vol.Optional(CoverConf.INVERT_UPDOWN): selector.BooleanSelector(),
123123
"section_stop_control": KNXSectionFlat(),
124-
vol.Optional(CONF_GA_STOP): GASelector(state=False),
125-
vol.Optional(CONF_GA_STEP): GASelector(state=False),
124+
vol.Optional(CONF_GA_STOP): GASelector(state=False, valid_dpt="1"),
125+
vol.Optional(CONF_GA_STEP): GASelector(state=False, valid_dpt="1"),
126126
"section_position_control": KNXSectionFlat(collapsible=True),
127-
vol.Optional(CONF_GA_POSITION_SET): GASelector(state=False),
128-
vol.Optional(CONF_GA_POSITION_STATE): GASelector(write=False),
127+
vol.Optional(CONF_GA_POSITION_SET): GASelector(
128+
state=False, valid_dpt="5.001"
129+
),
130+
vol.Optional(CONF_GA_POSITION_STATE): GASelector(
131+
write=False, valid_dpt="5.001"
132+
),
129133
vol.Optional(CoverConf.INVERT_POSITION): selector.BooleanSelector(),
130134
"section_tilt_control": KNXSectionFlat(collapsible=True),
131-
vol.Optional(CONF_GA_ANGLE): GASelector(),
135+
vol.Optional(CONF_GA_ANGLE): GASelector(valid_dpt="5.001"),
132136
vol.Optional(CoverConf.INVERT_ANGLE): selector.BooleanSelector(),
133137
"section_travel_time": KNXSectionFlat(),
134-
vol.Optional(
138+
vol.Required(
135139
CoverConf.TRAVELLING_TIME_UP, default=25
136140
): selector.NumberSelector(
137141
selector.NumberSelectorConfig(
138142
min=0, max=1000, step=0.1, unit_of_measurement="s"
139143
)
140144
),
141-
vol.Optional(
145+
vol.Required(
142146
CoverConf.TRAVELLING_TIME_DOWN, default=25
143147
): selector.NumberSelector(
144148
selector.NumberSelectorConfig(
@@ -310,7 +314,7 @@ class LightColorMode(StrEnum):
310314
SWITCH_KNX_SCHEMA = vol.Schema(
311315
{
312316
"section_switch": KNXSectionFlat(),
313-
vol.Required(CONF_GA_SWITCH): GASelector(write_required=True),
317+
vol.Required(CONF_GA_SWITCH): GASelector(write_required=True, valid_dpt="1"),
314318
vol.Optional(CONF_INVERT, default=False): selector.BooleanSelector(),
315319
vol.Optional(CONF_RESPOND_TO_READ, default=False): selector.BooleanSelector(),
316320
vol.Optional(CONF_SYNC_STATE, default=True): SyncStateSelector(),

tests/components/knx/snapshots/test_websocket.ambr

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@
111111
'options': dict({
112112
'passive': True,
113113
'state': False,
114+
'validDPTs': list([
115+
dict({
116+
'main': 1,
117+
'sub': None,
118+
}),
119+
]),
114120
'write': dict({
115121
'required': False,
116122
}),
@@ -140,6 +146,12 @@
140146
'options': dict({
141147
'passive': True,
142148
'state': False,
149+
'validDPTs': list([
150+
dict({
151+
'main': 1,
152+
'sub': None,
153+
}),
154+
]),
143155
'write': dict({
144156
'required': False,
145157
}),
@@ -153,6 +165,12 @@
153165
'options': dict({
154166
'passive': True,
155167
'state': False,
168+
'validDPTs': list([
169+
dict({
170+
'main': 1,
171+
'sub': None,
172+
}),
173+
]),
156174
'write': dict({
157175
'required': False,
158176
}),
@@ -172,6 +190,12 @@
172190
'options': dict({
173191
'passive': True,
174192
'state': False,
193+
'validDPTs': list([
194+
dict({
195+
'main': 5,
196+
'sub': 1,
197+
}),
198+
]),
175199
'write': dict({
176200
'required': False,
177201
}),
@@ -187,6 +211,12 @@
187211
'state': dict({
188212
'required': False,
189213
}),
214+
'validDPTs': list([
215+
dict({
216+
'main': 5,
217+
'sub': 1,
218+
}),
219+
]),
190220
'write': False,
191221
}),
192222
'required': False,
@@ -216,6 +246,12 @@
216246
'state': dict({
217247
'required': False,
218248
}),
249+
'validDPTs': list([
250+
dict({
251+
'main': 5,
252+
'sub': 1,
253+
}),
254+
]),
219255
'write': dict({
220256
'required': False,
221257
}),
@@ -242,8 +278,7 @@
242278
dict({
243279
'default': 25,
244280
'name': 'travelling_time_up',
245-
'optional': True,
246-
'required': False,
281+
'required': True,
247282
'selector': dict({
248283
'number': dict({
249284
'max': 1000.0,
@@ -258,8 +293,7 @@
258293
dict({
259294
'default': 25,
260295
'name': 'travelling_time_down',
261-
'optional': True,
262-
'required': False,
296+
'required': True,
263297
'selector': dict({
264298
'number': dict({
265299
'max': 1000.0,
@@ -746,6 +780,12 @@
746780
'state': dict({
747781
'required': False,
748782
}),
783+
'validDPTs': list([
784+
dict({
785+
'main': 1,
786+
'sub': None,
787+
}),
788+
]),
749789
'write': dict({
750790
'required': True,
751791
}),

0 commit comments

Comments
 (0)