|
2 | 2 |
|
3 | 3 | from unittest import mock
|
4 | 4 |
|
5 |
| -from zigpy.zcl import foundation |
6 |
| -from zigpy.zcl.clusters.hvac import ControlSequenceOfOperation, Thermostat |
7 |
| -from zigpy.zcl.foundation import WriteAttributesStatusRecord |
8 |
| - |
9 | 5 | import zhaquirks
|
10 | 6 | from zhaquirks.bosch.rbsh_trv0_zb_eu import (
|
11 | 7 | BoschOperatingMode,
|
12 | 8 | BoschThermostatCluster as BoschTrvThermostatCluster,
|
13 | 9 | )
|
| 10 | +from zigpy.zcl import foundation |
| 11 | +from zigpy.zcl.clusters.hvac import ControlSequenceOfOperation, Thermostat |
| 12 | +from zigpy.zcl.foundation import WriteAttributesStatusRecord |
14 | 13 |
|
15 | 14 | zhaquirks.setup()
|
16 | 15 |
|
@@ -347,6 +346,27 @@ def mock_read(attributes, manufacturer=None):
|
347 | 346 | == ControlSequenceOfOperation.Cooling_Only
|
348 | 347 | )
|
349 | 348 |
|
| 349 | + # -- operating_mode (by-id) in cooling mode |
| 350 | + success, fail = await bosch_thermostat_cluster.write_attributes( |
| 351 | + { |
| 352 | + BoschTrvThermostatCluster.AttributeDefs.operating_mode.id: BoschOperatingMode.Manual, |
| 353 | + } |
| 354 | + ) |
| 355 | + assert success |
| 356 | + assert not fail |
| 357 | + assert ( |
| 358 | + bosch_thermostat_cluster._attr_cache[ |
| 359 | + BoschTrvThermostatCluster.AttributeDefs.operating_mode.id |
| 360 | + ] |
| 361 | + == BoschOperatingMode.Manual |
| 362 | + ) |
| 363 | + assert ( |
| 364 | + bosch_thermostat_cluster._attr_cache[ |
| 365 | + Thermostat.AttributeDefs.system_mode.id |
| 366 | + ] |
| 367 | + == Thermostat.SystemMode.Cool |
| 368 | + ) |
| 369 | + |
350 | 370 | # -- operating_mode (by-id) gets ignored when system_mode is written
|
351 | 371 | success, fail = await bosch_thermostat_cluster.write_attributes(
|
352 | 372 | {
|
|
0 commit comments