|
18 | 18 |
|
19 | 19 |
|
20 | 20 | def validate_ble_name(value): |
21 | | - """Validate BLE name length (BLE spec: max 29 bytes for advertising packet)""" |
| 21 | + """Validate BLE name length (12 bytes max for Samsung S24/S25 compatibility)""" |
22 | 22 | value = cv.string(value) |
23 | | - if len(value.encode("utf-8")) > 29: |
| 23 | + if len(value.encode("utf-8")) > 12: |
24 | 24 | raise cv.Invalid( |
25 | 25 | f"BLE name too long ({len(value.encode('utf-8'))} bytes). " |
26 | | - f"Maximum 29 bytes for BLE advertising packet. Shorten your name." |
| 26 | + f"Maximum 12 bytes for Samsung S24/S25 compatibility with " |
| 27 | + f"single-UUID advertising. Shorten your name." |
27 | 28 | ) |
28 | 29 | return value |
29 | 30 |
|
@@ -59,8 +60,8 @@ def validate_continuous_mode_config(config): |
59 | 60 | cv.GenerateID(): cv.declare_id(IRKCaptureComponent), |
60 | 61 | cv.Optional(CONF_BLE_NAME, default="IRK Capture"): validate_ble_name, |
61 | 62 | cv.Optional(CONF_START_ON_BOOT, default=True): cv.boolean, |
62 | | - cv.Optional(CONF_CONTINUOUS_MODE, default=False): cv.boolean, |
63 | | - cv.Optional(CONF_MAX_CAPTURES, default=1): cv.int_range(min=0, max=255), |
| 63 | + cv.Optional(CONF_CONTINUOUS_MODE, default=True): cv.boolean, |
| 64 | + cv.Optional(CONF_MAX_CAPTURES, default=10): cv.int_range(min=0, max=255), |
64 | 65 | } |
65 | 66 | ).extend(cv.COMPONENT_SCHEMA), |
66 | 67 | validate_continuous_mode_config, # Cross-field validation |
|
0 commit comments