diff --git a/homewizard_energy/homewizard_energy.py b/homewizard_energy/homewizard_energy.py index 65aa7bc..54d917e 100644 --- a/homewizard_energy/homewizard_energy.py +++ b/homewizard_energy/homewizard_energy.py @@ -82,6 +82,10 @@ async def measurement(self) -> Measurement: """Get the current measurement.""" raise NotImplementedError + async def telegram(self) -> Any: + """Get the latest telegram.""" + raise NotImplementedError + async def system( self, cloud_enabled: bool | None = None, diff --git a/homewizard_energy/v1/__init__.py b/homewizard_energy/v1/__init__.py index daea9b5..5ea884e 100644 --- a/homewizard_energy/v1/__init__.py +++ b/homewizard_energy/v1/__init__.py @@ -56,6 +56,15 @@ async def measurement(self) -> Measurement: _, response = await self._request("api/v1/data") return Measurement.from_json(response) + async def telegram(self) -> Any: + """Return the most recent, valid telegram that was given by the device. + The telegram is not processed in any other form. + If you need parsed data, use the measurement method. + """ + _, response = await self._request("api/v1/telegram") + telegram = response + return telegram + @optional_method async def system( self, diff --git a/homewizard_energy/v2/__init__.py b/homewizard_energy/v2/__init__.py index 32767d1..761e16b 100644 --- a/homewizard_energy/v2/__init__.py +++ b/homewizard_energy/v2/__init__.py @@ -95,6 +95,16 @@ async def measurement(self) -> Measurement: return measurement + @authorized_method + async def telegram(self) -> Any: + """Return the most recent, valid telegram that was given by the device. + The telegram is not processed in any other form. + If you need parsed data, use the measurement method. + """ + _, response = await self._request("/api/telegram") + telegram = response + return telegram + @authorized_method async def system( self,