All Projects → hectorespert → python-oligo

hectorespert / python-oligo

Licence: MIT license
Cliente Python (NO OFICIAL) para i-DE (Iberdrola distribución)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to python-oligo

vzlogger
Logging utility for various meters & sensors
Stars: ✭ 108 (+83.05%)
Mutual labels:  smartmeter
hassio-addons
DSMR Reader Datalogger and Metabase Home Assistant Add-ons
Stars: ✭ 29 (-50.85%)
Mutual labels:  smartmeter
dsmr-reader-docker
DSMR Reader in Docker.
Stars: ✭ 78 (+32.2%)
Mutual labels:  smartmeter
SMLReader
ESP8266 based smart meter (SML) to MQTT gateway
Stars: ✭ 170 (+188.14%)
Mutual labels:  smartmeter

python-oligo

Python package

Gitpod ready-to-code

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

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.

Integraciones:

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

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].