Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hectorespert/python-oligo
Cliente Python (NO OFICIAL) para i-DE (Iberdrola distribución)
https://github.com/hectorespert/python-oligo
hacktoberfest python python-library smartmeter
Last synced: 4 days ago
JSON representation
Cliente Python (NO OFICIAL) para i-DE (Iberdrola distribución)
- Host: GitHub
- URL: https://github.com/hectorespert/python-oligo
- Owner: hectorespert
- License: mit
- Created: 2017-06-19T11:29:17.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-02-09T20:21:56.000Z (11 months ago)
- Last Synced: 2024-12-09T07:50:12.565Z (13 days ago)
- Topics: hacktoberfest, python, python-library, smartmeter
- Language: Python
- Homepage: https://hectorespert.github.io/python-oligo/
- Size: 74.2 KB
- Stars: 70
- Watchers: 9
- Forks: 27
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# python-oligo
[![Python package](https://github.com/hectorespert/python-oligo/actions/workflows/test.yml/badge.svg)](https://github.com/hectorespert/python-oligo/actions/workflows/test.yml)
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/hectorespert/python-oligo)
## [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):
```python
from oligo import Iberconnection = Iber()
connection.login("user", "password")watt = connection.watthourmeter()
print(watt)
```#### Consultar consumo actual (ASync):
```python
import asyncio
from oligo.asyncio import AsyncIberasync 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):
```python
from oligo import Iber
connection = Iber()
connection.login("user", "password")
status = connection.icpstatus()
print(status)
```#### Consultar estado ICP interno (ASync):
```python
import asyncio
from oligo.asyncio import AsyncIberasync 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)
```python
from oligo import Iber
from datetime import date, timedeltaconnection = 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)
```python
import asyncio
from oligo.asyncio import AsyncIber
from datetime import date, timedeltaasync 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:
- Integración para Home Assistan: [ad-ha/ide_api](https://github.com/ad-ha/ide_api)## [EN] Python client (UNOFFICIAL) for i-DE (Iberdrola distribución).
### Install:```
pip install oligo
```
### Example:
#### Obtain current consumption (Sync):```python
from oligo import Iberconnection = Iber()
connection.login("user", "password")watt = connection.watthourmeter()
print(watt)
```
#### Obtain current consumption (ASync):```python
import asyncio
from oligo.asyncio import AsyncIberasync def main():
connection = AsyncIber()
await connection.login("user", "password")watt = await connection.watthourmeter()
print(watt)asyncio.run(main())
```#### Get ICP status (Sync):
```python
from oligo import Iber
connection = Iber()
connection.login("user", "password")
status = connection.icpstatus()
print(status)
```#### Get ICP status (ASync):
```python
import asyncio
from oligo.asyncio import AsyncIberasync 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)
```python
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)
```python
import asyncio
from oligo.asyncio import AsyncIber
from datetime import date, timedeltaasync 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.