ramses-rf 0.51.2__tar.gz → 0.51.3__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 (351) hide show
  1. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/PKG-INFO +1 -1
  2. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/device/hvac.py +2 -2
  3. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/entity_base.py +4 -1
  4. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/version.py +1 -1
  5. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/version.py +1 -1
  6. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_apis_hvac.py +73 -3
  7. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  8. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/.github/dependabot.yml +0 -0
  9. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/.github/workflows/check-lint.yml +0 -0
  10. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/.github/workflows/check-test.yml +0 -0
  11. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/.github/workflows/check-type.yml +0 -0
  12. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/.github/workflows/publish-hatch.yml +0 -0
  13. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/.gitignore +0 -0
  14. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/.pre-commit-config.yaml +0 -0
  15. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/LICENSE +0 -0
  16. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/README-developers.md +0 -0
  17. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/README.md +0 -0
  18. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/client.py +0 -0
  19. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/misc/fingerprints.log +0 -0
  20. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/misc/ser2net.yaml +0 -0
  21. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/misc/ti_3410/notes.sh +0 -0
  22. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/misc/ti_3410/ti_3410.fw +0 -0
  23. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/pyproject.toml +0 -0
  24. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_cli/__init__.py +0 -0
  25. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_cli/client.py +0 -0
  26. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_cli/debug.py +0 -0
  27. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_cli/discovery.py +0 -0
  28. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_cli/utils/cat_slow.py +0 -0
  29. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_cli/utils/convert.py +0 -0
  30. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/__init__.py +0 -0
  31. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/binding_fsm.py +0 -0
  32. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/const.py +0 -0
  33. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/database.py +0 -0
  34. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/device/__init__.py +0 -0
  35. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/device/base.py +0 -0
  36. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/device/heat.py +0 -0
  37. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/dispatcher.py +0 -0
  38. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/exceptions.py +0 -0
  39. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/gateway.py +0 -0
  40. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/helpers.py +0 -0
  41. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/py.typed +0 -0
  42. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/schemas.py +0 -0
  43. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/system/__init__.py +0 -0
  44. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/system/faultlog.py +0 -0
  45. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/system/heat.py +0 -0
  46. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/system/schedule.py +0 -0
  47. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_rf/system/zones.py +0 -0
  48. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/__init__.py +0 -0
  49. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/address.py +0 -0
  50. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/command.py +0 -0
  51. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/const.py +0 -0
  52. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/exceptions.py +0 -0
  53. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/fingerprints.py +0 -0
  54. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/frame.py +0 -0
  55. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/gateway.py +0 -0
  56. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/helpers.py +0 -0
  57. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/logger.py +0 -0
  58. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/message.py +0 -0
  59. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/opentherm.py +0 -0
  60. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/packet.py +0 -0
  61. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/parsers.py +0 -0
  62. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/protocol.py +0 -0
  63. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/protocol_fsm.py +0 -0
  64. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/py.typed +0 -0
  65. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/ramses.py +0 -0
  66. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/schemas.py +0 -0
  67. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/transport.py +0 -0
  68. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/typed_dicts.py +0 -0
  69. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/ramses_tx/typing.py +0 -0
  70. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/requirements.txt +0 -0
  71. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/requirements_dev.txt +0 -0
  72. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/_test_apis_mock.py +0 -0
  73. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/_test_mock_faultlog.py +0 -0
  74. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/_test_mock_schedule.py +0 -0
  75. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/_test_packets_bad.py +0 -0
  76. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/_test_performance_WIP.py +0 -0
  77. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/_test_state_mgt.py +0 -0
  78. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/common.py +0 -0
  79. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/mocked_devices/__init__.py +0 -0
  80. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/mocked_devices/command.py +0 -0
  81. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/mocked_devices/const.py +0 -0
  82. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/mocked_devices/device_heat.py +0 -0
  83. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/mocked_devices/device_hvac.py +0 -0
  84. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/deprecated/mocked_devices/transport.py +0 -0
  85. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/__init__.py +0 -0
  86. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/heat/ctl_bdr_91t.log +0 -0
  87. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/heat/dts_ctl_sensor.log +0 -0
  88. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/heat/hcw_ctl_sensor.log +0 -0
  89. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/heat/rnd_ctl_sensor.log +0 -0
  90. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/heat/rnd_ctl_sensor.yaml +0 -0
  91. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/heat/trv_ctl.log +0 -0
  92. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/co2_fan_itho.json +0 -0
  93. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/co2_fan_itho.log +0 -0
  94. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/co2_fan_itho.yaml +0 -0
  95. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/dis_fan_orcon.json +0 -0
  96. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/dis_fan_orcon.log +0 -0
  97. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/rem_fan_climarad.log +0 -0
  98. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/rem_fan_nuaire.json +0 -0
  99. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/rem_fan_nuaire.log +0 -0
  100. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/rem_fan_nuaire.yaml +0 -0
  101. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/rem_fan_vasco.log +0 -0
  102. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/bindings/hvac/rem_fan_ventura.log +0 -0
  103. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/devices/device_02.log +0 -0
  104. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/devices/device_04.log +0 -0
  105. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/devices/device_10.log +0 -0
  106. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/devices/device_13.log +0 -0
  107. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/devices/device_22.log +0 -0
  108. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_dev_class/hvac/known_list_eavesdrop_off.json +0 -0
  109. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_dev_class/hvac/known_list_eavesdrop_on.json +0 -0
  110. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_dev_class/hvac/packet.log +0 -0
  111. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/_trv_actuator_long/packet.log +0 -0
  112. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/_trv_actuator_long/schema_eavesdrop_off.json +0 -0
  113. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/_trv_actuator_long/schema_eavesdrop_on.json +0 -0
  114. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/_trv_actuator_mixed/packet.log +0 -0
  115. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/_trv_actuator_mixed/schema_eavesdrop_off.json +0 -0
  116. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/_trv_actuator_mixed/schema_eavesdrop_on.json +0 -0
  117. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/_ufh_circuits/packet.log +0 -0
  118. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/_ufh_circuits/schema_eavesdrop_off.json +0 -0
  119. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/_ufh_circuits/schema_eavesdrop_on.json +0 -0
  120. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/app_cntrl/packet.log +0 -0
  121. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/app_cntrl/schema_eavesdrop_off.json +0 -0
  122. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/app_cntrl/schema_eavesdrop_on.json +0 -0
  123. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/trv_actuators/packet.log +0 -0
  124. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/trv_actuators/schema_eavesdrop_off.json +0 -0
  125. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/trv_actuators/schema_eavesdrop_on.json +0 -0
  126. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_000/packet.log +0 -0
  127. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_000/schema_eavesdrop_off.json +0 -0
  128. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_000/schema_eavesdrop_on.json +0 -0
  129. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_001/packet.log +0 -0
  130. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_001/schema_eavesdrop_off.json +0 -0
  131. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_001/schema_eavesdrop_on.json +0 -0
  132. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_002/packet.log +0 -0
  133. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_002/schema_eavesdrop_off.json +0 -0
  134. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_002/schema_eavesdrop_on.json +0 -0
  135. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_003/packet.log +0 -0
  136. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_003/schema_eavesdrop_off.json +0 -0
  137. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_003/schema_eavesdrop_on.json +0 -0
  138. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_004/packet.log +0 -0
  139. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_004/schema_eavesdrop_off.json +0 -0
  140. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/eavesdrop_schema/zone_sensors_004/schema_eavesdrop_on.json +0 -0
  141. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/10e0_xxxx.log +0 -0
  142. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/_gather.sh +0 -0
  143. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/01_EvoTouch_Colour.log +0 -0
  144. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/01_Evo_Color.log +0 -0
  145. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/01_IONA_RAI_Prototype.log +0 -0
  146. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/02_HCE80_V3.10_061117..log +0 -0
  147. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/04_HR92 Radiator Ctrl_.log +0 -0
  148. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/08_Jasper_EIM.log +0 -0
  149. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/10_R8810A_Bridge.log +0 -0
  150. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/10_R8820.log +0 -0
  151. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/30_Internet_Gateway.log +0 -0
  152. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/31_Jasper_Stat_TXXX.log +0 -0
  153. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/heat/34_T87RF2025.log +0 -0
  154. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/18_BRDG-02A55.log +0 -0
  155. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/18_HRA82.log +0 -0
  156. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/20.log +0 -0
  157. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/21_CCU-12T20.log +0 -0
  158. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/29_VMC-07RP01.log +0 -0
  159. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/29_VMC-15RP01.log +0 -0
  160. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/29_VMC-17RP01.log +0 -0
  161. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/29_VMN-07LM01.log +0 -0
  162. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/29_VMN-15LF01.log +0 -0
  163. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/29_VMN-17LMP01.log +0 -0
  164. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/29_VMS-15C16.log +0 -0
  165. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/29_VMS-17HB01.log +0 -0
  166. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/30_BRDG-02EM23.log +0 -0
  167. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/30_BRDG-02JAS01.log +0 -0
  168. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMC-15RPS34.log +0 -0
  169. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMD-15RMS64.log +0 -0
  170. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMD-15RMS86.log +0 -0
  171. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMD-17RPS01.log +0 -0
  172. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMN-23LM33.log +0 -0
  173. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMN-23LMH23.log +0 -0
  174. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMS-15CM17.log +0 -0
  175. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMS-23C33.log +0 -0
  176. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMS-23HB33.log +0 -0
  177. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/32_VMZ-15V13.log +0 -0
  178. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/37_VMD-07RPS13.log +0 -0
  179. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/37_VMI-15MC01log +0 -0
  180. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/37_VMI-15WSJ53.log +0 -0
  181. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/37_VMS-02J52.log +0 -0
  182. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/37_VMS-12C39.log +0 -0
  183. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/99_CVE-RF.log +0 -0
  184. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/fingerprints/hvac/99_VMS-17C01.log +0 -0
  185. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/helpers.py +0 -0
  186. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/logger/packet_in.log +0 -0
  187. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/logger/packet_out.log +0 -0
  188. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/logs/pkts_bad_000.log +0 -0
  189. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/logs/pkts_tba_000.log +0 -0
  190. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/logs/system_cache.json +0 -0
  191. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parser_helpers/pkt_addr_set.log +0 -0
  192. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parser_helpers/pkt_dev_class.log +0 -0
  193. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_0001_wip.log +0 -0
  194. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_0002.log +0 -0
  195. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_0004_wip.log +0 -0
  196. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_0005.log +0 -0
  197. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_0006.log +0 -0
  198. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_0009.log +0 -0
  199. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_000a.log +0 -0
  200. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_000c.log +0 -0
  201. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_000e.log +0 -0
  202. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_01ff_wip.log +0 -0
  203. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_0418.log +0 -0
  204. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_042f.log +0 -0
  205. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_1030.log +0 -0
  206. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_1060.log +0 -0
  207. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_10d0.log +0 -0
  208. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_10e0.log +0 -0
  209. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_1260.log +0 -0
  210. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_1298.log +0 -0
  211. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_12a0.log +0 -0
  212. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_12c0.log +0 -0
  213. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_1300.log +0 -0
  214. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_1fc9.log +0 -0
  215. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_2210.log +0 -0
  216. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22c9.log +0 -0
  217. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22d0.log +0 -0
  218. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22d9.log +0 -0
  219. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22e0.log +0 -0
  220. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22e5.log +0 -0
  221. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22e9.log +0 -0
  222. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22f1.log +0 -0
  223. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22f2.log +0 -0
  224. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22f3.log +0 -0
  225. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22f4.log +0 -0
  226. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_22f7.log +0 -0
  227. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_2309.log +0 -0
  228. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_2349.log +0 -0
  229. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_2411_wip.log +0 -0
  230. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_2e04.log +0 -0
  231. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_2e10_wip.log +0 -0
  232. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_30c9.log +0 -0
  233. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_3110_wip.log +0 -0
  234. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_3120.log +0 -0
  235. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_313e_wip.log +0 -0
  236. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_3150.log +0 -0
  237. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_31d9.log +0 -0
  238. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_31da.log +0 -0
  239. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_3200.log +0 -0
  240. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_3210.log +0 -0
  241. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_3220.log +0 -0
  242. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_3222.log +0 -0
  243. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_3ef0_wip.log +0 -0
  244. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_3ef1_wip.log +0 -0
  245. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_4e01.log +0 -0
  246. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_4e02.log +0 -0
  247. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_4e04.log +0 -0
  248. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/parsers/code_4e15.log +0 -0
  249. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schedules/_sched_002/packet.log +0 -0
  250. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schedules/_sched_002/schedule.json +0 -0
  251. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schedules/sched_001/packet.log +0 -0
  252. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schedules/sched_001/schedule.json +0 -0
  253. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schedules/sched_dhw/packet.log +0 -0
  254. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schedules/sched_dhw/schedule.json +0 -0
  255. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/jsn_files/schema_100.json +0 -0
  256. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/jsn_files/schema_101.json +0 -0
  257. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/jsn_files/schema_102.json +0 -0
  258. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/jsn_files/schema_103.json +0 -0
  259. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/jsn_files/schema_104.json +0 -0
  260. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/jsn_files/schema_105.json +0 -0
  261. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/jsn_files/schema_108.json +0 -0
  262. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_000.json +0 -0
  263. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_000.log +0 -0
  264. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_001.json +0 -0
  265. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_001.log +0 -0
  266. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_002.json +0 -0
  267. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_002.log +0 -0
  268. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_010.json +0 -0
  269. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_010.log +0 -0
  270. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_011.json +0 -0
  271. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_011.log +0 -0
  272. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_012.json +0 -0
  273. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_012.log +0 -0
  274. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_013.json +0 -0
  275. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_013.log +0 -0
  276. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_014.json +0 -0
  277. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_014.log +0 -0
  278. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_300.json +0 -0
  279. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_300.log +0 -0
  280. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_301.json +0 -0
  281. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_301.log +0 -0
  282. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_302.json +0 -0
  283. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_302.log +0 -0
  284. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_303.json +0 -0
  285. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_303.log +0 -0
  286. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_304.json +0 -0
  287. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_304.log +0 -0
  288. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_310.json +0 -0
  289. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/schemas/log_files/schema_310.log +0 -0
  290. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/_heat_trv_00/config.json +0 -0
  291. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/_heat_trv_00/packet.log +0 -0
  292. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/_heat_trv_00/schema.json +0 -0
  293. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/_hvac_nuaire/config.json +0 -0
  294. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/_hvac_nuaire/known_list.json +0 -0
  295. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/_hvac_nuaire/packet.log +0 -0
  296. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/_hvac_nuaire/schema.json +0 -0
  297. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/_hvac_nuaire/status.json +0 -0
  298. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_otb_00/config.json +0 -0
  299. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_otb_00/packet.log +0 -0
  300. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_otb_00/schema.json +0 -0
  301. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_simple/packet.log +0 -0
  302. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_simple/schema.json +0 -0
  303. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_ufc_00/config.json +0 -0
  304. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_ufc_00/packet.log +0 -0
  305. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_ufc_01/packet.log +0 -0
  306. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_zxdavb/config.json +0 -0
  307. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_zxdavb/known_list.json +0 -0
  308. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_zxdavb/packet.log +0 -0
  309. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/systems/heat_zxdavb/schema.json +0 -0
  310. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_api_faultlog.py +0 -0
  311. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_api_schedule.py +0 -0
  312. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_apis_binding.py +0 -0
  313. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_apis_common.py +0 -0
  314. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_apis_heat.py +0 -0
  315. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_cli_utility.py +0 -0
  316. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_devices.py +0 -0
  317. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_eavesdrop_dev_class.py +0 -0
  318. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_eavesdrop_schema.py +0 -0
  319. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_helpers.py +0 -0
  320. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_parser_helpers.py +0 -0
  321. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_parsers.py +0 -0
  322. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_ramses_schema.py +0 -0
  323. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_schema_bits.py +0 -0
  324. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_schemas.py +0 -0
  325. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_systems.py +0 -0
  326. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests/test_vol_schemas.py +0 -0
  327. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/__init__.py +0 -0
  328. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/configs/config_heat.json +0 -0
  329. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/configs/config_hvac.json +0 -0
  330. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/conftest.py +0 -0
  331. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/logs/test_api_faultlog.log +0 -0
  332. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/test_api_faultlog.py +0 -0
  333. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/test_api_schedule.py +0 -0
  334. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/test_binding_fsm.py +0 -0
  335. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/test_create_stack.py +0 -0
  336. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/test_hgi_behaviors.py +0 -0
  337. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/test_protocol_fsm.py +0 -0
  338. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/test_use_regex.py +0 -0
  339. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/test_virt_network.py +0 -0
  340. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/virtual_rf/__init__.py +0 -0
  341. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/virtual_rf/const.py +0 -0
  342. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/virtual_rf/helpers.py +0 -0
  343. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_rf/virtual_rf/virtual_rf.py +0 -0
  344. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_tx/__init__.py +0 -0
  345. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/tests_tx/test_command.py +0 -0
  346. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/wip/_test_eavesdrop_dhw_sensor.py +0 -0
  347. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/wip/_test_eavesdrop_htg_control.py +0 -0
  348. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/wip/_test_eavesdrop_ufc_circuits.py +0 -0
  349. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/wip/_test_eavesdrop_zone_sensors.py +0 -0
  350. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/wip/_test_eavesdrop_zone_type.py +0 -0
  351. {ramses_rf-0.51.2 → ramses_rf-0.51.3}/tests/wip/test_wip_cli.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ramses_rf
