Skip to content

Commit

Permalink
Merge pull request #1 from ManticSic/extended_data
Browse files Browse the repository at this point in the history
Extend emeter data
  • Loading branch information
ManticSic authored Aug 27, 2021
2 parents 3f4c71d + f6bcdca commit e64f60f
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 4 deletions.
18 changes: 15 additions & 3 deletions collecting/kasa.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from kasa import SmartPlug, EmeterStatus
from kasa import SmartPlug
from models.configuration import Configuration
from models.customeemterstatus import CustomEmeterStatus


class KasaCollector:
Expand All @@ -16,10 +17,21 @@ async def setup(self) -> None:
if not self.device.has_emeter:
raise Exception(f'{self.configuration.device} has no emeter.')

async def fetch(self) -> EmeterStatus:
async def fetch(self) -> CustomEmeterStatus:
await self.device.update()

return await self.device.get_emeter_realtime()
emeter_status = await self.device.get_emeter_realtime()
today = self.device.emeter_today
this_month = self.device.emeter_this_month

return CustomEmeterStatus(
emeter_status['voltage_mv'],
emeter_status['current_ma'],
emeter_status['power_mw'],
emeter_status['total_wh'],
today,
this_month
)

async def __get_device(self) -> SmartPlug:
if self.configuration.device_type is 'plug':
Expand Down
2 changes: 1 addition & 1 deletion main.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ async def main() -> None:

while True:
data = await collector.fetch()
logger.info('Successfully fetched data.', data=data)
logger.info('Successfully fetched data.', data=data.__dict__)
sleep(configuration.interval)


Expand Down
11 changes: 11 additions & 0 deletions models/customeemterstatus.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from dataclasses import dataclass


@dataclass
class CustomEmeterStatus:
voltage_mv: int
power_mw: int
current_ma: int
total_wh: int
today_kwh: float
this_month_kwh: float

0 comments on commit e64f60f

Please sign in to comment.