python-bsblan 5.1.0__tar.gz → 5.1.2__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.
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/codeql.yaml +2 -2
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/linting.yaml +1 -1
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/tests.yaml +14 -5
- python_bsblan-5.1.2/.nvmrc +1 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/PKG-INFO +2 -2
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/README.md +1 -1
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/examples/fetch_param.py +1 -1
- python_bsblan-5.1.2/examples/speed_test.py +776 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/pyproject.toml +5 -5
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/src/bsblan/bsblan.py +46 -6
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/src/bsblan/constants.py +11 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/src/bsblan/models.py +1 -1
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_circuit.py +171 -4
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_entity_info.py +11 -3
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/uv.lock +299 -274
- python_bsblan-5.1.0/.nvmrc +0 -1
- python_bsblan-5.1.0/examples/speed_test.py +0 -382
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.editorconfig +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.gitattributes +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/CODE_OF_CONDUCT.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/CONTRIBUTING.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/ISSUE_TEMPLATE/PULL_REQUEST_TEMPLATE.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/copilot-instructions.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/labels.yml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/prompts/add-parameter.prompt.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/prompts/code-review.prompt.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/release-drafter.yml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/renovate.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/skills/bsblan-parameters/SKILL.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/skills/bsblan-testing/SKILL.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/auto-approve-renovate.yml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/labels.yaml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/lock.yaml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/pr-labels.yaml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/release-drafter.yaml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/release.yaml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.github/workflows/stale.yaml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.gitignore +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.pre-commit-config.yaml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.prettierignore +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/.yamllint +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/AGENTS.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/CLAUDE.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/LICENSE.md +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/examples/control.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/examples/discovery.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/examples/profile_init.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/examples/ruff.toml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/package-lock.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/package.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/sonar-project.properties +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/src/bsblan/__init__.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/src/bsblan/exceptions.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/src/bsblan/py.typed +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/src/bsblan/utility.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/__init__.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/conftest.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/device.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/dict_version.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/hot_water_state.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/info.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/password.txt +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/sensor.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/state.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/state_circuit2.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/static_state.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/static_state_circuit2.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/thermostat_hvac.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/thermostat_temp.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/fixtures/time.json +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/ruff.toml +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_api_initialization.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_api_validation.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_auth.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_backoff_retry.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_bsblan.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_bsblan_edge_cases.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_configuration.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_constants.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_context_manager.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_device.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_dhw_time_switch.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_entity_info_ha.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_hot_water_additional.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_hotwater_state.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_include_parameter.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_info.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_initialization.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_read_parameters.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_reset_validation.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_schedule_models.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_sensor.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_set_hot_water_schedule.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_set_hotwater.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_state.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_static_state.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_temperature_unit.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_temperature_validation.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_thermostat.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_time.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_utility.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_utility_additional.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_utility_edge_cases.py +0 -0
- {python_bsblan-5.1.0 → python_bsblan-5.1.2}/tests/test_version_errors.py +0 -0
|
@@ -24,6 +24,6 @@ jobs:
|
|
|
24
24
|
- name: ⤵️ Check out code from GitHub
|
|
25
25
|
uses: actions/checkout@v6.0.2
|
|
26
26
|
- name: 🏗 Initialize CodeQL
|
|
27
|
-
uses: github/codeql-action/init@v4.32.
|
|
27
|
+
uses: github/codeql-action/init@v4.32.5
|
|
28
28
|
- name: 🚀 Perform CodeQL Analysis
|
|
29
|
-
uses: github/codeql-action/analyze@v4.32.
|
|
29
|
+
uses: github/codeql-action/analyze@v4.32.5
|
|
@@ -16,6 +16,8 @@ permissions:
|
|
|
16
16
|
|
|
17
17
|
env:
|
|
18
18
|
DEFAULT_PYTHON: "3.13"
|
|
19
|
+
HAS_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN != '' }}
|
|
20
|
+
HAS_SONAR_TOKEN: ${{ secrets.SONAR_TOKEN != '' }}
|
|
19
21
|
|
|
20
22
|
jobs:
|
|
21
23
|
pytest:
|
|
@@ -41,7 +43,7 @@ jobs:
|
|
|
41
43
|
- name: 🚀 Run pytest
|
|
42
44
|
run: uv run pytest --cov=bsblan tests
|
|
43
45
|
- name: ⬆️ Upload coverage artifact
|
|
44
|
-
uses: actions/upload-artifact@
|
|
46
|
+
uses: actions/upload-artifact@v7.0.0
|
|
45
47
|
with:
|
|
46
48
|
name: coverage-${{ matrix.python }}
|
|
47
49
|
include-hidden-files: true
|
|
@@ -56,7 +58,7 @@ jobs:
|
|
|
56
58
|
with:
|
|
57
59
|
fetch-depth: 0
|
|
58
60
|
- name: ⬇️ Download coverage data
|
|
59
|
-
uses: actions/download-artifact@
|
|
61
|
+
uses: actions/download-artifact@v8.0.0
|
|
60
62
|
- name: 🏗 Set up uv
|
|
61
63
|
uses: astral-sh/setup-uv@v7
|
|
62
64
|
with:
|
|
@@ -70,15 +72,22 @@ jobs:
|
|
|
70
72
|
run: uv sync --dev
|
|
71
73
|
- name: 🚀 Process coverage results
|
|
72
74
|
run: |
|
|
73
|
-
uv run coverage combine coverage*/.coverage*
|
|
74
|
-
uv run coverage xml -i
|
|
75
|
+
uv run python -m coverage combine coverage*/.coverage*
|
|
76
|
+
uv run python -m coverage xml -i
|
|
75
77
|
- name: 🚀 Upload coverage report
|
|
78
|
+
if: env.HAS_CODECOV_TOKEN == 'true'
|
|
76
79
|
uses: codecov/codecov-action@v5.5.2
|
|
77
80
|
with:
|
|
78
81
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
82
|
+
- name: ℹ️ Skip Codecov upload (missing token)
|
|
83
|
+
if: env.HAS_CODECOV_TOKEN != 'true'
|
|
84
|
+
run: echo "CODECOV_TOKEN is not set; skipping Codecov upload."
|
|
79
85
|
- name: SonarCloud Scan
|
|
80
|
-
if: github.event.pull_request.head.repo.fork
|
|
86
|
+
if: env.HAS_SONAR_TOKEN == 'true' && (github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork)
|
|
81
87
|
uses: SonarSource/sonarcloud-github-action@v5.0.0
|
|
82
88
|
env:
|
|
83
89
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
84
90
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
91
|
+
- name: ℹ️ Skip SonarCloud scan (missing token)
|
|
92
|
+
if: env.HAS_SONAR_TOKEN != 'true'
|
|
93
|
+
run: echo "SONAR_TOKEN is not set; skipping SonarCloud scan."
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
24.14.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-bsblan
|
|
3
|
-
Version: 5.1.
|
|
3
|
+
Version: 5.1.2
|
|
4
4
|
Summary: Asynchronous Python client for BSBLAN API
|
|
5
5
|
Project-URL: Homepage, https://github.com/liudger/python-bsblan
|
|
6
6
|
Project-URL: Repository, https://github.com/liudger/python-bsblan
|
|
@@ -105,7 +105,7 @@ async def main() -> None:
|
|
|
105
105
|
"""
|
|
106
106
|
# Create a configuration object
|
|
107
107
|
config = BSBLANConfig(
|
|
108
|
-
host="
|
|
108
|
+
host="192.0.2.1",
|
|
109
109
|
passkey=None,
|
|
110
110
|
username=os.getenv("USERNAME"), # Compliant
|
|
111
111
|
password=os.getenv("PASSWORD"), # Compliant
|