ramses-rf 0.51.1__py3-none-any.whl → 0.51.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.
ramses_rf/device/hvac.py CHANGED
@@ -378,16 +378,11 @@ class HvacVentilator(FilterChange): # FAN: RP/31DA, I/31D[9A]
378
378
  @property
379
379
  def bypass_position(self) -> float | str | None:
380
380
  """
381
- Position info is found in 22F7 and in 31DA. Both are picked up, ignoring None.
381
+ Position info is found in 22F7 and in 31DA. The most recent packet is returned.
382
382
  :return: bypass position as percentage: 0.0 (closed) or 1.0 (open), on error: "x_faulted"
383
383
  """
384
- for code in [c for c in (Code._22F7, Code._31DA) if c in self._msgs]:
385
- if v := self._msgs[code].payload.get(SZ_BYPASS_POSITION):
386
- if v is not None: # skip none (to fetch other code)
387
- assert isinstance(v, (float | str))
388
- return v
389
- # if both packets exist and both have the key, return the most recent
390
- return None
384
+ # if both packets exist and both have the key, returns the most recent
385
+ return self._msg_value([Code._22F7, Code._31DA], key=SZ_BYPASS_POSITION)
391
386
 
392
387
  @property
393
388
  def bypass_state(self) -> str | None:
@@ -426,13 +421,6 @@ class HvacVentilator(FilterChange): # FAN: RP/31DA, I/31D[9A]
426
421
 
427
422
  @property
428
423
  def exhaust_temp(self) -> float | None:
429
- if Code._12A0 in self._msgs and isinstance(
430
- self._msgs[Code._12A0].payload, list
431
- ): # FAN Ventura sends RH/temps as a list, use element [2] for exhaust temp
432
- if v := self._msgs[Code._12A0].payload[2].get(SZ_TEMPERATURE):
433
- assert isinstance(v, (float | type(None)))
434
- return v
435
- return None
436
424
  return self._msg_value(Code._31DA, key=SZ_EXHAUST_TEMP)
437
425
 
438
426
  @property
