datadis_python.client package

Subpackages

Submodules

Module contents

Clientes para la API de Datadis - Todas las versiones.

Este módulo proporciona clientes para interactuar con las diferentes versiones de la API de Datadis.

class datadis_python.client.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.

__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

__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.

close()[fuente]

Cierra ambos clientes y libera recursos.

Tipo del valor devuelto:

None

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

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_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_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]

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_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_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

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

datadis_python.client.DatadisClientV1

alias de SimpleDatadisClientV1

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

Bases: BaseDatadisClient

Cliente para API v2 de Datadis.

Características: - Devuelve datos raw exactamente como los proporciona la API - Endpoints v2 con estructura de respuesta actualizada - Validación de parámetros de entrada - Manejo de errores de distribuidor en formato v2

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.

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

Buscar los datos de consumo.

Parámetros:
  • cups (str) – Los CUPS de los que querremos saber los datos de consumo.

  • distributor_code (str) – Código del distribuidor, que se obtiene con la solicitud de obtención de suministros.

  • date_from (str) – Fecha de inicio entre los datos de búsqueda. Formato: AAAA/MM. Ejemplo = 2020/02.

  • date_to (str) – Fecha de finalización entre los datos de búsqueda. Formato: AAAA/MM. Ejemplo = 2020/02.

  • measurement_type (int) – Establézcalo en 0 (Cero) si desea obtener el consumo por hora y en 1 (Uno) si desea obtener el consumo por cuarto de hora. La consulta cuarta horaria solo está disponible para los PointType 1 y 2, y en el caso de la distribuidora E-distribución adicionalmente el PointType 3.

  • point_type (Optional[int]) – Código de tipo de punto, que se obtiene con la solicitud de obtención de suministros.

  • authorized_nif (Optional[str]) – Solo en caso que se quiera obtener los datos de consumo de un NIF autorizado.

Devuelve:

Respuesta con datos de consumo validados y errores de distribuidora en formato v2.

Tipo del valor devuelto:

ConsumptionResponse

get_contract_detail(cups, distributor_code, authorized_nif=None)[fuente]

Buscar el detalle del contrato.

Parámetros:
  • cups (str) – Los CUPS de los que querremos saber los detalles del contrato. Solo puede buscar un CUPS por pedido.

  • distributor_code (str) – Código del distribuidor, que se obtiene con la solicitud de obtención de suministros.

  • authorized_nif (Optional[str]) – Solo en el caso de que quieras obtener el detalle del contrato del NIF autorizado.

Devuelve:

Respuesta con datos de contrato validados y errores de distribuidora en formato v2.

Tipo del valor devuelto:

ContractResponse

get_distributors(authorized_nif=None)[fuente]

Obtiene una lista de códigos de distribuidores en los que el usuario tiene suministros.

Parámetros:

authorized_nif (Optional[str]) – Únicamente en caso de querer obtener el listado de códigos de distribuidoras que disponen de suministros del NIF autorizado.

Devuelve:

Respuesta con códigos de distribuidores validados y errores en formato v2.

Tipo del valor devuelto:

DistributorsResponse

Note:

Códigos de distribuidora: (1: Viesgo, 2: E-distribución, 3: E-redes, 4: ASEME, 5: UFD, 6: EOSA, 7:CIDE, 8: IDE)

get_max_power(cups, distributor_code, date_from, date_to, authorized_nif=None)[fuente]

Busca la potencia máxima y te aparecerá el resultado en kW.

Parámetros:
  • cups (str) – Las CUPS de las que querremos conocer los detalles del contrato.

  • distributor_code (str) – Código del distribuidor, que se obtiene con la solicitud de obtención de suministros.

  • date_from (str) – Fecha de inicio entre los datos de búsqueda. Formato: AAAA/MM. Ejemplo = 2020/02.

  • date_to (str) – Fecha de finalización entre los datos de búsqueda. Formato: AAAA/MM. Ejemplo = 2020/02.

  • authorized_nif (Optional[str]) – Solo en el caso de que quieras obtener el detalle del contrato del NIF autorizado.

Devuelve:

Respuesta con datos de potencia máxima validados y errores de distribuidora en formato v2.

Tipo del valor devuelto:

MaxPowerResponse

get_reactive_data(cups, distributor_code, date_from, date_to, authorized_nif=None)[fuente]

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

Parámetros:
  • cups (str) – Los CUPS de los que querremos saber los datos de consumo.

  • distributor_code (str) – Código del distribuidor, que se obtiene con la solicitud de obtención de suministros.

  • date_from (str) – Fecha de inicio entre los datos de búsqueda. Formato: AAAA/MM. Ejemplo = 2020/02.

  • date_to (str) – Fecha de finalización entre los datos de búsqueda. Formato: AAAA/MM. Ejemplo = 2020/02.

  • authorized_nif (Optional[str]) – Solo en caso que se quiera obtener los datos de consumo de un NIF autorizado.

Devuelve:

Lista de objetos ReactiveData validados.

Tipo del valor devuelto:

List[ReactiveData]

get_supplies(authorized_nif=None, distributor_code=None)[fuente]

Buscar todos los suministros.

Parámetros:
  • authorized_nif (Optional[str]) – Si queremos buscar suministros de personas que hemos autorizado, podemos buscarlo con el NIF de las personas autorizadas.

  • distributor_code (Optional[str]) – Código del distribuidor, que se obtiene con la solicitud de distribuidoras con suministros: /get-distributors-with-supplies. Para consultar los suministros de una sola distribuidora.

Devuelve:

Respuesta con suministros validados y errores de distribuidora en formato v2.

Tipo del valor devuelto:

SuppliesResponse

datadis_python.client.DatadisClientLegacy

alias de DatadisClient