PyPlumIO 0.5.45__tar.gz → 0.5.46__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.
- {pyplumio-0.5.45 → pyplumio-0.5.46}/PKG-INFO +1 -1
- {pyplumio-0.5.45 → pyplumio-0.5.46}/PyPlumIO.egg-info/PKG-INFO +1 -1
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/_version.py +2 -2
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/devices/ecomax.py +3 -10
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/test_devices.py +1 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.gitattributes +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.github/CODE_OF_CONDUCT.md +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.github/dependabot.yml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.github/workflows/ci.yml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.github/workflows/codeql.yml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.github/workflows/deploy.yml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.github/workflows/documentation.yml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.gitignore +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.pre-commit-config.yaml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.qlty/qlty.toml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/.vscode/settings.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/LICENSE +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/MANIFEST.in +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/PyPlumIO.egg-info/SOURCES.txt +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/PyPlumIO.egg-info/dependency_links.txt +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/PyPlumIO.egg-info/requires.txt +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/PyPlumIO.egg-info/top_level.txt +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/README.md +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/Makefile +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/make.bat +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/callbacks.rst +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/conf.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/connecting.rst +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/frames.rst +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/index.rst +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/mixers_thermostats.rst +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/protocol.rst +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/reading.rst +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/schedules.rst +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/docs/source/writing.rst +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/images/ecomax.png +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/images/rs485.png +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/__init__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/__main__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/connection.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/const.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/data_types.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/devices/__init__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/devices/ecoster.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/devices/mixer.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/devices/thermostat.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/exceptions.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/filters.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/frames/__init__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/frames/messages.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/frames/requests.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/frames/responses.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/helpers/__init__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/helpers/async_cache.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/helpers/event_manager.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/helpers/factory.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/helpers/schedule.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/helpers/task_manager.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/helpers/timeout.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/helpers/uid.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/parameters/__init__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/parameters/ecomax.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/parameters/mixer.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/parameters/thermostat.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/protocol.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/py.typed +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/stream.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/__init__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/alerts.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/boiler_load.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/boiler_power.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/ecomax_parameters.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/fan_power.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/frame_versions.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/fuel_consumption.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/fuel_level.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/lambda_sensor.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/mixer_parameters.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/mixer_sensors.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/modules.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/network_info.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/output_flags.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/outputs.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/pending_alerts.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/product_info.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/program_version.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/regulator_data.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/regulator_data_schema.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/schedules.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/statuses.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/temperatures.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/thermostat_parameters.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/structures/thermostat_sensors.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyplumio/utils.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/pyproject.toml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/requirements.txt +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/requirements_docs.txt +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/requirements_test.txt +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/setup.cfg +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/__init__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/conftest.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/frames/test_init.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/frames/test_messages.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/frames/test_requests.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/frames/test_responses.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/helpers/__init__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/helpers/test_async_cache.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/helpers/test_event_manager.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/helpers/test_factory.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/helpers/test_schedule.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/helpers/test_task_manager.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/helpers/test_timeout.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/helpers/test_uid.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/parameters/__init__.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/parameters/test_ecomax.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/parameters/test_init.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/parameters/test_mixers.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/parameters/test_thermostats.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/ruff.toml +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/test_connection.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/test_data_types.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/test_filters.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/test_init.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/test_main.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/test_protocol.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/test_stream.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/test_utils.py +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/messages/regulator_data.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/messages/sensor_data.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/requests/alerts.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/requests/ecomax_control.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/requests/ecomax_parameters.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/requests/mixer_parameters.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/requests/set_ecomax_parameter.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/requests/set_mixer_parameter.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/requests/set_schedule.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/requests/set_thermostat_parameter.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/requests/thermostat_parameters.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/alerts.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/device_available.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/ecomax_parameters.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/mixer_parameters.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/password.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/program_version.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/regulator_data_schema.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/schedules.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/thermostat_parameters.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/responses/uid.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/unknown/unknown_ecomax_parameter.json +0 -0
- {pyplumio-0.5.45 → pyplumio-0.5.46}/tests/testdata/unknown/unknown_mixer_parameter.json +0 -0
@@ -12,6 +12,7 @@ from pyplumio.const import (
|
|
12
12
|
ATTR_FRAME_ERRORS,
|
13
13
|
ATTR_PASSWORD,
|
14
14
|
ATTR_SENSORS,
|
15
|
+
ATTR_SETUP,
|
15
16
|
STATE_OFF,
|
16
17
|
STATE_ON,
|
17
18
|
DeviceState,
|
@@ -192,16 +193,8 @@ class EcoMAX(PhysicalDevice):
|
|
192
193
|
self, frame_type: FrameType | int, version: int
|
193
194
|
) -> None:
|
194
195
|
"""Request frame version from the device."""
|
195
|
-
|
196
|
-
if frame_type not in REQUIRED_TYPES:
|
197
|
-
# Frame not in required, so we'll request it right away.
|
198
|
-
request_frame = True
|
199
|
-
|
200
|
-
if frame_type in self._frame_versions:
|
201
|
-
# Frame in required and has been requested once by setup.
|
202
|
-
request_frame = True
|
203
|
-
|
204
|
-
if request_frame:
|
196
|
+
setup_done = self.get_nowait(ATTR_SETUP, False)
|
197
|
+
if setup_done or frame_type not in REQUIRED_TYPES:
|
205
198
|
await super()._request_frame_version(frame_type, version)
|
206
199
|
|
207
200
|
async def _set_ecomax_state(self, state: State) -> bool:
|
@@ -195,6 +195,7 @@ async def test_frame_versions_update(ecomax: EcoMAX) -> None:
|
|
195
195
|
test_data = load_json_test_data("messages/sensor_data.json")[0]
|
196
196
|
message = SensorDataMessage(message=test_data["message"])
|
197
197
|
message.data[ATTR_FRAME_VERSIONS] = {FrameType.REQUEST_REGULATOR_DATA_SCHEMA: 86}
|
198
|
+
ecomax.data[ATTR_SETUP] = True
|
198
199
|
with patch("asyncio.Queue.put_nowait") as mock_put_nowait:
|
199
200
|
ecomax.handle_frame(message)
|
200
201
|
await ecomax.wait_until_done()
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|