PyPlumIO 0.5.53__py3-none-any.whl → 0.5.54__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.
- pyplumio/_version.py +16 -3
- pyplumio/devices/__init__.py +2 -1
- pyplumio/devices/ecomax.py +1 -1
- pyplumio/filters.py +2 -1
- {pyplumio-0.5.53.dist-info → pyplumio-0.5.54.dist-info}/METADATA +9 -9
- {pyplumio-0.5.53.dist-info → pyplumio-0.5.54.dist-info}/RECORD +9 -9
- {pyplumio-0.5.53.dist-info → pyplumio-0.5.54.dist-info}/WHEEL +0 -0
- {pyplumio-0.5.53.dist-info → pyplumio-0.5.54.dist-info}/licenses/LICENSE +0 -0
- {pyplumio-0.5.53.dist-info → pyplumio-0.5.54.dist-info}/top_level.txt +0 -0
pyplumio/_version.py
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
# file generated by setuptools-scm
|
2
2
|
# don't change, don't track in version control
|
3
3
|
|
4
|
-
__all__ = [
|
4
|
+
__all__ = [
|
5
|
+
"__version__",
|
6
|
+
"__version_tuple__",
|
7
|
+
"version",
|
8
|
+
"version_tuple",
|
9
|
+
"__commit_id__",
|
10
|
+
"commit_id",
|
11
|
+
]
|
5
12
|
|
6
13
|
TYPE_CHECKING = False
|
7
14
|
if TYPE_CHECKING:
|
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
|
|
9
16
|
from typing import Union
|
10
17
|
|
11
18
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
19
|
+
COMMIT_ID = Union[str, None]
|
12
20
|
else:
|
13
21
|
VERSION_TUPLE = object
|
22
|
+
COMMIT_ID = object
|
14
23
|
|
15
24
|
version: str
|
16
25
|
__version__: str
|
17
26
|
__version_tuple__: VERSION_TUPLE
|
18
27
|
version_tuple: VERSION_TUPLE
|
28
|
+
commit_id: COMMIT_ID
|
29
|
+
__commit_id__: COMMIT_ID
|
19
30
|
|
20
|
-
__version__ = version = '0.5.
|
21
|
-
__version_tuple__ = version_tuple = (0, 5,
|
31
|
+
__version__ = version = '0.5.54'
|
32
|
+
__version_tuple__ = version_tuple = (0, 5, 54)
|
33
|
+
|
34
|
+
__commit_id__ = commit_id = None
|
pyplumio/devices/__init__.py
CHANGED
@@ -195,6 +195,7 @@ class PhysicalDevice(Device, ABC):
|
|
195
195
|
"""
|
196
196
|
_LOGGER.info("Requesting '%s' with %s", name, repr(frame_type))
|
197
197
|
request = await Request.create(frame_type, recipient=self.address)
|
198
|
+
initial_retries = retries
|
198
199
|
while retries > 0:
|
199
200
|
try:
|
200
201
|
self.queue.put_nowait(request)
|
@@ -204,7 +205,7 @@ class PhysicalDevice(Device, ABC):
|
|
204
205
|
|
205
206
|
raise RequestError(
|
206
207
|
f"Failed to request '{name}' with frame type '{frame_type}' after "
|
207
|
-
f"{
|
208
|
+
f"{initial_retries} retries.",
|
208
209
|
frame_type=frame_type,
|
209
210
|
)
|
210
211
|
|
pyplumio/devices/ecomax.py
CHANGED
@@ -236,7 +236,7 @@ class EcoMAX(PhysicalDevice):
|
|
236
236
|
async def on_event_setup(self, setup: bool) -> None:
|
237
237
|
"""Request frames required to set up an ecoMAX entry."""
|
238
238
|
_LOGGER.debug("Setting up device entry")
|
239
|
-
await self.wait_for(ATTR_SENSORS)
|
239
|
+
await self.wait_for(ATTR_SENSORS, timeout=30.0)
|
240
240
|
results = await asyncio.gather(
|
241
241
|
*(
|
242
242
|
self.request(description.provides, description.frame_type)
|
pyplumio/filters.py
CHANGED
@@ -186,9 +186,10 @@ class _Aggregate(Filter):
|
|
186
186
|
self._values.append(new_value)
|
187
187
|
time_since_call = current_time - self._last_call_time
|
188
188
|
if time_since_call >= self._timeout or len(self._values) >= self._sample_size:
|
189
|
-
|
189
|
+
sum_of_values = (
|
190
190
|
np.sum(self._values) if numpy_installed else sum(self._values)
|
191
191
|
)
|
192
|
+
result = await self._callback(float(sum_of_values))
|
192
193
|
self._last_call_time = current_time
|
193
194
|
self._values = []
|
194
195
|
return result
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: PyPlumIO
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.54
|
4
4
|
Summary: PyPlumIO is a native ecoNET library for Plum ecoMAX controllers.
|
5
5
|
Author-email: Denis Paavilainen <denpa@denpa.pro>
|
6
6
|
License: MIT License
|
@@ -28,23 +28,23 @@ Requires-Dist: pyserial-asyncio==0.6
|
|
28
28
|
Requires-Dist: typing-extensions<5.0,>=4.14.0
|
29
29
|
Provides-Extra: test
|
30
30
|
Requires-Dist: codespell==2.4.1; extra == "test"
|
31
|
-
Requires-Dist: coverage==7.
|
32
|
-
Requires-Dist: freezegun==1.5.
|
33
|
-
Requires-Dist: mypy==1.
|
31
|
+
Requires-Dist: coverage==7.10.5; extra == "test"
|
32
|
+
Requires-Dist: freezegun==1.5.5; extra == "test"
|
33
|
+
Requires-Dist: mypy==1.17.1; extra == "test"
|
34
34
|
Requires-Dist: numpy<3.0.0,>=2.0.0; extra == "test"
|
35
35
|
Requires-Dist: pyserial-asyncio-fast==0.16; extra == "test"
|
36
36
|
Requires-Dist: pytest==8.4.1; extra == "test"
|
37
|
-
Requires-Dist: pytest-asyncio==1.
|
38
|
-
Requires-Dist: ruff==0.12.
|
39
|
-
Requires-Dist: tox==4.
|
40
|
-
Requires-Dist: types-pyserial==3.5.0.
|
37
|
+
Requires-Dist: pytest-asyncio==1.1.0; extra == "test"
|
38
|
+
Requires-Dist: ruff==0.12.10; extra == "test"
|
39
|
+
Requires-Dist: tox==4.28.4; extra == "test"
|
40
|
+
Requires-Dist: types-pyserial==3.5.0.20250822; extra == "test"
|
41
41
|
Provides-Extra: docs
|
42
42
|
Requires-Dist: sphinx==8.1.3; extra == "docs"
|
43
43
|
Requires-Dist: sphinx_rtd_theme==3.0.2; extra == "docs"
|
44
44
|
Requires-Dist: readthedocs-sphinx-search==0.3.2; extra == "docs"
|
45
45
|
Provides-Extra: dev
|
46
46
|
Requires-Dist: pyplumio[docs,test]; extra == "dev"
|
47
|
-
Requires-Dist: pre-commit==4.
|
47
|
+
Requires-Dist: pre-commit==4.3.0; extra == "dev"
|
48
48
|
Requires-Dist: tomli==2.2.1; extra == "dev"
|
49
49
|
Dynamic: license-file
|
50
50
|
|
@@ -1,17 +1,17 @@
|
|
1
1
|
pyplumio/__init__.py,sha256=3H5SO4WFw5mBTFeEyD4w0H8-MsNo93NyOH3RyMN7IS0,3337
|
2
2
|
pyplumio/__main__.py,sha256=3IwHHSq-iay5FaeMc95klobe-xv82yydSKcBE7BFZ6M,500
|
3
|
-
pyplumio/_version.py,sha256=
|
3
|
+
pyplumio/_version.py,sha256=Kso5O0qgc2O4WADsLkE0mLHNOrYeVP6CbRg5BIXR8FM,706
|
4
4
|
pyplumio/connection.py,sha256=u-iOzEUqoEEL4YLpLtzBWi5Qy8_RABgKD8DyXf-er-4,5892
|
5
5
|
pyplumio/const.py,sha256=eoq-WNJ8TO3YlP7dC7KkVQRKGjt9FbRZ6M__s29vb1U,5659
|
6
6
|
pyplumio/data_types.py,sha256=BTDxwErRo_odvFT5DNfIniNh8ZfyjRKEDaJmoEJqdEg,9426
|
7
7
|
pyplumio/exceptions.py,sha256=_B_0EgxDxd2XyYv3WpZM733q0cML5m6J-f55QOvYRpI,996
|
8
|
-
pyplumio/filters.py,sha256=
|
8
|
+
pyplumio/filters.py,sha256=QEtOptXym2Fb82cdPpS1dajkTpvYi3VuQaYoLl4CSQ4,15658
|
9
9
|
pyplumio/protocol.py,sha256=DWM-yJnm2EQPLvGzXNlkQ0IpKQn44e-WkNB_DqZAag8,8313
|
10
10
|
pyplumio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
11
|
pyplumio/stream.py,sha256=zFMKZ_GxsSGcaBTJigVM1CK3uGjlEJXgcvKqus8MDzk,7740
|
12
12
|
pyplumio/utils.py,sha256=ktV8_Th2DiwQ0W6afOCau9kBJ8pOrqR-SM2Y2GRy-xE,1869
|
13
|
-
pyplumio/devices/__init__.py,sha256=
|
14
|
-
pyplumio/devices/ecomax.py,sha256=
|
13
|
+
pyplumio/devices/__init__.py,sha256=d0E5hTV7UPa8flq8TNlKf_jt4cOSbRigSE9jjDHrmDI,8302
|
14
|
+
pyplumio/devices/ecomax.py,sha256=28Tr3WE8jI_zTYXYgSfR8nhppwzkQdmfAivt_iBUbTA,16057
|
15
15
|
pyplumio/devices/ecoster.py,sha256=X46ky5XT8jHMFq9sBW0ve8ZI_tjItQDMt4moXsW-ogY,307
|
16
16
|
pyplumio/devices/mixer.py,sha256=7WdUVgwO4VXmaPNzh3ZWpKr2ooRXWemz2KFHAw35_Rk,2731
|
17
17
|
pyplumio/devices/thermostat.py,sha256=MHMKe45fQ7jKlhBVObJ7McbYQKuF6-LOKSHy-9VNsCU,2253
|
@@ -56,8 +56,8 @@ pyplumio/structures/statuses.py,sha256=1h-EUw1UtuS44E19cNOSavUgZeAxsLgX3iS0eVC8p
|
|
56
56
|
pyplumio/structures/temperatures.py,sha256=2VD3P_vwp9PEBkOn2-WhifOR8w-UYNq35aAxle0z2Vg,2831
|
57
57
|
pyplumio/structures/thermostat_parameters.py,sha256=st3x3HkjQm3hqBrn_fpvPDQu8fuc-Sx33ONB19ViQak,3007
|
58
58
|
pyplumio/structures/thermostat_sensors.py,sha256=rO9jTZWGQpThtJqVdbbv8sYMYHxJi4MfwZQza69L2zw,3399
|
59
|
-
pyplumio-0.5.
|
60
|
-
pyplumio-0.5.
|
61
|
-
pyplumio-0.5.
|
62
|
-
pyplumio-0.5.
|
63
|
-
pyplumio-0.5.
|
59
|
+
pyplumio-0.5.54.dist-info/licenses/LICENSE,sha256=m-UuZFjXJ22uPTGm9kSHS8bqjsf5T8k2wL9bJn1Y04o,1088
|
60
|
+
pyplumio-0.5.54.dist-info/METADATA,sha256=dy0asMgq9FuRsiENh0PctlZYWcagYIKalPTtlLjeT5o,5617
|
61
|
+
pyplumio-0.5.54.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
62
|
+
pyplumio-0.5.54.dist-info/top_level.txt,sha256=kNBz9UPPkPD9teDn3U_sEy5LjzwLm9KfADCXtBlbw8A,9
|
63
|
+
pyplumio-0.5.54.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|