From 2d3ae907506c8f59e32ef38fdd5b4902c2a7ab29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Fri, 23 Oct 2020 09:40:50 +0300 Subject: [PATCH 1/2] fix: tests.* (subpackage) exclusion from installs (#116) --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 72282316..51dba878 100644 --- a/setup.py +++ b/setup.py @@ -110,7 +110,7 @@ def run(self): author_email=EMAIL, python_requires=REQUIRES_PYTHON, url=URL, - packages=find_packages(exclude=("tests",)), + packages=find_packages(exclude=("tests*",)), # If your package is a single module, use this instead of "packages": # py_modules=["mypackage"], # entry_points={ From 441a72a9f25b71cd9aecba10dab358a7f37f513f Mon Sep 17 00:00:00 2001 From: Steffen Fredriksen Date: Tue, 12 Jan 2021 20:18:08 +0100 Subject: [PATCH 2/2] feat: add charge limit soc (#120) closes #114 --- teslajsonpy/homeassistant/charger.py | 8 ++++++++ tests/unit_tests/homeassistant/test_charging_sensor.py | 3 +++ 2 files changed, 11 insertions(+) diff --git a/teslajsonpy/homeassistant/charger.py b/teslajsonpy/homeassistant/charger.py index adba78f4..15d021b5 100644 --- a/teslajsonpy/homeassistant/charger.py +++ b/teslajsonpy/homeassistant/charger.py @@ -177,6 +177,7 @@ def __init__(self, data: Dict, controller) -> None: self.__charge_current_request = None self.__charger_actual_current = None self.__charger_voltage = None + self.__charger_soc_limit = None async def async_update(self, wake_if_asleep=False, force=False) -> None: """Update the battery state.""" @@ -207,6 +208,8 @@ def refresh(self) -> None: self.__charge_current_request = data["charge_current_request"] self.__charger_actual_current = data["charger_actual_current"] self.__charger_voltage = data["charger_voltage"] + self.__charge_limit_soc = data["charge_limit_soc"] + self.attrs["charge_limit_soc"] = self.charge_soc_limit if self.measurement != "mi/hr": self.__added_range = round(self.__added_range / 0.621371, 2) self.__charging_rate = round(self.__charging_rate / 0.621371, 2) @@ -251,6 +254,11 @@ def charge_energy_added(self) -> float: """Return the energy added.""" return self.__charge_energy_added + @property + def charge_soc_limit(self) -> int: + """Return the state of charge limit.""" + return self.__charge_limit_soc + @property def device_class(self) -> Text: """Return the HA device class.""" diff --git a/tests/unit_tests/homeassistant/test_charging_sensor.py b/tests/unit_tests/homeassistant/test_charging_sensor.py index f46646eb..3d02b814 100644 --- a/tests/unit_tests/homeassistant/test_charging_sensor.py +++ b/tests/unit_tests/homeassistant/test_charging_sensor.py @@ -49,6 +49,7 @@ def test_get_value_on_init(monkeypatch): assert _sensor.charger_actual_current is None assert _sensor.charger_voltage is None assert _sensor.charge_energy_added is None + assert _sensor.charge_limit_soc is None @pytest.mark.asyncio @@ -71,6 +72,7 @@ async def test_get_value_after_update(monkeypatch): assert _sensor.charger_actual_current == 0 assert _sensor.charger_voltage == 0 assert _sensor.charge_energy_added == 12.41 + assert _sensor.charge_limit_soc == 90 @pytest.mark.asyncio @@ -93,6 +95,7 @@ async def test_async_update(monkeypatch): assert _sensor.charger_actual_current == 0 assert _sensor.charger_voltage == 0 assert _sensor.charge_energy_added == 12.41 + assert _sensor.charge_limit_soc == 90 @pytest.mark.asyncio