ramses-rf 0.51.6__tar.gz → 0.51.7__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.
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/.pre-commit-config.yaml +4 -4
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/PKG-INFO +1 -1
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/README-developers.md +11 -2
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/helpers.py +1 -1
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/version.py +1 -1
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/helpers.py +4 -7
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/logger.py +0 -27
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/parsers.py +21 -19
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/transport.py +44 -3
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/version.py +1 -1
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/requirements_dev.txt +1 -1
- ramses_rf-0.51.7/tests/tests/devices/device_02.log +12 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/10e0_xxxx.log +19 -16
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/29_VMN-15LF01.log +2 -1
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/37_VMI-15MC01log +1 -0
- ramses_rf-0.51.7/tests/tests/parsers/code_0008.log +3 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22d0.log +3 -0
- ramses_rf-0.51.7/tests/tests/parsers/code_22f3.log +24 -0
- ramses_rf-0.51.7/tests/tests/parsers/code_30c9.log +16 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_3150.log +3 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_31da.log +4 -4
- ramses_rf-0.51.6/tests/tests/devices/device_02.log +0 -7
- ramses_rf-0.51.6/tests/tests/parsers/code_22f3.log +0 -17
- ramses_rf-0.51.6/tests/tests/parsers/code_30c9.log +0 -14
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/.github/dependabot.yml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/.github/workflows/check-lint.yml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/.github/workflows/check-test.yml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/.github/workflows/check-type.yml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/.github/workflows/publish-hatch.yml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/.gitignore +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/LICENSE +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/README.md +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/client.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/misc/fingerprints.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/misc/ser2net.yaml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/misc/ti_3410/notes.sh +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/misc/ti_3410/ti_3410.fw +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/pyproject.toml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_cli/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_cli/client.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_cli/debug.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_cli/discovery.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_cli/utils/cat_slow.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_cli/utils/convert.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/binding_fsm.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/const.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/database.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/device/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/device/base.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/device/heat.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/device/hvac.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/dispatcher.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/entity_base.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/exceptions.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/gateway.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/py.typed +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/schemas.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/system/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/system/faultlog.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/system/heat.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/system/schedule.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_rf/system/zones.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/address.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/command.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/const.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/exceptions.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/fingerprints.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/frame.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/gateway.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/message.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/opentherm.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/packet.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/protocol.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/protocol_fsm.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/py.typed +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/ramses.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/schemas.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/typed_dicts.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/ramses_tx/typing.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/requirements.txt +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/_test_apis_mock.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/_test_mock_faultlog.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/_test_mock_schedule.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/_test_packets_bad.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/_test_performance_WIP.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/_test_state_mgt.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/common.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/mocked_devices/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/mocked_devices/command.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/mocked_devices/const.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/mocked_devices/device_heat.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/mocked_devices/device_hvac.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/deprecated/mocked_devices/transport.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/heat/ctl_bdr_91t.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/heat/dts_ctl_sensor.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/heat/hcw_ctl_sensor.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/heat/rnd_ctl_sensor.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/heat/rnd_ctl_sensor.yaml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/heat/trv_ctl.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/co2_fan_itho.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/co2_fan_itho.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/co2_fan_itho.yaml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/dis_fan_orcon.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/dis_fan_orcon.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/rem_fan_climarad.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/rem_fan_nuaire.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/rem_fan_nuaire.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/rem_fan_nuaire.yaml +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/rem_fan_vasco.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/bindings/hvac/rem_fan_ventura.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/devices/device_04.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/devices/device_10.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/devices/device_13.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/devices/device_22.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_dev_class/hvac/known_list_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_dev_class/hvac/known_list_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_dev_class/hvac/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/_trv_actuator_long/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/_trv_actuator_long/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/_trv_actuator_long/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/_trv_actuator_mixed/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/_trv_actuator_mixed/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/_trv_actuator_mixed/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/_ufh_circuits/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/_ufh_circuits/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/_ufh_circuits/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/app_cntrl/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/app_cntrl/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/app_cntrl/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/trv_actuators/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/trv_actuators/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/trv_actuators/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_000/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_000/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_000/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_001/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_001/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_001/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_002/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_002/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_002/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_003/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_003/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_003/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_004/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_004/schema_eavesdrop_off.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/eavesdrop_schema/zone_sensors_004/schema_eavesdrop_on.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/_gather.sh +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/01_EvoTouch_Colour.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/01_Evo_Color.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/01_IONA_RAI_Prototype.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/02_HCE80_V3.10_061117..log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/04_HR92 Radiator Ctrl_.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/08_Jasper_EIM.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/10_R8810A_Bridge.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/10_R8820.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/30_Internet_Gateway.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/31_Jasper_Stat_TXXX.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/heat/34_T87RF2025.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/18_BRDG-02A55.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/18_HRA82.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/20.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/21_CCU-12T20.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/29_VMC-07RP01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/29_VMC-15RP01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/29_VMC-17RP01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/29_VMN-07LM01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/29_VMN-17LMP01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/29_VMS-15C16.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/29_VMS-17HB01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/30_BRDG-02EM23.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/30_BRDG-02JAS01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMC-15RPS34.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMD-15RMS64.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMD-15RMS86.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMD-17RPS01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMN-23LM33.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMN-23LMH23.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMS-15CM17.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMS-23C33.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMS-23HB33.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/32_VMZ-15V13.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/37_VMD-07RPS13.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/37_VMI-15WSJ53.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/37_VMS-02J52.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/37_VMS-12C39.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/99_CVE-RF.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/fingerprints/hvac/99_VMS-17C01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/helpers.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/logger/packet_in.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/logger/packet_out.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/logs/pkts_bad_000.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/logs/pkts_tba_000.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/logs/system_cache.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parser_helpers/pkt_addr_set.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parser_helpers/pkt_dev_class.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_0001_wip.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_0002.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_0004_wip.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_0005.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_0006.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_0009.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_000a.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_000c.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_000e.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_01ff_wip.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_0418.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_042f.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_1030.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_1060.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_10d0.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_10e0.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_1260.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_1298.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_12a0.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_12c0.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_1300.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_1f09.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_1fc9.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_1fd4.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_2210.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22c9.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22d9.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22e0.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22e5.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22e9.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22f1.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22f2.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22f4.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_22f7.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_2309.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_2349.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_2411_wip.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_2e04.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_2e10_wip.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_3110_wip.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_3120.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_313e_wip.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_31d9.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_3200.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_3210.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_3220.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_3222.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_3ef0_wip.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_3ef1_wip.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_4e01.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_4e02.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_4e04.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/parsers/code_4e15.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schedules/_sched_002/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schedules/_sched_002/schedule.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schedules/sched_001/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schedules/sched_001/schedule.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schedules/sched_dhw/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schedules/sched_dhw/schedule.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/jsn_files/schema_100.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/jsn_files/schema_101.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/jsn_files/schema_102.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/jsn_files/schema_103.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/jsn_files/schema_104.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/jsn_files/schema_105.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/jsn_files/schema_108.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_000.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_000.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_001.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_001.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_002.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_002.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_010.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_010.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_011.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_011.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_012.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_012.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_013.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_013.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_014.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_014.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_300.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_300.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_301.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_301.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_302.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_302.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_303.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_303.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_304.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_304.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_310.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/schemas/log_files/schema_310.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/_heat_trv_00/config.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/_heat_trv_00/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/_heat_trv_00/schema.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/_hvac_nuaire/config.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/_hvac_nuaire/known_list.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/_hvac_nuaire/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/_hvac_nuaire/schema.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/_hvac_nuaire/status.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_otb_00/config.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_otb_00/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_otb_00/schema.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_simple/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_simple/schema.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_ufc_00/config.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_ufc_00/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_ufc_01/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_zxdavb/config.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_zxdavb/known_list.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_zxdavb/packet.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/systems/heat_zxdavb/schema.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_api_faultlog.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_api_schedule.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_apis_binding.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_apis_common.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_apis_heat.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_apis_hvac.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_cli_utility.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_devices.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_eavesdrop_dev_class.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_eavesdrop_schema.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_helpers.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_parser_helpers.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_parsers.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_ramses_schema.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_schema_bits.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_schemas.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_systems.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests/test_vol_schemas.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/configs/config_heat.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/configs/config_hvac.json +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/conftest.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/logs/test_api_faultlog.log +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/test_api_faultlog.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/test_api_schedule.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/test_binding_fsm.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/test_create_stack.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/test_hgi_behaviors.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/test_protocol_fsm.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/test_use_regex.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/test_virt_network.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/virtual_rf/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/virtual_rf/const.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/virtual_rf/helpers.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_rf/virtual_rf/virtual_rf.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_tx/__init__.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/tests_tx/test_command.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/wip/_test_eavesdrop_dhw_sensor.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/wip/_test_eavesdrop_htg_control.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/wip/_test_eavesdrop_ufc_circuits.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/wip/_test_eavesdrop_zone_sensors.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/wip/_test_eavesdrop_zone_type.py +0 -0
- {ramses_rf-0.51.6 → ramses_rf-0.51.7}/tests/wip/test_wip_cli.sh +0 -0
|
@@ -3,9 +3,9 @@ exclude: ^(.secrets|docs|misc|tests/deprecated)/
|
|
|
3
3
|
|
|
4
4
|
repos:
|
|
5
5
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
6
|
-
rev: v0.
|
|
6
|
+
rev: v0.13.0
|
|
7
7
|
hooks:
|
|
8
|
-
- id: ruff
|
|
8
|
+
- id: ruff-check # linter
|
|
9
9
|
- id: ruff-format # formatter
|
|
10
10
|
|
|
11
11
|
- repo: https://github.com/cdce8p/python-typing-update
|
|
@@ -24,7 +24,7 @@ repos:
|
|
|
24
24
|
files: ^(src|tests)/.+\.py$
|
|
25
25
|
|
|
26
26
|
- repo: https://github.com/codespell-project/codespell
|
|
27
|
-
rev: v2.
|
|
27
|
+
rev: v2.4.1
|
|
28
28
|
hooks:
|
|
29
29
|
- id: codespell
|
|
30
30
|
args:
|
|
@@ -35,7 +35,7 @@ repos:
|
|
|
35
35
|
exclude: ^(tests/.+/fixtures|tests/.+/snapshots)/
|
|
36
36
|
|
|
37
37
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
38
|
-
rev:
|
|
38
|
+
rev: v6.0.0
|
|
39
39
|
hooks:
|
|
40
40
|
- id: check-executables-have-shebangs
|
|
41
41
|
# id: check-json # don't enable this one
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ramses_rf
|
|
3
|
-
Version: 0.51.
|
|
3
|
+
Version: 0.51.7
|
|
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
|
|
@@ -48,7 +48,12 @@ pip install -r requirements_dev.txt
|
|
|
48
48
|
Repeat this after a release update and also when dev_requirements change in master.
|
|
49
49
|
|
|
50
50
|
### Install pre-commit hook
|
|
51
|
-
|
|
51
|
+
First, verify the installed pre-commit version (compare to requirements_dev.txt):
|
|
52
|
+
```
|
|
53
|
+
pre-commit --version
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Install the repo's pre-commit hook:
|
|
52
57
|
```
|
|
53
58
|
pre-commit install
|
|
54
59
|
```
|
|
@@ -56,5 +61,9 @@ pre-commit install
|
|
|
56
61
|
Running `pre-commit run` will only check staged files before a commit, while
|
|
57
62
|
`pre-commit run -a` will check all files.
|
|
58
63
|
|
|
64
|
+
Your IDE should automatically activate the pre-commit check when you try to commit.
|
|
65
|
+
The rules for pre-commit are in git in `.pre-commit-config.yaml`.
|
|
66
|
+
Check [issue 170](https://github.com/ramses-rf/ramses_rf/issues/170) when you run into troubles here.
|
|
67
|
+
|
|
59
68
|
## More
|
|
60
|
-
For more hints, see the [How to submit a PR wiki page](https://github.com/ramses-rf/
|
|
69
|
+
For more hints, see the [How to submit a PR wiki page](https://github.com/ramses-rf/ramses_cc/wiki/7.-How-to-submit-a-PR)
|
|
@@ -470,7 +470,7 @@ def parse_valve_demand(
|
|
|
470
470
|
if int(value, 16) & 0xF0 == 0xF0:
|
|
471
471
|
return _faulted_device(SZ_HEAT_DEMAND, value)
|
|
472
472
|
|
|
473
|
-
result = int(value, 16) / 200 # c.f.
|
|
473
|
+
result = int(value, 16) / 200 # c.f. hex_to_percent
|
|
474
474
|
if result == 1.01: # HACK - does it mean maximum?
|
|
475
475
|
result = 1.0
|
|
476
476
|
elif result > 1.0:
|
|
@@ -606,12 +606,9 @@ def _parse_hvac_humidity(
|
|
|
606
606
|
if int(value, 16) & 0xF0 == 0xF0:
|
|
607
607
|
return _faulted_sensor(param_name, value)
|
|
608
608
|
|
|
609
|
-
percentage =
|
|
610
|
-
assert percentage <= 1.0, value # TODO: raise exception if > 1.0?
|
|
609
|
+
percentage = hex_to_percent(value, False) # TODO: confirm not /200
|
|
611
610
|
|
|
612
|
-
result: dict[str, float | str | None] = {
|
|
613
|
-
param_name: percentage
|
|
614
|
-
} # was: percent_from_hex(value, high_res=False)
|
|
611
|
+
result: dict[str, float | str | None] = {param_name: percentage}
|
|
615
612
|
if temp:
|
|
616
613
|
result |= {SZ_TEMPERATURE: hex_to_temp(temp)}
|
|
617
614
|
if dewpoint:
|
|
@@ -881,7 +878,7 @@ def _parse_fan_heater(param_name: str, value: HexStr2) -> Mapping[str, float | N
|
|
|
881
878
|
if int(value, 16) & 0xF0 == 0xF0:
|
|
882
879
|
return _faulted_sensor(param_name, value) # type: ignore[return-value]
|
|
883
880
|
|
|
884
|
-
percentage = int(value, 16) / 200 # Siber DF EVO 2 is /200, not /100 (?
|
|
881
|
+
percentage = int(value, 16) / 200 # Siber DF EVO 2 is /200, not /100 (Others?)
|
|
885
882
|
assert percentage <= 1.0, value # TODO: raise exception if > 1.0?
|
|
886
883
|
|
|
887
884
|
return {param_name: percentage} # was: percent_from_hex(value, high_res=False)
|
|
@@ -173,33 +173,6 @@ class TimedRotatingFileHandler(_TimedRotatingFileHandler):
|
|
|
173
173
|
# self.doRollover()
|
|
174
174
|
# return super().emit(record)
|
|
175
175
|
|
|
176
|
-
# To fix issue ramses_cc 293, test if this override is still required
|
|
177
|
-
# async def getFilesToDelete(self) -> list[str]: # zxdavb: my version
|
|
178
|
-
# """Determine the files to delete when rolling over.
|
|
179
|
-
#
|
|
180
|
-
# Overridden as old log files were not being deleted.
|
|
181
|
-
# """
|
|
182
|
-
# # See bpo-44753 (this code is as was before that commit), bpo45628, bpo-46063
|
|
183
|
-
# dirName, baseName = os.path.split(self.baseFilename)
|
|
184
|
-
# loop = asyncio.get_running_loop()
|
|
185
|
-
# # Must run async in executor to prevent HA blocking call on rollover (ramses_cc issue 293)
|
|
186
|
-
# file_names = await loop.run_in_executor(None, os.listdir, dirName) < doesn't work
|
|
187
|
-
#
|
|
188
|
-
# result = []
|
|
189
|
-
# prefix = baseName + "."
|
|
190
|
-
# plen = len(prefix)
|
|
191
|
-
# for fileName in file_names:
|
|
192
|
-
# if fileName[:plen] == prefix:
|
|
193
|
-
# suffix = fileName[plen:]
|
|
194
|
-
# if self.extMatch.match(suffix):
|
|
195
|
-
# result.append(os.path.join(dirName, fileName))
|
|
196
|
-
# if len(result) < self.backupCount:
|
|
197
|
-
# result = []
|
|
198
|
-
# else:
|
|
199
|
-
# result.sort()
|
|
200
|
-
# result = result[: len(result) - self.backupCount]
|
|
201
|
-
# return result
|
|
202
|
-
|
|
203
176
|
|
|
204
177
|
def getLogger( # permits a bespoke Logger class
|
|
205
178
|
name: str | None = None, pkt_log: bool = False
|
|
@@ -1648,21 +1648,17 @@ def parser_22f3(payload: str, msg: Message) -> dict[str, Any]:
|
|
|
1648
1648
|
_LOGGER.warning(f"{msg!r} < {_INFORM_DEV_MSG} ({err})")
|
|
1649
1649
|
|
|
1650
1650
|
new_speed = { # from now, until timer expiry
|
|
1651
|
-
0x00: "fan_boost", #
|
|
1652
|
-
0x01: "per_request", #
|
|
1653
|
-
0x02: "
|
|
1651
|
+
0x00: "fan_boost", # set fan off, or 'boost' mode?
|
|
1652
|
+
0x01: "per_request?", # set fan as per payload[6:10]?
|
|
1653
|
+
0x02: "per_request", # set fan as per payload[6:10]
|
|
1654
1654
|
}.get(int(payload[2:4], 0x10) & 0x07) # 0b0000-0111
|
|
1655
1655
|
|
|
1656
|
-
fallback_speed
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
# set fan as per
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
0x08: "fan_off", # # set fan off?
|
|
1663
|
-
0x10: "per_request", # # set fan as per payload[6:10], or payload[10:]?
|
|
1664
|
-
0x18: "per_vent_speed", # set fan as per current fan mode/speed?
|
|
1665
|
-
}.get(int(payload[2:4], 0x10) & 0x38) # 0b0011-1000
|
|
1656
|
+
fallback_speed = { # after timer expiry
|
|
1657
|
+
0x00: "per_vent_speed", # set fan as per current fan mode
|
|
1658
|
+
0x08: "fan_off", # set fan off?
|
|
1659
|
+
0x10: "per_request", # set fan as per payload[10:14]
|
|
1660
|
+
0x18: "per_vent_speed?", # set fan as per current fan mode/speed?
|
|
1661
|
+
}.get(int(payload[2:4], 0x10) & 0x38) # 0b0011-1000
|
|
1666
1662
|
|
|
1667
1663
|
units = {
|
|
1668
1664
|
0x00: "minutes",
|
|
@@ -1677,15 +1673,21 @@ def parser_22f3(payload: str, msg: Message) -> dict[str, Any]:
|
|
|
1677
1673
|
result = {
|
|
1678
1674
|
"minutes" if units != "index" else "index": duration,
|
|
1679
1675
|
"flags": hex_to_flag8(payload[2:4]),
|
|
1680
|
-
"
|
|
1681
|
-
"
|
|
1676
|
+
"new_speed_mode": new_speed,
|
|
1677
|
+
"fallback_speed_mode": fallback_speed,
|
|
1682
1678
|
}
|
|
1683
1679
|
|
|
1684
|
-
if msg.
|
|
1685
|
-
result["
|
|
1680
|
+
if msg._addrs[0] == NON_DEV_ADDR and msg.len <= 3:
|
|
1681
|
+
result["_scheme"] = "itho"
|
|
1682
|
+
|
|
1683
|
+
if msg.len >= 5 and payload[6:10] != "0000": # new speed
|
|
1684
|
+
mode_info = parser_22f1(f"00{payload[6:10]}", msg)
|
|
1685
|
+
result["_scheme"] = mode_info.get("_scheme")
|
|
1686
|
+
result["fan_mode"] = mode_info.get("fan_mode")
|
|
1686
1687
|
|
|
1687
|
-
if msg.len >= 7: # fallback speed
|
|
1688
|
-
|
|
1688
|
+
if msg.len >= 7 and payload[10:14] != "0000": # fallback speed
|
|
1689
|
+
mode_info = parser_22f1(f"00{payload[10:14]}", msg)
|
|
1690
|
+
result["fallback_fan_mode"] = mode_info.get("fan_mode")
|
|
1689
1691
|
|
|
1690
1692
|
return result
|
|
1691
1693
|
|
|
@@ -1033,6 +1033,8 @@ class MqttTransport(_FullTransport, _MqttTransportAbstractor):
|
|
|
1033
1033
|
self._topic_base = validate_topic_path(self._broker_url.path)
|
|
1034
1034
|
self._topic_pub = ""
|
|
1035
1035
|
self._topic_sub = ""
|
|
1036
|
+
# Track if we've subscribed to a wildcard data topic (e.g. ".../+/rx")
|
|
1037
|
+
self._data_wildcard_topic = ""
|
|
1036
1038
|
|
|
1037
1039
|
self._mqtt_qos = int(parse_qs(self._broker_url.query).get("qos", ["0"])[0])
|
|
1038
1040
|
|
|
@@ -1143,17 +1145,30 @@ class MqttTransport(_FullTransport, _MqttTransportAbstractor):
|
|
|
1143
1145
|
# Subscribe to base topic to see 'online' messages
|
|
1144
1146
|
self.client.subscribe(self._topic_base) # hope to see 'online' message
|
|
1145
1147
|
|
|
1146
|
-
# Also subscribe to data topics with wildcard for reliability
|
|
1147
|
-
#
|
|
1148
|
-
|
|
1148
|
+
# Also subscribe to data topics with wildcard for reliability, but only
|
|
1149
|
+
# until a specific device topic is known. Once _topic_sub is set, avoid
|
|
1150
|
+
# overlapping subscriptions that would duplicate messages.
|
|
1151
|
+
if self._topic_base.endswith("/+") and not (
|
|
1152
|
+
hasattr(self, "_topic_sub") and self._topic_sub
|
|
1153
|
+
):
|
|
1149
1154
|
data_wildcard = self._topic_base.replace("/+", "/+/rx")
|
|
1150
1155
|
self.client.subscribe(data_wildcard, qos=self._mqtt_qos)
|
|
1156
|
+
self._data_wildcard_topic = data_wildcard
|
|
1151
1157
|
_LOGGER.debug(f"Subscribed to data wildcard: {data_wildcard}")
|
|
1152
1158
|
|
|
1153
1159
|
# If we already have specific topics, re-subscribe to them
|
|
1154
1160
|
if hasattr(self, "_topic_sub") and self._topic_sub:
|
|
1155
1161
|
self.client.subscribe(self._topic_sub, qos=self._mqtt_qos)
|
|
1156
1162
|
_LOGGER.debug(f"Re-subscribed to specific topic: {self._topic_sub}")
|
|
1163
|
+
# If we had a wildcard subscription, drop it to prevent duplicates
|
|
1164
|
+
if getattr(self, "_data_wildcard_topic", ""):
|
|
1165
|
+
try:
|
|
1166
|
+
self.client.unsubscribe(self._data_wildcard_topic)
|
|
1167
|
+
_LOGGER.debug(
|
|
1168
|
+
f"Unsubscribed data wildcard after specific subscribe: {self._data_wildcard_topic}"
|
|
1169
|
+
)
|
|
1170
|
+
finally:
|
|
1171
|
+
self._data_wildcard_topic = ""
|
|
1157
1172
|
|
|
1158
1173
|
def _on_connect_fail(
|
|
1159
1174
|
self,
|
|
@@ -1225,6 +1240,17 @@ class MqttTransport(_FullTransport, _MqttTransportAbstractor):
|
|
|
1225
1240
|
|
|
1226
1241
|
self.client.subscribe(self._topic_sub, qos=self._mqtt_qos)
|
|
1227
1242
|
|
|
1243
|
+
# If we previously subscribed to a wildcard data topic, unsubscribe now
|
|
1244
|
+
# to avoid duplicate delivery (wildcard and specific both matching)
|
|
1245
|
+
if getattr(self, "_data_wildcard_topic", ""):
|
|
1246
|
+
try:
|
|
1247
|
+
self.client.unsubscribe(self._data_wildcard_topic)
|
|
1248
|
+
_LOGGER.debug(
|
|
1249
|
+
f"Unsubscribed data wildcard after device online: {self._data_wildcard_topic}"
|
|
1250
|
+
)
|
|
1251
|
+
finally:
|
|
1252
|
+
self._data_wildcard_topic = ""
|
|
1253
|
+
|
|
1228
1254
|
# Only call connection_made on first connection, not reconnections
|
|
1229
1255
|
if not self._connection_established:
|
|
1230
1256
|
self._connection_established = True
|
|
@@ -1295,6 +1321,21 @@ class MqttTransport(_FullTransport, _MqttTransportAbstractor):
|
|
|
1295
1321
|
self._connection_established = True
|
|
1296
1322
|
self._make_connection(gwy_id=gateway_id) # type: ignore[arg-type]
|
|
1297
1323
|
|
|
1324
|
+
# Ensure we subscribe specifically to the device topic and drop the
|
|
1325
|
+
# wildcard subscription to prevent duplicates
|
|
1326
|
+
try:
|
|
1327
|
+
self.client.subscribe(self._topic_sub, qos=self._mqtt_qos)
|
|
1328
|
+
except Exception as err: # pragma: no cover - defensive
|
|
1329
|
+
_LOGGER.debug(f"Error subscribing specific topic: {err}")
|
|
1330
|
+
if getattr(self, "_data_wildcard_topic", ""):
|
|
1331
|
+
try:
|
|
1332
|
+
self.client.unsubscribe(self._data_wildcard_topic)
|
|
1333
|
+
_LOGGER.debug(
|
|
1334
|
+
f"Unsubscribed data wildcard after inferring device: {self._data_wildcard_topic}"
|
|
1335
|
+
)
|
|
1336
|
+
finally:
|
|
1337
|
+
self._data_wildcard_topic = ""
|
|
1338
|
+
|
|
1298
1339
|
try:
|
|
1299
1340
|
payload = json.loads(msg.payload)
|
|
1300
1341
|
except json.JSONDecodeError:
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
# used for development (linting)
|
|
13
13
|
pre-commit >= 4.2.0 # HA (core) uses 4.2.0
|
|
14
|
-
ruff >= 0.
|
|
14
|
+
ruff >= 0.13.0 # HA uses 0.13.0 ! also in: pre-commit-config.yaml
|
|
15
15
|
|
|
16
16
|
# used for development (typing)
|
|
17
17
|
mypy-dev >= 1.16.0a8 # HA uses 1.18.0a3 !
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Plan is to include at least one packet of every code that devices with this id type can Tx
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
# Resideo HCE-100 UFH Controller
|
|
6
|
+
# 23-10-09T10:59:43.000000 ... I --- 02:066404 --:------ 02:066404 3150 008 2100220023002400
|
|
7
|
+
2023-10-09T10:59:43.614000 ... I --- 02:066404 --:------ 02:066404 10E0 038 FF0001C89D6E0600FEFF140107E7010C07E64843453130302D524144494F0000000000000000
|
|
8
|
+
|
|
9
|
+
# evohome HCC80 (UFC) controlled via round thermostat talking to a BDR91 relay. FC = max all zones from cesar.florin ramses_cc issue 295
|
|
10
|
+
2025-09-09T18:54:03.198471 061 I --- 02:033545 --:------ 02:033545 0008 002 FA00
|
|
11
|
+
2025-09-09T18:54:03.354496 061 I --- 02:033545 --:------ 02:033545 22D0 004 00000002
|
|
12
|
+
2025-09-09T18:55:18.458534 079 I --- 02:033545 --:------ 02:033545 3150 002 FC00
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# sort by SRC
|
|
1
2
|
2021-11-24T09:30:56.274400 ... RP --- 01:024170 18:000730 --:------ 10E0 038 000002FFFF17FFFFFFFFFFFFFFFF0B0507DC494F4E41205241492050726F746F747970650000
|
|
2
3
|
2021-01-29T22:23:11.476700 ... RP --- 01:037519 18:000730 --:------ 10E0 038 000002FF0119FFFFFFFF110107DE100107DE45766F546F75636820436F6C6F75720000000000
|
|
3
4
|
2022-01-31T08:01:32.330800 ... RP --- 01:040078 18:000730 --:------ 10E0 038 000002FF0119FFFFFFFF060307DE100107DE45766F546F75636820436F6C6F75720000000000
|
|
@@ -13,7 +14,7 @@
|
|
|
13
14
|
2021-11-28T06:41:15.156900 ... RP --- 01:073976 30:258720 --:------ 10E0 038 000002FF0119FFFFFFFF0E0407DF100107DE45766F546F75636820436F6C6F75720000000000
|
|
14
15
|
2021-10-26T21:51:43.454800 ... RP --- 01:076010 30:042165 --:------ 10E0 038 000002FF0119FFFFFFFF0D0507DF100107DE45766F546F75636820436F6C6F75720000000000
|
|
15
16
|
2021-10-17T09:45:31.572600 ... RP --- 01:078710 18:000730 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
16
|
-
2021-10-17T13:55:00.880450 ... RP --- 01:081046 18:132629 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
17
|
+
2021-10-17T13:55:00.880450 ... RP --- 01:081046 18:132629 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
17
18
|
2021-10-18T12:46:18.693271 060 RP --- 01:087939 18:073736 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
18
19
|
2021-02-21T10:32:37.226400 ... RP --- 01:095966 18:000730 --:------ 10E0 038 000002FF0119FFFFFFFF190A07E0100107DE45766F546F75636820436F6C6F75720000000000
|
|
19
20
|
2020-09-27T13:25:46.444218 045 RP --- 01:102458 18:009874 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
@@ -21,21 +22,21 @@
|
|
|
21
22
|
2021-05-10T20:51:11.921349 045 RP --- 01:133689 18:009461 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
22
23
|
2020-09-24T10:38:46.221637 066 RP --- 01:138490 18:056026 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
23
24
|
2021-02-10T14:34:03.016618 056 RP --- 01:139901 18:056026 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
24
|
-
2021-10-01T11:14:52.519219 ... RP --- 01:140959 18:200213 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
25
|
+
2021-10-01T11:14:52.519219 ... RP --- 01:140959 18:200213 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
25
26
|
2020-04-25T15:27:22.219200 ... RP --- 01:145038 18:000730 --:------ 10E0 038 000002FF0163FFFFFFFF640307E4010807DD45766F20436F6C6F720000000000000000000000
|
|
26
27
|
2021-06-25T11:30:59.682580 048 RP --- 01:155341 18:203293 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
27
28
|
2019-12-22T00:19:42.346345 045 RP --- 01:158182 18:013490 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
28
|
-
2022-01-27T15:57:49.290818 ... RP --- 01:164379 18:065802 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
29
|
-
2021-10-15T05:48:09.832953 ... RP --- 01:169176 18:135447 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
29
|
+
2022-01-27T15:57:49.290818 ... RP --- 01:164379 18:065802 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
30
|
+
2021-10-15T05:48:09.832953 ... RP --- 01:169176 18:135447 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
30
31
|
2020-09-24T11:36:49.265805 078 RP --- 01:182472 18:056026 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
31
|
-
2021-11-21T08:54:34.313636 ... RP --- 01:185426 18:136212 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
32
|
+
2021-11-21T08:54:34.313636 ... RP --- 01:185426 18:136212 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
32
33
|
2019-12-22T08:35:18.187479 062 RP --- 01:187666 18:056026 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
33
34
|
2020-10-09T13:54:09.723438 060 RP --- 01:191718 18:056026 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
34
35
|
2021-10-17T13:55:00.005800 ... RP --- 01:196185 18:000730 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
35
36
|
2021-12-08T12:48:53.959128 049 RP --- 01:201047 18:070162 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
36
37
|
2021-07-02T09:15:07.469166 062 RP --- 01:205114 18:205572 --:------ 10E0 038 000002FF0163FFFFFFFF140B07E1010807DD45766F20436F6C6F720000000000000000000000
|
|
37
38
|
2021-11-13T16:13:32.327900 ... RP --- 01:205453 18:000730 --:------ 10E0 038 000002FF0163FFFFFFFF1A0507E1010807DD45766F20436F6C6F720000000000000000000000
|
|
38
|
-
2021-11-10T06:47:21.609128 ... RP --- 01:223036 18:005567 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
39
|
+
2021-11-10T06:47:21.609128 ... RP --- 01:223036 18:005567 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
39
40
|
2022-01-02T08:39:29.001854 058 RP --- 01:225826 18:204306 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
40
41
|
2021-10-01T09:06:34.785572 051 RP --- 01:239474 18:198929 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
41
42
|
2021-10-01T08:42:10.826213 069 RP --- 01:239700 18:009874 --:------ 10E0 038 000002FF0163FFFFFFFF0B0807E4010807DD45766F20436F6C6F720000000000000000000000
|
|
@@ -46,7 +47,7 @@
|
|
|
46
47
|
2021-11-08T09:24:35.398200 ... I --- 02:010136 --:------ 02:010136 10E0 036 000003FF0203FFFF0001FFFFFFFF060B07E148434538302056332E313020303631313137
|
|
47
48
|
2022-01-08T03:20:28.144267 072 I --- 02:017205 --:------ 02:017205 10E0 036 000003FF0203FFFF0001FFFFFFFF060B07E148434538302056332E313020303631313137
|
|
48
49
|
2022-10-12T12:33:31.437841 ... I --- 02:019383 --:------ 02:019383 10E0 036 000003FF0203FFFF0001FFFFFFFF060B07E148434538302056332E313020303631313137 # {'date_2': '0000-00-00', 'date_1': '2017-11-06', 'manufacturer_sub_id': 'FF', 'product_id': '02', 'oem_code': 'FF', 'description': 'HCE80 V3.10 061117'}
|
|
49
|
-
2022-01-27T15:57:51.394114 ... RP --- 02:020364 18:065802 --:------ 10E0 036 000003FF0203FFFF0001FFFFFFFF060B07E148434538302056332E313020303631313137
|
|
50
|
+
2022-01-27T15:57:51.394114 ... RP --- 02:020364 18:065802 --:------ 10E0 036 000003FF0203FFFF0001FFFFFFFF060B07E148434538302056332E313020303631313137
|
|
50
51
|
2021-02-10T14:34:01.047064 042 RP --- 02:043392 18:056026 --:------ 10E0 036 000003FF0203FFFF0001FFFFFFFF060B07E148434538302056332E313020303631313137
|
|
51
52
|
2021-07-01T11:22:45.410246 063 I --- 02:044328 --:------ 02:044328 10E0 036 000003FF0203FFFF0001FFFFFFFF060B07E148434538302056332E313020303631313137
|
|
52
53
|
2021-07-01T01:09:24.645515 052 I --- 02:044435 --:------ 02:044435 10E0 036 000003FF0203FFFF0001FFFFFFFF060B07E148434538302056332E313020303631313137
|
|
@@ -107,13 +108,13 @@
|
|
|
107
108
|
2022-01-03T10:47:21.045858 065 RP --- 10:030670 18:010642 --:------ 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
108
109
|
2021-10-09T22:42:53.316800 ... I --- 10:032432 --:------ 10:032432 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
109
110
|
2022-02-04T13:52:34.057414 088 I --- 10:037879 --:------ 10:037879 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
110
|
-
2021-10-01T11:14:52.513762 ... RP --- 10:039243 18:200213 --:------ 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
111
|
-
2021-11-10T06:47:21.610873 ... RP --- 10:040239 18:005567 --:------ 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
111
|
+
2021-10-01T11:14:52.513762 ... RP --- 10:039243 18:200213 --:------ 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
112
|
+
2021-11-10T06:47:21.610873 ... RP --- 10:040239 18:005567 --:------ 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
112
113
|
2022-01-04T18:07:36.499732 060 I --- 10:044987 --:------ 10:044987 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
113
114
|
2021-10-28T19:48:14.624196 045 I --- 10:047707 --:------ 10:047707 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
114
|
-
2022-01-27T15:57:51.405268 ... RP --- 10:047712 18:065802 --:------ 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
115
|
+
2022-01-27T15:57:51.405268 ... RP --- 10:047712 18:065802 --:------ 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
115
116
|
2021-10-24T16:08:54.421863 042 RP --- 10:048122 18:013393 --:------ 10E0 038 000001C8810B0700FEFFFFFFFFFF140807E35238383230000000000000000000000000000000
|
|
116
|
-
2022-02-04T11:52:22.143704 ... RP --- 10:050360 18:200214 --:------ 10E0 038 000002FF0A0CFFFFFFFF0D0407DF1F0707DE5238383130412042726964676500160E4B000000
|
|
117
|
+
2022-02-04T11:52:22.143704 ... RP --- 10:050360 18:200214 --:------ 10E0 038 000002FF0A0CFFFFFFFF0D0407DF1F0707DE5238383130412042726964676500160E4B000000
|
|
117
118
|
2022-01-28T08:25:21.034100 ... RP --- 10:051349 18:000730 --:------ 10E0 038 000002FF0A0CFFFFFFFF170407DF1F0707DE523838313041204272696467650017114A000000
|
|
118
119
|
2021-11-03T10:06:08.464600 ... RP --- 10:052644 18:000730 --:------ 10E0 038 000002FF0A0CFFFFFFFF130507DF1F0707DE5238383130412042726964676500B5A478000000
|
|
119
120
|
2021-01-20T16:49:02.523300 ... RP --- 10:067219 18:000730 --:------ 10E0 038 000002FF0A0CFFFFFFFF0F0107E01F0707DE5238383130412042726964676500030A48007633
|
|
@@ -135,7 +136,7 @@
|
|
|
135
136
|
2021-07-01T07:29:31.278044 092 I --- 20:010779 --:------ 20:010779 10E0 038 000001001B281501FEFFFFFFFFFF0B0B07E04356452D52460000000000000000000000000000
|
|
136
137
|
2020-05-30T21:36:52.314294 069 I --- 20:016443 --:------ 20:016443 10E0 038 000001001B281501FEFFFFFFFFFF0B0B07E04356452D52460000000000000000000000000000
|
|
137
138
|
2021-03-19T10:50:36.251647 083 RP --- 20:018860 18:073736 --:------ 10E0 019 000001001B190B010000FFFFFFFFFFFFFFFF00
|
|
138
|
-
2022-01-19T10:20:41.562994 ... RP --- 20:024743 18:200214 --:------ 10E0 019 000001001B190B010000FFFFFFFFFFFFFFFF00
|
|
139
|
+
2022-01-19T10:20:41.562994 ... RP --- 20:024743 18:200214 --:------ 10E0 019 000001001B190B010000FFFFFFFFFFFFFFFF00
|
|
139
140
|
2022-02-01T20:48:30.814324 092 I --- 20:025286 --:------ 20:025286 10E0 038 000001001B221201FEFFFFFFFFFF0C0507DF4356452D52460000000000000000000000000000
|
|
140
141
|
2021-02-24T21:28:26.013200 ... RP --- 20:026866 18:000730 --:------ 10E0 019 00000100140C06010000FFFFFFFFFFFFFFFF00
|
|
141
142
|
2021-10-18T12:46:31.269600 ... RP --- 20:032436 18:000730 --:------ 10E0 019 000001001B190B010000FFFFFFFFFFFFFFFF00
|
|
@@ -165,6 +166,10 @@
|
|
|
165
166
|
2022-02-05T08:05:56.604400 ... I --- 29:215374 63:262142 --:------ 10E0 029 000001C8260A0367FFFFFFFFFFFFFFFFFFFF564D432D31355250303100
|
|
166
167
|
2022-08-17T20:04:34.053889 079 I --- 29:226075 63:262142 --:------ 10E0 029 000001C8260D0467FFFFFFFFFFFFFFFFFFFF564D432D31355250303100
|
|
167
168
|
2021-07-01T13:00:09.215900 ... I --- 29:237552 63:262142 --:------ 10E0 029 000001C8260D0467FFFFFFFFFFFFFFFFFFFF564D432D31355250303100
|
|
169
|
+
2025-09-18T10:52:59.922182 ... I --- 29:123456 63:262142 --:------ 10E0 029 000001C827070167FFFFFFFFFFFFFFFFFFFF564D4E2D31354C46303100 # {'description': 'VMN-15LF01', 'manufacturer_sub_id': 'C8', 'product_id': '27', 'date_1': '0000-00-00', 'date_2': '0000-00-00', 'oem_code': '67'} # Orcon remote
|
|
170
|
+
2024-03-04T16:54:24.502000 ... I --- 29:206851 63:262142 --:------ 10E0 029 000001C826090367FFFFFFFFFFFFFFFFFFFF564D432D31355250303100 # {'description': 'VMC-15RP01', 'manufacturer_sub_id': 'C8', 'oem_code': '67', 'product_id': '26', 'date_1': '0000-00-00', 'date_2': '0000-00-00'} # Orcon MVS-15RHB fan
|
|
171
|
+
2024-10-04 22:24:58.581000 ... I --- 29:091138 63:262142 --:------ 10E0 038 000001C8400F0166FFFFFFFFFFFF0E0207E3564D4E2D31374C4D503031000000000000000000 # {'description': 'VMN-17LMP01', 'manufacturer_sub_id': 'C8', 'product_id': '40', 'date_1': '2019-02-14', 'date_2': '0000-00-00', 'oem_code': '66'} # Vasco 4 button RF remote
|
|
172
|
+
2024-10-16T18:43:52.761437 087 I --- 29:099029 63:262142 --:------ 10E0 029 000001C81D150765FFFFFFFFFFFFFFFFFFFF564D432D30375250303100 # {'description': 'VMC-07RP01', 'manufacturer_sub_id': 'C8', 'product_id': '1D', 'date_1': '0000-00-00', 'date_2': '0000-00-00', 'oem_code': '65'} # ClimaRad MiniBox Fan
|
|
168
173
|
2023-02-19T11:37:53.826773 032 I --- 30:006056 63:262142 --:------ 10E0 038 000001C848260066FEFEFFFFFFFF1C0B07E3425244472D3032454D3233000000000000000000 # {'description': 'BRDG-02EM23', 'date_2': '0000-00-00', 'date_1': '2019-11-28', 'manufacturer_sub_id': 'C8', 'product_id': '48', 'oem_code': '66'} # Vasco gateway (more like a CTL, but also RFG)
|
|
169
174
|
2021-02-26T09:37:24.022200 ... RP --- 30:027402 18:000730 --:------ 10E0 038 000002FF1E03FFFFFFFF110407DF150407E1496E7465726E6574204761746577617900000000
|
|
170
175
|
2021-10-26T21:55:00.596800 ... I --- 30:042165 --:------ 30:042165 10E0 038 000002FF1E03FFFFFFFF1E0A07DF150407E1496E7465726E6574204761746577617900000000
|
|
@@ -195,7 +200,7 @@
|
|
|
195
200
|
2022-01-01T00:00:00.000000 000 I --- 32:172522 63:262142 --:------ 10E0 029 000001C85901016CFFFFFFFFFFFF1F0507E0564D4E2D32334C4D333300 # {'description': 'VMN-23LM33', 'date_2': '0000-00-00', 'date_1': '2016-05-31', 'manufacturer_sub_id': 'C8', 'product_id': '59', 'oem_code': '6C'} # '_signature': '0001C85901016CFFFF',
|
|
196
201
|
2022-02-19T18:00:35.234656 062 I --- 32:206250 63:262142 --:------ 10E0 030 000001C85A01016CFFFFFFFFFFFF010607E0564D4E2D32334C4D48323300 # {'description': 'VMN-23LMH23', 'manufacturer_sub_id': 'C8', 'product_id': '5A', 'oem_code': '6C', 'date_1': '2016-06-01', 'date_2': '0000-00-00'}
|
|
197
202
|
2022-11-10T20:43:45.452809 060 I --- 32:236773 63:262142 --:------ 10E0 030 000001C85F0E0267FFFFFFFFFFFFFFFFFFFF564D432D3135525053333400 # {'description': 'VMC-15RPS34', 'date_2': '0000-00-00', 'date_1': '0000-00-00', 'manufacturer_sub_id': 'C8', 'product_id': '5F', 'oem_code': '67'} # Orcon MVS-15?
|
|
198
|
-
2024-
|
|
203
|
+
2024-10-15T21:01:19.293000 083 I --- 32:022222 63:262142 --:------ 10E0 030 000001C83A190F66FFFFFFFFFFFFFFFFFFFF564D442D3137525053303100 # {'description': 'VMD-17RPS01', 'manufacturer_sub_id': 'C8', 'product_id': '3A', 'date_1': '0000-00-00', 'date_2': '0000-00-00', 'oem_code': '66'} # Vasco D60 HRU
|
|
199
204
|
2021-12-20T08:24:09.117900 ... I --- 34:021943 63:262142 --:------ 10E0 038 000001C8380A0100F1FF0C0107E1030B07DE5438375246323032350000000000000000000000
|
|
200
205
|
2021-11-08T15:26:00.654600 ... I --- 34:041323 63:262142 --:------ 10E0 038 000001C8380F0100F1FF1E0407E4030507E15438375246323032350000000000000000000000
|
|
201
206
|
2019-12-22T14:26:07.736118 045 I --- 34:044201 63:262142 --:------ 10E0 038 000001C8380F0100F1FF1D0807E2030507E15438375246323032350000000000000000000000
|
|
@@ -281,8 +286,6 @@
|
|
|
281
286
|
2022-07-04T14:35:13.010859 095 I --- 37:240038 63:262142 --:------ 10E0 038 0000010028040101FEFFFFFFFFFF030B07E0564D532D31324333390000000000000000000000
|
|
282
287
|
2021-07-01T04:44:33.312900 ... I --- 37:258565 63:262142 --:------ 10E0 038 0000010028080101FEFFFFFFFFFF1D0407E3564D532D31324333390000000000000000000000
|
|
283
288
|
2021-07-01T09:15:00.949226 083 I --- 37:261128 --:------ 37:261128 10E0 038 000001001B361B01FEFFFFFFFFFF0B0407E34356452D52460000000000000000000000000000
|
|
284
|
-
2024-10-16T18:43:52.761437 087 I --- 29:099029 63:262142 --:------ 10E0 029 000001C81D150765FFFFFFFFFFFFFFFFFFFF564D432D30375250303100 # {'description': 'VMC-07RP01', 'manufacturer_sub_id': 'C8', 'product_id': '1D', 'date_1': '0000-00-00', 'date_2': '0000-00-00', 'oem_code': '65'} # ClimaRad MiniBox Fan
|
|
285
289
|
2024-10-09T11:50:24.287879 123 I --- 37:153226 63:262142 --:------ 10E0 038 000001C8830C0A65FEFFFFFFFFFF110C07E4564D442D30375250533133000000000000000000 # {'description': 'VMD-07RPS13', 'manufacturer_sub_id': 'C8', 'product_id': '83', 'date_1': '2020-12-17', 'date_2': '0000-00-00', 'oem_code': '65'} # ClimaRad Ventura V1x HRU
|
|
286
|
-
2024-10-15T21:01:19.293000 083 I --- 32:022222 63:262142 --:------ 10E0 030 000001C83A190F66FFFFFFFFFFFFFFFFFFFF564D442D3137525053303100 # {'description': 'VMD-17RPS01', 'manufacturer_sub_id': 'C8', 'product_id': '3A', 'date_1': '0000-00-00', 'date_2': '0000-00-00', 'oem_code': '66'} # Vasco D60 HRU
|
|
287
|
-
2024-10-04 22:24:58.581000 ... I --- 29:091138 63:262142 --:------ 10E0 038 000001C8400F0166FFFFFFFFFFFF0E0207E3564D4E2D31374C4D503031000000000000000000 # {'description': 'VMN-17LMP01', 'manufacturer_sub_id': 'C8', 'product_id': '40', 'date_1': '2019-02-14', 'date_2': '0000-00-00', 'oem_code': '66'} # Vasco 4 button RF remote
|
|
288
290
|
2024-10-09T11:51:49.472184 059 I --- 37:117647 63:262142 --:------ 10E0 038 000001C822060166FEFFFFFFFFFF160C07E0564D532D31374330310000000000000000000000 # {'description': 'VMS-17C01', 'manufacturer_sub_id': 'C8', 'product_id': '22', 'date_1': '2016-12-22', 'date_2': '0000-00-00', 'oem_code': '66'} # Vasco CO2 sensor
|
|
291
|
+
2025-09-05T05:04:03.781873 ... I --- 37:123456 63:262142 --:------ 10E0 038 000001C88D030167FEFFFFFFFFFF1C0707E5564D492D31354D43303100000000000000000000 # {'description': 'VMI-15MC01', 'manufacturer_sub_id': 'C8', 'product_id': '8D', 'date_1': '2021-07-28', 'date_2': '0000-00-00', 'oem_code': '67'} # Orcon CO2 sensor
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
# Orcon remote
|
|
2
|
+
2025-09-18T10:52:59.922182 ... I --- 29:123456 63:262142 --:------ 10E0 029 000001C827070167FFFFFFFFFFFFFFFFFFFF564D4E2D31354C46303100
|
|
2
3
|
2022-01-14T13:33:40.652000 ... I --- 29:156898 63:262142 --:------ 10E0 029 000001C827050167FFFFFFFFFFFFFFFFFFFF564D4E2D31354C46303100
|
|
3
4
|
|
|
4
5
|
2022-06-02T23:35:45.279114 073 I --- 29:158183 63:262142 --:------ 10E0 038 000001C827090167FFFFFFFFFFFF0D0207E3564D4E2D31354C46303100000000000000000000
|
|
@@ -8,3 +8,4 @@
|
|
|
8
8
|
2022-08-19T16:21:32.671972 081 I --- 37:006470 63:262142 --:------ 10E0 038 000001C88D030167FEFFFFFFFFFF1C0707E5564D492D31354D43303100000000000000000000
|
|
9
9
|
2022-08-21T03:51:37.252214 079 I --- 37:006488 63:262142 --:------ 10E0 038 000001C88D030167FEFFFFFFFFFF1C0707E5564D492D31354D43303100000000000000000000
|
|
10
10
|
2023-03-19T07:51:15.789665 081 I --- 37:014196 63:262142 --:------ 10E0 038 000001C88D030167FEFFFFFFFFFF1C0707E5564D492D31354D43303100000000000000000000
|
|
11
|
+
2025-09-05T05:04:03.781873 ... I --- 37:123456 63:262142 --:------ 10E0 038 000001C88D030167FEFFFFFFFFFF1C0707E5564D492D31354D43303100000000000000000000
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# evohome from cesar.florin HCC80 (UFC) controlled via round thermostat talking to a BDR91 relay. FC = max all zones
|
|
2
|
+
2025-09-09T18:54:03.198471 061 I --- 02:033545 --:------ 02:033545 0008 002 FA00 # {'domain_id': 'FA', 'relay_demand': 0.0}
|
|
3
|
+
2025-09-09T18:55:18.250506 078 I --- 02:033545 --:------ 02:033545 0008 002 FC00 # {'domain_id': 'FC', 'relay_demand': 0.0}
|
|
@@ -4,3 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
# another pair that is in heating mode:
|
|
6
6
|
2023-03-18T23:53:26.811524 037 W --- 21:033160 02:250704 --:------ 22D0 008 0304001E14030020 # {'zone_idx': '03', 'idx': '03', '_flags': [0, 0, 0, 0, 0, 1, 0, 0], 'cool_mode': False, 'heat_mode': True, 'is_active': False, '_unknown': '001E14030020'}
|
|
7
|
+
|
|
8
|
+
# evohome from cesar.florin HCC80 (UFC) controlled via round thermostat talking to a BDR91 relay
|
|
9
|
+
2025-09-09T18:54:03.354496 061 I --- 02:033545 --:------ 02:033545 22D0 004 00000002 # {'zone_idx': '00', 'idx': '00', '_flags': [0, 0, 0, 0, 0, 0, 0, 0], 'cool_mode': False, 'heat_mode': False, 'is_active': False, '_unknown': '0002'}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Itho remote
|
|
2
|
+
2024-01-01T01:00:00.000000 ... I 019 --:------ --:------ 39:159057 22F3 003 00000A # {'minutes': 10, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], 'new_speed_mode': 'fan_boost', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'itho', 'seqx_num': '019'}
|
|
3
|
+
2024-01-01T01:00:00.000000 ... I 022 --:------ --:------ 39:159057 22F3 003 000014 # {'minutes': 20, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], 'new_speed_mode': 'fan_boost', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'itho', 'seqx_num': '022'}
|
|
4
|
+
2024-01-01T01:00:00.000000 ... I 026 --:------ --:------ 39:159057 22F3 003 00001E # {'minutes': 30, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], 'new_speed_mode': 'fan_boost', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'itho', 'seqx_num': '026'}
|
|
5
|
+
|
|
6
|
+
# Orcon remote
|
|
7
|
+
2024-01-01T01:00:00.000000 ... I --- 29:151550 29:237552 --:------ 22F3 007 00023C03040000 # {'minutes': 60, 'flags': [0, 0, 0, 0, 0, 0, 1, 0], 'new_speed_mode': 'per_request', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'orcon', 'fan_mode': 'high'}
|
|
8
|
+
2024-01-01T01:00:00.000000 ... I --- 29:162374 29:237552 --:------ 22F3 007 00020F03040000 # {'minutes': 15, 'flags': [0, 0, 0, 0, 0, 0, 1, 0], 'new_speed_mode': 'per_request', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'orcon', 'fan_mode': 'high'}
|
|
9
|
+
2024-01-01T01:00:00.000000 ... I --- 29:162374 29:237552 --:------ 22F3 007 00020F03040000 # {'minutes': 15, 'flags': [0, 0, 0, 0, 0, 0, 1, 0], 'new_speed_mode': 'per_request', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'orcon', 'fan_mode': 'high'}
|
|
10
|
+
|
|
11
|
+
# Orcon CO2 sensor / remote
|
|
12
|
+
2025-09-06T13:09:26.049759 ... I --- 37:123456 32:123456 --:------ 22F3 007 00520C00040404 # {'minutes': 720, 'flags': [0, 1, 0, 1, 0, 0, 1, 0], 'new_speed_mode': 'per_request', 'fallback_speed_mode': 'per_request', '_scheme': 'orcon', 'fan_mode': 'away', 'fallback_fan_mode': 'auto'}
|
|
13
|
+
2025-09-06T22:31:19.792895 ... I --- 37:123456 32:123456 --:------ 22F3 007 00123C03040404 # {'minutes': 60, 'flags': [0, 0, 0, 1, 0, 0, 1, 0], 'new_speed_mode': 'per_request', 'fallback_speed_mode': 'per_request', '_scheme': 'orcon', 'fan_mode': 'high', 'fallback_fan_mode': 'auto'}
|
|
14
|
+
|
|
15
|
+
# Vasco remote (VMN-17LMP01) boost
|
|
16
|
+
2024-10-14T20:51:11.263018 049 I --- 29:091138 32:022222 --:------ 22F3 007 00021E04060000 # {'minutes': 30, 'flags': [0, 0, 0, 0, 0, 0, 1, 0], 'new_speed_mode': 'per_request', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'vasco', 'fan_mode': 'high'}
|
|
17
|
+
# repeated 5 times total
|
|
18
|
+
|
|
19
|
+
# ClimaRad 4-button remote boost, lasts 20 mins
|
|
20
|
+
2024-10-14T08:50:34.322538 072 I --- 29:123150 29:099029 --:------ 22F3 007 00021E04060000 # {'minutes': 30, 'flags': [0, 0, 0, 0, 0, 0, 1, 0], 'new_speed_mode': 'per_request', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'vasco', 'fan_mode': 'high'}
|
|
21
|
+
# repeated 2 times total but that could be caused by reception/confirm problem. LED is slow to confirm
|
|
22
|
+
|
|
23
|
+
# curious 22f3 packet: invalid button combi pressed?
|
|
24
|
+
2024-01-01T01:00:00.000000 123 I --- 29:123150 29:099029 --:------ 22F3 007 00020F00060000 # {'minutes': 15, 'flags': [0, 0, 0, 0, 0, 0, 1, 0], 'new_speed_mode': 'per_request', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'vasco', 'fan_mode': 'off'}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
2021-11-16T07:15:02.075569 050 I --- 01:050858 --:------ 01:050858 30C9 024 00086001078102073503070F04070E0507B206073F0707A3 # [{'zone_idx': '00', 'temperature': 21.44}, {'zone_idx': '01', 'temperature': 19.21}, {'zone_idx': '02', 'temperature': 18.45}, {'zone_idx': '03', 'temperature': 18.07}, {'zone_idx': '04', 'temperature': 18.06}, {'zone_idx': '05', 'temperature': 19.7}, {'zone_idx': '06', 'temperature': 18.55}, {'zone_idx': '07', 'temperature': 19.55}]
|
|
3
|
+
|
|
4
|
+
2021-11-16T07:14:05.970532 000 RQ --- 18:141846 01:050858 --:------ 30C9 001 07 # {}
|
|
5
|
+
2021-11-16T07:14:05.985522 050 RP --- 01:050858 18:141846 --:------ 30C9 003 0707A7 # {'temperature': 19.59, 'zone_idx': '07'}
|
|
6
|
+
|
|
7
|
+
2021-01-23T23:06:34.817345 067 I --- 00:000558 --:------ 00:000558 30C9 003 00075D
|
|
8
|
+
2021-11-16T07:14:43.815222 059 I --- 04:055480 --:------ 04:055480 30C9 003 00070F # {'temperature': 18.07}
|
|
9
|
+
2019-12-16T10:46:01.433680 064 I --- 12:010740 --:------ 12:010740 30C9 003 000785
|
|
10
|
+
2020-12-07T05:56:23.790693 053 I --- 22:131874 --:------ 22:131874 30C9 003 000636
|
|
11
|
+
2020-01-03T22:14:29.833375 056 I --- 34:242504 --:------ 34:242504 30C9 003 000838
|
|
12
|
+
|
|
13
|
+
2020-12-30T08:16:18.653883 068 I --- --:------ --:------ 12:193204 30C9 003 01086A # {'temperature': 21.54, 'zone_idx': '01'}
|
|
14
|
+
|
|
15
|
+
# evohome from cesar.florin HCC80 controlled via round thermostat talking to a BDR91 relay
|
|
16
|
+
2025-09-09T18:54:06.865752 054 I --- 34:030020 --:------ 34:030020 30C9 003 0009D7 # {'temperature': 25.19}
|
|
@@ -27,3 +27,6 @@
|
|
|
27
27
|
|
|
28
28
|
# VenturaV1x (VMD-07RPS13, no heater, only HRU)
|
|
29
29
|
2024-10-14T20:59:09.716874 060 I --- 37:153226 --:------ 37:153226 3150 006 00F201F202F2 # [{'zone_idx': '00', 'heat_demand_fault': 'unavailable'}, {'zone_idx': '01', 'heat_demand_fault': 'unavailable'}, {'zone_idx': '02', 'heat_demand_fault': 'unavailable'}]
|
|
30
|
+
|
|
31
|
+
# evohome from cesar.florin HCC80 (UFC) controlled via round thermostat talking to a BDR91 relay. FC = max all zones
|
|
32
|
+
2025-09-09T18:55:18.458534 079 I --- 02:033545 --:------ 02:033545 3150 002 FC00 # {'domain_id': 'FC', 'heat_demand': 0.0}
|
|
@@ -260,13 +260,13 @@
|
|
|
260
260
|
# No null value - No time is 0000
|
|
261
261
|
2022-07-04T17:15:56.591751 ... I --- 37:239356 --:------ 37:239356 31DA 029 00C84002E334EF7FFF7FFF7FFF7FFFF808EF0115000000EFEF7FFF7FFF # {'hvac_id': '00', 'remaining_mins': 0, 'air_quality': 1.0, 'air_quality_basis': 'rel_humidity', 'co2_level': 739, 'indoor_humidity': 0.52, 'outdoor_humidity': None, 'exhaust_temp': None, 'supply_temp': None, 'indoor_temp': None, 'outdoor_temp': None, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost', 'auto', 'auto_night'], 'bypass_position': None, 'fan_info': 'speed 1, low', '_unknown_fan_info_flags': [0, 0, 0], 'exhaust_fan_speed': 0.105, 'supply_fan_speed': 0.0, 'post_heat': None, 'pre_heat': None, 'supply_flow': None, 'exhaust_flow': None}
|
|
262
262
|
# various times
|
|
263
|
-
2022-07-04T15:11:21.793118 ... I 135 --:------ --:------ 29:052148 22F3 003 63000A # { 'minutes': 10, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], '
|
|
263
|
+
2022-07-04T15:11:21.793118 ... I 135 --:------ --:------ 29:052148 22F3 003 63000A # { 'minutes': 10, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], 'new_speed_mode': 'fan_boost', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'itho', 'seqx_num': '135'}
|
|
264
264
|
2022-07-04T15:11:21.860590 ... I --- --:------ --:------ 37:237616 31DA 029 00C84001DA2EEF7FFF7FFF7FFF7FFFF808EF0DC800000AEFEF7FFF7FFF # {'hvac_id': '00', 'remaining_mins': 10, 'air_quality': 1.0, 'air_quality_basis': 'rel_humidity', 'co2_level': 474, 'indoor_humidity': 0.46, 'outdoor_humidity': None, 'exhaust_temp': None, 'supply_temp': None, 'indoor_temp': None, 'outdoor_temp': None, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost', 'auto', 'auto_night'], 'bypass_position': None, 'fan_info': 'speed 3 temporary override', '_unknown_fan_info_flags': [0, 0, 0], 'exhaust_fan_speed': 1.0, 'supply_fan_speed': 0.0, 'post_heat': None, 'pre_heat': None, 'supply_flow': None, 'exhaust_flow': None}
|
|
265
|
-
2021-02-12T17:29:11.859716 ... I 019 --:------ --:------ 39:159057 22F3 003 00000A # { 'minutes': 10, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], '
|
|
265
|
+
2021-02-12T17:29:11.859716 ... I 019 --:------ --:------ 39:159057 22F3 003 00000A # { 'minutes': 10, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], 'new_speed_mode': 'fan_boost', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'itho', 'seqx_num': '019'}
|
|
266
266
|
2021-02-12T17:29:11.897592 ... I --- --:------ --:------ 20:008749 31DA 029 00EF007FFFEFEF7FFF7FFF7FFF7FFFF000EF0DB600000AEFEF7FFF7FFF # {'hvac_id': '00', 'remaining_mins': 10, 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': None, 'supply_temp': None, 'indoor_temp': None, 'outdoor_temp': None, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost'], 'bypass_position': None, 'fan_info': 'speed 3 temporary override', '_unknown_fan_info_flags': [0, 0, 0], 'exhaust_fan_speed': 0.91, 'supply_fan_speed': 0.0, 'post_heat': None, 'pre_heat': None, 'supply_flow': None, 'exhaust_flow': None}
|
|
267
|
-
2021-02-12T17:29:30.662408 ... I 025 --:------ --:------ 39:159057 22F3 003 000014 # { 'minutes': 20, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], '
|
|
267
|
+
2021-02-12T17:29:30.662408 ... I 025 --:------ --:------ 39:159057 22F3 003 000014 # { 'minutes': 20, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], 'new_speed_mode': 'fan_boost', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'itho', 'seqx_num': '025'}
|
|
268
268
|
2021-02-12T17:29:30.699459 ... I --- --:------ --:------ 20:008749 31DA 029 00EF007FFFEFEF7FFF7FFF7FFF7FFFF000EF0DB0000014EFEF7FFF7FFF # {'hvac_id': '00', 'remaining_mins': 20, 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': None, 'supply_temp': None, 'indoor_temp': None, 'outdoor_temp': None, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost'], 'bypass_position': None, 'fan_info': 'speed 3 temporary override', '_unknown_fan_info_flags': [0, 0, 0], 'exhaust_fan_speed': 0.88, 'supply_fan_speed': 0.0, 'remaining_mins': 20.0, 'post_heat': None, 'pre_heat': None, 'supply_flow': None, 'exhaust_flow': None}
|
|
269
|
-
2021-02-12T17:29:30.862259 ... I 026 --:------ --:------ 39:159057 22F3 003 00001E # { 'minutes': 30, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], '
|
|
269
|
+
2021-02-12T17:29:30.862259 ... I 026 --:------ --:------ 39:159057 22F3 003 00001E # { 'minutes': 30, 'flags': [0, 0, 0, 0, 0, 0, 0, 0], 'new_speed_mode': 'fan_boost', 'fallback_speed_mode': 'per_vent_speed', '_scheme': 'itho', 'seqx_num': '026'}
|
|
270
270
|
2021-02-12T17:29:30.897969 ... I --- --:------ --:------ 20:008749 31DA 029 00EF007FFFEFEF7FFF7FFF7FFF7FFFF000EF0DB000001EEFEF7FFF7FFF # {'hvac_id': '00', 'remaining_mins': 30, 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': None, 'supply_temp': None, 'indoor_temp': None, 'outdoor_temp': None, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost'], 'bypass_position': None, 'fan_info': 'speed 3 temporary override', '_unknown_fan_info_flags': [0, 0, 0], 'exhaust_fan_speed': 0.88, 'supply_fan_speed': 0.0, 'remaining_mins': 30.0, 'post_heat': None, 'pre_heat': None, 'supply_flow': None, 'exhaust_flow': None}
|
|
271
271
|
#
|
|
272
272
|
2022-07-28T14:20:26.582700 ... I --- 32:134446 --:------ 32:134446 31DA 030 00EF007FFF38280852088E087A0834F800000B2222003BEFEF0ABE0ABE00 # {'hvac_id': '00', 'remaining_mins': 59, 'air_quality': None, 'co2_level': None, 'indoor_humidity': 0.56, 'outdoor_humidity': 0.4, 'exhaust_temp': 21.3, 'supply_temp': 21.9, 'indoor_temp': 21.7, 'outdoor_temp': 21.0, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost', 'auto'], 'bypass_position': 0.0, 'fan_info': 'speed 1 temporary override', '_unknown_fan_info_flags': [0, 0, 0], 'exhaust_fan_speed': 0.17, 'supply_fan_speed': 0.17, 'post_heat': None, 'pre_heat': None, 'supply_flow': 27.5, 'exhaust_flow': 27.5, '_extra': '00'}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Plan is to include at least one packet of every code that devices with this id type can Tx
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
# Resideo HCE-100 UFH Controller
|
|
6
|
-
# 23-10-09T10:59:43.000000 ... I --- 02:066404 --:------ 02:066404 3150 008 2100220023002400
|
|
7
|
-
2023-10-09T10:59:43.614000 ... I --- 02:066404 --:------ 02:066404 10E0 038 FF0001C89D6E0600FEFF140107E7010C07E64843453130302D524144494F0000000000000000
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
2024-01-01T01:00:00.000000 ... I 019 --:------ --:------ 39:159057 22F3 003 00000A # 10 mins
|
|
2
|
-
2024-01-01T01:00:00.000000 ... I 022 --:------ --:------ 39:159057 22F3 003 000014 # 20 mins
|
|
3
|
-
2024-01-01T01:00:00.000000 ... I 026 --:------ --:------ 39:159057 22F3 003 00001E # 30 mins
|
|
4
|
-
2024-01-01T01:00:00.000000 ... I --- 29:151550 29:237552 --:------ 22F3 007 00023C03040000 # 60 mins
|
|
5
|
-
2024-01-01T01:00:00.000000 ... I --- 29:162374 29:237552 --:------ 22F3 007 00020F03040000 # 15 mins
|
|
6
|
-
2024-01-01T01:00:00.000000 ... I --- 29:162374 29:237552 --:------ 22F3 007 00020F03040000 # 15 mins
|
|
7
|
-
|
|
8
|
-
# Vasco remote (VMN-17LMP01) boost
|
|
9
|
-
2024-10-14T20:51:11.263018 049 I --- 29:091138 32:022222 --:------ 22F3 007 00021E04060000 # {'minutes': 30, 'flags': [0, 0, 0, 0, 0, 0, 1, 0], '_new_speed_mode': 'per_vent_speed', '_fallback_speed_mode': None, 'rate': None, '_unknown_5': '0000'}
|
|
10
|
-
# repeated 5 times total
|
|
11
|
-
|
|
12
|
-
# ClimaRad 4-button remote boost, lasts 20 mins
|
|
13
|
-
2024-10-14T08:50:34.322538 072 I --- 29:123150 29:099029 --:------ 22F3 007 00021E04060000 # {'minutes': 30, 'flags': [0, 0, 0, 0, 0, 0, 1, 0], '_new_speed_mode': 'per_vent_speed', '_fallback_speed_mode': None, 'rate': None, '_unknown_5': '0000'}
|
|
14
|
-
# repeated 2 times total but that could be caused by reception/confirm problem. LED is slow to confirm
|
|
15
|
-
|
|
16
|
-
# curious 22f3 packet: invalid button combi pressed?
|
|
17
|
-
2024-01-01T01:00:00.000000 123 I --- 29:123150 29:099029 --:------ 22F3 007 00020F00060000 # {'minutes': 15, 'flags': [0, 0, 0, 0, 0, 0, 1, 0], '_new_speed_mode': 'per_vent_speed', '_fallback_speed_mode': None, 'rate': None, '_unknown_5': '0000'}
|