mirror of
https://github.com/python-kasa/python-kasa.git
synced 2025-08-06 10:44:04 +00:00
Add emeter support for strip sockets (#203)
* Add support for plugs with emeters. * Tweaks for emeter * black * tweaks * tweaks * more tweaks * dry * flake8 * flake8 * legacy typing * Update kasa/smartstrip.py Co-authored-by: Teemu R. <tpr@iki.fi> * reduce * remove useless delegation * tweaks * tweaks * dry * tweak * tweak * tweak * tweak * update tests * wrap * preen * prune * prune * prune * guard * adjust * robust * prune * prune * reduce dict lookups by 1 * Update kasa/smartstrip.py Co-authored-by: Teemu R. <tpr@iki.fi> * delete utils * isort Co-authored-by: Brendan Burns <brendan.d.burns@gmail.com> Co-authored-by: Teemu R. <tpr@iki.fi>
This commit is contained in:
@@ -22,9 +22,6 @@ async def test_no_emeter(dev):
|
||||
|
||||
@has_emeter
|
||||
async def test_get_emeter_realtime(dev):
|
||||
if dev.is_strip:
|
||||
pytest.skip("Disabled for strips temporarily")
|
||||
|
||||
assert dev.has_emeter
|
||||
|
||||
current_emeter = await dev.get_emeter_realtime()
|
||||
@@ -34,9 +31,6 @@ async def test_get_emeter_realtime(dev):
|
||||
@has_emeter
|
||||
@pytest.mark.requires_dummy
|
||||
async def test_get_emeter_daily(dev):
|
||||
if dev.is_strip:
|
||||
pytest.skip("Disabled for strips temporarily")
|
||||
|
||||
assert dev.has_emeter
|
||||
|
||||
assert await dev.get_emeter_daily(year=1900, month=1) == {}
|
||||
@@ -57,9 +51,6 @@ async def test_get_emeter_daily(dev):
|
||||
@has_emeter
|
||||
@pytest.mark.requires_dummy
|
||||
async def test_get_emeter_monthly(dev):
|
||||
if dev.is_strip:
|
||||
pytest.skip("Disabled for strips temporarily")
|
||||
|
||||
assert dev.has_emeter
|
||||
|
||||
assert await dev.get_emeter_monthly(year=1900) == {}
|
||||
@@ -79,9 +70,6 @@ async def test_get_emeter_monthly(dev):
|
||||
|
||||
@has_emeter
|
||||
async def test_emeter_status(dev):
|
||||
if dev.is_strip:
|
||||
pytest.skip("Disabled for strips temporarily")
|
||||
|
||||
assert dev.has_emeter
|
||||
|
||||
d = await dev.get_emeter_realtime()
|
||||
@@ -108,9 +96,6 @@ async def test_erase_emeter_stats(dev):
|
||||
|
||||
@has_emeter
|
||||
async def test_current_consumption(dev):
|
||||
if dev.is_strip:
|
||||
pytest.skip("Disabled for strips temporarily")
|
||||
|
||||
if dev.has_emeter:
|
||||
x = await dev.current_consumption()
|
||||
assert isinstance(x, float)
|
||||
|
@@ -4,6 +4,7 @@ from unittest.mock import patch
|
||||
import pytest # type: ignore # https://github.com/pytest-dev/pytest/issues/3342
|
||||
|
||||
from kasa import SmartDeviceException
|
||||
from kasa.smartstrip import SmartStripPlug
|
||||
|
||||
from .conftest import handle_turn_on, has_emeter, no_emeter, pytestmark, turn_on
|
||||
from .newfakes import PLUG_SCHEMA, TZ_SCHEMA, FakeTransportProtocol
|
||||
@@ -26,7 +27,7 @@ async def test_initial_update_emeter(dev, mocker):
|
||||
dev._last_update = None
|
||||
spy = mocker.spy(dev.protocol, "query")
|
||||
await dev.update()
|
||||
assert spy.call_count == 2
|
||||
assert spy.call_count == 2 + len(dev.children)
|
||||
|
||||
|
||||
@no_emeter
|
||||
|
Reference in New Issue
Block a user