"""Exceptions for Pentair Thermal WiFi API."""


class PentairThermalWifiError(Exception):
    """Base exception for all Pentair Thermal WiFi errors."""


class AuthenticationError(PentairThermalWifiError):
    """Raised when authentication fails."""


class SessionExpiredError(PentairThermalWifiError):
    """Raised when session has expired and needs to be refreshed."""


class ThermostatNotFoundError(PentairThermalWifiError):
    """Raised when thermostat with given serial number is not found."""


class APIError(PentairThermalWifiError):
    """Raised when API returns an error response."""
