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

Add cooktop fixture to SmartThings (#157842)

This commit is contained in:
Joost Lekkerkerker
2025-12-03 15:36:29 +01:00
committed by GitHub
parent e009898107
commit aa72b76ee7
6 changed files with 646 additions and 0 deletions

View File

@@ -143,6 +143,7 @@ def mock_smartthings() -> Generator[AsyncMock]:
"da_rvc_normal_000001",
"da_rvc_map_01011",
"da_ks_microwave_0101x",
"da_ks_cooktop_000001",
"da_ks_cooktop_31001",
"da_ks_range_0101x",
"da_ks_oven_01061",

View File

@@ -0,0 +1,308 @@
{
"components": {
"main": {
"refresh": {},
"execute": {
"data": {
"value": null
}
},
"samsungce.deviceIdentification": {
"micomAssayCode": {
"value": "40442241",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"modelName": {
"value": null
},
"serialNumber": {
"value": null
},
"serialNumberExtra": {
"value": null
},
"modelClassificationCode": {
"value": "50000204001011000100000000000000",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"description": {
"value": "NV9300K-/AA3",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"releaseYear": {
"value": 16,
"timestamp": "2025-06-13T19:06:42.910Z"
},
"binaryId": {
"value": "TP2X_DA-KS-COOKTOP-000001",
"timestamp": "2025-12-02T09:19:03.380Z"
}
},
"switch": {
"switch": {
"value": "off",
"timestamp": "2025-12-02T09:19:03.377Z"
}
},
"samsungce.softwareVersion": {
"versions": {
"value": [
{
"id": "0",
"swType": "Software",
"versionNumber": "230515",
"description": "Version"
},
{
"id": "1",
"swType": "Firmware",
"versionNumber": "DE92-04422A_22112100",
"description": "Version"
}
],
"timestamp": "2025-12-02T09:19:03.381Z"
}
},
"ocf": {
"st": {
"value": null
},
"mndt": {
"value": null
},
"mnfv": {
"value": "AKS-WW-TP2X-20-COOKTOP_40230515",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"mnhw": {
"value": "MediaTek",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"di": {
"value": "5c202ad1-d112-d746-50b8-bd76a554b362",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"mnsl": {
"value": "http://www.samsung.com",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"dmv": {
"value": "res.1.1.0,sh.1.1.0",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"n": {
"value": "Samsung Cooktop",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"mnmo": {
"value": "TP2X_DA-KS-COOKTOP-000001|40442241|50000204001011000100000000000000",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"vid": {
"value": "DA-KS-COOKTOP-000001",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"mnmn": {
"value": "Samsung Electronics",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"mnml": {
"value": "http://www.samsung.com",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"mnpv": {
"value": "DAWIT 3.0",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"mnos": {
"value": "TizenRT 2.0 + IPv6",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"pi": {
"value": "5c202ad1-d112-d746-50b8-bd76a554b362",
"timestamp": "2025-06-18T19:50:19.130Z"
},
"icv": {
"value": "core.1.1.0",
"timestamp": "2025-06-18T19:50:19.130Z"
}
},
"samsungce.kitchenDeviceIdentification": {
"regionCode": {
"value": "US",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"modelCode": {
"value": "NV9300K-/AA3",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"fuel": {
"value": null
},
"type": {
"value": "cooktop",
"timestamp": "2025-06-18T19:50:18.927Z"
},
"representativeComponent": {
"value": null
}
},
"custom.cooktopOperatingState": {
"supportedCooktopOperatingState": {
"value": ["ready", "run"],
"timestamp": "2025-12-02T09:19:03.381Z"
},
"cooktopOperatingState": {
"value": "ready",
"timestamp": "2025-12-02T09:19:03.381Z"
}
},
"custom.disabledCapabilities": {
"disabledCapabilities": {
"value": ["samsungce.kidsLockControl"],
"timestamp": "2025-03-27T22:25:08.123Z"
}
},
"samsungce.driverVersion": {
"versionNumber": {
"value": 25040101,
"timestamp": "2025-06-13T19:06:42.910Z"
}
},
"samsungce.softwareUpdate": {
"targetModule": {
"value": {},
"timestamp": "2025-12-02T02:42:41.363Z"
},
"otnDUID": {
"value": "ZPCPH4AI7CHPC",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"lastUpdatedDate": {
"value": null
},
"availableModules": {
"value": [],
"timestamp": "2025-03-27T22:25:08.123Z"
},
"newVersionAvailable": {
"value": false,
"timestamp": "2025-12-02T09:19:03.381Z"
},
"operatingState": {
"value": null
},
"progress": {
"value": null
}
},
"sec.diagnosticsInformation": {
"logType": {
"value": ["errCode", "dump"],
"timestamp": "2025-12-02T09:19:03.381Z"
},
"endpoint": {
"value": "SSM",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"minVersion": {
"value": "1.0",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"signinPermission": {
"value": null
},
"setupId": {
"value": "800",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"protocolType": {
"value": "wifi_https",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"tsId": {
"value": null
},
"mnId": {
"value": "0AJT",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"dumpType": {
"value": "file",
"timestamp": "2025-12-02T09:19:03.381Z"
}
},
"samsungce.kidsLockControl": {
"lockState": {
"value": "unlocked",
"timestamp": "2025-12-02T09:19:03.381Z"
}
},
"samsungce.kidsLock": {
"lockState": {
"value": "unlocked",
"timestamp": "2025-12-02T09:19:03.381Z"
}
}
},
"hood": {
"samsungce.connectionState": {
"connectionState": {
"value": "disconnected",
"timestamp": "2025-12-02T09:19:03.381Z"
}
},
"custom.disabledCapabilities": {
"disabledCapabilities": {
"value": ["samsungce.lamp", "samsungce.hoodFanSpeed"],
"timestamp": "2025-03-27T22:25:07.975Z"
}
},
"samsungce.hoodFanSpeed": {
"settableMaxFanSpeed": {
"value": 5,
"timestamp": "2025-06-13T19:06:42.910Z"
},
"hoodFanSpeed": {
"value": 0,
"timestamp": "2025-12-02T09:19:03.381Z"
},
"supportedHoodFanSpeed": {
"value": [0, 1, 2, 3, 4, 5],
"timestamp": "2025-06-13T19:06:42.910Z"
},
"settableMinFanSpeed": {
"value": 0,
"timestamp": "2025-06-13T19:06:42.910Z"
}
},
"samsungce.countDownTimer": {
"startValue": {
"value": null
},
"currentValue": {
"value": null
},
"status": {
"value": null
}
},
"switch": {
"switch": {
"value": "off",
"timestamp": "2025-12-02T09:19:03.377Z"
}
},
"samsungce.lamp": {
"brightnessLevel": {
"value": "off",
"timestamp": "2025-12-02T09:19:03.381Z"
},
"supportedBrightnessLevel": {
"value": ["off", "high"],
"timestamp": "2025-06-13T19:06:42.910Z"
}
}
}
}
}

View File

@@ -0,0 +1,151 @@
{
"items": [
{
"deviceId": "5c202ad1-d112-d746-50b8-bd76a554b362",
"name": "Samsung Cooktop",
"label": "Table de cuisson",
"manufacturerName": "Samsung Electronics",
"presentationId": "DA-KS-COOKTOP-000001",
"deviceManufacturerCode": "Samsung Electronics",
"locationId": "8f6b1123-6539-42b7-9e88-191a65feb0d5",
"ownerId": "644db67a-f2ed-58a8-2915-172ca7a5f817",
"roomId": "8554374b-2db3-455c-bc23-a514d52fdae8",
"deviceTypeName": "oic.d.cooktop",
"components": [
{
"id": "main",
"label": "main",
"capabilities": [
{
"id": "ocf",
"version": 1
},
{
"id": "execute",
"version": 1
},
{
"id": "switch",
"version": 1
},
{
"id": "refresh",
"version": 1
},
{
"id": "samsungce.deviceIdentification",
"version": 1
},
{
"id": "samsungce.driverVersion",
"version": 1
},
{
"id": "samsungce.kitchenDeviceIdentification",
"version": 1
},
{
"id": "samsungce.kidsLock",
"version": 1
},
{
"id": "samsungce.kidsLockControl",
"version": 1
},
{
"id": "samsungce.softwareUpdate",
"version": 1
},
{
"id": "custom.cooktopOperatingState",
"version": 1
},
{
"id": "custom.disabledCapabilities",
"version": 1
},
{
"id": "sec.diagnosticsInformation",
"version": 1
},
{
"id": "samsungce.softwareVersion",
"version": 1
}
],
"categories": [
{
"name": "Cooktop",
"categoryType": "manufacturer"
}
],
"optional": false
},
{
"id": "hood",
"label": "hood",
"capabilities": [
{
"id": "switch",
"version": 1
},
{
"id": "samsungce.connectionState",
"version": 1
},
{
"id": "samsungce.hoodFanSpeed",
"version": 1
},
{
"id": "samsungce.lamp",
"version": 1
},
{
"id": "samsungce.countDownTimer",
"version": 1
},
{
"id": "custom.disabledCapabilities",
"version": 1
}
],
"categories": [
{
"name": "Other",
"categoryType": "manufacturer"
}
],
"optional": false
}
],
"createTime": "2024-10-15T22:50:46.668Z",
"profile": {
"id": "27672adb-a742-3cf4-b604-33fc8f60a467"
},
"ocf": {
"ocfDeviceType": "oic.d.cooktop",
"name": "Samsung Cooktop",
"specVersion": "core.1.1.0",
"verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0",
"manufacturerName": "Samsung Electronics",
"modelNumber": "TP2X_DA-KS-COOKTOP-000001|40442241|50000204001011000100000000000000",
"platformVersion": "DAWIT 3.0",
"platformOS": "TizenRT 2.0 + IPv6",
"hwVersion": "MediaTek",
"firmwareVersion": "AKS-WW-TP2X-20-COOKTOP_40230515",
"vendorId": "DA-KS-COOKTOP-000001",
"vendorResourceClientServerVersion": "MediaTek Release 2.220916.2",
"lastSignupTime": "2024-10-15T22:50:42.588535356Z",
"transferCandidate": false,
"additionalAuthCodeRequired": false
},
"type": "OCF",
"restrictionTier": 0,
"allowed": null,
"executionContext": "CLOUD",
"relationships": []
}
],
"_links": {}
}

View File

@@ -244,6 +244,103 @@
'state': 'off',
})
# ---
# name: test_all_entities[da_ks_cooktop_000001][binary_sensor.table_de_cuisson_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.table_de_cuisson_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,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': '5c202ad1-d112-d746-50b8-bd76a554b362_main_samsungce.kidsLock_lockState_lockState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_ks_cooktop_000001][binary_sensor.table_de_cuisson_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Table de cuisson Child lock',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.table_de_cuisson_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_ks_cooktop_000001][binary_sensor.table_de_cuisson_power-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.table_de_cuisson_power',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.POWER: 'power'>,
'original_icon': None,
'original_name': 'Power',
'platform': 'smartthings',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '5c202ad1-d112-d746-50b8-bd76a554b362_main_switch_switch_switch',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_ks_cooktop_000001][binary_sensor.table_de_cuisson_power-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'power',
'friendly_name': 'Table de cuisson Power',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.table_de_cuisson_power',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_ks_cooktop_31001][binary_sensor.induction_hob_power-entry]
EntityRegistryEntrySnapshot({
'aliases': set({

View File

@@ -560,6 +560,37 @@
'via_device_id': None,
})
# ---
# name: test_devices[da_ks_cooktop_000001]
DeviceRegistryEntrySnapshot({
'area_id': None,
'config_entries': <ANY>,
'config_entries_subentries': <ANY>,
'configuration_url': 'https://account.smartthings.com',
'connections': set({
}),
'disabled_by': None,
'entry_type': None,
'hw_version': 'MediaTek',
'id': <ANY>,
'identifiers': set({
tuple(
'smartthings',
'5c202ad1-d112-d746-50b8-bd76a554b362',
),
}),
'labels': set({
}),
'manufacturer': 'Samsung Electronics',
'model': 'TP2X_DA-KS-COOKTOP-000001',
'model_id': None,
'name': 'Table de cuisson',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': None,
'sw_version': 'AKS-WW-TP2X-20-COOKTOP_40230515',
'via_device_id': None,
})
# ---
# name: test_devices[da_ks_cooktop_31001]
DeviceRegistryEntrySnapshot({
'area_id': None,

View File

@@ -4064,6 +4064,64 @@
'state': '27',
})
# ---
# name: test_all_entities[da_ks_cooktop_000001][sensor.table_de_cuisson_operating_state-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'ready',
'run',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.table_de_cuisson_operating_state',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Operating state',
'platform': 'smartthings',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'cooktop_operating_state',
'unique_id': '5c202ad1-d112-d746-50b8-bd76a554b362_main_custom.cooktopOperatingState_cooktopOperatingState_cooktopOperatingState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_ks_cooktop_000001][sensor.table_de_cuisson_operating_state-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'Table de cuisson Operating state',
'options': list([
'ready',
'run',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.table_de_cuisson_operating_state',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'ready',
})
# ---
# name: test_all_entities[da_ks_cooktop_31001][sensor.induction_hob_burner_1_heating_mode-entry]
EntityRegistryEntrySnapshot({
'aliases': set({