Skip to main content

A library for controlling Navien NWP500 Water Heaters via NaviLink

Project description

PyPI-v Python-versions CI-status Docs-status Code-style License

Python library for Navien NWP500 Heat Pump Water Heater

A complete Python library for monitoring and controlling the Navien NWP500 Heat Pump Water Heater through the Navilink cloud service.

Features

  • Complete Interface: Full support for both REST API and real-time MQTT (AWS IoT).

  • Monitoring: Real-time tracking of temperature, power usage, tank charge, and component status.

  • Control: Remote control of target temperatures, operation modes, and vacation settings.

  • Advanced Features: Native support for reservations, time-of-use (TOU) optimization, and anti-legionella cycles.

  • Type-Safe: Built with Pydantic for robust data validation and unit handling.

  • Async/Await: Modern asyncio-based implementation for high-performance integration.

Getting Started

pip install nwp500-python

Quick Example

from nwp500 import NavienAuthClient, NavienAPIClient

async with NavienAuthClient("email@example.com", "password") as auth:
    api = NavienAPIClient(auth)
    devices = await api.list_devices()

    if devices:
        device = devices[0]
        print(f"Temperature: {device.status.dhw_temperature}°F")
        await api.set_device_temperature(device, 130)

Documentation

The documentation follows the Diátaxis framework:

  • Tutorials: Start here if you’re new to the library.

  • How-to Guides: Practical step-by-step recipes for specific tasks.

  • Reference: Technical descriptions of the API, models, and protocol.

  • Explanation: Understanding-oriented deep dives into the library’s design and advanced features.

Contributing

We welcome contributions! Please see our Contributing Guide for more details.

License

This project is licensed under the MIT License. See the LICENSE.txt file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nwp500_python-8.1.0.tar.gz (423.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nwp500_python-8.1.0-py3-none-any.whl (150.9 kB view details)

Uploaded Python 3

File details

Details for the file nwp500_python-8.1.0.tar.gz.

File metadata

  • Download URL: nwp500_python-8.1.0.tar.gz
  • Upload date:
  • Size: 423.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nwp500_python-8.1.0.tar.gz
Algorithm Hash digest
SHA256 f3fb17f3619984a229d9a4601bafa4fbf84d8d9bf7e96bf90ef87b52cc11b3b0
MD5 3be1e8c75b9e0af2501f99cff6992968
BLAKE2b-256 6405fcad224cb3027f0d8eb150298f04578c579d23332e2cff3d6120d580fb65

See more details on using hashes here.

Provenance

The following attestation bundles were made for nwp500_python-8.1.0.tar.gz:

Publisher: release.yml on eman/nwp500-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nwp500_python-8.1.0-py3-none-any.whl.

File metadata

  • Download URL: nwp500_python-8.1.0-py3-none-any.whl
  • Upload date:
  • Size: 150.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nwp500_python-8.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca2d7d3342abbf27dc58b36745b0b3c63bac9a1480bdb8d83c483f1ff90c6e4e
MD5 c1afc30f1d1afdf0739b7f518c0dafc5
BLAKE2b-256 6b5c7481d7071b67fccab28ebed54973c56160c6680414c13c6129c93464ffe7

See more details on using hashes here.

Provenance

The following attestation bundles were made for nwp500_python-8.1.0-py3-none-any.whl:

Publisher: release.yml on eman/nwp500-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page