3
- Version: 0.51.2
3
+ Version: 0.51.3
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
@@ -382,7 +382,7 @@ class HvacVentilator(FilterChange): # FAN: RP/31DA, I/31D[9A]
382
382
  :return: bypass position as percentage: 0.0 (closed) or 1.0 (open), on error: "x_faulted"
383
383
  """
384
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)
385
+ return self._msg_value((Code._22F7, Code._31DA), key=SZ_BYPASS_POSITION)
386
386
 
387
387
  @property
388
388
  def bypass_state(self) -> str | None:
@@ -474,7 +474,7 @@ class HvacVentilator(FilterChange): # FAN: RP/31DA, I/31D[9A]
474
474
  if v := self._msgs[Code._12A0].payload[0].get(SZ_INDOOR_HUMIDITY):
475
475
  assert isinstance(v, (float | type(None)))
476
476
  return v
477
- return self._msg_value([Code._12A0, Code._31DA], key=SZ_INDOOR_HUMIDITY)
477
+ return self._msg_value((Code._12A0, Code._31DA), key=SZ_INDOOR_HUMIDITY)
478
478
 
479
479
  @property
480
480
  def indoor_temp(self) -> float | None:
@@ -300,7 +300,10 @@ class _MessageDB(_Entity):
300
300
  if isinstance(code, str | tuple): # a code or a tuple of codes
301
301
  return self._msg_value_code(code, *args, **kwargs)
302
302
  # raise RuntimeError
303
- return self._msg_value_msg(code, *args, **kwargs) # assume is a Message
303
+ assert isinstance(code, Message), (
304
+ f"Invalid format: _msg_value({code})"
305
+ ) # catch invalidly formatted code, only Message
306
+ return self._msg_value_msg(code, *args, **kwargs)
304
307
 
305
308
  def _msg_value_code(
306
309
  self,
@@ -1,4 +1,4 @@
1
1
  """RAMSES RF - a RAMSES-II protocol decoder & analyser (application layer)."""
2
2
 
3
- __version__ = "0.51.2"
3
+ __version__ = "0.51.3"
4
4
  VERSION = __version__
@@ -1,4 +1,4 @@
1
1
  """RAMSES RF - a RAMSES-II protocol decoder & analyser (transport layer)."""
2
2
 
3
- __version__ = "0.51.2"
3
+ __version__ = "0.51.3"
4
4
  VERSION = __version__
@@ -11,7 +11,7 @@ from ramses_tx.packet import Packet
11
11
 
12
12
 
13
13
  def _test_api(api: Callable, packets: dict[str]) -> None: # NOTE: incl. addr_set check
14
- """Test a verb|code pair that has a Command constructor."""
14
+ """Test a verb|code pair that has a Command constructor, src and dst."""
15
15
 
16
16
  for pkt_line, kwargs in packets.items():
17
17
  pkt = _create_pkt_from_frame(pkt_line)
@@ -22,6 +22,20 @@ def _test_api(api: Callable, packets: dict[str]) -> None: # NOTE: incl. addr_se
22
22
  _test_api_from_msg(api, msg)
23
23
 
24
24
 
25
+ def _test_api_one(
26
+ api: Callable, packets: dict[str]
27
+ ) -> None: # NOTE: incl. addr_set check
28
+ """Test a verb|code pair that has a Command constructor and src, but no dst."""
29
+
30
+ for pkt_line, kwargs in packets.items():
31
+ pkt = _create_pkt_from_frame(pkt_line)
32
+
33
+ msg = Message(pkt)
34
+
35
+ _test_api_one_from_kwargs(api, pkt, **kwargs)
36
+ _test_api_one_from_msg(api, msg)
37
+
38
+
25
39
  def _create_pkt_from_frame(pkt_line: str) -> Packet:
26
40
  """Create a pkt from a pkt_line and assert their frames match."""
27
41
 
@@ -31,7 +45,8 @@ def _create_pkt_from_frame(pkt_line: str) -> Packet:
31
45
 
32
46
 
33
47
  def _test_api_from_msg(api: Callable, msg: Message) -> Command:
34
- """Create a cmd from a msg and assert they're equal (*also* asserts payload)."""
48
+ """Create a cmd from a msg with a src_id, and assert they're equal
49
+ (*also* asserts payload)."""
35
50
 
