{"id":15345186,"url":"https://github.com/hectorespert/python-oligo","last_synced_at":"2025-05-07T10:36:05.145Z","repository":{"id":40542126,"uuid":"94769708","full_name":"hectorespert/python-oligo","owner":"hectorespert","description":"Cliente Python (NO OFICIAL) para i-DE (Iberdrola distribución)","archived":false,"fork":false,"pushed_at":"2024-02-09T20:21:56.000Z","size":76,"stargazers_count":70,"open_issues_count":2,"forks_count":27,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-30T02:19:28.230Z","etag":null,"topics":["hacktoberfest","python","python-library","smartmeter"],"latest_commit_sha":null,"homepage":"https://hectorespert.github.io/python-oligo/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hectorespert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-06-19T11:29:17.000Z","updated_at":"2024-06-18T15:07:23.000Z","dependencies_parsed_at":"2024-02-09T21:26:52.122Z","dependency_job_id":"9930c331-af0f-4569-b4fe-effbffdc2b74","html_url":"https://github.com/hectorespert/python-oligo","commit_stats":{"total_commits":88,"total_committers":7,"mean_commits":"12.571428571428571","dds":"0.17045454545454541","last_synced_commit":"612cbf1951991d45b6d7b99317c3177875d62c40"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hectorespert%2Fpython-oligo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hectorespert%2Fpython-oligo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hectorespert%2Fpython-oligo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hectorespert%2Fpython-oligo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hectorespert","download_url":"https://codeload.github.com/hectorespert/python-oligo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252860541,"owners_count":21815534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","python","python-library","smartmeter"],"created_at":"2024-10-01T11:09:48.011Z","updated_at":"2025-05-07T10:36:05.115Z","avatar_url":"https://github.com/hectorespert.png","language":"Python","funding_links":[],"categories":["Energía y Electricidad"],"sub_categories":["Radar COVID"],"readme":"# python-oligo\n\n[![Python package](https://github.com/hectorespert/python-oligo/actions/workflows/test.yml/badge.svg)](https://github.com/hectorespert/python-oligo/actions/workflows/test.yml)\n\n[![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)\n\n## [ES] Cliente Python (NO OFICIAL) para i-DE (Iberdrola distribución).\n\n### Instalación:\n\n#### Requests support:\n\n```\npip install oligo[requests]\n```\n\n#### Async support:\n\n```\npip install oligo[asyncio]\n```\n\n### Ejemplos:\n\n#### Consultar consumo actual (Sync):\n\n```python\nfrom oligo import Iber\n\nconnection = Iber()\nconnection.login(\"user\", \"password\")\n\nwatt = connection.watthourmeter()\nprint(watt)\n```\n\n#### Consultar consumo actual (ASync):\n\n```python\nimport asyncio\nfrom oligo.asyncio import AsyncIber\n\nasync def main():\n    connection = AsyncIber()\n    await connection.login(\"user\", \"password\")\n\n    watt = await connection.watthourmeter()\n    print(watt)\n    await connection.close()\n\nasyncio.run(main())\n```\n\n#### Consultar estado ICP interno (Sync):\n\n```python\nfrom oligo import Iber\nconnection = Iber()\nconnection.login(\"user\", \"password\")\nstatus = connection.icpstatus()\nprint(status)\n```\n\n#### Consultar estado ICP interno (ASync):\n\n```python\nimport asyncio\nfrom oligo.asyncio import AsyncIber\n\nasync def main():\n    connection = AsyncIber()\n    await connection.login(\"user\", \"password\")\n    status = await connection.icpstatus()\n    print(status)\n\nasyncio.run(main())\n```\n\n#### Obtener el consumo horario durante un periodo (Sync)\n\n```python\nfrom oligo import Iber\nfrom datetime import date, timedelta\n\nconnection = Iber()\nconnection.login(\"user\", \"password\")\n\nfrom_date = date.today() - timedelta(days=7)\nuntil_date = date.today() - timedelta(days=1)\n\nconsumo = connection.consumption(from_date, until_date)\n\nprint(consumo[:10])\n```\n\n#### Obtener el consumo horario durante un periodo (ASync)\n\n```python\nimport asyncio\nfrom oligo.asyncio import AsyncIber\nfrom datetime import date, timedelta\n\nasync def main():\n    connection = AsyncIber()\n    await connection.login(\"user\", \"password\")\n\n    from_date = date.today() - timedelta(days=7)\n    until_date = date.today() - timedelta(days=1)\n\n    consumo = await connection.consumption(from_date, until_date)\n\n    print(consumo[:10])\n\nasyncio.run(main())\n```\n\nLos datos son el consumo por hora en Watt-horas. En este caso tendremos los\ndato de una semana, que son 7 por 24, 168 valores. Si sumamos y dividimos\npor 1000, tenemos el consumo de una semana en kWh.\n\n### Integraciones:\n- Integración para Home Assistan: [ad-ha/ide_api](https://github.com/ad-ha/ide_api)\n\n## [EN] Python client (UNOFFICIAL) for i-DE (Iberdrola distribución).\n### Install:\n\n```\npip install oligo\n```\n### Example:\n#### Obtain current consumption (Sync):\n\n```python\nfrom oligo import Iber\n\nconnection = Iber()\nconnection.login(\"user\", \"password\")\n\nwatt = connection.watthourmeter()\nprint(watt)\n```\n#### Obtain current consumption (ASync):\n\n```python\nimport asyncio\nfrom oligo.asyncio import AsyncIber\n\nasync def main():\n    connection = AsyncIber()\n    await connection.login(\"user\", \"password\")\n\n    watt = await connection.watthourmeter()\n    print(watt)\n\nasyncio.run(main())\n```\n\n#### Get ICP status (Sync):\n\n```python\nfrom oligo import Iber\nconnection = Iber()\nconnection.login(\"user\", \"password\")\nstatus = connection.icpstatus()\nprint(status)\n```\n\n#### Get ICP status (ASync):\n\n```python\nimport asyncio\nfrom oligo.asyncio import AsyncIber\n\nasync def main():\n    connection = AsyncIber()\n    await connection.login(\"user\", \"password\")\n    status = await connection.icpstatus()\n    print(status)\n\nasyncio.run(main())\n```\n\n#### Retrieve the hourly consumption during a time period (Sync)\n\n```python\nfrom oligo import Iber\nfrom datetime import date, timedelta\n    \nconnection = Iber()\nconnection.login(\"user\", \"password\")\n\nfrom_date = date.today() - timedelta(days=7)\nuntil_date = date.today() - timedelta(days=1)\n\nconsumo = connection.consumption(from_date, until_date)\n\nprint(consumo[:10])\n```\n\n#### Retrieve the hourly consumption during a time period (Async)\n\n```python\nimport asyncio\nfrom oligo.asyncio import AsyncIber\nfrom datetime import date, timedelta\n\nasync def main():\n    connection = AsyncIber()\n    await connection.login(\"user\", \"password\")\n\n    from_date = date.today() - timedelta(days=7)\n    until_date = date.today() - timedelta(days=1)\n\n    consumo = await connection.consumption(from_date, until_date)\n\n    print(consumo[:10])\n\nasyncio.run(main())\n```\n\nThe values are the consumption in Watt-hours. In this case, we have the data\nof one week, which are 7 times 24, 168 values. If we sum and divide by 1000,\nwe will have the total consumption from one week in kWh.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhectorespert%2Fpython-oligo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhectorespert%2Fpython-oligo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhectorespert%2Fpython-oligo/lists"}