Skip to content

Commit 03b79be

Browse files
committed
subscribe 목록에 state 내의 capability 도 포함
subscribe 목록에 state 내의 capability 도 포함
1 parent 0dcb923 commit 03b79be

3 files changed

Lines changed: 20 additions & 15 deletions

File tree

custom_components/smartthings_customize/common.py

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -379,25 +379,30 @@ def get_device_setting():
379379
_LOGGER.debug("get_device_setting error : " + traceback.format_exc())
380380
return None
381381

382+
@staticmethod
383+
def parse_capability(setting):
384+
capabilities = []
385+
for platform in PLATFORMS:
386+
if setting.get(platform):
387+
for cap in setting.get(platform):
388+
capabilities.append(cap.get("capability"))
389+
if state := cap.get("state", []):
390+
if state.get("capability"):
391+
capabilities.append(state.get("capability"))
392+
for sub_cap in cap.get("capabilities", []):
393+
capabilities.append(sub_cap.get("capability"))
394+
return capabilities
395+
396+
382397
@staticmethod
383398
def get_capabilities() -> list[str]:
384-
setting = SettingManager()
399+
inst = SettingManager()
385400
capabilities = []
386401
try:
387402
if default_setting := SettingManager.get_default_setting():
388-
for platform in PLATFORMS:
389-
if default_setting.get(platform):
390-
for cap in default_setting.get(platform):
391-
capabilities.append(cap.get("capability"))
392-
for sub_cap in cap.get("capabilities", []):
393-
capabilities.append(sub_cap.get("capability"))
403+
capabilities.extend(inst.parse_capability(default_setting))
394404
for setting in SettingManager().get_device_setting():
395-
for platform in PLATFORMS:
396-
if setting.get(platform):
397-
for cap in setting[platform]:
398-
capabilities.append(cap.get("capability"))
399-
for sub_cap in cap.get("capabilities", []):
400-
capabilities.append(sub_cap.get("capability"))
405+
capabilities.extend(inst.parse_capability(setting))
401406

402407
#capabilities.extend(mgr.subscribe_capabilities())
403408
_LOGGER.debug("get_capabilities : " + str(capabilities))

custom_components/smartthings_customize/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
"@oukene"
1313
],
1414
"iot_class": "cloud_push",
15-
"version": "2025.6.0"
15+
"version": "2025.11.0"
1616
}

custom_components/smartthings_customize/smartapp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ async def delete_subscription(sub: SubscriptionEntity):
424424
capability_count,
425425
SUBSCRIPTION_WARNING_LIMIT,
426426
)
427-
_LOGGER.debug(
427+
_LOGGER.error(
428428
"Synchronizing subscriptions for %s capabilities under app '%s': %s",
429429
capability_count,
430430
installed_app_id,

0 commit comments

Comments
 (0)