Skip to main content

UNOFFICIAL Python client for i-DE

Project description

python-oligo

Python package

Gitpod ready-to-code

[ES] Cliente Python (NO OFICIAL) para i-DE (Iberdrola distribución).

[!WARNING] Esta librería está en modo mantenimiento. No se añadirán nuevas funcionalidades, solo se corregirán errores mientras el api web de i-DE siga funcionando de la misma manera.

Instalación:

Requests support:

pip install oligo[requests]

Async support:

pip install oligo[asyncio]

Ejemplos:

Consultar consumo actual (Sync):

from oligo import Iber

connection = Iber()
connection.login("user", "password")

watt = connection.watthourmeter()
print(watt)

Consultar consumo actual (ASync):

import asyncio
from oligo.asyncio import AsyncIber

async def main():
    connection = AsyncIber()
    await connection.login("user", "password")

    watt = await connection.watthourmeter()
    print(watt)
    await connection.close()

asyncio.run(main())

Consultar estado ICP interno (Sync):

from oligo import Iber
connection = Iber()
connection.login("user", "password")
status = connection.icpstatus()
print(status)

Consultar estado ICP interno (ASync):

import asyncio
from oligo.asyncio import AsyncIber

async def main():
    connection = AsyncIber()
    await connection.login("user", "password")
    status = await connection.icpstatus()
    print(status)

asyncio.run(main())

Obtener el consumo horario durante un periodo (Sync)

from oligo import Iber
from datetime import date, timedelta

connection = Iber()
connection.login("user", "password")

from_date = date.today() - timedelta(days=7)
until_date = date.today() - timedelta(days=1)

consumo = connection.consumption(from_date, until_date)

print(consumo[:10])

Obtener el consumo horario durante un periodo (ASync)

import asyncio
from oligo.asyncio import AsyncIber
from datetime import date, timedelta

async def main():
    connection = AsyncIber()
    await connection.login("user", "password")

    from_date = date.today() - timedelta(days=7)
    until_date = date.today() - timedelta(days=1)

    consumo = await connection.consumption(from_date, until_date)

    print(consumo[:10])

asyncio.run(main())

Los datos son el consumo por hora en Watt-horas. En este caso tendremos los dato de una semana, que son 7 por 24, 168 valores. Si sumamos y dividimos por 1000, tenemos el consumo de una semana en kWh.

[EN] Python client (UNOFFICIAL) for i-DE (Iberdrola distribución).

[!WARNING] This library is in maintenance mode. No new features will be added, only bugs will be fixed while the i-DE web api continues to work in the same way.

Install:

pip install oligo

Example:

Obtain current consumption (Sync):

from oligo import Iber

connection = Iber()
connection.login("user", "password")

watt = connection.watthourmeter()
print(watt)

Obtain current consumption (ASync):

import asyncio
from oligo.asyncio import AsyncIber

async def main():
    connection = AsyncIber()
    await connection.login("user", "password")

    watt = await connection.watthourmeter()
    print(watt)

asyncio.run(main())

Get ICP status (Sync):

from oligo import Iber
connection = Iber()
connection.login("user", "password")
status = connection.icpstatus()
print(status)

Get ICP status (ASync):

import asyncio
from oligo.asyncio import AsyncIber

async def main():
    connection = AsyncIber()
    await connection.login("user", "password")
    status = await connection.icpstatus()
    print(status)

asyncio.run(main())

Retrieve the hourly consumption during a time period (Sync)

from oligo import Iber
from datetime import date, timedelta
    
connection = Iber()
connection.login("user", "password")

from_date = date.today() - timedelta(days=7)
until_date = date.today() - timedelta(days=1)

consumo = connection.consumption(from_date, until_date)

print(consumo[:10])

Retrieve the hourly consumption during a time period (Async)

import asyncio
from oligo.asyncio import AsyncIber
from datetime import date, timedelta

async def main():
    connection = AsyncIber()
    await connection.login("user", "password")

    from_date = date.today() - timedelta(days=7)
    until_date = date.today() - timedelta(days=1)

    consumo = await connection.consumption(from_date, until_date)

    print(consumo[:10])

asyncio.run(main())

The values are the consumption in Watt-hours. In this case, we have the data of one week, which are 7 times 24, 168 values. If we sum and divide by 1000, we will have the total consumption from one week in kWh.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oligo-2.1.3.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oligo-2.1.3-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file oligo-2.1.3.tar.gz.

File metadata

  • Download URL: oligo-2.1.3.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for oligo-2.1.3.tar.gz
Algorithm Hash digest
SHA256 75bca0c0e67f02eb68eb70b23a0bc7fa5b7aad2a156dbc85bab6173b7ef9adb7
MD5 c04ece9978eeaf4779e68c2354c8e8c6
BLAKE2b-256 3ea1b0b479a3055c2930f3da5793ac3a6517e504ccb2795406e9c0a183e2f056

See more details on using hashes here.

File details

Details for the file oligo-2.1.3-py3-none-any.whl.

File metadata

  • Download URL: oligo-2.1.3-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for oligo-2.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 23f575d92dd9ff9b3d5da4073175d078102e13d144bfff84dcb3a7312da01d35
MD5 e417ff50f1bbb5407c415c1520fccb9d
BLAKE2b-256 87e229322d52b04dde731a32468daf393de2dcfbbbe3289c9261582fb2b48eef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page