casambi-bt-revamped 0.3.8.dev2__tar.gz → 0.3.8.dev3__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 (23) hide show
  1. {casambi_bt_revamped-0.3.8.dev2/src/casambi_bt_revamped.egg-info → casambi_bt_revamped-0.3.8.dev3}/PKG-INFO +1 -1
  2. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/setup.cfg +1 -1
  3. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_unit.py +20 -2
  4. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3/src/casambi_bt_revamped.egg-info}/PKG-INFO +1 -1
  5. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/LICENSE +0 -0
  6. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/README.md +0 -0
  7. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/pyproject.toml +0 -0
  8. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/__init__.py +0 -0
  9. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_cache.py +0 -0
  10. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_casambi.py +0 -0
  11. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_client.py +0 -0
  12. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_constants.py +0 -0
  13. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_discover.py +0 -0
  14. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_encryption.py +0 -0
  15. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_keystore.py +0 -0
  16. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_network.py +0 -0
  17. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/_operation.py +0 -0
  18. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/errors.py +0 -0
  19. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/CasambiBt/py.typed +0 -0
  20. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/casambi_bt_revamped.egg-info/SOURCES.txt +0 -0
  21. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/casambi_bt_revamped.egg-info/dependency_links.txt +0 -0
  22. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/casambi_bt_revamped.egg-info/requires.txt +0 -0
  23. {casambi_bt_revamped-0.3.8.dev2 → casambi_bt_revamped-0.3.8.dev3}/src/casambi_bt_revamped.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: casambi-bt-revamped
3
- Version: 0.3.8.dev2
3
+ Version: 0.3.8.dev3
4
4
  Summary: Enhanced Casambi Bluetooth client library with switch event support
5
5
  Home-page: https://github.com/rankjie/casambi-bt
6
6
  Author: rankjie
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = casambi-bt-revamped
3
- version = 0.3.8.dev2
3
+ version = 0.3.8.dev3
4
4
  author = rankjie
5
5
  author_email = rankjie@gmail.com
6
6
  description = Enhanced Casambi Bluetooth client library with switch event support
@@ -111,6 +111,7 @@ class UnitState:
111
111
  self._colorsource: ColorSource | None = None
112
112
  self._xy: tuple[float, float] | None = None
113
113
  self._slider: int | None = None
114
+ self._onoff: bool | None = None
114
115
 
115
116
  def _check_range(
116
117
  self, value: int | float, min: int | float, max: int | float
@@ -269,9 +270,20 @@ class UnitState:
269
270
  def slider(self) -> None:
270
271
  self.slider = None
271
272
 
272
- def __repr__(self) -> str:
273
- return f"UnitState(dimmer={self.dimmer}, vertical={self._vertical}, rgb={self.rgb.__repr__()}, white={self.white}, temperature={self.temperature}, colorsource={self.colorsource}, xy={self.xy}, slider={self.slider})"
273
+ @property
274
+ def onoff(self) -> bool | None:
275
+ return self._onoff
276
+
277
+ @onoff.setter
278
+ def onoff(self, value: bool) -> None:
279
+ self._onoff = value
274
280
 
281
+ @onoff.deleter
282
+ def onoff(self) -> None:
283
+ self._onoff = None
284
+
285
+ def __repr__(self) -> str:
286
+ return f"UnitState(dimmer={self.dimmer}, vertical={self._vertical}, rgb={self.rgb.__repr__()}, white={self.white}, temperature={self.temperature}, colorsource={self.colorsource}, xy={self.xy}, slider={self.slider}, onoff={self.onoff})"
275
287
 
276
288
  # TODO: Make unit immutable (refactor state, on, online out of it)
277
289
  @dataclass(init=True, repr=True)
@@ -308,6 +320,8 @@ class Unit:
308
320
  @property
309
321
  def is_on(self) -> bool:
310
322
  """Determine whether the unit is turned on."""
323
+ if self.unitType.get_control(UnitControlType.ONOFF) and self._state:
324
+ return self._on and self._state.onoff is True
311
325
  if self.unitType.get_control(UnitControlType.DIMMER) and self._state:
312
326
  return (
313
327
  self._on and self._state.dimmer is not None and self._state.dimmer > 0
@@ -385,6 +399,8 @@ class Unit:
385
399
  elif c.type == UnitControlType.SLIDER and state.slider is not None:
386
400
  scale = UnitState.SLIDER_RESOLUTION - c.length
387
401
  scaledValue = state.slider >> scale
402
+ elif c.type == UnitControlType.ONOFF and state.onoff is not None:
403
+ scaledValue = 1 if state.onoff else 0
388
404
 
389
405
  # Use default if unsupported type or unset value in state
390
406
  else:
@@ -477,6 +493,8 @@ class Unit:
477
493
  elif c.type == UnitControlType.SLIDER:
478
494
  scale = UnitState.SLIDER_RESOLUTION - c.length
479
495
  self._state.slider = cInt << scale
496
+ elif c.type == UnitControlType.ONOFF:
497
+ self._state.onoff = cInt != 0
480
498
  elif c.type == UnitControlType.UNKOWN:
481
499
  # Might be useful for implementing more state types
482
500
  _LOGGER.debug(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: casambi-bt-revamped
3
- Version: 0.3.8.dev2
3
+ Version: 0.3.8.dev3
4
4
  Summary: Enhanced Casambi Bluetooth client library with switch event support
5
5
  Home-page: https://github.com/rankjie/casambi-bt
6
6
  Author: rankjie