@@ -482,32 +470,24 @@ class HvacVentilator(FilterChange): # FAN: RP/31DA, I/31D[9A]
482
470
  """
483
471
  if Code._12A0 in self._msgs and isinstance(
484
472
  self._msgs[Code._12A0].payload, list
485
- ): # FAN Ventura sends a list, use element [0]
473
+ ): # FAN Ventura sends RH/temps as a list; element [0] contains indoor_hum
486
474
  if v := self._msgs[Code._12A0].payload[0].get(SZ_INDOOR_HUMIDITY):
487
475
  assert isinstance(v, (float | type(None)))
488
476
  return v
489
- return None # prevent AttributeError: 'list' object has no attribute 'get'
490
- for code in [c for c in (Code._12A0, Code._31DA) if c in self._msgs]:
491
- if v := self._msgs[code].payload.get(SZ_INDOOR_HUMIDITY):
492
- if v is not None: # skip none (to check the other code)
493
- assert isinstance(v, float)
494
- return v
495
- return None
477
+ return self._msg_value([Code._12A0, Code._31DA], key=SZ_INDOOR_HUMIDITY)
496
478
 
497
479
  @property
498
480
  def indoor_temp(self) -> float | None:
481
+ return self._msg_value(Code._31DA, key=SZ_INDOOR_TEMP)
482
+
483
+ @property
484
+ def outdoor_humidity(self) -> float | None:
499
485
  if Code._12A0 in self._msgs and isinstance(
500
486
  self._msgs[Code._12A0].payload, list
501
- ): # FAN Ventura sends RH/temps as a list; element [0] is indoor_temp
502
- if v := self._msgs[Code._12A0].payload[0].get(SZ_TEMPERATURE):
487
+ ): # FAN Ventura sends RH/temps as a list; element [1] contains outdoor_hum
488
+ if v := self._msgs[Code._12A0].payload[1].get(SZ_OUTDOOR_HUMIDITY):
503
489
  assert isinstance(v, (float | type(None)))
504
490
  return v
505
- else:
506
- return self._msg_value(Code._31DA, key=SZ_INDOOR_TEMP)
507
- return None
508
-
509
- @property
510
- def outdoor_humidity(self) -> float | None:
511
491
  return self._msg_value(Code._31DA, key=SZ_OUTDOOR_HUMIDITY)
512
492
 
513
493
  @property
@@ -540,6 +520,13 @@ class HvacVentilator(FilterChange): # FAN: RP/31DA, I/31D[9A]
540
520
 
541
521
  @property
542
522
  def supply_temp(self) -> float | None:
523
+ if Code._12A0 in self._msgs and isinstance(
524
+ self._msgs[Code._12A0].payload, list
525
+ ): # FAN Ventura sends RH/temps as a list;
526
+ # pass element [0] in place of supply_temp, which is always None in VenturaV1x 31DA
527
+ if v := self._msgs[Code._12A0].payload[1].get(SZ_TEMPERATURE):
528
+ assert isinstance(v, (float | type(None)))
529
+ return v
543
530
  return self._msg_value(Code._31DA, key=SZ_SUPPLY_TEMP)
544
531
 
545
532
  @property
@@ -557,6 +544,12 @@ class HvacVentilator(FilterChange): # FAN: RP/31DA, I/31D[9A]
557
544
 
558
545
  @property
559
546
  def temperature(self) -> float | None: # Celsius
547
+ if Code._12A0 in self._msgs and isinstance(
548
+ self._msgs[Code._12A0].payload, list
549
+ ): # FAN Ventura sends RH/temps as a list; use element [1]
550
+ if v := self._msgs[Code._12A0].payload[0].get(SZ_TEMPERATURE):
551
+ assert isinstance(v, (float | type(None)))
552
+ return v
560
553
  # ClimaRad minibox FAN sends (indoor) temp in 12A0
561
554
  return self._msg_value(Code._12A0, key=SZ_TEMPERATURE)
562
555
 
ramses_rf/version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  """RAMSES RF - a RAMSES-II protocol decoder & analyser (application layer)."""
2
2
 
3
- __version__ = "0.51.1"
3
+ __version__ = "0.51.2"
4
4
  VERSION = __version__
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ramses_rf
3
- Version: 0.51.1
3
+ Version: 0.51.2
4
4
  Summary: A stateful RAMSES-II protocol decoder & analyser.
5
5
  Project-URL: Homepage, https://github.com/ramses-rf/ramses_rf
6
6
  Project-URL: Bug Tracker, https://github.com/ramses-rf/ramses_rf/issues
@@ -15,11 +15,11 @@ ramses_rf/gateway.py,sha256=vqoTEb6QXnwaIMa66oed_3LEVvlyQ3flsAAMliEEvVA,20921
15
15
  ramses_rf/helpers.py,sha256=LcrVLqnF2qJWqXrC7UXKOQE8khCT3OhoTpZ_ZVBjw3A,4249
16
16
  ramses_rf/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  ramses_rf/schemas.py,sha256=mYOUZOH5OIDNBxRM2vd8POzDWEEmLhxh5UtqjTpFNek,13287
18
- ramses_rf/version.py,sha256=F1An7mWrZUZVyxhkApeCPk3xFAau34Pc6hzHu6fqvk8,125
18
+ ramses_rf/version.py,sha256=kfKNt7MEhCXc_zJbeZAfydNUVN8mvGKtTksdzTdVqaE,125
19
19
  ramses_rf/device/__init__.py,sha256=sUbH5dhbYFXSoM_TPFRutpRutBRpup7_cQ9smPtDTy8,4858
20
20
  ramses_rf/device/base.py,sha256=V2YzRhdxrTqfHYrCBq6pJsYdTgAx8gGzfdo8pkbeEo8,17450
21
21
  ramses_rf/device/heat.py,sha256=2sCsggySVcuTzyXDmgWy76QbhlU5MQWSejy3zgI5BDE,54242
22
- ramses_rf/device/hvac.py,sha256=5K0FsTTu506OByd_oMoNJ7FePvjfQaxlT4eehXUAEC8,23642
22
+ ramses_rf/device/hvac.py,sha256=zs_P-3QwMi6Qi81lR1KIaoUqqdS1-UdMFWGXwGtkgtg,23438
23
23
  ramses_rf/system/__init__.py,sha256=uZLKio3gLlBzePa2aDQ1nxkcp1YXOGrn6iHTG8LiNIw,711
24
24
  ramses_rf/system/faultlog.py,sha256=GdGmVGT3137KsTlV_nhccgIFEmYu6DFsLTn4S-8JSok,12799
25
25
  ramses_rf/system/heat.py,sha256=dARzcwL39JGwOBJkKJBi0_i7rr8IvY-qaNmWmgJLpdo,39223
@@ -47,9 +47,9 @@ ramses_tx/schemas.py,sha256=h2AcArVROy1_C4n6F0Crj4e-2BxXxH74xogFlc6nKHI,12769
47
47
  ramses_tx/transport.py,sha256=28CtiqNltcJhLr4VIHCW9uCohWXrvxmx6ySUSIuRQ9c,52892
48
48
  ramses_tx/typed_dicts.py,sha256=4ZT50M-Cuwy2ljAIorwoxEJ9c737xUHrUxX9wTh79xE,10834
49
49
  ramses_tx/typing.py,sha256=eF2SlPWhNhEFQj6WX2AhTXiyRQVXYnFutiepllYl2rI,5042
50
- ramses_tx/version.py,sha256=PyOf332e4cHU33OjhzPo9s_NpQJZFU36TeBDdC0fF3M,123
51
- ramses_rf-0.51.1.dist-info/METADATA,sha256=cJUJq-2CnXserwY3AwjXZrRf_xUe-xRPLtAm069GCU8,3906
52
- ramses_rf-0.51.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
53
- ramses_rf-0.51.1.dist-info/entry_points.txt,sha256=NnyK29baOCNg8DinPYiZ368h7MTH7bgTW26z2A1NeIE,50
54
- ramses_rf-0.51.1.dist-info/licenses/LICENSE,sha256=-Kc35W7l1UkdiQ4314_yVWv7vDDrg7IrJfMLUiq6Nfs,1074
55
- ramses_rf-0.51.1.dist-info/RECORD,,
50
+ ramses_tx/version.py,sha256=jxe-qug9YpQ_VntHrnzpUANyyfPmcBb0dH8rlX5Bl0Y,123
51
+ ramses_rf-0.51.2.dist-info/METADATA,sha256=JXBcobOqMtmAPEMqnSZRONz6BEpU2jRr-r93VenhSBM,3906
52
+ ramses_rf-0.51.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
53
+ ramses_rf-0.51.2.dist-info/entry_points.txt,sha256=NnyK29baOCNg8DinPYiZ368h7MTH7bgTW26z2A1NeIE,50
54
+ ramses_rf-0.51.2.dist-info/licenses/LICENSE,sha256=-Kc35W7l1UkdiQ4314_yVWv7vDDrg7IrJfMLUiq6Nfs,1074
55
+ ramses_rf-0.51.2.dist-info/RECORD,,
ramses_tx/version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  """RAMSES RF - a RAMSES-II protocol decoder & analyser (transport layer)."""
2
2
 
3
- __version__ = "0.51.1"
3
+ __version__ = "0.51.2"
4
4
  VERSION = __version__