Add child lock to SmartThings (#140200)

* Add kids lock to SmartThings

* Add kids lock to SmartThings

* Fix

* Fix
This commit is contained in:
Joost Lekkerkerker 2025-03-21 14:03:44 +01:00 committed by GitHub
parent 466ec0b596
commit a9cbc72ce5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 392 additions and 0 deletions

View File

@ -61,6 +61,13 @@ CAPABILITY_TO_SENSORS: dict[
is_on_key="replace",
)
},
Capability.SAMSUNG_CE_KIDS_LOCK: {
Attribute.LOCK_STATE: SmartThingsBinarySensorEntityDescription(
key=Attribute.LOCK_STATE,
translation_key="child_lock",
is_on_key="locked",
)
},
Capability.MOTION_SENSOR: {
Attribute.MOTION: SmartThingsBinarySensorEntityDescription(
key=Attribute.MOTION,

View File

@ -6,6 +6,12 @@
"state": {
"on": "mdi:remote"
}
},
"child_lock": {
"default": "mdi:lock-open",
"state": {
"on": "mdi:lock"
}
}
}
}

View File

@ -39,6 +39,9 @@
"remote_control": {
"name": "Remote control"
},
"child_lock": {
"name": "Child lock"
},
"valve": {
"name": "Valve"
}

View File

@ -143,6 +143,53 @@
'state': 'off',
})
# ---
# name: test_all_entities[da_ks_microwave_0101x][binary_sensor.microwave_child_lock-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.microwave_child_lock',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Child lock',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': '2bad3237-4886-e699-1b90-4a51a3d55c8a.lockState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_ks_microwave_0101x][binary_sensor.microwave_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Microwave Child lock',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.microwave_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_ks_microwave_0101x][binary_sensor.microwave_remote_control-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@ -190,6 +237,53 @@
'state': 'off',
})
# ---
# name: test_all_entities[da_ks_oven_01061][binary_sensor.oven_child_lock-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.oven_child_lock',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Child lock',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': '9447959a-0dfa-6b27-d40d-650da525c53f.lockState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_ks_oven_01061][binary_sensor.oven_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Oven Child lock',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.oven_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_ks_oven_01061][binary_sensor.oven_remote_control-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@ -237,6 +331,53 @@
'state': 'on',
})
# ---
# name: test_all_entities[da_ks_range_0101x][binary_sensor.vulcan_child_lock-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.vulcan_child_lock',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Child lock',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': '2c3cbaa0-1899-5ddc-7b58-9d657bd48f18.lockState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_ks_range_0101x][binary_sensor.vulcan_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Vulcan Child lock',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.vulcan_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_ks_range_0101x][binary_sensor.vulcan_remote_control-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@ -332,6 +473,53 @@
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_dw_000001][binary_sensor.dishwasher_child_lock-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.dishwasher_child_lock',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Child lock',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': 'f36dc7ce-cac0-0667-dc14-a3704eb5e676.lockState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_wm_dw_000001][binary_sensor.dishwasher_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Dishwasher Child lock',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.dishwasher_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_dw_000001][binary_sensor.dishwasher_remote_control-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@ -379,6 +567,53 @@
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wd_000001][binary_sensor.dryer_child_lock-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.dryer_child_lock',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Child lock',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': '02f7256e-8353-5bdd-547f-bd5b1647e01b.lockState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_wm_wd_000001][binary_sensor.dryer_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Dryer Child lock',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.dryer_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wd_000001][binary_sensor.dryer_remote_control-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@ -426,6 +661,53 @@
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][binary_sensor.seca_roupa_child_lock-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.seca_roupa_child_lock',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Child lock',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd.lockState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][binary_sensor.seca_roupa_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Seca-Roupa Child lock',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.seca_roupa_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][binary_sensor.seca_roupa_remote_control-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@ -473,6 +755,53 @@
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wm_000001][binary_sensor.washer_child_lock-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.washer_child_lock',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Child lock',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': 'f984b91d-f250-9d42-3436-33f09a422a47.lockState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_wm_wm_000001][binary_sensor.washer_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Washer Child lock',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.washer_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wm_000001][binary_sensor.washer_remote_control-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@ -520,6 +849,53 @@
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wm_000001_1][binary_sensor.washing_machine_child_lock-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.washing_machine_child_lock',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Child lock',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': '63803fae-cbed-f356-a063-2cf148ae3ca7.lockState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_wm_wm_000001_1][binary_sensor.washing_machine_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Washing Machine Child lock',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.washing_machine_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wm_000001_1][binary_sensor.washing_machine_remote_control-entry]
EntityRegistryEntrySnapshot({
'aliases': set({