pyvesync 2.1.17__tar.gz → 2.1.18__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyvesync-2.1.17/src/pyvesync.egg-info → pyvesync-2.1.18}/PKG-INFO +1 -1
- {pyvesync-2.1.17 → pyvesync-2.1.18}/setup.py +1 -1
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync/vesyncfan.py +32 -5
- {pyvesync-2.1.17 → pyvesync-2.1.18/src/pyvesync.egg-info}/PKG-INFO +1 -1
- {pyvesync-2.1.17 → pyvesync-2.1.18}/LICENSE +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/MANIFEST.in +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/README.md +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/requirements.txt +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/setup.cfg +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync/__init__.py +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync/helpers.py +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync/vesync.py +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync/vesyncbasedevice.py +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync/vesyncbulb.py +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync/vesynckitchen.py +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync/vesyncoutlet.py +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync/vesyncswitch.py +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync.egg-info/SOURCES.txt +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync.egg-info/dependency_links.txt +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync.egg-info/requires.txt +0 -0
- {pyvesync-2.1.17 → pyvesync-2.1.18}/src/pyvesync.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: pyvesync
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.18
|
|
4
4
|
Summary: pyvesync is a library to manage Etekcity Devices, Cosori Air Fryers and Levoit Air Purifiers run on the VeSync app.
|
|
5
5
|
Home-page: https://github.com/webdjoe/pyvesync
|
|
6
6
|
Author: Mark Perdue, Joe Trabulsy
|
|
@@ -10,7 +10,7 @@ with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f:
|
|
|
10
10
|
|
|
11
11
|
setup(
|
|
12
12
|
name='pyvesync',
|
|
13
|
-
version='2.1.
|
|
13
|
+
version='2.1.18',
|
|
14
14
|
description='pyvesync is a library to manage Etekcity\
|
|
15
15
|
Devices, Cosori Air Fryers and Levoit Air \
|
|
16
16
|
Purifiers run on the VeSync app.',
|
|
@@ -66,7 +66,7 @@ humid_features: dict = {
|
|
|
66
66
|
},
|
|
67
67
|
'OASISMIST1000S': {
|
|
68
68
|
'module': 'VeSyncHumid1000S',
|
|
69
|
-
'models': ['LUH-M101S-WUS'],
|
|
69
|
+
'models': ['LUH-M101S-WUS', 'LUH-M101S-WEUR'],
|
|
70
70
|
'features': [],
|
|
71
71
|
'mist_modes': ['auto', 'sleep', 'manual'],
|
|
72
72
|
'mist_levels': list(range(1, 10))
|
|
@@ -118,7 +118,7 @@ air_features: dict = {
|
|
|
118
118
|
},
|
|
119
119
|
'LV-PUR131S': {
|
|
120
120
|
'module': 'VeSyncAir131',
|
|
121
|
-
'models': ['LV-PUR131S', 'LV-RH131S'],
|
|
121
|
+
'models': ['LV-PUR131S', 'LV-RH131S', 'LV-RH131S-WM'],
|
|
122
122
|
'modes': ['manual', 'auto', 'sleep', 'off'],
|
|
123
123
|
'features': ['air_quality'],
|
|
124
124
|
'levels': list(range(1, 3))
|
|
@@ -366,7 +366,6 @@ class VeSyncAirBypass(VeSyncBaseDevice):
|
|
|
366
366
|
self.details['display'] = dev_dict.get('display', False)
|
|
367
367
|
self.details['child_lock'] = dev_dict.get('child_lock', False)
|
|
368
368
|
self.details['night_light'] = dev_dict.get('night_light', 'off')
|
|
369
|
-
self.details['display'] = dev_dict.get('display', False)
|
|
370
369
|
self.details['display_forever'] = dev_dict.get('display_forever',
|
|
371
370
|
False)
|
|
372
371
|
if self.air_quality_feature is True:
|
|
@@ -1135,6 +1134,15 @@ class VeSyncAirBaseV2(VeSyncAirBypass):
|
|
|
1135
1134
|
"""Return true if light is detected."""
|
|
1136
1135
|
return self.details['environment_light_state']
|
|
1137
1136
|
|
|
1137
|
+
@property
|
|
1138
|
+
def fan_level(self):
|
|
1139
|
+
"""Get current fan level."""
|
|
1140
|
+
try:
|
|
1141
|
+
speed = int(self.set_speed_level)
|
|
1142
|
+
except ValueError:
|
|
1143
|
+
speed = self.set_speed_level
|
|
1144
|
+
return speed
|
|
1145
|
+
|
|
1138
1146
|
def get_details(self) -> None:
|
|
1139
1147
|
"""Build API V2 Purifier details dictionary."""
|
|
1140
1148
|
head, body = self.build_api_dict('getPurifierStatus')
|
|
@@ -1655,6 +1663,14 @@ class VeSyncAir131(VeSyncBaseDevice):
|
|
|
1655
1663
|
"""Get Air Quality."""
|
|
1656
1664
|
return self.details.get('air_quality', 'unknown')
|
|
1657
1665
|
|
|
1666
|
+
@property
|
|
1667
|
+
def display_state(self) -> bool:
|
|
1668
|
+
"""Get display state.
|
|
1669
|
+
|
|
1670
|
+
See [pyvesync.VeSyncAir131.get_details]
|
|
1671
|
+
"""
|
|
1672
|
+
return self.details.get('screen_status', 'unknown') == "on"
|
|
1673
|
+
|
|
1658
1674
|
@property
|
|
1659
1675
|
def screen_status(self) -> str:
|
|
1660
1676
|
"""Return Screen status (on/off)."""
|
|
@@ -2191,6 +2207,11 @@ class VeSyncHumid200300S(VeSyncBaseDevice):
|
|
|
2191
2207
|
"""Turn 200S/300S Humidifier off."""
|
|
2192
2208
|
return self.set_display(False)
|
|
2193
2209
|
|
|
2210
|
+
@property
|
|
2211
|
+
def display_state(self) -> bool:
|
|
2212
|
+
"""Get display state."""
|
|
2213
|
+
return bool(self.details['display'])
|
|
2214
|
+
|
|
2194
2215
|
def set_humidity(self, humidity: int) -> bool:
|
|
2195
2216
|
"""Set target 200S/300S Humidifier humidity."""
|
|
2196
2217
|
if humidity < 30 or humidity > 80:
|
|
@@ -2244,7 +2265,7 @@ class VeSyncHumid200300S(VeSyncBaseDevice):
|
|
|
2244
2265
|
|
|
2245
2266
|
if r is not None and Helpers.code_check(r):
|
|
2246
2267
|
return True
|
|
2247
|
-
logger.debug('Error setting
|
|
2268
|
+
logger.debug('Error setting night light brightness')
|
|
2248
2269
|
return False
|
|
2249
2270
|
|
|
2250
2271
|
def set_humidity_mode(self, mode: str) -> bool:
|
|
@@ -2705,6 +2726,12 @@ class VeSyncSuperior6000S(VeSyncBaseDevice):
|
|
|
2705
2726
|
"""Turn display off."""
|
|
2706
2727
|
return self.set_display_enabled(False)
|
|
2707
2728
|
|
|
2729
|
+
@property
|
|
2730
|
+
def display_state(self) -> bool:
|
|
2731
|
+
"""Get display state."""
|
|
2732
|
+
# This matches the values 0/1 set in set_display_enabled
|
|
2733
|
+
return self.details.get('display') == 1
|
|
2734
|
+
|
|
2708
2735
|
def set_humidity(self, humidity: int) -> bool:
|
|
2709
2736
|
"""Set target humidity for humidity mode."""
|
|
2710
2737
|
if humidity < 30 or humidity > 80:
|
|
@@ -2878,7 +2905,7 @@ class VeSyncSuperior6000S(VeSyncBaseDevice):
|
|
|
2878
2905
|
@property
|
|
2879
2906
|
def auto_humidity(self):
|
|
2880
2907
|
"""Auto target humidity."""
|
|
2881
|
-
return self.
|
|
2908
|
+
return self.details['target_humidity']
|
|
2882
2909
|
|
|
2883
2910
|
@property
|
|
2884
2911
|
def target_humidity(self):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: pyvesync
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.18
|
|
4
4
|
Summary: pyvesync is a library to manage Etekcity Devices, Cosori Air Fryers and Levoit Air Purifiers run on the VeSync app.
|
|
5
5
|
Home-page: https://github.com/webdjoe/pyvesync
|
|
6
6
|
Author: Mark Perdue, Joe Trabulsy
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|