From ca37bc15068c5ae5235fba6e4c5c5f1c9df258eb Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:28:55 +0200 Subject: [PATCH] Add Tuya test fixtures (#151022) --- tests/components/tuya/__init__.py | 15 + .../fixtures/ckmkzq_1yyqfw4djv9eii3q.json | 59 ++ .../tuya/fixtures/cl_669wsr2w4cvinbh4.json | 138 +++++ .../tuya/fixtures/cz_AiHXxAyyn7eAkLQY.json | 54 ++ .../tuya/fixtures/cz_yncyws7tu1q4cpsz.json | 37 ++ .../components/tuya/fixtures/dj_8ugheslg.json | 57 ++ .../tuya/fixtures/dj_h4aX2JkHZNByQ4AV.json | 54 ++ .../tuya/fixtures/dj_kgaob37tz2muf3mi.json | 548 ++++++++++++++++++ .../tuya/fixtures/mzj_jlapoy5liocmtdvd.json | 21 + .../tuya/fixtures/sfkzq_d4vpmigg.json | 130 +++++ .../tuya/fixtures/sfkzq_nxquc5lb.json | 130 +++++ .../tuya/fixtures/sgbj_im2eqqhj72suwwko.json | 92 +++ .../tuya/fixtures/sj_rzeSU2h9uoklxEwq.json | 41 ++ .../tuya/fixtures/wg2_2gowdgni.json | 77 +++ .../tuya/fixtures/wg2_tmwhss6ntjfc7prs.json | 21 + .../tuya/fixtures/wnykq_om518smspsaltzdi.json | 21 + .../tuya/snapshots/test_binary_sensor.ambr | 98 ++++ .../components/tuya/snapshots/test_cover.ambr | 101 ++++ .../components/tuya/snapshots/test_init.ambr | 465 +++++++++++++++ .../components/tuya/snapshots/test_light.ambr | 193 ++++++ .../tuya/snapshots/test_number.ambr | 58 ++ .../tuya/snapshots/test_select.ambr | 299 ++++++++++ .../tuya/snapshots/test_sensor.ambr | 312 ++++++++++ .../tuya/snapshots/test_switch.ambr | 193 ++++++ 24 files changed, 3214 insertions(+) create mode 100644 tests/components/tuya/fixtures/ckmkzq_1yyqfw4djv9eii3q.json create mode 100644 tests/components/tuya/fixtures/cl_669wsr2w4cvinbh4.json create mode 100644 tests/components/tuya/fixtures/cz_AiHXxAyyn7eAkLQY.json create mode 100644 tests/components/tuya/fixtures/cz_yncyws7tu1q4cpsz.json create mode 100644 tests/components/tuya/fixtures/dj_8ugheslg.json create mode 100644 tests/components/tuya/fixtures/dj_h4aX2JkHZNByQ4AV.json create mode 100644 tests/components/tuya/fixtures/dj_kgaob37tz2muf3mi.json create mode 100644 tests/components/tuya/fixtures/mzj_jlapoy5liocmtdvd.json create mode 100644 tests/components/tuya/fixtures/sfkzq_d4vpmigg.json create mode 100644 tests/components/tuya/fixtures/sfkzq_nxquc5lb.json create mode 100644 tests/components/tuya/fixtures/sgbj_im2eqqhj72suwwko.json create mode 100644 tests/components/tuya/fixtures/sj_rzeSU2h9uoklxEwq.json create mode 100644 tests/components/tuya/fixtures/wg2_2gowdgni.json create mode 100644 tests/components/tuya/fixtures/wg2_tmwhss6ntjfc7prs.json create mode 100644 tests/components/tuya/fixtures/wnykq_om518smspsaltzdi.json diff --git a/tests/components/tuya/__init__.py b/tests/components/tuya/__init__.py index cea7d633245..1fdc28bcb9f 100644 --- a/tests/components/tuya/__init__.py +++ b/tests/components/tuya/__init__.py @@ -15,7 +15,9 @@ from tests.common import MockConfigEntry DEVICE_MOCKS = [ "bzyd_45idzfufidgee7ir", # https://github.com/orgs/home-assistant/discussions/717 "bzyd_ssimhf6r8kgwepfb", # https://github.com/orgs/home-assistant/discussions/718 + "ckmkzq_1yyqfw4djv9eii3q", # https://github.com/home-assistant/core/issues/150856 "cl_3r8gc33pnqsxfe1g", # https://github.com/tuya/tuya-home-assistant/issues/754 + "cl_669wsr2w4cvinbh4", # https://github.com/home-assistant/core/issues/150856 "cl_cpbo62rn", # https://github.com/orgs/home-assistant/discussions/539 "cl_ebt12ypvexnixvtf", # https://github.com/tuya/tuya-home-assistant/issues/754 "cl_g1cp07dsqnbdbbki", # https://github.com/home-assistant/core/issues/139966 @@ -40,6 +42,7 @@ DEVICE_MOCKS = [ "cz_39sy2g68gsjwo2xv", # https://github.com/home-assistant/core/issues/141278 "cz_6fa7odsufen374x2", # https://github.com/home-assistant/core/issues/150029 "cz_9ivirni8wemum6cw", # https://github.com/home-assistant/core/issues/139735 + "cz_AiHXxAyyn7eAkLQY", # https://github.com/home-assistant/core/issues/150662 "cz_CHLZe9HQ6QIXujVN", # https://github.com/home-assistant/core/issues/149233 "cz_HBRBzv1UVBVfF6SL", # https://github.com/tuya/tuya-home-assistant/issues/754 "cz_anwgf2xugjxpkfxb", # https://github.com/orgs/home-assistant/discussions/539 @@ -68,11 +71,13 @@ DEVICE_MOCKS = [ "cz_wifvoilfrqeo6hvu", # https://github.com/home-assistant/core/issues/146164 "cz_wrz6vzch8htux2zp", # https://github.com/home-assistant/core/issues/141278 "cz_y4jnobxh", # https://github.com/orgs/home-assistant/discussions/482 + "cz_yncyws7tu1q4cpsz", # https://github.com/home-assistant/core/issues/150662 "cz_z6pht25s3p0gs26q", # https://github.com/home-assistant/core/issues/63978 "dc_l3bpgg8ibsagon4x", # https://github.com/home-assistant/core/issues/149704 "dd_gaobbrxqiblcng2p", # https://github.com/home-assistant/core/issues/149233 "dj_0gyaslysqfp4gfis", # https://github.com/home-assistant/core/issues/149895 "dj_8szt7whdvwpmxglk", # https://github.com/home-assistant/core/issues/149704 + "dj_8ugheslg", # https://github.com/home-assistant/core/issues/150856 "dj_8y0aquaa8v6tho8w", # https://github.com/home-assistant/core/issues/149704 "dj_AqHUMdcbYzIq1Of4", # https://github.com/orgs/home-assistant/discussions/539 "dj_amx1bgdrfab6jngb", # https://github.com/orgs/home-assistant/discussions/482 @@ -84,12 +89,14 @@ DEVICE_MOCKS = [ "dj_djnozmdyqyriow8z", # https://github.com/home-assistant/core/issues/149704 "dj_ekwolitfjhxn55js", # https://github.com/home-assistant/core/issues/149704 "dj_fuupmcr2mb1odkja", # https://github.com/home-assistant/core/issues/149704 + "dj_h4aX2JkHZNByQ4AV", # https://github.com/home-assistant/core/issues/150662 "dj_hp6orhaqm6as3jnv", # https://github.com/home-assistant/core/issues/149704 "dj_hpc8ddyfv85haxa7", # https://github.com/home-assistant/core/issues/149704 "dj_iayz2jmtlipjnxj7", # https://github.com/home-assistant/core/issues/149704 "dj_idnfq7xbx8qewyoa", # https://github.com/home-assistant/core/issues/149704 "dj_ilddqqih3tucdk68", # https://github.com/home-assistant/core/issues/149704 "dj_j1bgp31cffutizub", # https://github.com/home-assistant/core/issues/149704 + "dj_kgaob37tz2muf3mi", # https://github.com/home-assistant/core/issues/150856 "dj_lmnt3uyltk1xffrt", # https://github.com/home-assistant/core/issues/149704 "dj_mki13ie507rlry4r", # https://github.com/home-assistant/core/pull/126242 "dj_nbumqpv8vz61enji", # https://github.com/home-assistant/core/issues/149704 @@ -140,6 +147,7 @@ DEVICE_MOCKS = [ "mcs_8yhypbo7", # https://github.com/orgs/home-assistant/discussions/482 "mcs_hx5ztlztij4yxxvg", # https://github.com/home-assistant/core/issues/148347 "mcs_qxu3flpqjsc1kqu3", # https://github.com/home-assistant/core/issues/141278 + "mzj_jlapoy5liocmtdvd", # https://github.com/home-assistant/core/issues/150662 "mzj_qavcakohisj5adyh", # https://github.com/home-assistant/core/issues/141278 "ntq_9mqdhwklpvnnvb7t", # https://github.com/orgs/home-assistant/discussions/517 "pc_t2afic7i3v1bwhfp", # https://github.com/home-assistant/core/issues/149704 @@ -157,10 +165,14 @@ DEVICE_MOCKS = [ "sd_i6hyjg3af7doaswm", # https://github.com/orgs/home-assistant/discussions/539 "sd_lr33znaodtyarrrz", # https://github.com/home-assistant/core/issues/141278 "sfkzq_1fcnd8xk", # https://github.com/orgs/home-assistant/discussions/539 + "sfkzq_d4vpmigg", # https://github.com/home-assistant/core/issues/150662 "sfkzq_ed7frwissyqrejic", # https://github.com/home-assistant/core/pull/149236 + "sfkzq_nxquc5lb", # https://github.com/home-assistant/core/issues/150662 "sfkzq_o6dagifntoafakst", # https://github.com/home-assistant/core/issues/148116 "sfkzq_rzklytdei8i8vo37", # https://github.com/home-assistant/core/issues/146164 + "sgbj_im2eqqhj72suwwko", # https://github.com/home-assistant/core/issues/151082 "sgbj_ulv4nnue7gqp0rjk", # https://github.com/home-assistant/core/issues/149704 + "sj_rzeSU2h9uoklxEwq", # https://github.com/home-assistant/core/issues/150683 "sj_tgvtvdoc", # https://github.com/orgs/home-assistant/discussions/482 "sp_drezasavompxpcgm", # https://github.com/home-assistant/core/issues/149704 "sp_nzauwyj3mcnjnf35", # https://github.com/home-assistant/core/issues/141278 @@ -176,9 +188,11 @@ DEVICE_MOCKS = [ "tyndj_pyakuuoc", # https://github.com/home-assistant/core/issues/149704 "wfcon_b25mh8sxawsgndck", # https://github.com/home-assistant/core/issues/149704 "wfcon_lieerjyy6l4ykjor", # https://github.com/home-assistant/core/issues/136055 + "wg2_2gowdgni", # https://github.com/home-assistant/core/issues/150856 "wg2_haclbl0qkqlf2qds", # https://github.com/orgs/home-assistant/discussions/517 "wg2_nwxr8qcu4seltoro", # https://github.com/orgs/home-assistant/discussions/430 "wg2_setmxeqgs63xwopm", # https://github.com/orgs/home-assistant/discussions/539 + "wg2_tmwhss6ntjfc7prs", # https://github.com/home-assistant/core/issues/150662 "wg2_v7owd9tzcaninc36", # https://github.com/orgs/home-assistant/discussions/539 "wk_6kijc7nd", # https://github.com/home-assistant/core/issues/136513 "wk_aqoouq7x", # https://github.com/home-assistant/core/issues/146263 @@ -189,6 +203,7 @@ DEVICE_MOCKS = [ "wk_y5obtqhuztqsf2mj", # https://github.com/home-assistant/core/issues/139735 "wkcz_gc4b1mdw7kebtuyz", # https://github.com/home-assistant/core/issues/135617 "wnykq_npbbca46yiug8ysk", # https://github.com/orgs/home-assistant/discussions/539 + "wnykq_om518smspsaltzdi", # https://github.com/home-assistant/core/issues/150662 "wnykq_rqhxdyusjrwxyff6", # https://github.com/home-assistant/core/issues/133173 "wsdcg_g2y6z3p3ja2qhyav", # https://github.com/home-assistant/core/issues/102769 "wsdcg_iq4ygaai", # https://github.com/orgs/home-assistant/discussions/482 diff --git a/tests/components/tuya/fixtures/ckmkzq_1yyqfw4djv9eii3q.json b/tests/components/tuya/fixtures/ckmkzq_1yyqfw4djv9eii3q.json new file mode 100644 index 00000000000..ba3bb5b2cf3 --- /dev/null +++ b/tests/components/tuya/fixtures/ckmkzq_1yyqfw4djv9eii3q.json @@ -0,0 +1,59 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Garage door ", + "category": "ckmkzq", + "product_id": "1yyqfw4djv9eii3q", + "product_name": "Garage door ", + "online": true, + "sub": false, + "time_zone": "-05:00", + "active_time": "2024-07-31T17:45:05+00:00", + "create_time": "2024-07-31T17:45:05+00:00", + "update_time": "2024-07-31T17:45:05+00:00", + "function": { + "switch_1": { + "type": "Boolean", + "value": {} + }, + "countdown_1": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + } + }, + "status_range": { + "switch_1": { + "type": "Boolean", + "value": {} + }, + "countdown_1": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + }, + "doorcontact_state": { + "type": "Boolean", + "value": {} + } + }, + "status": { + "switch_1": false, + "countdown_1": 0, + "doorcontact_state": true + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/cl_669wsr2w4cvinbh4.json b/tests/components/tuya/fixtures/cl_669wsr2w4cvinbh4.json new file mode 100644 index 00000000000..de20e242236 --- /dev/null +++ b/tests/components/tuya/fixtures/cl_669wsr2w4cvinbh4.json @@ -0,0 +1,138 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "VIVIDSTORM SCREEN", + "category": "cl", + "product_id": "669wsr2w4cvinbh4", + "product_name": "VIVIDSTORM SCREEN", + "online": true, + "sub": false, + "time_zone": "-05:00", + "active_time": "2025-08-15T17:34:27+00:00", + "create_time": "2025-08-15T17:34:27+00:00", + "update_time": "2025-08-15T17:34:27+00:00", + "function": { + "control": { + "type": "Enum", + "value": { + "range": ["open", "stop", "close", "continue"] + } + }, + "percent_control": { + "type": "Integer", + "value": { + "unit": "%", + "min": 0, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "control_back_mode": { + "type": "Enum", + "value": { + "range": ["forward", "back"] + } + }, + "border": { + "type": "Enum", + "value": { + "range": ["up", "down", "up_delete", "down_delete", "remove_top_bottom"] + } + } + }, + "status_range": { + "control": { + "type": "Enum", + "value": { + "range": ["open", "stop", "close", "continue"] + } + }, + "percent_control": { + "type": "Integer", + "value": { + "unit": "%", + "min": 0, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "percent_state": { + "type": "Integer", + "value": { + "unit": "%", + "min": 0, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "control_back_mode": { + "type": "Enum", + "value": { + "range": ["forward", "back"] + } + }, + "work_state": { + "type": "Enum", + "value": { + "range": ["opening", "closing"] + } + }, + "countdown_left": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + }, + "time_total": { + "type": "Integer", + "value": { + "unit": "ms", + "min": 0, + "max": 120000, + "scale": 0, + "step": 1 + } + }, + "situation_set": { + "type": "Enum", + "value": { + "range": ["fully_open", "fully_close"] + } + }, + "fault": { + "type": "Bitmap", + "value": { + "label": ["motor_fault"] + } + }, + "border": { + "type": "Enum", + "value": { + "range": ["up", "down", "up_delete", "down_delete", "remove_top_bottom"] + } + } + }, + "status": { + "control": "open", + "percent_control": 0, + "percent_state": 0, + "control_back_mode": "forward", + "work_state": "opening", + "countdown_left": 0, + "time_total": 0, + "situation_set": "fully_open", + "fault": 0, + "border": "down" + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/cz_AiHXxAyyn7eAkLQY.json b/tests/components/tuya/fixtures/cz_AiHXxAyyn7eAkLQY.json new file mode 100644 index 00000000000..67510bc7ec3 --- /dev/null +++ b/tests/components/tuya/fixtures/cz_AiHXxAyyn7eAkLQY.json @@ -0,0 +1,54 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Solar Heater Pump", + "category": "cz", + "product_id": "AiHXxAyyn7eAkLQY", + "product_name": "Mini Smart Plug", + "online": true, + "sub": false, + "time_zone": "-05:00", + "active_time": "2021-07-13T21:37:26+00:00", + "create_time": "2021-07-13T21:37:26+00:00", + "update_time": "2021-07-13T21:37:26+00:00", + "function": { + "switch_1": { + "type": "Boolean", + "value": {} + }, + "countdown_1": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + } + }, + "status_range": { + "switch_1": { + "type": "Boolean", + "value": {} + }, + "countdown_1": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + } + }, + "status": { + "switch_1": true, + "countdown_1": 0 + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/cz_yncyws7tu1q4cpsz.json b/tests/components/tuya/fixtures/cz_yncyws7tu1q4cpsz.json new file mode 100644 index 00000000000..c0cfa202a50 --- /dev/null +++ b/tests/components/tuya/fixtures/cz_yncyws7tu1q4cpsz.json @@ -0,0 +1,37 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Wi-Fi hub", + "category": "cz", + "product_id": "yncyws7tu1q4cpsz", + "product_name": "Wi-Fi hub", + "online": true, + "sub": true, + "time_zone": "-04:00", + "active_time": "2025-08-09T18:54:03+00:00", + "create_time": "2025-08-09T18:54:03+00:00", + "update_time": "2025-08-09T18:54:03+00:00", + "function": { + "relay_status": { + "type": "Enum", + "value": { + "range": ["power_off", "power_on", "last"] + } + } + }, + "status_range": { + "relay_status": { + "type": "Enum", + "value": { + "range": ["power_off", "power_on", "last"] + } + } + }, + "status": { + "relay_status": "power_on" + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/dj_8ugheslg.json b/tests/components/tuya/fixtures/dj_8ugheslg.json new file mode 100644 index 00000000000..870618789c2 --- /dev/null +++ b/tests/components/tuya/fixtures/dj_8ugheslg.json @@ -0,0 +1,57 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "POWERASIA R2", + "category": "dj", + "product_id": "8ugheslg", + "product_name": "POWERASIA", + "online": true, + "sub": true, + "time_zone": "-05:00", + "active_time": "2024-07-27T23:47:47+00:00", + "create_time": "2024-07-27T23:47:47+00:00", + "update_time": "2024-07-27T23:47:47+00:00", + "function": { + "switch_led": { + "type": "Boolean", + "value": {} + }, + "work_mode": { + "type": "Enum", + "value": { + "range": ["white", "colour", "scene", "music"] + } + }, + "bright_value_v2": { + "type": "Integer", + "value": { + "min": 10, + "max": 1000, + "scale": 0, + "step": 1 + } + }, + "temp_value_v2": { + "type": "Integer", + "value": { + "min": 0, + "max": 1000, + "scale": 0, + "step": 1 + } + } + }, + "status_range": { + "switch_led": { + "type": "Boolean", + "value": {} + } + }, + "status": { + "switch_led": true + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/dj_h4aX2JkHZNByQ4AV.json b/tests/components/tuya/fixtures/dj_h4aX2JkHZNByQ4AV.json new file mode 100644 index 00000000000..0f790ecfc34 --- /dev/null +++ b/tests/components/tuya/fixtures/dj_h4aX2JkHZNByQ4AV.json @@ -0,0 +1,54 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Entry Stairs", + "category": "dj", + "product_id": "h4aX2JkHZNByQ4AV", + "product_name": "Smart Dimmer Switch", + "online": false, + "sub": false, + "time_zone": "-05:00", + "active_time": "2023-04-25T13:21:00+00:00", + "create_time": "2023-04-25T13:21:00+00:00", + "update_time": "2023-04-25T13:21:00+00:00", + "function": { + "switch_led": { + "type": "Boolean", + "value": {} + }, + "bright_value": { + "type": "Integer", + "value": { + "min": 25, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + } + } + }, + "status_range": { + "switch_led": { + "type": "Boolean", + "value": {} + }, + "bright_value": { + "type": "Integer", + "value": { + "min": 25, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + } + } + }, + "status": { + "switch_led": false, + "bright_value": 64 + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/dj_kgaob37tz2muf3mi.json b/tests/components/tuya/fixtures/dj_kgaob37tz2muf3mi.json new file mode 100644 index 00000000000..36a2721c58e --- /dev/null +++ b/tests/components/tuya/fixtures/dj_kgaob37tz2muf3mi.json @@ -0,0 +1,548 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Parker Ceiling Fan 1", + "category": "dj", + "product_id": "kgaob37tz2muf3mi", + "product_name": "", + "online": false, + "sub": false, + "time_zone": "-05:00", + "active_time": "2024-04-05T01:27:07+00:00", + "create_time": "2024-04-05T01:27:07+00:00", + "update_time": "2024-04-05T01:27:07+00:00", + "function": { + "switch_led": { + "type": "Boolean", + "value": {} + }, + "work_mode": { + "type": "Enum", + "value": { + "range": ["white", "colour", "scene", "music"] + } + }, + "bright_value_v2": { + "type": "Integer", + "value": { + "min": 10, + "max": 1000, + "scale": 0, + "step": 1 + } + }, + "temp_value_v2": { + "type": "Integer", + "value": { + "min": 0, + "max": 1000, + "scale": 0, + "step": 1 + } + }, + "colour_data_v2": { + "type": "Json", + "value": { + "h": { + "min": 0, + "scale": 0, + "unit": "", + "max": 360, + "step": 1 + }, + "s": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "v": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + } + } + }, + "scene_data_v2": { + "type": "Json", + "value": { + "scene_num": { + "min": 1, + "scale": 0, + "max": 8, + "step": 1 + }, + "scene_units": { + "unit_change_mode": { + "range": ["static", "jump", "gradient"] + }, + "unit_switch_duration": { + "min": 0, + "scale": 0, + "max": 100, + "step": 1 + }, + "unit_gradient_duration": { + "min": 0, + "scale": 0, + "max": 100, + "step": 1 + }, + "bright": { + "min": 0, + "scale": 0, + "max": 1000, + "step": 1 + }, + "temperature": { + "min": 0, + "scale": 0, + "max": 1000, + "step": 1 + }, + "h": { + "min": 0, + "scale": 0, + "unit": "", + "max": 360, + "step": 1 + }, + "s": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "v": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + } + } + } + }, + "countdown_1": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + }, + "music_data": { + "type": "Json", + "value": { + "change_mode": { + "range": ["direct", "gradient"] + }, + "bright": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "temperature": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "h": { + "min": 0, + "scale": 0, + "unit": "", + "max": 360, + "step": 1 + }, + "s": { + "min": 0, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + }, + "v": { + "min": 0, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + } + } + }, + "control_data": { + "type": "Json", + "value": { + "change_mode": { + "range": ["direct", "gradient"] + }, + "bright": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "temperature": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "h": { + "min": 0, + "scale": 0, + "unit": "", + "max": 360, + "step": 1 + }, + "s": { + "min": 0, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + }, + "v": { + "min": 0, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + } + } + }, + "rhythm_mode": { + "type": "Raw", + "value": { + "maxlen": 255 + } + }, + "sleep_mode": { + "type": "Raw", + "value": { + "maxlen": 255 + } + }, + "wakeup_mode": { + "type": "Raw", + "value": { + "maxlen": 255 + } + }, + "power_memory": { + "type": "Raw", + "value": {} + }, + "do_not_disturb": { + "type": "Boolean", + "value": {} + }, + "remote_switch": { + "type": "Boolean", + "value": {} + }, + "random_timing": { + "type": "Raw", + "value": {} + } + }, + "status_range": { + "switch_led": { + "type": "Boolean", + "value": {} + }, + "work_mode": { + "type": "Enum", + "value": { + "range": ["white", "colour", "scene", "music"] + } + }, + "bright_value_v2": { + "type": "Integer", + "value": { + "min": 10, + "max": 1000, + "scale": 0, + "step": 1 + } + }, + "temp_value_v2": { + "type": "Integer", + "value": { + "min": 0, + "max": 1000, + "scale": 0, + "step": 1 + } + }, + "colour_data_v2": { + "type": "Json", + "value": { + "h": { + "min": 0, + "scale": 0, + "unit": "", + "max": 360, + "step": 1 + }, + "s": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "v": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + } + } + }, + "scene_data_v2": { + "type": "Json", + "value": { + "scene_num": { + "min": 1, + "scale": 0, + "max": 8, + "step": 1 + }, + "scene_units": { + "unit_change_mode": { + "range": ["static", "jump", "gradient"] + }, + "unit_switch_duration": { + "min": 0, + "scale": 0, + "max": 100, + "step": 1 + }, + "unit_gradient_duration": { + "min": 0, + "scale": 0, + "max": 100, + "step": 1 + }, + "bright": { + "min": 0, + "scale": 0, + "max": 1000, + "step": 1 + }, + "temperature": { + "min": 0, + "scale": 0, + "max": 1000, + "step": 1 + }, + "h": { + "min": 0, + "scale": 0, + "unit": "", + "max": 360, + "step": 1 + }, + "s": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "v": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + } + } + } + }, + "countdown_1": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + }, + "music_data": { + "type": "Json", + "value": { + "change_mode": { + "range": ["direct", "gradient"] + }, + "bright": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "temperature": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "h": { + "min": 0, + "scale": 0, + "unit": "", + "max": 360, + "step": 1 + }, + "s": { + "min": 0, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + }, + "v": { + "min": 0, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + } + } + }, + "control_data": { + "type": "Json", + "value": { + "change_mode": { + "range": ["direct", "gradient"] + }, + "bright": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "temperature": { + "min": 0, + "scale": 0, + "unit": "", + "max": 1000, + "step": 1 + }, + "h": { + "min": 0, + "scale": 0, + "unit": "", + "max": 360, + "step": 1 + }, + "s": { + "min": 0, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + }, + "v": { + "min": 0, + "scale": 0, + "unit": "", + "max": 255, + "step": 1 + } + } + }, + "rhythm_mode": { + "type": "Raw", + "value": { + "maxlen": "255" + } + }, + "sleep_mode": { + "type": "Raw", + "value": { + "maxlen": "255" + } + }, + "wakeup_mode": { + "type": "Raw", + "value": { + "maxlen": "255" + } + }, + "power_memory": { + "type": "Raw", + "value": {} + }, + "do_not_disturb": { + "type": "Boolean", + "value": {} + }, + "remote_switch": { + "type": "Boolean", + "value": {} + }, + "random_timing": { + "type": "Raw", + "value": {} + } + }, + "status": { + "switch_led": true, + "work_mode": "white", + "bright_value_v2": 1000, + "temp_value_v2": 300, + "colour_data_v2": { + "h": 0, + "s": 1000, + "v": 1000 + }, + "scene_data_v2": { + "scene_num": 1, + "scene_units": [ + { + "bright": 200, + "h": 0, + "s": 0, + "temperature": 0, + "unit_change_mode": "static", + "unit_gradient_duration": 13, + "unit_switch_duration": 14, + "v": 0 + } + ] + }, + "countdown_1": 0, + "music_data": "", + "control_data": "", + "rhythm_mode": "AAAAAAA=", + "sleep_mode": "AAA=", + "wakeup_mode": "AAA=", + "power_memory": "AAEAAAPoA+gD6AEs", + "do_not_disturb": false, + "remote_switch": true, + "random_timing": "AAAA" + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/mzj_jlapoy5liocmtdvd.json b/tests/components/tuya/fixtures/mzj_jlapoy5liocmtdvd.json new file mode 100644 index 00000000000..804004a6d26 --- /dev/null +++ b/tests/components/tuya/fixtures/mzj_jlapoy5liocmtdvd.json @@ -0,0 +1,21 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "ISV-100W2.0", + "category": "mzj", + "product_id": "jlapoy5liocmtdvd", + "product_name": "ISV-100W2.0", + "online": true, + "sub": false, + "time_zone": "-04:00", + "active_time": "2025-08-14T21:06:41+00:00", + "create_time": "2025-08-14T21:06:41+00:00", + "update_time": "2025-08-14T21:06:41+00:00", + "function": {}, + "status_range": {}, + "status": {}, + "set_up": false, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/sfkzq_d4vpmigg.json b/tests/components/tuya/fixtures/sfkzq_d4vpmigg.json new file mode 100644 index 00000000000..922950a358b --- /dev/null +++ b/tests/components/tuya/fixtures/sfkzq_d4vpmigg.json @@ -0,0 +1,130 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Garden Valve Yard", + "category": "sfkzq", + "product_id": "d4vpmigg", + "product_name": "Valve Controller", + "online": true, + "sub": true, + "time_zone": "-04:00", + "active_time": "2025-08-09T19:01:51+00:00", + "create_time": "2025-08-09T19:01:51+00:00", + "update_time": "2025-08-09T19:01:51+00:00", + "function": { + "switch": { + "type": "Boolean", + "value": {} + }, + "time_use": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 2592000, + "scale": 0, + "step": 1 + } + }, + "weather_delay": { + "type": "Enum", + "value": { + "range": ["cancel", "24h", "48h", "72h"] + } + }, + "countdown": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + }, + "smart_weather": { + "type": "Enum", + "value": { + "range": ["sunny", "cloudy", "rainy"] + } + } + }, + "status_range": { + "switch": { + "type": "Boolean", + "value": {} + }, + "battery_percentage": { + "type": "Integer", + "value": { + "unit": "%", + "min": 0, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "time_use": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 2592000, + "scale": 0, + "step": 1 + } + }, + "weather_delay": { + "type": "Enum", + "value": { + "range": ["cancel", "24h", "48h", "72h"] + } + }, + "countdown": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + }, + "work_state": { + "type": "Enum", + "value": { + "range": ["auto", "manual", "idle"] + } + }, + "smart_weather": { + "type": "Enum", + "value": { + "range": ["sunny", "cloudy", "rainy"] + } + }, + "use_time_one": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + } + }, + "status": { + "switch": false, + "battery_percentage": 100, + "time_use": 38201, + "weather_delay": "cancel", + "countdown": 0, + "work_state": "idle", + "smart_weather": "sunny", + "use_time_one": 237 + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/sfkzq_nxquc5lb.json b/tests/components/tuya/fixtures/sfkzq_nxquc5lb.json new file mode 100644 index 00000000000..8ec1e229b85 --- /dev/null +++ b/tests/components/tuya/fixtures/sfkzq_nxquc5lb.json @@ -0,0 +1,130 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Smart Water Timer", + "category": "sfkzq", + "product_id": "nxquc5lb", + "product_name": "Smart Water Timer", + "online": false, + "sub": true, + "time_zone": "-04:00", + "active_time": "2025-08-08T20:15:50+00:00", + "create_time": "2025-08-08T20:15:50+00:00", + "update_time": "2025-08-08T20:15:50+00:00", + "function": { + "switch": { + "type": "Boolean", + "value": {} + }, + "time_use": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 2592000, + "scale": 0, + "step": 1 + } + }, + "weather_delay": { + "type": "Enum", + "value": { + "range": ["cancel", "24h", "48h", "72h"] + } + }, + "countdown": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + }, + "smart_weather": { + "type": "Enum", + "value": { + "range": ["sunny", "cloudy", "rainy"] + } + } + }, + "status_range": { + "switch": { + "type": "Boolean", + "value": {} + }, + "battery_percentage": { + "type": "Integer", + "value": { + "unit": "%", + "min": 0, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "time_use": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 2592000, + "scale": 0, + "step": 1 + } + }, + "weather_delay": { + "type": "Enum", + "value": { + "range": ["cancel", "24h", "48h", "72h"] + } + }, + "countdown": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + }, + "work_state": { + "type": "Enum", + "value": { + "range": ["auto", "manual", "idle"] + } + }, + "smart_weather": { + "type": "Enum", + "value": { + "range": ["sunny", "cloudy", "rainy"] + } + }, + "use_time_one": { + "type": "Integer", + "value": { + "unit": "s", + "min": 0, + "max": 86400, + "scale": 0, + "step": 1 + } + } + }, + "status": { + "switch": false, + "battery_percentage": 100, + "time_use": 2, + "weather_delay": "cancel", + "countdown": 599, + "work_state": "idle", + "smart_weather": "sunny", + "use_time_one": 2 + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/sgbj_im2eqqhj72suwwko.json b/tests/components/tuya/fixtures/sgbj_im2eqqhj72suwwko.json new file mode 100644 index 00000000000..1ceff88bb55 --- /dev/null +++ b/tests/components/tuya/fixtures/sgbj_im2eqqhj72suwwko.json @@ -0,0 +1,92 @@ +{ + "endpoint": "https://apigw.tuyaeu.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Siren", + "category": "sgbj", + "product_id": "im2eqqhj72suwwko", + "product_name": "Outdoor siren", + "online": true, + "sub": false, + "time_zone": "+10:00", + "active_time": "2025-08-24T05:42:34+00:00", + "create_time": "2025-08-24T05:42:34+00:00", + "update_time": "2025-08-24T05:42:34+00:00", + "function": { + "alarm_state": { + "type": "Enum", + "value": { + "range": ["alarm_sound", "alarm_light", "alarm_sound_light", "normal"] + } + }, + "alarm_volume": { + "type": "Enum", + "value": { + "range": ["low", "middle", "high", "mute"] + } + }, + "alarm_time": { + "type": "Integer", + "value": { + "unit": "min", + "min": 1, + "max": 10, + "scale": 0, + "step": 1 + } + } + }, + "status_range": { + "alarm_state": { + "type": "Enum", + "value": { + "range": ["alarm_sound", "alarm_light", "alarm_sound_light", "normal"] + } + }, + "alarm_volume": { + "type": "Enum", + "value": { + "range": ["low", "middle", "high", "mute"] + } + }, + "charge_state": { + "type": "Boolean", + "value": {} + }, + "alarm_time": { + "type": "Integer", + "value": { + "unit": "min", + "min": 1, + "max": 10, + "scale": 0, + "step": 1 + } + }, + "battery_percentage": { + "type": "Integer", + "value": { + "unit": "%", + "min": 0, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "temper_alarm": { + "type": "Boolean", + "value": {} + } + }, + "status": { + "alarm_state": "normal", + "alarm_volume": "low", + "charge_state": true, + "alarm_time": 1, + "battery_percentage": 77, + "temper_alarm": true + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/sj_rzeSU2h9uoklxEwq.json b/tests/components/tuya/fixtures/sj_rzeSU2h9uoklxEwq.json new file mode 100644 index 00000000000..1db78307f0d --- /dev/null +++ b/tests/components/tuya/fixtures/sj_rzeSU2h9uoklxEwq.json @@ -0,0 +1,41 @@ +{ + "endpoint": "https://apigw.tuyaeu.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Inondation", + "category": "sj", + "product_id": "rzeSU2h9uoklxEwq", + "product_name": "WATER SENSOR", + "online": false, + "sub": true, + "time_zone": "+02:00", + "active_time": "2025-08-13T16:05:44+00:00", + "create_time": "2025-08-13T16:05:44+00:00", + "update_time": "2025-08-13T16:05:44+00:00", + "function": {}, + "status_range": { + "watersensor_state": { + "type": "Enum", + "value": { + "range": ["1", "2"] + } + }, + "battery_percentage": { + "type": "Integer", + "value": { + "unit": "%", + "min": 0, + "max": 100, + "scale": 0, + "step": 1 + } + } + }, + "status": { + "watersensor_state": 2, + "battery_percentage": 100 + }, + "set_up": true, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/wg2_2gowdgni.json b/tests/components/tuya/fixtures/wg2_2gowdgni.json new file mode 100644 index 00000000000..29b5204f72e --- /dev/null +++ b/tests/components/tuya/fixtures/wg2_2gowdgni.json @@ -0,0 +1,77 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Mesh-Gateway", + "category": "wg2", + "product_id": "2gowdgni", + "product_name": "Mesh-Gateway", + "online": true, + "sub": true, + "time_zone": "-05:00", + "active_time": "2024-07-29T18:45:22+00:00", + "create_time": "2024-07-29T18:45:22+00:00", + "update_time": "2024-07-29T18:45:22+00:00", + "function": { + "switch_alarm_sound": { + "type": "Boolean", + "value": {} + }, + "muffling": { + "type": "Boolean", + "value": {} + }, + "master_state": { + "type": "Enum", + "value": { + "range": ["normal", "alarm"] + } + }, + "factory_reset": { + "type": "Boolean", + "value": {} + }, + "alarm_active": { + "type": "String", + "value": { + "maxlen": 255 + } + } + }, + "status_range": { + "switch_alarm_sound": { + "type": "Boolean", + "value": {} + }, + "muffling": { + "type": "Boolean", + "value": {} + }, + "master_state": { + "type": "Enum", + "value": { + "range": ["normal", "alarm"] + } + }, + "factory_reset": { + "type": "Boolean", + "value": {} + }, + "alarm_active": { + "type": "String", + "value": { + "maxlen": 255 + } + } + }, + "status": { + "switch_alarm_sound": false, + "muffling": false, + "master_state": "normal", + "factory_reset": false, + "alarm_active": "" + }, + "set_up": false, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/wg2_tmwhss6ntjfc7prs.json b/tests/components/tuya/fixtures/wg2_tmwhss6ntjfc7prs.json new file mode 100644 index 00000000000..ee188017887 --- /dev/null +++ b/tests/components/tuya/fixtures/wg2_tmwhss6ntjfc7prs.json @@ -0,0 +1,21 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Gateway", + "category": "wg2", + "product_id": "tmwhss6ntjfc7prs", + "product_name": "Gateway", + "online": false, + "sub": true, + "time_zone": "-04:00", + "active_time": "2025-08-08T19:16:25+00:00", + "create_time": "2025-08-08T19:16:25+00:00", + "update_time": "2025-08-08T19:16:25+00:00", + "function": {}, + "status_range": {}, + "status": {}, + "set_up": false, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/wnykq_om518smspsaltzdi.json b/tests/components/tuya/fixtures/wnykq_om518smspsaltzdi.json new file mode 100644 index 00000000000..537e9604953 --- /dev/null +++ b/tests/components/tuya/fixtures/wnykq_om518smspsaltzdi.json @@ -0,0 +1,21 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "Smart IR Theater", + "category": "wnykq", + "product_id": "om518smspsaltzdi", + "product_name": "Smart IR", + "online": false, + "sub": false, + "time_zone": "-05:00", + "active_time": "2025-08-08T21:06:47+00:00", + "create_time": "2025-08-08T21:06:47+00:00", + "update_time": "2025-08-08T21:06:47+00:00", + "function": {}, + "status_range": {}, + "status": {}, + "set_up": false, + "support_local": true +} diff --git a/tests/components/tuya/snapshots/test_binary_sensor.ambr b/tests/components/tuya/snapshots/test_binary_sensor.ambr index c2f246fb9e9..ad1838b6755 100644 --- a/tests/components/tuya/snapshots/test_binary_sensor.ambr +++ b/tests/components/tuya/snapshots/test_binary_sensor.ambr @@ -734,6 +734,104 @@ 'state': 'off', }) # --- +# name: test_platform_setup_and_discovery[binary_sensor.inondation_moisture-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.inondation_moisture', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Moisture', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'tuya.qwExlkou9h2USezrjswatersensor_state', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[binary_sensor.inondation_moisture-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'moisture', + 'friendly_name': 'Inondation Moisture', + }), + 'context': , + 'entity_id': 'binary_sensor.inondation_moisture', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unavailable', + }) +# --- +# name: test_platform_setup_and_discovery[binary_sensor.mesh_gateway_problem-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': , + 'entity_id': 'binary_sensor.mesh_gateway_problem', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Problem', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'tuya.ingdwog22gwmaster_state', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[binary_sensor.mesh_gateway_problem-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'problem', + 'friendly_name': 'Mesh-Gateway Problem', + }), + 'context': , + 'entity_id': 'binary_sensor.mesh_gateway_problem', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- # name: test_platform_setup_and_discovery[binary_sensor.motion_sensor_lidl_zigbee_motion-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ diff --git a/tests/components/tuya/snapshots/test_cover.ambr b/tests/components/tuya/snapshots/test_cover.ambr index 0ba09112408..f18c96596b1 100644 --- a/tests/components/tuya/snapshots/test_cover.ambr +++ b/tests/components/tuya/snapshots/test_cover.ambr @@ -101,6 +101,56 @@ 'state': 'open', }) # --- +# name: test_platform_setup_and_discovery[cover.garage_door_door_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'cover', + 'entity_category': None, + 'entity_id': 'cover.garage_door_door_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Door 1', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': , + 'translation_key': 'indexed_door', + 'unique_id': 'tuya.q3iie9vjd4wfqyy1qzkmkcswitch_1', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[cover.garage_door_door_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'garage', + 'friendly_name': 'Garage door Door 1', + 'supported_features': , + }), + 'context': , + 'entity_id': 'cover.garage_door_door_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'open', + }) +# --- # name: test_platform_setup_and_discovery[cover.kitchen_blinds_blind-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -356,3 +406,54 @@ 'state': 'closed', }) # --- +# name: test_platform_setup_and_discovery[cover.vividstorm_screen_curtain-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'cover', + 'entity_category': None, + 'entity_id': 'cover.vividstorm_screen_curtain', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Curtain', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': , + 'translation_key': 'curtain', + 'unique_id': 'tuya.4hbnivc4w2rsw966lccontrol', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[cover.vividstorm_screen_curtain-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'current_position': 100, + 'device_class': 'curtain', + 'friendly_name': 'VIVIDSTORM SCREEN Curtain', + 'supported_features': , + }), + 'context': , + 'entity_id': 'cover.vividstorm_screen_curtain', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'open', + }) +# --- diff --git a/tests/components/tuya/snapshots/test_init.ambr b/tests/components/tuya/snapshots/test_init.ambr index 62e849a5509..a70d38c6fbc 100644 --- a/tests/components/tuya/snapshots/test_init.ambr +++ b/tests/components/tuya/snapshots/test_init.ambr @@ -309,6 +309,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[4hbnivc4w2rsw966lc] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + '4hbnivc4w2rsw966lc', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'VIVIDSTORM SCREEN', + 'model_id': '669wsr2w4cvinbh4', + 'name': 'VIVIDSTORM SCREEN', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[4pa1uobdjd] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -1270,6 +1301,68 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[VA4QyBNZHkJ2Xa4hjd] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'VA4QyBNZHkJ2Xa4hjd', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Smart Dimmer Switch', + 'model_id': 'h4aX2JkHZNByQ4AV', + 'name': 'Entry Stairs', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- +# name: test_device_registry[YQLkAe7nyyAxXHiAzc] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'YQLkAe7nyyAxXHiAzc', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Mini Smart Plug', + 'model_id': 'AiHXxAyyn7eAkLQY', + 'name': 'Solar Heater Pump', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[ZgXzZULP6dDp4Atvgcdsw] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -1735,6 +1828,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[bl5cuqxnqzkfs] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'bl5cuqxnqzkfs', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Smart Water Timer', + 'model_id': 'nxquc5lb', + 'name': 'Smart Water Timer', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[buzituffc13pgb1jjd] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -2107,6 +2231,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[dvdtmcoil5yopaljjzm] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'dvdtmcoil5yopaljjzm', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'ISV-100W2.0 (unsupported)', + 'model_id': 'jlapoy5liocmtdvd', + 'name': 'ISV-100W2.0', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[e2sbdwuga5jorvejtkdy] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -2510,6 +2665,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[ggimpv4dqzkfs] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'ggimpv4dqzkfs', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Valve Controller', + 'model_id': 'd4vpmigg', + 'name': 'Garden Valve Yard', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[ggwxkj8bwn5y63flgcdsw] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -2603,6 +2789,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[glsehgu8jd] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'glsehgu8jd', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'POWERASIA', + 'model_id': '8ugheslg', + 'name': 'POWERASIA R2', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[gluaktf5gk] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -2913,6 +3130,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[idztlaspsms815moqkynw] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'idztlaspsms815moqkynw', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Smart IR (unsupported)', + 'model_id': 'om518smspsaltzdi', + 'name': 'Smart IR Theater', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[ifzgvpgoodrfw2aksc] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -3099,6 +3347,68 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[im3fum2zt73boagkjd] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'im3fum2zt73boagkjd', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': '', + 'model_id': 'kgaob37tz2muf3mi', + 'name': 'Parker Ceiling Fan 1', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- +# name: test_device_registry[ingdwog22gw] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'ingdwog22gw', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Mesh-Gateway', + 'model_id': '2gowdgni', + 'name': 'Mesh-Gateway', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[iomszlsve0yyzkfwqswwc] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -4091,6 +4401,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[okwwus27jhqqe2mijbgs] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'okwwus27jhqqe2mijbgs', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Outdoor siren', + 'model_id': 'im2eqqhj72suwwko', + 'name': 'Siren', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[ol8xwtcj42eg18bdbrnz] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -4463,6 +4804,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[q3iie9vjd4wfqyy1qzkmkc] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'q3iie9vjd4wfqyy1qzkmkc', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Garage door ', + 'model_id': '1yyqfw4djv9eii3q', + 'name': 'Garage door ', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[q62sg0p3s52thp6zzc] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -4649,6 +5021,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[qwExlkou9h2USezrjs] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'qwExlkou9h2USezrjs', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'WATER SENSOR', + 'model_id': 'rzeSU2h9uoklxEwq', + 'name': 'Inondation', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[qyy1auihjyoogvb7zdccq] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -5083,6 +5486,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[srp7cfjtn6sshwmt2gw] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'srp7cfjtn6sshwmt2gw', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Gateway (unsupported)', + 'model_id': 'tmwhss6ntjfc7prs', + 'name': 'Gateway', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[svjjuwykgijjedurps] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -6261,6 +6695,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[zspc4q1ut7swycnyzc] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'zspc4q1ut7swycnyzc', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Wi-Fi hub', + 'model_id': 'yncyws7tu1q4cpsz', + 'name': 'Wi-Fi hub', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[zspxfhsvgn2hgtndzc] DeviceRegistryEntrySnapshot({ 'area_id': None, diff --git a/tests/components/tuya/snapshots/test_light.ambr b/tests/components/tuya/snapshots/test_light.ambr index c18de2a2285..c04cee4a46d 100644 --- a/tests/components/tuya/snapshots/test_light.ambr +++ b/tests/components/tuya/snapshots/test_light.ambr @@ -992,6 +992,62 @@ 'state': 'on', }) # --- +# name: test_platform_setup_and_discovery[light.entry_stairs-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'supported_color_modes': list([ + , + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'light', + 'entity_category': None, + 'entity_id': 'light.entry_stairs', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': None, + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'tuya.VA4QyBNZHkJ2Xa4hjdswitch_led', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[light.entry_stairs-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Entry Stairs', + 'supported_color_modes': list([ + , + ]), + 'supported_features': , + }), + 'context': , + 'entity_id': 'light.entry_stairs', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unavailable', + }) +# --- # name: test_platform_setup_and_discovery[light.erker_1_gold-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -2225,6 +2281,72 @@ 'state': 'on', }) # --- +# name: test_platform_setup_and_discovery[light.parker_ceiling_fan_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'max_color_temp_kelvin': 6500, + 'max_mireds': 500, + 'min_color_temp_kelvin': 2000, + 'min_mireds': 153, + 'supported_color_modes': list([ + , + , + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'light', + 'entity_category': None, + 'entity_id': 'light.parker_ceiling_fan_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': None, + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'tuya.im3fum2zt73boagkjdswitch_led', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[light.parker_ceiling_fan_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Parker Ceiling Fan 1', + 'max_color_temp_kelvin': 6500, + 'max_mireds': 500, + 'min_color_temp_kelvin': 2000, + 'min_mireds': 153, + 'supported_color_modes': list([ + , + , + ]), + 'supported_features': , + }), + 'context': , + 'entity_id': 'light.parker_ceiling_fan_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unavailable', + }) +# --- # name: test_platform_setup_and_discovery[light.pokerlamp_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -2416,6 +2538,77 @@ 'state': 'off', }) # --- +# name: test_platform_setup_and_discovery[light.powerasia_r2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'max_color_temp_kelvin': 6500, + 'max_mireds': 500, + 'min_color_temp_kelvin': 2000, + 'min_mireds': 153, + 'supported_color_modes': list([ + , + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'light', + 'entity_category': None, + 'entity_id': 'light.powerasia_r2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': None, + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'tuya.glsehgu8jdswitch_led', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[light.powerasia_r2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'brightness': None, + 'color_mode': , + 'color_temp': None, + 'color_temp_kelvin': None, + 'friendly_name': 'POWERASIA R2', + 'hs_color': None, + 'max_color_temp_kelvin': 6500, + 'max_mireds': 500, + 'min_color_temp_kelvin': 2000, + 'min_mireds': 153, + 'rgb_color': None, + 'supported_color_modes': list([ + , + ]), + 'supported_features': , + 'xy_color': None, + }), + 'context': , + 'entity_id': 'light.powerasia_r2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- # name: test_platform_setup_and_discovery[light.sjiethoes-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ diff --git a/tests/components/tuya/snapshots/test_number.ambr b/tests/components/tuya/snapshots/test_number.ambr index 1aa8c3dcca9..bc49b03cd36 100644 --- a/tests/components/tuya/snapshots/test_number.ambr +++ b/tests/components/tuya/snapshots/test_number.ambr @@ -1642,6 +1642,64 @@ 'state': '0.1', }) # --- +# name: test_platform_setup_and_discovery[number.siren_time-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'max': 10.0, + 'min': 1.0, + 'mode': , + 'step': 1.0, + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'number', + 'entity_category': , + 'entity_id': 'number.siren_time', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Time', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'time', + 'unique_id': 'tuya.okwwus27jhqqe2mijbgsalarm_time', + 'unit_of_measurement': 'min', + }) +# --- +# name: test_platform_setup_and_discovery[number.siren_time-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Siren Time', + 'max': 10.0, + 'min': 1.0, + 'mode': , + 'step': 1.0, + 'unit_of_measurement': 'min', + }), + 'context': , + 'entity_id': 'number.siren_time', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '1.0', + }) +# --- # name: test_platform_setup_and_discovery[number.siren_veranda_time-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ diff --git a/tests/components/tuya/snapshots/test_select.ambr b/tests/components/tuya/snapshots/test_select.ambr index fc238604ea3..7c68a647040 100644 --- a/tests/components/tuya/snapshots/test_select.ambr +++ b/tests/components/tuya/snapshots/test_select.ambr @@ -2416,6 +2416,67 @@ 'state': 'unknown', }) # --- +# name: test_platform_setup_and_discovery[select.garden_valve_yard_weather_delay-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'cancel', + '24h', + '48h', + '72h', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.garden_valve_yard_weather_delay', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Weather delay', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'weather_delay', + 'unique_id': 'tuya.ggimpv4dqzkfsweather_delay', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.garden_valve_yard_weather_delay-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Garden Valve Yard Weather delay', + 'options': list([ + 'cancel', + '24h', + '48h', + '72h', + ]), + }), + 'context': , + 'entity_id': 'select.garden_valve_yard_weather_delay', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'cancel', + }) +# --- # name: test_platform_setup_and_discovery[select.hoover_mode-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -3372,6 +3433,67 @@ 'state': 'middle', }) # --- +# name: test_platform_setup_and_discovery[select.siren_volume-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'low', + 'middle', + 'high', + 'mute', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.siren_volume', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Volume', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'volume', + 'unique_id': 'tuya.okwwus27jhqqe2mijbgsalarm_volume', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.siren_volume-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Siren Volume', + 'options': list([ + 'low', + 'middle', + 'high', + 'mute', + ]), + }), + 'context': , + 'entity_id': 'select.siren_volume', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'low', + }) +# --- # name: test_platform_setup_and_discovery[select.smart_odor_eliminator_pro_odor_elimination_mode-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -3429,6 +3551,67 @@ 'state': 'unavailable', }) # --- +# name: test_platform_setup_and_discovery[select.smart_water_timer_weather_delay-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'cancel', + '24h', + '48h', + '72h', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.smart_water_timer_weather_delay', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Weather delay', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'weather_delay', + 'unique_id': 'tuya.bl5cuqxnqzkfsweather_delay', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.smart_water_timer_weather_delay-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Smart Water Timer Weather delay', + 'options': list([ + 'cancel', + '24h', + '48h', + '72h', + ]), + }), + 'context': , + 'entity_id': 'select.smart_water_timer_weather_delay', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unavailable', + }) +# --- # name: test_platform_setup_and_discovery[select.socket3_power_on_behavior-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -4127,6 +4310,63 @@ 'state': 'unavailable', }) # --- +# name: test_platform_setup_and_discovery[select.vividstorm_screen_motor_mode-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'forward', + 'back', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.vividstorm_screen_motor_mode', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Motor mode', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'curtain_motor_mode', + 'unique_id': 'tuya.4hbnivc4w2rsw966lccontrol_back_mode', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.vividstorm_screen_motor_mode-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'VIVIDSTORM SCREEN Motor mode', + 'options': list([ + 'forward', + 'back', + ]), + }), + 'context': , + 'entity_id': 'select.vividstorm_screen_motor_mode', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'forward', + }) +# --- # name: test_platform_setup_and_discovery[select.wallwasher_front_indicator_light_mode-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -4363,3 +4603,62 @@ 'state': 'unavailable', }) # --- +# name: test_platform_setup_and_discovery[select.wi_fi_hub_power_on_behavior-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'power_off', + 'power_on', + 'last', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.wi_fi_hub_power_on_behavior', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Power on behavior', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'relay_status', + 'unique_id': 'tuya.zspc4q1ut7swycnyzcrelay_status', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.wi_fi_hub_power_on_behavior-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Wi-Fi hub Power on behavior', + 'options': list([ + 'power_off', + 'power_on', + 'last', + ]), + }), + 'context': , + 'entity_id': 'select.wi_fi_hub_power_on_behavior', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'power_on', + }) +# --- diff --git a/tests/components/tuya/snapshots/test_sensor.ambr b/tests/components/tuya/snapshots/test_sensor.ambr index 0baf85f05b6..6c11d6034b8 100644 --- a/tests/components/tuya/snapshots/test_sensor.ambr +++ b/tests/components/tuya/snapshots/test_sensor.ambr @@ -5354,6 +5354,111 @@ 'state': '240.7', }) # --- +# name: test_platform_setup_and_discovery[sensor.garden_valve_yard_battery-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.garden_valve_yard_battery', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'battery', + 'unique_id': 'tuya.ggimpv4dqzkfsbattery_percentage', + 'unit_of_measurement': '%', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.garden_valve_yard_battery-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'Garden Valve Yard Battery', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.garden_valve_yard_battery', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '100.0', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.garden_valve_yard_total_watering_time-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.garden_valve_yard_total_watering_time', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Total watering time', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_watering_time', + 'unique_id': 'tuya.ggimpv4dqzkfstime_use', + 'unit_of_measurement': 's', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.garden_valve_yard_total_watering_time-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Garden Valve Yard Total watering time', + 'state_class': , + 'unit_of_measurement': 's', + }), + 'context': , + 'entity_id': 'sensor.garden_valve_yard_total_watering_time', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '38201.0', + }) +# --- # name: test_platform_setup_and_discovery[sensor.gas_sensor_gas-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -6655,6 +6760,59 @@ 'state': '232.1', }) # --- +# name: test_platform_setup_and_discovery[sensor.inondation_battery-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.inondation_battery', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'battery', + 'unique_id': 'tuya.qwExlkou9h2USezrjsbattery_percentage', + 'unit_of_measurement': '%', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.inondation_battery-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'Inondation Battery', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.inondation_battery', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unavailable', + }) +# --- # name: test_platform_setup_and_discovery[sensor.ion1000pro_pm2_5-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -10863,6 +11021,111 @@ 'state': 'unavailable', }) # --- +# name: test_platform_setup_and_discovery[sensor.smart_water_timer_battery-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.smart_water_timer_battery', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'battery', + 'unique_id': 'tuya.bl5cuqxnqzkfsbattery_percentage', + 'unit_of_measurement': '%', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.smart_water_timer_battery-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'Smart Water Timer Battery', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.smart_water_timer_battery', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unavailable', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.smart_water_timer_total_watering_time-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.smart_water_timer_total_watering_time', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Total watering time', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_watering_time', + 'unique_id': 'tuya.bl5cuqxnqzkfstime_use', + 'unit_of_measurement': 's', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.smart_water_timer_total_watering_time-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Smart Water Timer Total watering time', + 'state_class': , + 'unit_of_measurement': 's', + }), + 'context': , + 'entity_id': 'sensor.smart_water_timer_total_watering_time', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unavailable', + }) +# --- # name: test_platform_setup_and_discovery[sensor.smogo_battery-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -12845,6 +13108,55 @@ 'state': '224.6', }) # --- +# name: test_platform_setup_and_discovery[sensor.vividstorm_screen_last_operation_duration-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.vividstorm_screen_last_operation_duration', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Last operation duration', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'last_operation_duration', + 'unique_id': 'tuya.4hbnivc4w2rsw966lctime_total', + 'unit_of_measurement': 'ms', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.vividstorm_screen_last_operation_duration-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'VIVIDSTORM SCREEN Last operation duration', + 'unit_of_measurement': 'ms', + }), + 'context': , + 'entity_id': 'sensor.vividstorm_screen_last_operation_duration', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- # name: test_platform_setup_and_discovery[sensor.water_fountain_filter_duration-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ diff --git a/tests/components/tuya/snapshots/test_switch.ambr b/tests/components/tuya/snapshots/test_switch.ambr index 147c18e9e2a..97ba2e47e11 100644 --- a/tests/components/tuya/snapshots/test_switch.ambr +++ b/tests/components/tuya/snapshots/test_switch.ambr @@ -3871,6 +3871,54 @@ 'state': 'on', }) # --- +# name: test_platform_setup_and_discovery[switch.garden_valve_yard_switch-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': None, + 'entity_id': 'switch.garden_valve_yard_switch', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Switch', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'switch', + 'unique_id': 'tuya.ggimpv4dqzkfsswitch', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.garden_valve_yard_switch-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Garden Valve Yard Switch', + }), + 'context': , + 'entity_id': 'switch.garden_valve_yard_switch', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- # name: test_platform_setup_and_discovery[switch.hl400_child_lock-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -5224,6 +5272,54 @@ 'state': 'on', }) # --- +# name: test_platform_setup_and_discovery[switch.mesh_gateway_mute-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.mesh_gateway_mute', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Mute', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'mute', + 'unique_id': 'tuya.ingdwog22gwmuffling', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.mesh_gateway_mute-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Mesh-Gateway Mute', + }), + 'context': , + 'entity_id': 'switch.mesh_gateway_mute', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- # name: test_platform_setup_and_discovery[switch.multifunction_alarm_arm_beep-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -6826,6 +6922,54 @@ 'state': 'on', }) # --- +# name: test_platform_setup_and_discovery[switch.smart_water_timer_switch-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': None, + 'entity_id': 'switch.smart_water_timer_switch', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Switch', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'switch', + 'unique_id': 'tuya.bl5cuqxnqzkfsswitch', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.smart_water_timer_switch-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Smart Water Timer Switch', + }), + 'context': , + 'entity_id': 'switch.smart_water_timer_switch', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unavailable', + }) +# --- # name: test_platform_setup_and_discovery[switch.smoke_alarm_mute-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -7068,6 +7212,55 @@ 'state': 'unavailable', }) # --- +# name: test_platform_setup_and_discovery[switch.solar_heater_pump_socket_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': None, + 'entity_id': 'switch.solar_heater_pump_socket_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Socket 1', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'indexed_socket', + 'unique_id': 'tuya.YQLkAe7nyyAxXHiAzcswitch_1', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.solar_heater_pump_socket_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'outlet', + 'friendly_name': 'Solar Heater Pump Socket 1', + }), + 'context': , + 'entity_id': 'switch.solar_heater_pump_socket_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- # name: test_platform_setup_and_discovery[switch.solar_zijpad_energy_saving-entry] EntityRegistryEntrySnapshot({ 'aliases': set({