Skip to content

Commit a13cdbd

Browse files
davidXireepenet
andauthored
Add new Tuya dehumidifier test fixture (home-assistant#156799)
Co-authored-by: epenet <[email protected]>
1 parent 1bf713f commit a13cdbd

File tree

8 files changed

+632
-0
lines changed

8 files changed

+632
-0
lines changed

tests/components/tuya/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"cs_ka2wfrdoogpvgzfi", # https://github.com/home-assistant/core/issues/119865
4141
"cs_qhxmvae667uap4zh", # https://github.com/home-assistant/core/issues/141278
4242
"cs_vmxuxszzjwp5smli", # https://github.com/home-assistant/core/issues/119865
43+
"cs_u0wirz487erb0eka", # https://github.com/home-assistant/core/issues/155364
4344
"cs_zibqa9dutqyaxym2", # https://github.com/home-assistant/core/pull/125098
4445
"cwjwq_agwu93lr", # https://github.com/orgs/home-assistant/discussions/79
4546
"cwwsq_lxfvx41gqdotrkgi", # https://github.com/orgs/home-assistant/discussions/730
Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
{
2+
"endpoint": "https://apigw.tuyaeu.com",
3+
"mqtt_connected": true,
4+
"disabled_by": null,
5+
"disabled_polling": false,
6+
"name": "D\u00e9shumidificateur Silencieux OmniDry 20L avec Mode Linge",
7+
"category": "cs",
8+
"product_id": "u0wirz487erb0eka",
9+
"product_name": "Pro Breeze 20L Compressor Dehumidifier",
10+
"online": true,
11+
"sub": false,
12+
"time_zone": "+01:00",
13+
"active_time": "2025-11-11T11:27:44+00:00",
14+
"create_time": "2025-11-11T11:27:44+00:00",
15+
"update_time": "2025-11-11T11:27:44+00:00",
16+
"function": {
17+
"switch": {
18+
"type": "Boolean",
19+
"value": {}
20+
},
21+
"dehumidify_set_value": {
22+
"type": "Integer",
23+
"value": {
24+
"unit": "%",
25+
"min": 30,
26+
"max": 80,
27+
"scale": 0,
28+
"step": 5
29+
}
30+
},
31+
"fan_speed_enum": {
32+
"type": "Enum",
33+
"value": {
34+
"range": ["low", "high"]
35+
}
36+
},
37+
"anion": {
38+
"type": "Boolean",
39+
"value": {}
40+
},
41+
"child_lock": {
42+
"type": "Boolean",
43+
"value": {}
44+
},
45+
"countdown_set": {
46+
"type": "Enum",
47+
"value": {
48+
"range": ["cancel", "1h", "2h", "3h"]
49+
}
50+
},
51+
"filter_reset": {
52+
"type": "Boolean",
53+
"value": {}
54+
},
55+
"temp_unit_convert": {
56+
"type": "Enum",
57+
"value": {
58+
"range": ["c", "f"]
59+
}
60+
},
61+
"runtime_total_reset": {
62+
"type": "Boolean",
63+
"value": {}
64+
}
65+
},
66+
"status_range": {
67+
"switch": {
68+
"type": "Boolean",
69+
"value": {}
70+
},
71+
"dehumidify_set_value": {
72+
"type": "Integer",
73+
"value": {
74+
"unit": "%",
75+
"min": 30,
76+
"max": 80,
77+
"scale": 0,
78+
"step": 5
79+
}
80+
},
81+
"fan_speed_enum": {
82+
"type": "Enum",
83+
"value": {
84+
"range": ["low", "high"]
85+
}
86+
},
87+
"humidity_indoor": {
88+
"type": "Integer",
89+
"value": {
90+
"unit": "%",
91+
"min": 20,
92+
"max": 90,
93+
"scale": 0,
94+
"step": 1
95+
}
96+
},
97+
"temp_indoor": {
98+
"type": "Integer",
99+
"value": {
100+
"unit": "\u2103",
101+
"min": 5,
102+
"max": 38,
103+
"scale": 0,
104+
"step": 1
105+
}
106+
},
107+
"anion": {
108+
"type": "Boolean",
109+
"value": {}
110+
},
111+
"child_lock": {
112+
"type": "Boolean",
113+
"value": {}
114+
},
115+
"countdown_set": {
116+
"type": "Enum",
117+
"value": {
118+
"range": ["cancel", "1h", "2h", "3h"]
119+
}
120+
},
121+
"fault": {
122+
"type": "Bitmap",
123+
"value": {
124+
"label": ["FULL", "Cleaning", "E1", "CL", "CH", "LO", "COIL", "MOTOR"]
125+
}
126+
},
127+
"filter_reset": {
128+
"type": "Boolean",
129+
"value": {}
130+
},
131+
"filter_life": {
132+
"type": "Integer",
133+
"value": {
134+
"unit": "%",
135+
"min": 0,
136+
"max": 100,
137+
"scale": 0,
138+
"step": 1
139+
}
140+
},
141+
"temp_unit_convert": {
142+
"type": "Enum",
143+
"value": {
144+
"range": ["c", "f"]
145+
}
146+
},
147+
"runtime_total_reset": {
148+
"type": "Boolean",
149+
"value": {}
150+
}
151+
},
152+
"status": {
153+
"switch": false,
154+
"dehumidify_set_value": 65,
155+
"fan_speed_enum": "low",
156+
"humidity_indoor": 72,
157+
"temp_indoor": 16,
158+
"anion": false,
159+
"child_lock": false,
160+
"countdown_set": "cancel",
161+
"fault": 1,
162+
"filter_reset": false,
163+
"filter_life": 0,
164+
"temp_unit_convert": "c",
165+
"runtime_total_reset": false
166+
},
167+
"set_up": true,
168+
"support_local": true
169+
}

tests/components/tuya/snapshots/test_fan.ambr

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,63 @@
332332
'state': 'on',
333333
})
334334
# ---
335+
# name: test_platform_setup_and_discovery[fan.deshumidificateur_silencieux_omnidry_20l_avec_mode_linge-entry]
336+
EntityRegistryEntrySnapshot({
337+
'aliases': set({
338+
}),
339+
'area_id': None,
340+
'capabilities': dict({
341+
'preset_modes': list([
342+
]),
343+
}),
344+
'config_entry_id': <ANY>,
345+
'config_subentry_id': <ANY>,
346+
'device_class': None,
347+
'device_id': <ANY>,
348+
'disabled_by': None,
349+
'domain': 'fan',
350+
'entity_category': None,
351+
'entity_id': 'fan.deshumidificateur_silencieux_omnidry_20l_avec_mode_linge',
352+
'has_entity_name': True,
353+
'hidden_by': None,
354+
'icon': None,
355+
'id': <ANY>,
356+
'labels': set({
357+
}),
358+
'name': None,
359+
'options': dict({
360+
}),
361+
'original_device_class': None,
362+
'original_icon': None,
363+
'original_name': None,
364+
'platform': 'tuya',
365+
'previous_unique_id': None,
366+
'suggested_object_id': None,
367+
'supported_features': <FanEntityFeature: 49>,
368+
'translation_key': None,
369+
'unique_id': 'tuya.ake0bre784zriw0usc',
370+
'unit_of_measurement': None,
371+
})
372+
# ---
373+
# name: test_platform_setup_and_discovery[fan.deshumidificateur_silencieux_omnidry_20l_avec_mode_linge-state]
374+
StateSnapshot({
375+
'attributes': ReadOnlyDict({
376+
'friendly_name': 'Déshumidificateur Silencieux OmniDry 20L avec Mode Linge',
377+
'percentage': 50,
378+
'percentage_step': 50.0,
379+
'preset_mode': None,
380+
'preset_modes': list([
381+
]),
382+
'supported_features': <FanEntityFeature: 49>,
383+
}),
384+
'context': <ANY>,
385+
'entity_id': 'fan.deshumidificateur_silencieux_omnidry_20l_avec_mode_linge',
386+
'last_changed': <ANY>,
387+
'last_reported': <ANY>,
388+
'last_updated': <ANY>,
389+
'state': 'off',
390+
})
391+
# ---
335392
# name: test_platform_setup_and_discovery[fan.hl400-entry]
336393
EntityRegistryEntrySnapshot({
337394
'aliases': set({

tests/components/tuya/snapshots/test_humidifier.ambr

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,63 @@
167167
'state': 'on',
168168
})
169169
# ---
170+
# name: test_platform_setup_and_discovery[humidifier.deshumidificateur_silencieux_omnidry_20l_avec_mode_linge-entry]
171+
EntityRegistryEntrySnapshot({
172+
'aliases': set({
173+
}),
174+
'area_id': None,
175+
'capabilities': dict({
176+
'max_humidity': 80,
177+
'min_humidity': 30,
178+
}),
179+
'config_entry_id': <ANY>,
180+
'config_subentry_id': <ANY>,
181+
'device_class': None,
182+
'device_id': <ANY>,
183+
'disabled_by': None,
184+
'domain': 'humidifier',
185+
'entity_category': None,
186+
'entity_id': 'humidifier.deshumidificateur_silencieux_omnidry_20l_avec_mode_linge',
187+
'has_entity_name': True,
188+
'hidden_by': None,
189+
'icon': None,
190+
'id': <ANY>,
191+
'labels': set({
192+
}),
193+
'name': None,
194+
'options': dict({
195+
}),
196+
'original_device_class': <HumidifierDeviceClass.DEHUMIDIFIER: 'dehumidifier'>,
197+
'original_icon': None,
198+
'original_name': None,
199+
'platform': 'tuya',
200+
'previous_unique_id': None,
201+
'suggested_object_id': None,
202+
'supported_features': 0,
203+
'translation_key': None,
204+
'unique_id': 'tuya.ake0bre784zriw0uscswitch',
205+
'unit_of_measurement': None,
206+
})
207+
# ---
208+
# name: test_platform_setup_and_discovery[humidifier.deshumidificateur_silencieux_omnidry_20l_avec_mode_linge-state]
209+
StateSnapshot({
210+
'attributes': ReadOnlyDict({
211+
'current_humidity': 72,
212+
'device_class': 'dehumidifier',
213+
'friendly_name': 'Déshumidificateur Silencieux OmniDry 20L avec Mode Linge',
214+
'humidity': 65,
215+
'max_humidity': 80,
216+
'min_humidity': 30,
217+
'supported_features': <HumidifierEntityFeature: 0>,
218+
}),
219+
'context': <ANY>,
220+
'entity_id': 'humidifier.deshumidificateur_silencieux_omnidry_20l_avec_mode_linge',
221+
'last_changed': <ANY>,
222+
'last_reported': <ANY>,
223+
'last_updated': <ANY>,
224+
'state': 'off',
225+
})
226+
# ---
170227
# name: test_platform_setup_and_discovery[humidifier.klarta_humea-entry]
171228
EntityRegistryEntrySnapshot({
172229
'aliases': set({

tests/components/tuya/snapshots/test_init.ambr

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1921,6 +1921,37 @@
19211921
'via_device_id': None,
19221922
})
19231923
# ---
1924+
# name: test_device_registry[ake0bre784zriw0usc]
1925+
DeviceRegistryEntrySnapshot({
1926+
'area_id': None,
1927+
'config_entries': <ANY>,
1928+
'config_entries_subentries': <ANY>,
1929+
'configuration_url': None,
1930+
'connections': set({
1931+
}),
1932+
'disabled_by': None,
1933+
'entry_type': None,
1934+
'hw_version': None,
1935+
'id': <ANY>,
1936+
'identifiers': set({
1937+
tuple(
1938+
'tuya',
1939+
'ake0bre784zriw0usc',
1940+
),
1941+
}),
1942+
'labels': set({
1943+
}),
1944+
'manufacturer': 'Tuya',
1945+
'model': 'Pro Breeze 20L Compressor Dehumidifier',
1946+
'model_id': 'u0wirz487erb0eka',
1947+
'name': 'Déshumidificateur Silencieux OmniDry 20L avec Mode Linge',
1948+
'name_by_user': None,
1949+
'primary_config_entry': <ANY>,
1950+
'serial_number': None,
1951+
'sw_version': None,
1952+
'via_device_id': None,
1953+
})
1954+
# ---
19241955
# name: test_device_registry[ao3z3oeyvepe8o3xqdt]
19251956
DeviceRegistryEntrySnapshot({
19261957
'area_id': None,

0 commit comments

Comments
 (0)