36
51
  cmd: Command = api(
37
52
  msg.dst.id,
@@ -44,12 +59,39 @@ def _test_api_from_msg(api: Callable, msg: Message) -> Command:
44
59
  return cmd
45
60
 
46
61
 
62
+ def _test_api_one_from_msg(api: Callable, msg: Message) -> Command:
63
+ """Create a cmd from a msg and assert they're equal (*also* asserts payload)."""
64
+
65
+ cmd: Command = api(
66
+ msg.dst.id,
67
+ **{k: v for k, v in msg.payload.items()}, # if k[:1] != "_"},
68
+ # requirement turned off as it skips required item like _unknown_fan_info_flags
69
+ )
70
+
71
+ assert cmd == msg._pkt # must have exact same addr set
72
+
73
+ return cmd
74
+
75
+
47
76
  def _test_api_from_kwargs(api: Callable, pkt: Packet, **kwargs: Any) -> None:
77
+ """
78
+ Test comparing a created packet to an expected result.
79
+
80
+ :param api: Command lookup by Verb|Code
81
+ :param pkt: expected result to match
82
+ :param kwargs: arguments for the Command
83
+ """
48
84
  cmd = api(HRU, src_id=REM, **kwargs)
49
85
 
50
86
  assert str(cmd) == str(pkt)
51
87
 
52
88
 
89
+ def _test_api_one_from_kwargs(api: Callable, pkt: Packet, **kwargs: Any) -> None:
90
+ cmd = api(HRU, **kwargs)
91
+
92
+ assert str(cmd) == str(pkt)
93
+
94
+
53
95
  def test_set() -> None:
54
96
  for test_pkts in (SET_22F1_KWARGS, SET_22F7_KWARGS):
55
97
  pkt = list(test_pkts)[0]
@@ -57,7 +99,7 @@ def test_set() -> None:
57
99
  _test_api(api, test_pkts)
58
100
 
59
101
 
60
- HRU = "32:155617"
102
+ HRU = "32:155617" # also used as a FAN
61
103
  REM = "37:171871"
62
104
  NUL = "--:------"
63
105
 
@@ -108,3 +150,31 @@ SET_22F7_KWARGS = {
108
150
  f"002 W --- {REM} {HRU} {NUL} 22F7 002 0000": {"bypass_mode": "off"},
109
151
  f"002 W --- {REM} {HRU} {NUL} 22F7 002 00C8": {"bypass_mode": "on"},
110
152
  }
153
+
154
+
155
+ # new tests
156
+ def test_get() -> None:
157
+ for test_pkts in (GET_12A0_KWARGS, GET_1298_KWARGS):
158
+ pkt = list(test_pkts)[0]
159
+ api = CODE_API_MAP[f"{pkt[4:6]}|{pkt[41:45]}"]
160
+ _test_api_one(api, test_pkts)
161
+
162
+
163
+ GET_12A0_KWARGS = {
164
+ f"000 I --- {HRU} {NUL} {HRU} 12A0 002 00EF": {
165
+ "indoor_humidity": None
166
+ }, # shouldn't be OK
167
+ #
168
+ f"082 I --- {HRU} {NUL} {HRU} 12A0 002 0037": {"indoor_humidity": 0.55},
169
+ }
170
+
171
+ GET_1298_KWARGS = {
172
+ f"064 I --- {HRU} {NUL} {HRU} 1298 003 000322": {"co2_level": 802},
173
+ }
174
+
175
+ # TODO Add tests to get states from 31DA
176
+ # (verifies SQLite refactoring)
177
+ # set up HVAC system first from messages
178
+ #
179
+ # Example: current_temperature(self) in ramses_cc.climate.py
180
+ # simulates requesting Climate self._device.indoor_temp from a system
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes