Source code for nwp500.api_client

"""
Client for interacting with the Navien NWP500 API.

This module provides an async HTTP client for device management and control.
"""

import logging
from typing import Any, Self

import aiohttp

from .auth import NavienAuthClient
from .config import API_BASE_URL
from .exceptions import APIError, AuthenticationError, TokenRefreshError
from .models import ConvertedTOUPlan, Device, FirmwareInfo, TOUInfo
from .unit_system import UnitSystemType

__author__ = "Emmanuel Levijarvi"
__copyright__ = "Emmanuel Levijarvi"
__license__ = "MIT"

_logger = logging.getLogger(__name__)


__all__ = [
    "NavienAPIClient",
]