blueair-api 1.15.2__py3-none-any.whl → 1.16.0__py3-none-any.whl

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.
blueair_api/__init__.py CHANGED
@@ -4,4 +4,4 @@ from .http_aws_blueair import HttpAwsBlueair
4
4
  from .util_bootstrap import get_devices, get_aws_devices
5
5
  from .device import Device
6
6
  from .device_aws import DeviceAws
7
- from .model_enum import ModelEnum
7
+ from .model_enum import ModelEnum, FeatureEnum
blueair_api/model_enum.py CHANGED
@@ -1,9 +1,72 @@
1
- from enum import StrEnum
1
+ from enum import Enum, StrEnum
2
2
 
3
3
 
4
- class ModelEnum(StrEnum):
5
- UNKNOWN = "Unknown"
6
- HUMIDIFIER_H35I = "Blueair Humidifier H35i"
7
- PROTECT_7470I = "Blueair Protect 7470i"
8
- MAX_211I = "Blueair Blue Pure 211i Max"
9
- MAX_311I = "Blueair Blue Pure 311i Max"
4
+ class FeatureEnum(StrEnum):
5
+ TEMPERATURE = "Temperature"
6
+ HUMIDITY = "Humidity"
7
+ VOC = "VOC"
8
+ PM1 = "PM1"
9
+ PM10 = "PM10"
10
+ PM25 = "PM25"
11
+ WATER_SHORTAGE = "Water Shortage"
12
+ FILTER_EXPIRED = "Filter Expired"
13
+
14
+
15
+ class ModelEnum(Enum):
16
+ def __new__(cls, *args, **kwds):
17
+ value = len(cls.__members__) + 1
18
+ obj = object.__new__(cls)
19
+ obj._value_ = value
20
+ return obj
21
+
22
+ def __init__(self,
23
+ name,
24
+ supported_features):
25
+ self.model_name = name
26
+ self.supported_features = supported_features
27
+
28
+ def supports_feature(self, supported_features) -> bool:
29
+ return supported_features in self.supported_features
30
+
31
+ UNKNOWN = "Unknown", [
32
+ FeatureEnum.TEMPERATURE,
33
+ FeatureEnum.HUMIDITY,
34
+ FeatureEnum.WATER_SHORTAGE,
35
+ FeatureEnum.VOC,
36
+ FeatureEnum.PM1,
37
+ FeatureEnum.PM10,
38
+ FeatureEnum.PM25,
39
+ FeatureEnum.FILTER_EXPIRED,
40
+ ]
41
+ HUMIDIFIER_H35I = "Blueair Humidifier H35i", [
42
+ FeatureEnum.TEMPERATURE,
43
+ FeatureEnum.HUMIDITY,
44
+ FeatureEnum.WATER_SHORTAGE,
45
+ ]
46
+ PROTECT_7470I = "Blueair Protect 7470i", [
47
+ FeatureEnum.TEMPERATURE,
48
+ FeatureEnum.HUMIDITY,
49
+ FeatureEnum.VOC,
50
+ FeatureEnum.PM1,
51
+ FeatureEnum.PM10,
52
+ FeatureEnum.PM25,
53
+ FeatureEnum.FILTER_EXPIRED
54
+ ]
55
+ MAX_211I = "Blueair Blue Pure 211i Max", [
56
+ FeatureEnum.TEMPERATURE,
57
+ FeatureEnum.HUMIDITY,
58
+ FeatureEnum.VOC,
59
+ FeatureEnum.PM1,
60
+ FeatureEnum.PM10,
61
+ FeatureEnum.PM25,
62
+ FeatureEnum.FILTER_EXPIRED
63
+ ]
64
+ MAX_311I = "Blueair Blue Pure 311i Max", [
65
+ FeatureEnum.TEMPERATURE,
66
+ FeatureEnum.HUMIDITY,
67
+ FeatureEnum.VOC,
68
+ FeatureEnum.PM1,
69
+ FeatureEnum.PM10,
70
+ FeatureEnum.PM25,
71
+ FeatureEnum.FILTER_EXPIRED
72
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: blueair_api
3
- Version: 1.15.2
3
+ Version: 1.16.0
4
4
  Summary: Blueair Api Wrapper
5
5
  Author-email: Brendan Dahl <dahl.brendan@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/dahlb/blueair_api
@@ -1,4 +1,4 @@
1
- blueair_api/__init__.py,sha256=gk2CZWEnEo4FlP7VcJsDs1kujZ_ryXF5H9n3Kd-4WWo,313
1
+ blueair_api/__init__.py,sha256=GucsIENhTF4AVxPn4Xyr4imUxJJ8RO8RYt1opHCF2hQ,326
2
2
  blueair_api/callbacks.py,sha256=eqgfe1qN_NNWOp2qNSP123zQJxh_Ie6vZXp5EHp6ePc,757
3
3
  blueair_api/const.py,sha256=fRth29dQT1dguM7L4ij8pDefB_vBrevAHqTdfNvSugs,1048
4
4
  blueair_api/device.py,sha256=ogpUE0nH7s4o3rXHkioixm8S_jC79pYya0opLkTbc0c,2362
@@ -6,13 +6,13 @@ blueair_api/device_aws.py,sha256=8UYMInVnBI4nvfKO3ldtI18u99soCM-0FG3Vec8R89c,527
6
6
  blueair_api/errors.py,sha256=lJ_iFU_W6zQfGRi_wsMhWDw-fAVPFeCkCbT1erIlYQQ,233
7
7
  blueair_api/http_aws_blueair.py,sha256=m_qoCFOYICCu_U_maBvkmOha3YmNtxxtPYyapVBGKNc,17821
8
8
  blueair_api/http_blueair.py,sha256=ieDvjs0_DHSJzseO_qdvLIxdrUUHuTgSHjWb6u-_gRs,7350
9
- blueair_api/model_enum.py,sha256=tTPX0tHHERH-mKL5gIe4LgAi3crqRflfkoQLv2jZ8Kw,257
9
+ blueair_api/model_enum.py,sha256=mNhdtt6XwSAe6ux9FtWVZ8DM1k7O1jcTjM1fYylRLUY,1924
10
10
  blueair_api/stub.py,sha256=yJLfmrHjAH0XKl9HVTkKt-Ks9bG6Uhlkn3H2Jf3REJQ,1278
11
11
  blueair_api/util.py,sha256=3L9-vfHfN1vUBYU0BA9ruYyNPUTmS21D-uI-Jyo5x6U,1672
12
12
  blueair_api/util_bootstrap.py,sha256=1IQXZ0_nbRiLYnrnmyQcDMdZ7vi4i_CV78vFRxXCPWY,1602
13
13
  blueair_api/util_http.py,sha256=45AJG3Vb6LMVzI0WV22AoSyt64f_Jj3KpOAwF5M6EFE,1327
14
- blueair_api-1.15.2.dist-info/LICENSE,sha256=W6UV41yCe1R_Avet8VtsxwdJar18n40b3MRnbEMHZmI,1066
15
- blueair_api-1.15.2.dist-info/METADATA,sha256=LgizmreyNDKGwAmKS7he77w2uH9dgeYA7FzXyEzdHnA,1995
16
- blueair_api-1.15.2.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
17
- blueair_api-1.15.2.dist-info/top_level.txt,sha256=-gn0jNtmE83qEu70uMW5F4JrXnHGRfuFup1EPWF70oc,12
18
- blueair_api-1.15.2.dist-info/RECORD,,
14
+ blueair_api-1.16.0.dist-info/LICENSE,sha256=W6UV41yCe1R_Avet8VtsxwdJar18n40b3MRnbEMHZmI,1066
15
+ blueair_api-1.16.0.dist-info/METADATA,sha256=pfD_isWd7rxEOXzhVvbhoR-AmdEpk9YwcRiWOkvZt14,1995
16
+ blueair_api-1.16.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
17
+ blueair_api-1.16.0.dist-info/top_level.txt,sha256=-gn0jNtmE83qEu70uMW5F4JrXnHGRfuFup1EPWF70oc,12
18
+ blueair_api-1.16.0.dist-info/RECORD,,