From 73617b0e4dc38d583a27d296eb68df2ca176b0c9 Mon Sep 17 00:00:00 2001 From: PimDoos <17709721+PimDoos@users.noreply.github.com> Date: Sat, 24 Jan 2026 17:01:59 +0100 Subject: [PATCH 1/2] Add model property --- pyproject.toml | 2 +- setup.cfg | 2 +- src/sessypy/devices.py | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index acc1b6d..59592eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "sessypy" -version = "0.2.4" +version = "0.2.5" authors = [ { name="PimDoos" }, ] diff --git a/setup.cfg b/setup.cfg index ee37ec8..a8f04af 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = sessypy -version = 0.2.4 +version = 0.2.5 author = PimDoos url = https://github.com/PimDoos/sessypy long_description = file: README.md diff --git a/src/sessypy/devices.py b/src/sessypy/devices.py index 453414d..40f0827 100644 --- a/src/sessypy/devices.py +++ b/src/sessypy/devices.py @@ -32,6 +32,11 @@ def host(self) -> str: def api(self) -> SessyApi: return self._api + @property + def model(self) -> str: + """Model of the device""" + return NotImplementedError + async def get_ota_status(self): return await self.api.get(SessyApiCommand.OTA_STATUS) @@ -71,6 +76,10 @@ async def close(self): await self.api.close() class SessyBattery(SessyDevice): + @property + def model(self): + return "WiFi Dongle" + async def get_dynamic_schedule(self): return await self.api.get(SessyApiCommand.DYNAMIC_SCHEDULE) @@ -103,6 +112,10 @@ async def get_meter_status(self): return await self.api.get(SessyApiCommand.METER_STATUS) class SessyP1Meter(SessyMeter): + @property + def model(self): + return "P1 Meter" + async def get_p1_details(self): return await self.api.get(SessyApiCommand.P1_DETAILS) @@ -110,6 +123,10 @@ async def get_modbus_details(self): return await self.api.get(SessyApiCommand.MODBUS_DETAILS) class SessyCTMeter(SessyMeter): + @property + def model(self): + return "CT Meter" + async def get_ct_details(self): return await self.api.get(SessyApiCommand.CT_DETAILS) From f9a9f09f6746fd43923b5c29ced28c8eeeed7e19 Mon Sep 17 00:00:00 2001 From: PimDoos <17709721+PimDoos@users.noreply.github.com> Date: Sat, 24 Jan 2026 17:01:59 +0100 Subject: [PATCH 2/2] Add model property --- pyproject.toml | 2 +- setup.cfg | 2 +- src/sessypy/devices.py | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index acc1b6d..59592eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "sessypy" -version = "0.2.4" +version = "0.2.5" authors = [ { name="PimDoos" }, ] diff --git a/setup.cfg b/setup.cfg index ee37ec8..a8f04af 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = sessypy -version = 0.2.4 +version = 0.2.5 author = PimDoos url = https://github.com/PimDoos/sessypy long_description = file: README.md diff --git a/src/sessypy/devices.py b/src/sessypy/devices.py index 453414d..40f0827 100644 --- a/src/sessypy/devices.py +++ b/src/sessypy/devices.py @@ -32,6 +32,11 @@ def host(self) -> str: def api(self) -> SessyApi: return self._api + @property + def model(self) -> str: + """Model of the device""" + return NotImplementedError + async def get_ota_status(self): return await self.api.get(SessyApiCommand.OTA_STATUS) @@ -71,6 +76,10 @@ async def close(self): await self.api.close() class SessyBattery(SessyDevice): + @property + def model(self): + return "WiFi Dongle" + async def get_dynamic_schedule(self): return await self.api.get(SessyApiCommand.DYNAMIC_SCHEDULE) @@ -103,6 +112,10 @@ async def get_meter_status(self): return await self.api.get(SessyApiCommand.METER_STATUS) class SessyP1Meter(SessyMeter): + @property + def model(self): + return "P1 Meter" + async def get_p1_details(self): return await self.api.get(SessyApiCommand.P1_DETAILS) @@ -110,6 +123,10 @@ async def get_modbus_details(self): return await self.api.get(SessyApiCommand.MODBUS_DETAILS) class SessyCTMeter(SessyMeter): + @property + def model(self): + return "CT Meter" + async def get_ct_details(self): return await self.api.get(SessyApiCommand.CT_DETAILS)