From 32a7a7f5d2ac7f557fdb6808d35502e0f0bab780 Mon Sep 17 00:00:00 2001 From: Hector Espert Date: Fri, 21 Jan 2022 00:08:22 +0100 Subject: [PATCH 1/2] Get current kilowatt hour read from power meter --- oligo/asyncio/asynciber.py | 12 ++++++++++++ oligo/requests/iber.py | 16 ++++++++++++++-- setup.py | 4 +++- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/oligo/asyncio/asynciber.py b/oligo/asyncio/asynciber.py index db14a78..039a3d1 100644 --- a/oligo/asyncio/asynciber.py +++ b/oligo/asyncio/asynciber.py @@ -1,3 +1,5 @@ +from deprecated.classic import deprecated + from ..exception import SessionException, ResponseException, NoResponseException, LoginException, \ SelectContractException @@ -80,11 +82,21 @@ async def measurement(self) -> dict: data = await self.__request(WATTHOURMETER_URL) return { "id": data["codSolicitudTGT"], + "meter": data["valLecturaContador"], "consumption": data["valMagnitud"], "icp": data["valInterruptor"], "raw_response": data, } + async def current_kilowatt_hour_read(self) -> float: + """Returns the current read of the electricity meter.""" + return (await self.measurement())["meter"] + + async def current_power_consumption(self) -> float: + """Returns your current power consumption.""" + return (await self.measurement())["consumption"] + + @deprecated("Use 'current_power_consumption' method instead") async def watthourmeter(self) -> float: """Returns your current power consumption.""" return (await self.measurement())["consumption"] diff --git a/oligo/requests/iber.py b/oligo/requests/iber.py index 46234ba..f215219 100644 --- a/oligo/requests/iber.py +++ b/oligo/requests/iber.py @@ -1,5 +1,7 @@ from datetime import datetime +from deprecated.classic import deprecated + try: from requests import Session except ImportError: @@ -64,15 +66,25 @@ def measurement(self): json_response = response.json() return { "id": json_response['codSolicitudTGT'], + "meter": json_response["valLecturaContador"], "consumption": json_response['valMagnitud'], "icp": json_response['valInterruptor'], - "raw_response" : json_response + "raw_response": json_response } - def watthourmeter(self): + def current_kilowatt_hour_read(self): + """Returns the current read of the electricity meter.""" + return self.measurement()["meter"] + + def current_power_consumption(self): """Returns your current power consumption.""" return self.measurement()['consumption'] + @deprecated("Use 'current_power_consumption' method instead") + def watthourmeter(self): + """Returns your current power consumption.""" + return self.current_power_consumption() + def icpstatus(self): """Returns the status of your ICP.""" self.__check_session() diff --git a/setup.py b/setup.py index 96d90e6..74a586e 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,9 @@ long_description_content_type="text/markdown", url="https://github.com/hectorespert/python-oligo", packages=find_packages(), - install_requires=[], + install_requires=[ + 'deprecated' + ], extras_require={ 'requests': ['requests'], 'asyncio': ['aiohttp'] From 52b64506625d9be379609aac77cc8583556c7a71 Mon Sep 17 00:00:00 2001 From: Hector Espert Date: Fri, 21 Jan 2022 00:10:42 +0100 Subject: [PATCH 2/2] Add deprecated dependency --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bea06c9..a04cd47 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ requests requests-mock -aiohttp \ No newline at end of file +aiohttp +deprecated