Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ This directory contains the configuration for developing the Navien NWP500 Home

### Python Packages
All packages from `requirements.txt` are pre-installed:
- `nwp500-python==8.1.2` - Core library for Navien device communication
- `nwp500-python==8.1.3` - Core library for Navien device communication
- `awsiotsdk>=1.29.0` - AWS IoT SDK for MQTT
- `homeassistant>=2024.1.0` - Home Assistant core
- `mypy`, `pyright` - Type checkers
Expand Down
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ This is a Home Assistant custom component that provides integration for Navien N
- **GitHub Repository**: https://github.com/eman/nwp500-python
- **Documentation**: https://nwp500-python.readthedocs.io/en/stable/
- **PyPI Package**: https://pypi.org/project/nwp500-python/
- **Current Version**: 8.1.1 (see `custom_components/nwp500/manifest.json`)
- **Current Version**: 8.1.3 (see `custom_components/nwp500/manifest.json`)
- **Note**: When instructions refer to "adopting a new library version" or "updating the library," they mean updating nwp500-python

### Home Assistant Integration
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

## [Unreleased]

### Changed
- **Library Dependency: nwp500-python**: Upgraded to 8.1.3. Fixes a
thread-safety bug in `on_connection_resumed` where `Task.cancel()` was called
directly from an AWS IoT SDK background thread. When the event loop was busy,
the cancellation could be silently dropped, leaving a stale
`_reconnect_with_backoff` task that would complete its sleep and tear down an
otherwise healthy connection — restarting the
disconnect → reconnect → `AWS_ERROR_MQTT_UNEXPECTED_HANGUP` cycle. See
[nwp500-python PR #89](https://github.com/eman/nwp500-python/pull/89).

## [0.15.4] - 2026-06-05

## [0.15.4] - 2026-06-05
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ action:

## Library Version

Uses **[nwp500-python v8.1.2](https://github.com/eman/nwp500-python/releases/tag/v8.1.2)**. See [CHANGELOG.md](CHANGELOG.md#library-dependency-nwp500-python) for version history.
Uses **[nwp500-python v8.1.3](https://github.com/eman/nwp500-python/releases/tag/v8.1.3)**. See [CHANGELOG.md](CHANGELOG.md#library-dependency-nwp500-python) for version history.

## License

Expand Down
2 changes: 1 addition & 1 deletion custom_components/nwp500/config_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ async def validate_input(
if not nwp500_available:
_LOGGER.error(
"nwp500-python library not installed. Please install with: "
'uv pip install "nwp500-python==8.1.2" awsiotsdk>=1.29.0'
'uv pip install "nwp500-python==8.1.3" awsiotsdk>=1.29.0'
)
raise CannotConnect("nwp500-python library not available")

Expand Down
2 changes: 1 addition & 1 deletion custom_components/nwp500/coordinator.py
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,7 @@ async def _setup_clients(self) -> None:
except ImportError as err:
_LOGGER.error(
"nwp500-python library not installed. Please install: "
'uv pip install "nwp500-python==8.1.2" awsiotsdk>=1.29.0'
'uv pip install "nwp500-python==8.1.3" awsiotsdk>=1.29.0'
)
raise UpdateFailed(
f"nwp500-python library not available: {err}"
Expand Down
2 changes: 1 addition & 1 deletion custom_components/nwp500/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"custom_components.nwp500"
],
"requirements": [
"nwp500-python==8.1.2",
"nwp500-python==8.1.3",
"awsiotsdk>=1.29.0"
],
"single_config_entry": true,
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# Usage: uv pip install -r requirements.txt
# Core integration library
nwp500-python==8.1.2
nwp500-python==8.1.3

# AWS IoT SDK for MQTT communication
awsiotsdk>=1.29.0
Expand Down
8 changes: 4 additions & 4 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ deps =
pytest-timeout>=2.1.0
commands_pre =
python -m pip install awsiotsdk>=1.29.0
python -m pip install "nwp500-python==8.1.2" --no-deps
python -m pip install "nwp500-python==8.1.3" --no-deps

[testenv:py314]
description = Run tests on Python 3.14
Expand All @@ -24,15 +24,15 @@ description = Run mypy type checking
deps =
mypy>=1.0.0
homeassistant>=2026.4.0
nwp500-python==8.1.2
nwp500-python==8.1.3
commands_pre =

[testenv:basedpyright]
description = Run basedpyright type checking
deps =
basedpyright>=1.0.0
homeassistant>=2026.4.0
nwp500-python==8.1.2
nwp500-python==8.1.3
commands_pre =

[testenv:ruff]
Expand Down Expand Up @@ -64,7 +64,7 @@ deps =
{[testenv]deps}
commands_pre =
python -m pip install awsiotsdk>=1.29.0
python -m pip install "nwp500-python==8.1.2" --no-deps
python -m pip install "nwp500-python==8.1.3" --no-deps
commands =
pytest --cov=custom_components.nwp500 \
--cov-report=html \
Expand Down
Loading