From 129a1905940a0c723dce4890e6d567346967137c Mon Sep 17 00:00:00 2001 From: Clifford Roche <1007595+cmroche@users.noreply.github.com> Date: Thu, 27 Jun 2024 17:53:22 -0400 Subject: [PATCH] fix: Quiet mode to set value 2 not 1 (#88) This was found to be the correct value from testing, see issue #87 --- greeclimate/device.py | 2 +- tests/test_device.py | 2 +- tests/test_issues.py | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/greeclimate/device.py b/greeclimate/device.py index 99f7597..9671b2d 100644 --- a/greeclimate/device.py +++ b/greeclimate/device.py @@ -476,7 +476,7 @@ def quiet(self) -> bool: @quiet.setter def quiet(self, value: bool): - self.set_property(Props.QUIET, int(value)) + self.set_property(Props.QUIET, 2 if value else 0) @property def turbo(self) -> bool: diff --git a/tests/test_device.py b/tests/test_device.py index b476795..9feaced 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -102,7 +102,7 @@ def get_mock_state_on(): "Lig": 1, "SwingLfRig": 1, "SwUpDn": 1, - "Quiet": 1, + "Quiet": 2, "Tur": 1, "StHt": 1, "SvSt": 1, diff --git a/tests/test_issues.py b/tests/test_issues.py index 28bc108..d7bf2aa 100644 --- a/tests/test_issues.py +++ b/tests/test_issues.py @@ -19,3 +19,22 @@ async def test_issue_69_TemSen_40_should_not_set_firmware_v4(mock_request): await device.update_state() assert device.version is None + +"""Tests for issue 72""" + +@pytest.mark.asyncio +@patch("greeclimate.network.send_state") +async def test_issue_87_quiet_should_set_2(mock_request): + """Check that quiet mode uses 2 instead of 1""" + from tests.test_device import generate_device_mock_async + + mock_v3_state = { "Quiet": 2 } + mock_request.return_value = mock_v3_state + device = await generate_device_mock_async() + + assert device.get_property(Props.QUIET) is None + device.quiet = True + await device.push_state_update() + + mock_request.assert_called_once() + assert device.get_property(Props.QUIET) == 2