dirigera 1.2.1__tar.gz → 1.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. {dirigera-1.2.1/src/dirigera.egg-info → dirigera-1.2.2}/PKG-INFO +1 -1
  2. {dirigera-1.2.1 → dirigera-1.2.2}/pyproject.toml +1 -1
  3. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/hub/hub.py +18 -3
  4. {dirigera-1.2.1 → dirigera-1.2.2/src/dirigera.egg-info}/PKG-INFO +1 -1
  5. {dirigera-1.2.1 → dirigera-1.2.2}/LICENSE +0 -0
  6. {dirigera-1.2.1 → dirigera-1.2.2}/README.md +0 -0
  7. {dirigera-1.2.1 → dirigera-1.2.2}/setup.cfg +0 -0
  8. {dirigera-1.2.1 → dirigera-1.2.2}/setup.py +0 -0
  9. {dirigera-1.2.1 → dirigera-1.2.2}/src/__init__.py +0 -0
  10. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/__init__.py +0 -0
  11. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/__init__.py +0 -0
  12. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/air_purifier.py +0 -0
  13. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/base_ikea_model.py +0 -0
  14. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/blinds.py +0 -0
  15. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/controller.py +0 -0
  16. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/device.py +0 -0
  17. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/environment_sensor.py +0 -0
  18. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/light.py +0 -0
  19. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/motion_sensor.py +0 -0
  20. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/open_close_sensor.py +0 -0
  21. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/outlet.py +0 -0
  22. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/scene.py +0 -0
  23. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/devices/water_sensor.py +0 -0
  24. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/hub/__init__.py +0 -0
  25. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/hub/abstract_smart_home_hub.py +0 -0
  26. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/hub/auth.py +0 -0
  27. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera/hub/utils.py +0 -0
  28. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera.egg-info/SOURCES.txt +0 -0
  29. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera.egg-info/dependency_links.txt +0 -0
  30. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera.egg-info/entry_points.txt +0 -0
  31. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera.egg-info/requires.txt +0 -0
  32. {dirigera-1.2.1 → dirigera-1.2.2}/src/dirigera.egg-info/top_level.txt +0 -0
  33. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_air_purifier.py +0 -0
  34. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_blinds.py +0 -0
  35. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_controller.py +0 -0
  36. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_environment_sensor.py +0 -0
  37. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_light.py +0 -0
  38. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_motion_sensor.py +0 -0
  39. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_open_close_sensor.py +0 -0
  40. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_outlet.py +0 -0
  41. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_scenes.py +0 -0
  42. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_utils.py +0 -0
  43. {dirigera-1.2.1 → dirigera-1.2.2}/tests/test_water_sensor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dirigera
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Summary: An unofficial Python client for controlling the IKEA Dirigera Smart Home Hub
5
5
  Author-email: Leggin <legginsun@gmail.com>
6
6
  License: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dirigera"
7
- version = "1.2.1"
7
+ version = "1.2.2"
8
8
  description = "An unofficial Python client for controlling the IKEA Dirigera Smart Home Hub"
9
9
  readme = "README.md"
10
10
  authors = [{ name = "Leggin", email = "legginsun@gmail.com" }]
@@ -44,7 +44,7 @@ class Hub(AbstractSmartHomeHub):
44
44
  self.api_base_url = f"https://{ip_address}:{port}/{api_version}"
45
45
  self.websocket_base_url = f"wss://{ip_address}:{port}/{api_version}"
46
46
  self.token = token
47
- self.wsapp : Any = None
47
+ self.wsapp: Any = None
48
48
 
49
49
  def headers(self) -> Dict[str, Any]:
50
50
  return {"Authorization": f"Bearer {self.token}"}
@@ -343,13 +343,27 @@ class Hub(AbstractSmartHomeHub):
343
343
  data = self.get(f"/scenes/{scene_id}")
344
344
  return dict_to_scene(data, self)
345
345
 
346
+ def get_scene_by_name(self, scene_name: str) -> Scene:
347
+ """
348
+ Fetches all scenes and returns the first result that matches scene_name
349
+ """
350
+ scenes = self.get_scenes()
351
+ scenes = list(filter(lambda x: x.info.name == scene_name, scenes))
352
+ if len(scenes) == 0:
353
+ raise AssertionError(f"No Scene found with name {scene_name}")
354
+ return scenes[0]
355
+
346
356
  def get_water_sensors(self) -> List[WaterSensor]:
347
357
  """
348
358
  Fetches all water sensors registered in the Hub
349
359
  """
350
360
  devices = self.get("/devices")
351
- water_sensors = list(filter(lambda x: x["deviceType"] == "waterSensor", devices))
352
- return [dict_to_water_sensor(water_sensor, self) for water_sensor in water_sensors]
361
+ water_sensors = list(
362
+ filter(lambda x: x["deviceType"] == "waterSensor", devices)
363
+ )
364
+ return [
365
+ dict_to_water_sensor(water_sensor, self) for water_sensor in water_sensors
366
+ ]
353
367
 
354
368
  def get_water_sensor_by_id(self, id_: str) -> WaterSensor:
355
369
  """
@@ -374,6 +388,7 @@ class Hub(AbstractSmartHomeHub):
374
388
  devices.extend(self.get_motion_sensors())
375
389
  devices.extend(self.get_open_close_sensors())
376
390
  devices.extend(self.get_outlets())
391
+ devices.extend(self.get_water_sensors())
377
392
 
378
393
  return devices
379
394
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dirigera
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Summary: An unofficial Python client for controlling the IKEA Dirigera Smart Home Hub
5
5
  Author-email: Leggin <legginsun@gmail.com>
6
6
  License: MIT License
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes