python-mobius 0.8.1__py3-none-any.whl → 0.8.2__py3-none-any.whl

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.
mobius/__init__.py CHANGED
@@ -82,7 +82,7 @@ from .mob import (
82
82
  MAX_PUMP_PRIMITIVE_SIZE,
83
83
  )
84
84
 
85
- __version__ = "0.8.1"
85
+ __version__ = "0.8.2"
86
86
 
87
87
  __all__ = [
88
88
  "__version__",
mobius/device.py CHANGED
@@ -145,6 +145,24 @@ class LightPollResult:
145
145
  schedule_points: list[SchedulePoint]
146
146
  intensities: LightIntensityResult
147
147
  used_batch: bool = True
148
+ # The same raw 0.0-1.0 schedule-level master dimmer
149
+ # get_schedule_intensity() itself returns -- already fetched and
150
+ # consumed internally by both this method and the individual-reads
151
+ # fallback below (it's one of process_light_intensities()'s own
152
+ # required inputs), but never actually propagated out to the
153
+ # caller until this field existed. NOT the same thing as
154
+ # intensities.diagnostics["scalar"]: that reflects whichever value
155
+ # is CURRENTLY driving the effective per-channel output at this
156
+ # exact moment (which, during a lunar-reduced night segment, is
157
+ # the lunar reduction factor instead) -- this field is always the
158
+ # device's own raw schedule-level intensity setting itself,
159
+ # regardless of whether it's the thing actually in effect right
160
+ # now. A caller wanting "what would the user's own intensity
161
+ # slider currently show" wants this field specifically, not
162
+ # diagnostics["scalar"]. None only if the underlying read itself
163
+ # failed and decode_schedule_intensity() had truly nothing to fall
164
+ # back to.
165
+ schedule_intensity: Optional[float] = None
148
166
 
149
167
 
150
168
  @dataclass
@@ -545,7 +563,9 @@ def decode_light_poll_from_batch(
545
563
  lunar_enabled, lunar_date, lunar_date_source,
546
564
  schedule_intensity, acclimation_info, insolation_active,
547
565
  )
548
- return LightPollResult(schedule_points=points, intensities=intensities, used_batch=True)
566
+ return LightPollResult(
567
+ schedule_points=points, intensities=intensities, used_batch=True, schedule_intensity=schedule_intensity,
568
+ )
549
569
 
550
570
 
551
571
  def decode_pump_flow_range(min_raw: list[bytes], max_raw: list[bytes]) -> Optional[PumpFlowRange]:
@@ -3790,7 +3810,11 @@ class MobiusDevice:
3790
3810
  """
3791
3811
  points = await self.get_light_schedule(which)
3792
3812
  intensities = await self.get_current_light_intensities(which, minute_of_day, now)
3793
- return LightPollResult(schedule_points=points, intensities=intensities, used_batch=False)
3813
+ schedule_intensity = await self.get_schedule_intensity(which)
3814
+ return LightPollResult(
3815
+ schedule_points=points, intensities=intensities, used_batch=False,
3816
+ schedule_intensity=schedule_intensity,
3817
+ )
3794
3818
 
3795
3819
  async def get_full_poll_batch(
3796
3820
  self, primitive: PrimitiveType, model: Optional[Model] = None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: python-mobius
3
- Version: 0.8.1
3
+ Version: 0.8.2
4
4
  Summary: Reverse-engineered Python client for the Mobius BLE protocol (EcoTech Marine VorTech/Radion, AquaIllumination, Neptune Systems, NYOS)
5
5
  Project-URL: Homepage, https://code.r3pek.org/r3pek/python-mobius
6
6
  Project-URL: Documentation, https://code.r3pek.org/r3pek/python-mobius/src/branch/main/documentation
@@ -1,9 +1,9 @@
1
- mobius/__init__.py,sha256=uOOBRMlA5Vg7Q-3qPfIoPsbO6g3Sb0osFEyZuVtaYE4,7620
1
+ mobius/__init__.py,sha256=yON2rPOxmGrhuAQ753NNSXkaUWFuUCc3R5JZTbRkvlY,7620
2
2
  mobius/cli.py,sha256=DJNKcBB7VCROZ90QmFWeCkRzPCRfoTaeTZaCLJ41s-Y,79735
3
3
  mobius/coap.py,sha256=ZRBy8ivgl1o2cVLjIp-df8Jg34c58K0_1Oec1P-gQI4,10464
4
4
  mobius/constants.py,sha256=OlbC0GSPT3Lp7rGfIqSMkAqY535oNNRRoOd15TTVt7k,46286
5
5
  mobius/crc.py,sha256=T6PWTp3gAHu-C05ua2LH8z8leD8mSjizM7nuC9G8KhU,2643
6
- mobius/device.py,sha256=aGH4mMs962NF-d_SAlq6u0JJC0LuC5m6AVAMYep8PIA,200173
6
+ mobius/device.py,sha256=Ti6jBr_gXDXXM2SlqLYV471p1tIhdDk4NTiBTWNXxPY,201501
7
7
  mobius/device_status.py,sha256=tKZwi12fS3PVl7F-Pr5tvTNOTAttaOtAWom7ahl0LZM,33080
8
8
  mobius/discovery.py,sha256=-N_RK8ZK91Ep-XePm9cHJa44yKiBL_Ind9wFHi_TZ-8,11742
9
9
  mobius/dump.py,sha256=2uy-bq8Ja2W3D4dz9VboSO_KqYQ4bE8xmVxYTxWOjXg,16525
@@ -17,8 +17,8 @@ mobius/pump_status.py,sha256=qLprWM0gAoltZj7w8ykdXHPfBDMl-QnBOwrmBlvknIA,1536
17
17
  mobius/relay.py,sha256=BmUc1l0mDOt9isTGs7wCh0NxehbMxfaTzm3cYs7VucA,26445
18
18
  mobius/scenes.py,sha256=Wt0Ys2x1YjF8MNDEd6kxWqYBIYPdBSbfzXD-L5ZKzag,3592
19
19
  mobius/schedule.py,sha256=BDm8Uh8O85AlAZuR7i7pgqKC2GNXcV_HikFoG6_3Xgo,17590
20
- python_mobius-0.8.1.dist-info/METADATA,sha256=JZoaDzlp_akqddFJI73WSnJyD5PBZfQdiyDR23psrKw,9899
21
- python_mobius-0.8.1.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
22
- python_mobius-0.8.1.dist-info/entry_points.txt,sha256=Q2hlcek-bWm70zvd12v32essflPgC2su-dKDHAqbPoE,48
23
- python_mobius-0.8.1.dist-info/licenses/LICENSE,sha256=7a72Msu2Q-TnoiFxemxEGkwafJGObk1W3rw9hzmyM_Y,17984
24
- python_mobius-0.8.1.dist-info/RECORD,,
20
+ python_mobius-0.8.2.dist-info/METADATA,sha256=w2YtMRx_vpnctt1CYM-VEw-uDomBvXawtGpgl_BFC6Q,9899
21
+ python_mobius-0.8.2.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
22
+ python_mobius-0.8.2.dist-info/entry_points.txt,sha256=Q2hlcek-bWm70zvd12v32essflPgC2su-dKDHAqbPoE,48
23
+ python_mobius-0.8.2.dist-info/licenses/LICENSE,sha256=7a72Msu2Q-TnoiFxemxEGkwafJGObk1W3rw9hzmyM_Y,17984
24
+ python_mobius-0.8.2.dist-info/RECORD,,