"""Async Python client for the WattWächter smart meter API."""

from .client import Wattwaechter
from .exceptions import (
    WattwaechterAuthenticationError,
    WattwaechterBadRequestError,
    WattwaechterConnectionError,
    WattwaechterError,
    WattwaechterNoDataError,
    WattwaechterNotFoundError,
    WattwaechterPayloadTooLargeError,
    WattwaechterRateLimitError,
)
from .models import (
    AliveResponse,
    CaCertActionResponse,
    CaCertStatus,
    HighResEntry,
    HighResHistory,
    InfoEntry,
    LedColor,
    LedInfo,
    LedMode,
    LedStatus,
    LowResEntry,
    LowResHistory,
    MeterData,
    ModbusRegisterInfo,
    ModbusStatus,
    MqttConfig,
    MqttState,
    MqttStatus,
    ObisValue,
    OtaCheckResponse,
    OtaData,
    RgbColor,
    SelfTestResult,
    Settings,
    SystemInfo,
    TimezoneEntry,
    TokenGenerateResponse,
    WifiConfig,
    WifiNetwork,
    WifiScanResponse,
)

__all__ = [
    "Wattwaechter",
    # Exceptions
    "WattwaechterError",
    "WattwaechterConnectionError",
    "WattwaechterAuthenticationError",
    "WattwaechterBadRequestError",
    "WattwaechterNotFoundError",
    "WattwaechterPayloadTooLargeError",
    "WattwaechterNoDataError",
    "WattwaechterRateLimitError",
    # Models
    "AliveResponse",
    "CaCertActionResponse",
    "CaCertStatus",
    "HighResEntry",
    "HighResHistory",
    "InfoEntry",
    "LedColor",
    "LedInfo",
    "LedMode",
    "LedStatus",
    "LowResEntry",
    "LowResHistory",
    "MeterData",
    "ModbusRegisterInfo",
    "ModbusStatus",
    "MqttConfig",
    "MqttState",
    "MqttStatus",
    "ObisValue",
    "OtaCheckResponse",
    "OtaData",
    "RgbColor",
    "SelfTestResult",
    "Settings",
    "SystemInfo",
    "TimezoneEntry",
    "TokenGenerateResponse",
    "WifiConfig",
    "WifiNetwork",
    "WifiScanResponse",
]
