Skip to content

Exceptions

Custom exceptions raised by the library.

BSBLANError

bsblan.BSBLANError

BSBLANError(message: str | None = None)

Bases: Exception

Generic BSBLAN exception.

Initialize a new instance of the BSBLANError class.

Parameters:

Name Type Description Default
message str | None

Optional custom error message.

None
Source code in src/bsblan/exceptions.py
def __init__(self, message: str | None = None) -> None:
    """Initialize a new instance of the BSBLANError class.

    Args:
        message: Optional custom error message.

    """
    if message is not None:
        self.message = message
    super().__init__(self.message)

BSBLANConnectionError

bsblan.BSBLANConnectionError

BSBLANConnectionError(message: str | None = None)

Bases: BSBLANError

BSBLAN connection exception.

Initialize a new instance of the BSBLANConnectionError class.

Parameters:

Name Type Description Default
message str | None

Optional error message.

None
Source code in src/bsblan/exceptions.py
def __init__(self, message: str | None = None) -> None:
    """Initialize a new instance of the BSBLANConnectionError class.

    Args:
        message: Optional error message.

    """
    super().__init__(message)

BSBLANAuthError

bsblan.BSBLANAuthError

BSBLANAuthError(message: str | None = None)

Bases: BSBLANError

Raised when authentication fails.

Source code in src/bsblan/exceptions.py
def __init__(self, message: str | None = None) -> None:
    """Initialize a new instance of the BSBLANError class.

    Args:
        message: Optional custom error message.

    """
    if message is not None:
        self.message = message
    super().__init__(self.message)

BSBLANUnsupportedFeatureError

bsblan.BSBLANUnsupportedFeatureError

BSBLANUnsupportedFeatureError(message: str | None = None)

Bases: BSBLANError

Raised when the device does not support a requested feature.

This signals a permanent condition: the device does not expose the requested parameters (for example a heating or hot water schedule), so retrying the same request will never succeed.

Source code in src/bsblan/exceptions.py
def __init__(self, message: str | None = None) -> None:
    """Initialize a new instance of the BSBLANError class.

    Args:
        message: Optional custom error message.

    """
    if message is not None:
        self.message = message
    super().__init__(self.message)

BSBLANMalformedResponseError

bsblan.BSBLANMalformedResponseError

BSBLANMalformedResponseError(message: str | None = None)

Bases: BSBLANError

Raised when a device response cannot be decoded or parsed.

This signals a transient condition: the response body could not be decoded or parsed as valid JSON, so a retry may succeed.

Source code in src/bsblan/exceptions.py
def __init__(self, message: str | None = None) -> None:
    """Initialize a new instance of the BSBLANError class.

    Args:
        message: Optional custom error message.

    """
    if message is not None:
        self.message = message
    super().__init__(self.message)