Skip to content

eman/nwp500-python

Repository files navigation

nwp500-python

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.

About

Python package for interacting with Navien NWP500 water heaters

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors