Skip to content

Commit 23e0f05

Browse files
fix: device fixes (#451)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent e66103e commit 23e0f05

File tree

9 files changed

+10
-18
lines changed

9 files changed

+10
-18
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ repos:
1515
hooks:
1616
- id: mypy
1717
- repo: https://github.com/astral-sh/ruff-pre-commit
18-
rev: v0.14.3
18+
rev: v0.14.4
1919
hooks:
2020
- id: ruff-check
2121
args: [ --fix, --config=ruff.toml ]

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "pyvesync"
7-
version = "3.2.1"
7+
version = "3.2.2"
88
description = "pyvesync is a library to manage Etekcity Devices, Cosori Air Fryers, and Levoit Air Purifiers run on the VeSync app."
99
readme = "README.md"
1010
requires-python = ">=3.11"

src/pyvesync/base_devices/purifier_base.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def __init__(
109109
self.auto_preference_type: str | None = None
110110
self.auto_room_size: int | None = None
111111
self._air_quality_level: AirQualityLevel | None = None
112-
self.child_lock: bool = False
112+
self.child_lock: bool | None = None
113113
self.filter_open_state: bool = False
114114
self.display_status: str | None = None
115115
self.display_set_status: str | None = None
@@ -502,11 +502,11 @@ async def child_lock_off(self) -> bool:
502502

503503
@property
504504
@deprecated('Use self.state.child_lock instead.')
505-
def child_lock(self) -> bool:
505+
def child_lock(self) -> bool | None:
506506
"""Get child lock state.
507507
508508
Returns:
509-
bool : True if child lock is enabled, False if not.
509+
bool | None : True if child lock is enabled, False if not, None if unknown.
510510
"""
511511
return self.state.child_lock
512512

src/pyvesync/device_map.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ class ThermostatMap(DeviceMapTemplate):
697697
),
698698
HumidifierMap(
699699
class_name='VeSyncHumid1000S',
700-
dev_types=['LUH-M101S-WUS', 'LUH-M101S-WEUR', 'LUH-M101S-WUSR'],
700+
dev_types=['LUH-M101S-WUS', 'LUH-M101S-WUSR'],
701701
features=[],
702702
mist_modes={
703703
HumidifierModes.AUTO: 'auto',

src/pyvesync/devices/vesyncoutlet.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -803,7 +803,7 @@ async def get_details(self) -> None:
803803
async def toggle_switch(self, toggle: bool | None = None) -> bool:
804804
if toggle is None:
805805
toggle = self.state.device_status != DeviceStatus.ON
806-
toggle_int = bool(toggle)
806+
toggle_int = int(toggle)
807807
r_dict = await self.call_bypassv2_api(
808808
'setProperty',
809809
data={'powerSwitch_1': toggle_int},

src/tests/api/vesyncoutlet/BSDOG01.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ turn_off:
1414
method: bypassV2
1515
payload:
1616
data:
17-
powerSwitch_1: false
17+
powerSwitch_1: 0
1818
method: setProperty
1919
subDeviceNo: 0
2020
source: APP
@@ -42,7 +42,7 @@ turn_on:
4242
method: bypassV2
4343
payload:
4444
data:
45-
powerSwitch_1: true
45+
powerSwitch_1: 1
4646
method: setProperty
4747
subDeviceNo: 0
4848
source: APP

src/tests/base_test_cases.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from __future__ import annotations
44
from typing import TYPE_CHECKING
55
import asyncio
6-
import logging
76
import pytest
87
from unittest.mock import MagicMock, patch
98

@@ -31,7 +30,6 @@ def setup(self, caplog):
3130
"""
3231
self.mock_api_call = patch("pyvesync.vesync.ClientSession")
3332
self.caplog = caplog
34-
self.caplog.set_level(logging.DEBUG)
3533
self.mock_api = self.mock_api_call.start()
3634
self.loop = asyncio.new_event_loop()
3735
self.mock = MagicMock()
@@ -40,7 +38,6 @@ def setup(self, caplog):
4038
self.manager.redact = False
4139
self.manager.auth._token = TestDefaults.token
4240
self.manager.auth._account_id = TestDefaults.account_id
43-
caplog.set_level(logging.DEBUG)
4441
yield
4542
self.mock.stop()
4643
self.loop.stop()
@@ -84,7 +81,6 @@ def setup(self, caplog):
8481
self.loop = asyncio.new_event_loop()
8582
self.mock_api_call = patch('pyvesync.vesync.VeSync.async_call_api')
8683
self.caplog = caplog
87-
self.caplog.set_level(logging.DEBUG)
8884
self.mock_api = self.mock_api_call.start()
8985
self.mock_api.return_value.ok = True
9086
self.manager = VeSync(TestDefaults.email, TestDefaults.password)
@@ -93,7 +89,6 @@ def setup(self, caplog):
9389
self.manager.enabled = True
9490
self.manager.auth._token = TestDefaults.token
9591
self.manager.auth._account_id = TestDefaults.account_id
96-
caplog.set_level(logging.DEBUG)
9792
yield
9893
self.mock_api_call.stop()
9994

src/tests/call_json_humidifiers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ class HumidifierDefaults:
211211
"screenSwitch": int(HumidifierDefaults.display_config),
212212
"screenState": int(HumidifierDefaults.display),
213213
"nightLight": {
214-
"nightLightSwitch": 0,
214+
"nightLightSwitch": int(HumidifierDefaults.nightlight_status),
215215
"brightness": HumidifierDefaults.nightlight_brightness,
216216
},
217217
"scheduleCount": 0,

src/tests/test_x_vesync_api_responses.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"""General VeSync tests."""
22

3-
import logging
43
import asyncio
54
import orjson
65
import pytest
@@ -69,14 +68,12 @@ def setup(self, caplog):
6968
Class instance with mocked call_api() function and VeSync object
7069
"""
7170
self.caplog = caplog
72-
self.caplog.set_level(logging.DEBUG)
7371
self.loop = asyncio.new_event_loop()
7472
self.mock = MagicMock()
7573
self.manager = VeSync('EMAIL', 'PASSWORD')
7674
self.manager.enabled = True
7775
self.manager.auth._token = TestDefaults.token
7876
self.manager.auth._account_id = TestDefaults.account_id
79-
caplog.set_level(logging.DEBUG)
8077
yield
8178
self.mock.stop()
8279
self.loop.stop()

0 commit comments

Comments
 (0)