datadis_python.client.unified module

Cliente unificado que expone ambas versiones de la API de Datadis.

Este módulo proporciona un cliente que permite interactuar con ambas versiones de la API de Datadis.

class datadis_python.client.unified.DatadisClient(username, password, timeout=90, retries=5)[fuente]

Bases: object

Cliente unificado que permite acceso a ambas versiones de la API.

Parámetros:
  • username (str) – NIF del usuario registrado en Datadis.

  • password (str) – Contraseña de acceso a Datadis.

  • timeout (int) – Timeout para requests en segundos.

  • retries (int) – Número de reintentos automáticos.

__init__(username, password, timeout=90, retries=5)[fuente]

Inicializa el cliente unificado.

Parámetros:
  • username (str) – NIF del usuario registrado en Datadis.

  • password (str) – Contraseña de acceso a Datadis.

  • timeout (int) – Timeout para requests en segundos.

  • retries (int) – Número de reintentos automáticos.

property v1: DatadisClientV1

Cliente API v1 para respuestas en formato raw.

Devuelve:

Cliente v1 inicializado

Tipo del valor devuelto:

DatadisClientV1

property v2: DatadisClientV2

Cliente API v2 para respuestas tipadas con Pydantic.

Devuelve:

Cliente v2 inicializado

Tipo del valor devuelto:

DatadisClientV2

get_supplies(distributor_code=None)[fuente]

Obtiene puntos de suministro (usa API v2).

Para usar v1: client.v1.get_supplies()

Parámetros:

distributor_code (Optional[str]) – Código de la distribuidora

Devuelve:

Respuesta con puntos de suministro

Tipo del valor devuelto:

SuppliesResponse

get_distributors()[fuente]

Obtiene distribuidores (usa API v2).

Para usar v1: client.v1.get_distributors()

Devuelve:

Respuesta con distribuidores

Tipo del valor devuelto:

DistributorsResponse

get_contract_detail(cups, distributor_code)[fuente]

Obtiene detalle del contrato (usa API v2).

Para usar v1: client.v1.get_contract_detail(cups, distributor_code)

Parámetros:
  • cups (str) – Código CUPS del punto de suministro

  • distributor_code (str) – Código de la distribuidora

Devuelve:

Respuesta con detalle del contrato

Tipo del valor devuelto:

ContractResponse

get_consumption(cups, distributor_code, date_from, date_to, measurement_type=0, point_type=None)[fuente]

Obtiene datos de consumo (usa API v2).

Para usar v1: client.v1.get_consumption(…)

Parámetros:
  • cups (str) – Código CUPS del punto de suministro

  • distributor_code (str) – Código de la distribuidora

  • date_from (str) – Fecha de inicio (YYYY-MM-DD)

  • date_to (str) – Fecha de fin (YYYY-MM-DD)

  • measurement_type (int) – Tipo de medida

  • point_type (Optional[int]) – Tipo de punto

Devuelve:

Respuesta con datos de consumo

Tipo del valor devuelto:

ConsumptionResponse

get_max_power(cups, distributor_code, date_from, date_to)[fuente]

Obtiene datos de potencia máxima (usa API v2).

Para usar v1: client.v1.get_max_power(…)

Parámetros:
  • cups (str) – Código CUPS del punto de suministro

  • distributor_code (str) – Código de la distribuidora

  • date_from (str) – Fecha de inicio (YYYY-MM-DD)

  • date_to (str) – Fecha de fin (YYYY-MM-DD)

Devuelve:

Respuesta con datos de potencia máxima

Tipo del valor devuelto:

MaxPowerResponse

get_reactive_data(cups, distributor_code, date_from, date_to)[fuente]

Obtiene datos de energía reactiva (solo disponible en v2).

Parámetros:
  • cups (str) – Código CUPS del punto de suministro

  • distributor_code (str) – Código de la distribuidora

  • date_from (str) – Fecha de inicio (YYYY-MM-DD)

  • date_to (str) – Fecha de fin (YYYY-MM-DD)

Devuelve:

Lista de datos de energía reactiva

Tipo del valor devuelto:

List[ReactiveData]

get_cups_list()[fuente]

Obtiene solo códigos CUPS (método de conveniencia de v1).

Devuelve:

Lista de códigos CUPS

Tipo del valor devuelto:

List[str]

get_distributor_codes()[fuente]

Obtiene solo códigos de distribuidores (método de conveniencia de v1).

Devuelve:

Lista de códigos de distribuidores

Tipo del valor devuelto:

List[str]

close()[fuente]

Cierra ambos clientes y libera recursos.

Tipo del valor devuelto:

None

__enter__()[fuente]

Context manager entry.

Devuelve:

Instancia del cliente

Tipo del valor devuelto:

DatadisClient

__exit__(exc_type, exc_val, exc_tb)[fuente]

Context manager exit.

Parámetros:
  • exc_type (Optional[type]) – Tipo de excepción

  • exc_val (Optional[BaseException]) – Valor de la excepción

  • exc_tb (Optional[TracebackType]) – Traceback de la excepción

get_client_info()[fuente]

Obtiene información sobre el estado de los clientes.

Devuelve:

Diccionario con información de estado

Tipo del valor devuelto:

dict