From c2619a22e988a7176db988d9d403a2bbb6f71291 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Tue, 18 Jun 2024 20:20:50 +0200 Subject: [PATCH] Complete the API calls (#115) --- src/airgradient/airgradient.py | 24 ++++++++++++++++++++++++ tests/test_airgradient.py | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/src/airgradient/airgradient.py b/src/airgradient/airgradient.py index cb11a52..9e893f9 100644 --- a/src/airgradient/airgradient.py +++ b/src/airgradient/airgradient.py @@ -115,6 +115,30 @@ async def request_led_bar_test(self) -> None: """Request LED bar test on AirGradient device.""" await self._set_config("ledBarTestRequested", value=True) + async def set_display_brightness(self, brightness: int) -> None: + """Set display brightness on AirGradient device.""" + await self._set_config("displayBrightness", brightness) + + async def set_led_bar_brightness(self, brightness: int) -> None: + """Set LED bar brightness on AirGradient device.""" + await self._set_config("ledBarBrightness", brightness) + + async def enable_sharing_data(self, *, enable: bool) -> None: + """Enable or disable sharing data on AirGradient device.""" + await self._set_config("postDataToAirGradient", value=enable) + + async def set_co2_automatic_baseline_calibration(self, days: int) -> None: + """Set CO2 automatic baseline calibration on AirGradient device.""" + await self._set_config("abcDays", days) + + async def set_nox_learning_offset(self, offset: int) -> None: + """Set NOx learning offset on AirGradient device.""" + await self._set_config("noxLearningOffset", offset) + + async def set_tvoc_learning_offset(self, offset: int) -> None: + """Set TVOC learning offset on AirGradient device.""" + await self._set_config("tvocLearningOffset", offset) + async def close(self) -> None: """Close open client session.""" if self.session and self._close_session: diff --git a/tests/test_airgradient.py b/tests/test_airgradient.py index 4f78bda..ca780dd 100644 --- a/tests/test_airgradient.py +++ b/tests/test_airgradient.py @@ -134,6 +134,30 @@ async def test_config( lambda client: client.request_led_bar_test(), {"ledBarTestRequested": True}, ), + ( + lambda client: client.set_display_brightness(50), + {"displayBrightness": 50}, + ), + ( + lambda client: client.set_led_bar_brightness(50), + {"ledBarBrightness": 50}, + ), + ( + lambda client: client.enable_sharing_data(enable=True), + {"postDataToAirGradient": True}, + ), + ( + lambda client: client.set_co2_automatic_baseline_calibration(50), + {"abcDays": 50}, + ), + ( + lambda client: client.set_nox_learning_offset(50), + {"noxLearningOffset": 50}, + ), + ( + lambda client: client.set_tvoc_learning_offset(50), + {"tvocLearningOffset": 50}, + ), ], ) async def test_setting_config(