Coverage report: 30%

Files Functions Classes

coverage.py v7.11.3, created at 2026-01-05 21:49 +0100

File function statements missing excluded coverage
src/ramses_cli/__init__.py (no function) 6 2 0 67%
src/ramses_cli/client.py normalise_config 7 7 0 0%
src/ramses_cli/client.py split_kwargs 5 0 0 100%
src/ramses_cli/client.py DeviceIdParamType.convert 3 3 0 0%
src/ramses_cli/client.py cli 8 3 0 62%
src/ramses_cli/client.py FileCommand.__init__ 2 0 0 100%
src/ramses_cli/client.py PortCommand.__init__ 5 0 0 100%
src/ramses_cli/client.py parse 3 0 0 100%
src/ramses_cli/client.py monitor 8 2 0 75%
src/ramses_cli/client.py execute 16 6 0 62%
src/ramses_cli/client.py listen 4 0 0 100%
src/ramses_cli/client.py print_results 20 20 0 0%
src/ramses_cli/client.py _save_state 5 5 0 0%
src/ramses_cli/client.py _print_engine_state 5 5 0 0%
src/ramses_cli/client.py print_summary 38 38 2 0%
src/ramses_cli/client.py async_main 41 41 0 0%
src/ramses_cli/client.py async_main.handle_msg 14 14 0 0%
src/ramses_cli/client.py main 24 24 0 0%
src/ramses_cli/client.py (no function) 99 3 2 97%
src/ramses_cli/debug.py start_debugging 7 7 0 0%
src/ramses_cli/debug.py (no function) 5 0 0 100%
src/ramses_cli/discovery.py script_decorator 2 0 0 100%
src/ramses_cli/discovery.py script_decorator.wrapper 4 4 0 0%
src/ramses_cli/discovery.py spawn_scripts 17 17 0 0%
src/ramses_cli/discovery.py exec_cmd 2 2 0 0%
src/ramses_cli/discovery.py get_faults 5 5 0 0%
src/ramses_cli/discovery.py get_schedule 5 5 0 0%
src/ramses_cli/discovery.py set_schedule 7 7 0 0%
src/ramses_cli/discovery.py script_bind_req 4 4 0 0%
src/ramses_cli/discovery.py script_bind_wait 4 4 0 0%
src/ramses_cli/discovery.py script_poll_device 8 8 0 0%
src/ramses_cli/discovery.py script_poll_device.periodic_send 8 8 0 0%
src/ramses_cli/discovery.py script_poll_device.periodic_send.periodic_ 2 2 0 0%
src/ramses_cli/discovery.py script_scan_disc 2 2 0 0%
src/ramses_cli/discovery.py script_scan_full 35 35 0 0%
src/ramses_cli/discovery.py script_scan_hard 4 4 0 0%
src/ramses_cli/discovery.py script_scan_fan 10 10 0 0%
src/ramses_cli/discovery.py script_scan_otb 3 3 0 0%
src/ramses_cli/discovery.py script_scan_otb_hard 3 3 0 0%
src/ramses_cli/discovery.py script_scan_otb_map 5 5 0 0%
src/ramses_cli/discovery.py script_scan_otb_ramses 4 4 0 0%
src/ramses_cli/discovery.py (no function) 51 0 2 100%
src/ramses_rf/__init__.py (no function) 14 0 2 100%
src/ramses_rf/binding_fsm.py BindContextBase.__init__ 4 4 0 0%
src/ramses_rf/binding_fsm.py BindContextBase.__repr__ 1 1 0 0%
src/ramses_rf/binding_fsm.py BindContextBase.__str__ 1 1 0 0%
src/ramses_rf/binding_fsm.py BindContextBase.set_state 12 12 0 0%
src/ramses_rf/binding_fsm.py BindContextBase.state 1 1 0 0%
src/ramses_rf/binding_fsm.py BindContextBase.role 5 5 0 0%
src/ramses_rf/binding_fsm.py BindContextBase.is_binding 1 1 0 0%
src/ramses_rf/binding_fsm.py BindContextBase.rcvd_msg 2 2 0 0%
src/ramses_rf/binding_fsm.py BindContextBase.sent_cmd 2 2 0 0%
src/ramses_rf/binding_fsm.py BindContextRespondent.wait_for_binding_request 11 11 0 0%
src/ramses_rf/binding_fsm.py BindContextRespondent._wait_for_offer 1 1 0 0%
src/ramses_rf/binding_fsm.py BindContextRespondent._accept_offer 6 6 0 0%
src/ramses_rf/binding_fsm.py BindContextRespondent._wait_for_confirm 1 1 0 0%
src/ramses_rf/binding_fsm.py BindContextRespondent._wait_for_addenda 1 1 0 0%
src/ramses_rf/binding_fsm.py BindContextSupplicant.initiate_binding_process 12 12 0 0%
src/ramses_rf/binding_fsm.py BindContextSupplicant._make_offer 6 6 0 0%
src/ramses_rf/binding_fsm.py BindContextSupplicant._wait_for_accept 1 1 0 0%
src/ramses_rf/binding_fsm.py BindContextSupplicant._confirm_accept 7 7 0 0%
src/ramses_rf/binding_fsm.py BindContextSupplicant._cast_addenda 3 3 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.__init__ 6 6 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.__repr__ 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.__str__ 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.context 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase._wait_for_fut_result 7 7 0 0%
src/ramses_rf/binding_fsm.py BindStateBase._handle_wait_timer_expired 4 4 0 0%
src/ramses_rf/binding_fsm.py BindStateBase._set_context_state 3 3 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.send_cmd 0 0 1 100%
src/ramses_rf/binding_fsm.py BindStateBase.rcvd_msg 0 0 1 100%
src/ramses_rf/binding_fsm.py BindStateBase.is_phase 9 9 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.wait_for_offer 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.cast_accept_offer 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.wait_for_confirm 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.wait_for_addenda 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.cast_offer 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.wait_for_accept 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.cast_confirm_accept 1 1 0 0%
src/ramses_rf/binding_fsm.py BindStateBase.cast_addenda 1 1 0 0%
src/ramses_rf/binding_fsm.py _DevIsWaitingForMsg.__init__ 2 2 0 0%
src/ramses_rf/binding_fsm.py _DevIsWaitingForMsg._set_context_state 3 3 0 0%
src/ramses_rf/binding_fsm.py _DevIsWaitingForMsg.rcvd_msg 2 2 0 0%
src/ramses_rf/binding_fsm.py _DevIsReadyToSendCmd.__init__ 3 3 0 0%
src/ramses_rf/binding_fsm.py _DevIsReadyToSendCmd._retries_exceeded 4 4 0 0%
src/ramses_rf/binding_fsm.py _DevIsReadyToSendCmd.send_cmd 6 6 0 0%
src/ramses_rf/binding_fsm.py _DevIsReadyToSendCmd.rcvd_msg 2 2 0 0%
src/ramses_rf/binding_fsm.py _DevSendCmdUntilReply.rcvd_msg 2 2 0 0%
src/ramses_rf/binding_fsm.py RespHasBoundAsRespondent.__init__ 2 2 0 0%
src/ramses_rf/binding_fsm.py RespIsWaitingForAddenda.wait_for_addenda 1 1 0 0%
src/ramses_rf/binding_fsm.py RespSendAcceptWaitForConfirm.cast_accept_offer 1 1 0 0%
src/ramses_rf/binding_fsm.py RespSendAcceptWaitForConfirm.wait_for_confirm 1 1 0 0%
src/ramses_rf/binding_fsm.py RespIsWaitingForOffer.wait_for_offer 1 1 0 0%
src/ramses_rf/binding_fsm.py SuppHasBoundAsSupplicant.__init__ 2 2 0 0%
src/ramses_rf/binding_fsm.py SuppIsReadyToSendAddenda.cast_addenda 1 1 0 0%
src/ramses_rf/binding_fsm.py SuppIsReadyToSendConfirm.cast_confirm_accept 1 1 0 0%
src/ramses_rf/binding_fsm.py SuppSendOfferWaitForAccept.cast_offer 1 1 0 0%
src/ramses_rf/binding_fsm.py SuppSendOfferWaitForAccept.wait_for_accept 1 1 0 0%
src/ramses_rf/binding_fsm.py (no function) 185 0 4 100%
src/ramses_rf/const.py (no function) 21 0 2 100%
src/ramses_rf/database.py _setup_db_adapters 4 4 0 0%
src/ramses_rf/database.py _setup_db_adapters.adapt_datetime_iso 1 1 0 0%
src/ramses_rf/database.py _setup_db_adapters.convert_datetime 1 1 0 0%
src/ramses_rf/database.py payload_keys 8 8 0 0%
src/ramses_rf/database.py payload_keys.append_keys 5 5 0 0%
src/ramses_rf/database.py MessageIndex.__init__ 11 11 0 0%
src/ramses_rf/database.py MessageIndex.__repr__ 1 1 0 0%
src/ramses_rf/database.py MessageIndex.start 4 4 0 0%
src/ramses_rf/database.py MessageIndex.stop 4 4 0 0%
src/ramses_rf/database.py MessageIndex.msgs 1 1 0 0%
src/ramses_rf/database.py MessageIndex._setup_db_schema 8 8 0 0%
src/ramses_rf/database.py MessageIndex._housekeeping_loop 6 6 0 0%
src/ramses_rf/database.py MessageIndex._housekeeping_loop.housekeeping 15 15 0 0%
src/ramses_rf/database.py MessageIndex.add 13 13 0 0%
src/ramses_rf/database.py MessageIndex.add_record 13 13 0 0%
src/ramses_rf/database.py MessageIndex._insert_into 10 10 0 0%
src/ramses_rf/database.py MessageIndex.rem 14 14 0 0%
src/ramses_rf/database.py MessageIndex._delete_from 5 5 0 0%
src/ramses_rf/database.py MessageIndex.get 5 5 0 0%
src/ramses_rf/database.py MessageIndex.contains 1 1 0 0%
src/ramses_rf/database.py MessageIndex._select_from 7 7 0 0%
src/ramses_rf/database.py MessageIndex.qry_dtms 11 11 0 0%
src/ramses_rf/database.py MessageIndex.qry 10 10 0 0%
src/ramses_rf/database.py MessageIndex.get_rp_codes 7 7 0 0%
src/ramses_rf/database.py MessageIndex.get_rp_codes.get_code 4 4 0 0%
src/ramses_rf/database.py MessageIndex.qry_field 4 4 0 0%
src/ramses_rf/database.py MessageIndex.all 9 9 0 0%
src/ramses_rf/database.py MessageIndex.clr 3 3 0 0%
src/ramses_rf/database.py (no function) 35 0 3 100%
src/ramses_rf/device/__init__.py best_dev_role 25 25 0 0%
src/ramses_rf/device/__init__.py device_factory 4 4 0 0%
src/ramses_rf/device/__init__.py (no function) 16 0 3 100%
src/ramses_rf/device/base.py DeviceBase.__init__ 7 7 0 0%
src/ramses_rf/device/base.py DeviceBase.__str__ 4 4 0 0%
src/ramses_rf/device/base.py DeviceBase.__lt__ 3 3 0 0%
src/ramses_rf/device/base.py DeviceBase._update_traits 6 6 0 0%
src/ramses_rf/device/base.py DeviceBase.create_from_schema 3 3 0 0%
src/ramses_rf/device/base.py DeviceBase._setup_discovery_cmds 1 1 0 0%
src/ramses_rf/device/base.py DeviceBase._send_cmd 3 3 0 0%
src/ramses_rf/device/base.py DeviceBase._handle_msg 12 12 0 0%
src/ramses_rf/device/base.py DeviceBase.has_battery 4 4 0 0%
src/ramses_rf/device/base.py DeviceBase.is_faked 1 1 0 0%
src/ramses_rf/device/base.py DeviceBase._is_binding 1 1 0 0%
src/ramses_rf/device/base.py DeviceBase._is_present 1 1 0 0%
src/ramses_rf/device/base.py DeviceBase.schema 1 1 0 0%
src/ramses_rf/device/base.py DeviceBase.params 1 1 0 0%
src/ramses_rf/device/base.py DeviceBase.status 1 1 0 0%
src/ramses_rf/device/base.py DeviceBase.traits 4 4 0 0%
src/ramses_rf/device/base.py BatteryState.battery_low 3 3 0 0%
src/ramses_rf/device/base.py BatteryState.battery_state 3 3 0 0%
src/ramses_rf/device/base.py BatteryState.status 1 1 0 0%
src/ramses_rf/device/base.py DeviceInfo._setup_discovery_cmds 4 4 0 0%
src/ramses_rf/device/base.py DeviceInfo.device_info 1 1 0 0%
src/ramses_rf/device/base.py DeviceInfo.traits 4 4 0 0%
src/ramses_rf/device/base.py Fakeable.__init__ 6 6 0 0%
src/ramses_rf/device/base.py Fakeable._make_fake 5 5 0 0%
src/ramses_rf/device/base.py Fakeable._async_send_cmd 3 3 0 0%
src/ramses_rf/device/base.py Fakeable._handle_msg 3 3 0 0%
src/ramses_rf/device/base.py Fakeable._wait_for_binding_request 4 4 0 0%
src/ramses_rf/device/base.py Fakeable.wait_for_binding_request 0 0 1 100%
src/ramses_rf/device/base.py Fakeable._initiate_binding_process 7 7 0 0%
src/ramses_rf/device/base.py Fakeable.initiate_binding_process 0 0 1 100%
src/ramses_rf/device/base.py Fakeable.oem_code 3 3 1 0%
src/ramses_rf/device/base.py Device.__init__ 3 3 0 0%
src/ramses_rf/device/base.py HgiGateway.__init__ 4 4 0 0%
src/ramses_rf/device/base.py HgiGateway.schema 1 1 0 0%
src/ramses_rf/device/base.py DeviceHeat.__init__ 5 5 0 0%
src/ramses_rf/device/base.py DeviceHeat._handle_msg 9 9 0 0%
src/ramses_rf/device/base.py DeviceHeat._make_tcs_controller 3 3 0 0%
src/ramses_rf/device/base.py DeviceHeat._is_controller 5 5 0 0%
src/ramses_rf/device/base.py DeviceHeat.zone 1 1 0 0%
src/ramses_rf/device/base.py DeviceHvac.__init__ 2 2 0 0%
src/ramses_rf/device/base.py (no function) 91 0 5 100%
src/ramses_rf/device/heat.py Actuator._handle_msg 7 7 0 0%
src/ramses_rf/device/heat.py Actuator.actuator_cycle 1 1 0 0%
src/ramses_rf/device/heat.py Actuator.actuator_state 1 1 0 0%
src/ramses_rf/device/heat.py Actuator.status 1 1 0 0%
src/ramses_rf/device/heat.py HeatDemand.heat_demand 1 1 0 0%
src/ramses_rf/device/heat.py HeatDemand.status 1 1 0 0%
src/ramses_rf/device/heat.py Setpoint.setpoint 1 1 0 0%
src/ramses_rf/device/heat.py Setpoint.status 1 1 0 0%
src/ramses_rf/device/heat.py Weather.temperature 1 1 0 0%
src/ramses_rf/device/heat.py Weather.temperature 4 4 0 0%
src/ramses_rf/device/heat.py Weather.status 1 1 0 0%
src/ramses_rf/device/heat.py RelayDemand._setup_discovery_cmds 3 3 0 0%
src/ramses_rf/device/heat.py RelayDemand.relay_demand 1 1 0 0%
src/ramses_rf/device/heat.py RelayDemand.status 1 1 0 0%
src/ramses_rf/device/heat.py DhwTemperature.temperature 1 1 0 0%
src/ramses_rf/device/heat.py DhwTemperature.temperature 4 4 0 0%
src/ramses_rf/device/heat.py DhwTemperature.status 1 1 0 0%
src/ramses_rf/device/heat.py Temperature.temperature 1 1 0 0%
src/ramses_rf/device/heat.py Temperature.temperature 4 4 0 0%
src/ramses_rf/device/heat.py Temperature.status 1 1 0 0%
src/ramses_rf/device/heat.py Controller.__init__ 3 3 0 0%
src/ramses_rf/device/heat.py Controller._handle_msg 2 2 0 0%
src/ramses_rf/device/heat.py Controller._make_tcs_controller 3 3 0 0%
src/ramses_rf/device/heat.py Controller._make_tcs_controller.get_system 9 9 0 0%
src/ramses_rf/device/heat.py UfhController.__init__ 7 7 0 0%
src/ramses_rf/device/heat.py UfhController._setup_discovery_cmds 12 12 0 0%
src/ramses_rf/device/heat.py UfhController._handle_msg 28 28 0 0%
src/ramses_rf/device/heat.py UfhController.get_circuit 11 11 0 0%
src/ramses_rf/device/heat.py UfhController.heat_demand 1 1 0 0%
src/ramses_rf/device/heat.py UfhController.heat_demands 1 1 0 0%
src/ramses_rf/device/heat.py UfhController.relay_demand 1 1 0 0%
src/ramses_rf/device/heat.py UfhController.relay_demand_fa 1 1 0 0%
src/ramses_rf/device/heat.py UfhController.setpoints 3 3 0 0%
src/ramses_rf/device/heat.py UfhController.schema 1 1 0 0%
src/ramses_rf/device/heat.py UfhController.params 1 1 0 0%
src/ramses_rf/device/heat.py UfhController.status 1 1 0 0%
src/ramses_rf/device/heat.py DhwSensor.__init__ 2 2 0 0%
src/ramses_rf/device/heat.py DhwSensor._handle_msg 5 5 0 0%
src/ramses_rf/device/heat.py DhwSensor.initiate_binding_process 1 1 0 0%
src/ramses_rf/device/heat.py DhwSensor.dhw_params 1 1 0 0%
src/ramses_rf/device/heat.py DhwSensor.params 1 1 0 0%
src/ramses_rf/device/heat.py _to_msg_id 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.__init__ 6 6 0 0%
src/ramses_rf/device/heat.py OtbGateway._setup_discovery_cmds 24 24 0 0%
src/ramses_rf/device/heat.py OtbGateway._setup_discovery_cmds.which_cmd 7 7 0 0%
src/ramses_rf/device/heat.py OtbGateway._handle_msg 7 7 0 0%
src/ramses_rf/device/heat.py OtbGateway._handle_3220 10 10 0 0%
src/ramses_rf/device/heat.py OtbGateway._handle_code 9 9 0 0%
src/ramses_rf/device/heat.py OtbGateway._ot_msg_flag 2 2 0 0%
src/ramses_rf/device/heat.py OtbGateway._ot_msg_name 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway._ot_msg_value 3 3 0 0%
src/ramses_rf/device/heat.py OtbGateway._result_by_callback 9 9 0 0%
src/ramses_rf/device/heat.py OtbGateway._result_by_lookup 9 9 0 0%
src/ramses_rf/device/heat.py OtbGateway._result_by_value 8 8 0 0%
src/ramses_rf/device/heat.py OtbGateway.bit_2_4 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.bit_2_5 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.bit_2_6 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.bit_2_7 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.bit_3_7 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.bit_6_6 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.percent 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.value 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.boiler_output_temp 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.boiler_return_temp 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.boiler_setpoint 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.ch_max_setpoint 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.ch_setpoint 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.ch_water_pressure 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.dhw_flow_rate 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.dhw_setpoint 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.dhw_temp 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.max_rel_modulation 3 3 0 0%
src/ramses_rf/device/heat.py OtbGateway.oem_code 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.outside_temp 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.rel_modulation_level 3 3 0 0%
src/ramses_rf/device/heat.py OtbGateway.ch_active 3 3 0 0%
src/ramses_rf/device/heat.py OtbGateway.ch_enabled 3 3 0 0%
src/ramses_rf/device/heat.py OtbGateway.cooling_active 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.cooling_enabled 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.dhw_active 3 3 0 0%
src/ramses_rf/device/heat.py OtbGateway.dhw_blocking 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.dhw_enabled 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.fault_present 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.flame_active 3 3 0 0%
src/ramses_rf/device/heat.py OtbGateway.otc_active 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.summer_mode 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.opentherm_schema 2 2 0 0%
src/ramses_rf/device/heat.py OtbGateway.opentherm_counters 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.opentherm_params 2 2 0 0%
src/ramses_rf/device/heat.py OtbGateway.opentherm_status 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.ramses_schema 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.ramses_params 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.ramses_status 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.traits 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.schema 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.params 1 1 0 0%
src/ramses_rf/device/heat.py OtbGateway.status 1 1 0 0%
src/ramses_rf/device/heat.py Thermostat._handle_msg 16 16 0 0%
src/ramses_rf/device/heat.py Thermostat.initiate_binding_process 1 1 0 0%
src/ramses_rf/device/heat.py BdrSwitch._setup_discovery_cmds 5 5 0 0%
src/ramses_rf/device/heat.py BdrSwitch.active 2 2 0 0%
src/ramses_rf/device/heat.py BdrSwitch.role 5 5 0 0%
src/ramses_rf/device/heat.py BdrSwitch.tpi_params 1 1 0 0%
src/ramses_rf/device/heat.py BdrSwitch.schema 1 1 0 0%
src/ramses_rf/device/heat.py BdrSwitch.params 1 1 0 0%
src/ramses_rf/device/heat.py BdrSwitch.status 1 1 0 0%
src/ramses_rf/device/heat.py TrvActuator.heat_demand 4 4 0 0%
src/ramses_rf/device/heat.py TrvActuator.window_open 1 1 0 0%
src/ramses_rf/device/heat.py TrvActuator.status 1 1 0 0%
src/ramses_rf/device/heat.py UfhCircuit.__init__ 8 8 0 0%
src/ramses_rf/device/heat.py UfhCircuit._update_schema 0 0 1 100%
src/ramses_rf/device/heat.py UfhCircuit._handle_msg 21 21 0 0%
src/ramses_rf/device/heat.py UfhCircuit.ufx_idx 1 1 0 0%
src/ramses_rf/device/heat.py UfhCircuit.zone_idx 3 3 0 0%
src/ramses_rf/device/heat.py class_dev_heat 12 12 0 0%
src/ramses_rf/device/heat.py (no function) 288 0 4 100%
src/ramses_rf/device/hvac.py CarbonDioxide.co2_level 1 1 0 0%
src/ramses_rf/device/hvac.py CarbonDioxide.co2_level 4 4 0 0%
src/ramses_rf/device/hvac.py CarbonDioxide.status 1 1 0 0%
src/ramses_rf/device/hvac.py IndoorHumidity.indoor_humidity 1 1 0 0%
src/ramses_rf/device/hvac.py IndoorHumidity.indoor_humidity 4 4 0 0%
src/ramses_rf/device/hvac.py IndoorHumidity.status 1 1 0 0%
src/ramses_rf/device/hvac.py PresenceDetect.presence_detected 1 1 0 0%
src/ramses_rf/device/hvac.py PresenceDetect.presence_detected 4 4 0 0%
src/ramses_rf/device/hvac.py PresenceDetect.status 1 1 0 0%
src/ramses_rf/device/hvac.py FilterChange._setup_discovery_cmds 2 2 0 0%
src/ramses_rf/device/hvac.py FilterChange.filter_remaining 3 3 0 0%
src/ramses_rf/device/hvac.py FilterChange.filter_remaining_percent 3 3 0 0%
src/ramses_rf/device/hvac.py RfsGateway.__init__ 4 4 0 0%
src/ramses_rf/device/hvac.py HvacHumiditySensor.temperature 1 1 0 0%
src/ramses_rf/device/hvac.py HvacHumiditySensor.dewpoint_temp 1 1 0 0%
src/ramses_rf/device/hvac.py HvacHumiditySensor.status 1 1 0 0%
src/ramses_rf/device/hvac.py HvacCarbonDioxideSensor.initiate_binding_process 1 1 0 0%
src/ramses_rf/device/hvac.py HvacRemote.initiate_binding_process 1 1 0 0%
src/ramses_rf/device/hvac.py HvacRemote.fan_rate 1 1 0 0%
src/ramses_rf/device/hvac.py HvacRemote.fan_rate 4 4 0 0%
src/ramses_rf/device/hvac.py HvacRemote.fan_mode 1 1 0 0%
src/ramses_rf/device/hvac.py HvacRemote.boost_timer 1 1 0 0%
src/ramses_rf/device/hvac.py HvacRemote.status 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.__init__ 7 7 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.set_initialized_callback 5 5 0 0%
src/ramses_rf/device/hvac.py HvacVentilator._handle_initialized_callback 8 8 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.set_param_update_callback 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator._handle_param_update 5 5 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.supports_2411 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.hgi 3 3 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.get_2411_param 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.set_2411_param 5 5 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.get_fan_param 6 6 0 0%
src/ramses_rf/device/hvac.py HvacVentilator._handle_2411_message 19 19 0 0%
src/ramses_rf/device/hvac.py HvacVentilator._handle_msg 5 5 0 0%
src/ramses_rf/device/hvac.py HvacVentilator._setup_discovery_cmds 8 8 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.add_bound_device 5 5 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.remove_bound_device 3 3 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.get_bound_rem 9 9 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.air_quality 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.air_quality_base 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.bypass_mode 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.bypass_position 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.bypass_state 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.co2_level 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.exhaust_fan_speed 8 8 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.exhaust_flow 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.exhaust_temp 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.fan_rate 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.fan_mode 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.fan_info 5 5 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.indoor_humidity 5 5 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.indoor_temp 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.outdoor_humidity 5 5 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.outdoor_temp 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.post_heat 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.pre_heat 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.remaining_mins 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.request_fan_speed 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.request_src 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.speed_cap 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.supply_fan_speed 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.supply_flow 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.supply_temp 5 5 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.status 1 1 0 0%
src/ramses_rf/device/hvac.py HvacVentilator.temperature 5 5 0 0%
src/ramses_rf/device/hvac.py class_dev_hvac 9 9 0 0%
src/ramses_rf/device/hvac.py (no function) 152 0 0 100%
src/ramses_rf/dispatcher.py _create_devices_from_addrs 12 12 0 0%
src/ramses_rf/dispatcher.py _check_msg_addrs 7 7 0 0%
src/ramses_rf/dispatcher.py _check_src_slug 10 10 0 0%
src/ramses_rf/dispatcher.py _check_dst_slug 16 16 0 0%
src/ramses_rf/dispatcher.py process_msg 37 37 0 0%
src/ramses_rf/dispatcher.py process_msg.logger_xxxx 8 8 0 0%
src/ramses_rf/dispatcher.py detect_array_fragment 1 1 0 0%
src/ramses_rf/dispatcher.py (no function) 23 0 2 100%
src/ramses_rf/entity_base.py class_by_attr 2 0 0 100%
src/ramses_rf/entity_base.py class_by_attr.predicate 1 0 0 100%
src/ramses_rf/entity_base.py _Entity.__init__ 3 3 0 0%
src/ramses_rf/entity_base.py _Entity.__repr__ 1 1 0 0%
src/ramses_rf/entity_base.py _Entity.deprecate_device 6 6 0 0%
src/ramses_rf/entity_base.py _Entity._handle_msg 0 0 1 100%
src/ramses_rf/entity_base.py _Entity._send_cmd 6 6 0 0%
src/ramses_rf/entity_base.py _Entity._async_send_cmd 4 4 0 0%
src/ramses_rf/entity_base.py _MessageDB.__init__ 4 4 0 0%
src/ramses_rf/entity_base.py _MessageDB._handle_msg 15 15 0 0%
src/ramses_rf/entity_base.py _MessageDB._msg_list 10 10 0 0%
src/ramses_rf/entity_base.py _MessageDB._add_record 2 2 0 0%
src/ramses_rf/entity_base.py _MessageDB._delete_msg 17 17 0 0%
src/ramses_rf/entity_base.py _MessageDB._get_msg_by_hdr 21 21 0 0%
src/ramses_rf/entity_base.py _MessageDB._msg_flag 3 3 0 0%
src/ramses_rf/entity_base.py _MessageDB._msg_value 4 4 0 0%
src/ramses_rf/entity_base.py _MessageDB._msg_value_code 18 18 0 0%
src/ramses_rf/entity_base.py _MessageDB._msg_value_msg 21 21 0 0%
src/ramses_rf/entity_base.py _MessageDB._msg_dev_qry 15 15 1 0%
src/ramses_rf/entity_base.py _MessageDB._msg_qry_by_code_key 29 29 1 0%
src/ramses_rf/entity_base.py _MessageDB._msg_value_qry_by_code_key 12 12 0 0%
src/ramses_rf/entity_base.py _MessageDB._msg_qry 6 6 0 0%
src/ramses_rf/entity_base.py _MessageDB._msg_count 1 1 0 0%
src/ramses_rf/entity_base.py _MessageDB.traits 2 2 0 0%
src/ramses_rf/entity_base.py _MessageDB._msgs 12 12 1 0%
src/ramses_rf/entity_base.py _MessageDB._msgz 10 10 1 0%
src/ramses_rf/entity_base.py _Discovery.__init__ 7 7 0 0%
src/ramses_rf/entity_base.py _Discovery.discovery_cmds 4 4 0 0%
src/ramses_rf/entity_base.py _Discovery.supported_cmds 3 3 0 0%
src/ramses_rf/entity_base.py _Discovery.supported_cmds_ot 11 11 1 0%
src/ramses_rf/entity_base.py _Discovery.supported_cmds_ot._to_data_id 1 1 0 0%
src/ramses_rf/entity_base.py _Discovery._is_not_deprecated_cmd 6 6 0 0%
src/ramses_rf/entity_base.py _Discovery._setup_discovery_cmds 0 0 1 100%
src/ramses_rf/entity_base.py _Discovery._add_discovery_cmd 9 9 0 0%
src/ramses_rf/entity_base.py _Discovery._start_discovery_poller 5 5 0 0%
src/ramses_rf/entity_base.py _Discovery._stop_discovery_poller 5 5 0 0%
src/ramses_rf/entity_base.py _Discovery._poll_discovery_cmds 7 7 0 0%
src/ramses_rf/entity_base.py _Discovery.discover 24 24 0 0%
src/ramses_rf/entity_base.py _Discovery.discover.find_latest_msg 14 14 1 0%
src/ramses_rf/entity_base.py _Discovery.discover.backoff 11 11 0 0%
src/ramses_rf/entity_base.py _Discovery.discover.send_disc_cmd 8 8 0 0%
src/ramses_rf/entity_base.py _Discovery._deprecate_code_ctx 8 8 0 0%
src/ramses_rf/entity_base.py _Discovery._deprecate_code_ctx.deprecate 5 5 0 0%
src/ramses_rf/entity_base.py _Discovery._deprecate_code_ctx.reinstate 4 4 0 0%
src/ramses_rf/entity_base.py Parent.__init__ 4 4 0 0%
src/ramses_rf/entity_base.py Parent.zone_idx 1 1 0 0%
src/ramses_rf/entity_base.py Parent.zone_idx 1 1 0 0%
src/ramses_rf/entity_base.py Parent._add_child 52 52 0 0%
src/ramses_rf/entity_base.py Child.__init__ 4 4 0 0%
src/ramses_rf/entity_base.py Child._handle_msg 7 7 0 0%
src/ramses_rf/entity_base.py Child._handle_msg.eavesdrop_parent_zone 9 9 0 0%
src/ramses_rf/entity_base.py Child._get_parent 39 39 0 0%
src/ramses_rf/entity_base.py Child.set_parent 12 12 0 0%
src/ramses_rf/entity_base.py (no function) 107 0 9 100%
src/ramses_rf/exceptions.py (no function) 25 0 0 100%
src/ramses_rf/gateway.py Gateway.__init__ 15 15 0 0%
src/ramses_rf/gateway.py Gateway.__repr__ 3 3 0 0%
src/ramses_rf/gateway.py Gateway.hgi 5 5 0 0%
src/ramses_rf/gateway.py Gateway.start 13 13 0 0%
src/ramses_rf/gateway.py Gateway.start.initiate_discovery 9 9 0 0%
src/ramses_rf/gateway.py Gateway.create_sqlite_message_index 1 1 0 0%
src/ramses_rf/gateway.py Gateway.stop 3 3 0 0%
src/ramses_rf/gateway.py Gateway._pause 7 7 0 0%
src/ramses_rf/gateway.py Gateway._resume 3 3 0 0%
src/ramses_rf/gateway.py Gateway.get_state 11 11 0 0%
src/ramses_rf/gateway.py Gateway.get_state.wanted_msg 9 9 0 0%
src/ramses_rf/gateway.py Gateway._restore_cached_packets 11 11 0 0%
src/ramses_rf/gateway.py Gateway._restore_cached_packets.clear_state 6 6 0 0%
src/ramses_rf/gateway.py Gateway._add_device 4 4 0 0%
src/ramses_rf/gateway.py Gateway.get_device 19 19 0 0%
src/ramses_rf/gateway.py Gateway.get_device.check_filter_lists 8 8 0 0%
src/ramses_rf/gateway.py Gateway.fake_device 10 10 0 0%
src/ramses_rf/gateway.py Gateway.tcs 3 3 0 0%
src/ramses_rf/gateway.py Gateway.known_list 3 3 0 0%
src/ramses_rf/gateway.py Gateway.system_by_id 1 1 0 0%
src/ramses_rf/gateway.py Gateway.systems 1 1 0 0%
src/ramses_rf/gateway.py Gateway._config 1 1 0 0%
src/ramses_rf/gateway.py Gateway.schema 8 8 0 0%
src/ramses_rf/gateway.py Gateway.params 1 1 0 0%
src/ramses_rf/gateway.py Gateway.status 2 2 0 0%
src/ramses_rf/gateway.py Gateway._msg_handler 6 6 0 0%
src/ramses_rf/gateway.py Gateway.send_cmd 4 4 0 0%
src/ramses_rf/gateway.py Gateway.async_send_cmd 1 1 0 0%
src/ramses_rf/gateway.py (no function) 52 0 4 100%
src/ramses_rf/helpers.py is_subset 2 2 0 0%
src/ramses_rf/helpers.py is_subset._is_subset 5 5 0 0%
src/ramses_rf/helpers.py deep_merge 11 11 0 0%
src/ramses_rf/helpers.py shrink 5 5 0 0%
src/ramses_rf/helpers.py shrink.walk 8 8 0 0%
src/ramses_rf/helpers.py schedule_task 3 3 0 0%
src/ramses_rf/helpers.py schedule_task.execute_fnc 3 3 0 0%
src/ramses_rf/helpers.py schedule_task.schedule_fnc 8 8 0 0%
src/ramses_rf/helpers.py (no function) 11 0 0 100%
src/ramses_rf/schemas.py ErrorRenamedKey 2 0 0 100%
src/ramses_rf/schemas.py ErrorRenamedKey.renamed_key 1 1 0 0%
src/ramses_rf/schemas.py NormaliseRestoreCache 2 0 0 100%
src/ramses_rf/schemas.py NormaliseRestoreCache.normalise_restore_cache 3 3 0 0%
src/ramses_rf/schemas.py _get_device 3 3 0 0%
src/ramses_rf/schemas.py _get_device.check_filter_lists 7 7 0 0%
src/ramses_rf/schemas.py load_schema 14 14 0 0%
src/ramses_rf/schemas.py load_fan 2 2 0 0%
src/ramses_rf/schemas.py load_tcs 7 7 0 0%
src/ramses_rf/schemas.py (no function) 65 0 4 100%
src/ramses_rf/system/__init__.py (no function) 6 0 0 100%
src/ramses_rf/system/faultlog.py FaultLogEntry.__str__ 1 1 0 0%
src/ramses_rf/system/faultlog.py FaultLogEntry._is_matching_pair 7 7 0 0%
src/ramses_rf/system/faultlog.py FaultLogEntry._as_tuple 1 1 0 0%
src/ramses_rf/system/faultlog.py FaultLogEntry.from_msg 1 1 0 0%
src/ramses_rf/system/faultlog.py FaultLogEntry.from_pkt 4 4 0 0%
src/ramses_rf/system/faultlog.py FaultLog.__init__ 8 8 0 0%
src/ramses_rf/system/faultlog.py FaultLog._insert_into_map 14 14 0 0%
src/ramses_rf/system/faultlog.py FaultLog.handle_msg 4 4 0 0%
src/ramses_rf/system/faultlog.py FaultLog._process_msg 17 17 0 0%
src/ramses_rf/system/faultlog.py FaultLog._hack_pkt_idx 15 15 0 0%
src/ramses_rf/system/faultlog.py FaultLog.get_faultlog 14 14 0 0%
src/ramses_rf/system/faultlog.py FaultLog.faultlog 1 1 0 0%
src/ramses_rf/system/faultlog.py FaultLog.is_current 1 1 0 0%
src/ramses_rf/system/faultlog.py FaultLog.latest_event 3 3 0 0%
src/ramses_rf/system/faultlog.py FaultLog.latest_fault 6 6 0 0%
src/ramses_rf/system/faultlog.py FaultLog.active_faults 12 12 0 0%
src/ramses_rf/system/faultlog.py (no function) 49 0 2 100%
src/ramses_rf/system/heat.py SystemBase.__init__ 14 14 0 0%
src/ramses_rf/system/heat.py SystemBase.__repr__ 1 1 0 0%
src/ramses_rf/system/heat.py SystemBase._setup_discovery_cmds 5 5 0 0%
src/ramses_rf/system/heat.py SystemBase._handle_msg 11 11 0 0%
src/ramses_rf/system/heat.py SystemBase._handle_msg.eavesdrop_appliance_control 15 15 0 0%
src/ramses_rf/system/heat.py SystemBase.appliance_control 4 4 0 0%
src/ramses_rf/system/heat.py SystemBase.tpi_params 1 1 0 0%
src/ramses_rf/system/heat.py SystemBase.heat_demand 1 1 0 0%
src/ramses_rf/system/heat.py SystemBase.is_calling_for_heat 0 0 1 100%
src/ramses_rf/system/heat.py SystemBase.schema 4 4 0 0%
src/ramses_rf/system/heat.py SystemBase._schema_min 20 20 0 0%
src/ramses_rf/system/heat.py SystemBase.params 3 3 0 0%
src/ramses_rf/system/heat.py SystemBase.status 4 4 0 0%
src/ramses_rf/system/heat.py MultiZone.__init__ 5 5 0 0%
src/ramses_rf/system/heat.py MultiZone._setup_discovery_cmds 4 4 0 0%
src/ramses_rf/system/heat.py MultiZone._handle_msg 35 35 0 0%
src/ramses_rf/system/heat.py MultiZone._handle_msg.eavesdrop_zones 1 1 0 0%
src/ramses_rf/system/heat.py MultiZone._handle_msg.eavesdrop_zone_sensors 29 29 0 0%
src/ramses_rf/system/heat.py MultiZone._handle_msg.eavesdrop_zone_sensors._testable_zones 1 1 0 0%
src/ramses_rf/system/heat.py MultiZone._handle_msg.handle_msg_by_zone_idx 2 2 0 0%
src/ramses_rf/system/heat.py MultiZone.get_htg_zone 11 11 0 0%
src/ramses_rf/system/heat.py MultiZone.schema 1 1 0 0%
src/ramses_rf/system/heat.py MultiZone.params 1 1 0 0%
src/ramses_rf/system/heat.py MultiZone.status 1 1 0 0%
src/ramses_rf/system/heat.py ScheduleSync.__init__ 4 4 0 0%
src/ramses_rf/system/heat.py ScheduleSync._setup_discovery_cmds 3 3 0 0%
src/ramses_rf/system/heat.py ScheduleSync._handle_msg 3 3 0 0%
src/ramses_rf/system/heat.py ScheduleSync._schedule_version 7 7 0 0%
src/ramses_rf/system/heat.py ScheduleSync._refresh_schedules 4 4 0 0%
src/ramses_rf/system/heat.py ScheduleSync._obtain_lock 10 10 0 0%
src/ramses_rf/system/heat.py ScheduleSync._release_lock 3 3 0 0%
src/ramses_rf/system/heat.py ScheduleSync.schedule_version 1 1 0 0%
src/ramses_rf/system/heat.py ScheduleSync.status 1 1 0 0%
src/ramses_rf/system/heat.py Language._setup_discovery_cmds 3 3 0 0%
src/ramses_rf/system/heat.py Language.language 1 1 0 0%
src/ramses_rf/system/heat.py Language.params 3 3 0 0%
src/ramses_rf/system/heat.py Logbook.__init__ 6 6 0 0%
src/ramses_rf/system/heat.py Logbook._setup_discovery_cmds 3 3 0 0%
src/ramses_rf/system/heat.py Logbook._handle_msg 3 3 0 0%
src/ramses_rf/system/heat.py Logbook.get_faultlog 1 1 0 0%
src/ramses_rf/system/heat.py Logbook.active_faults 3 3 0 0%
src/ramses_rf/system/heat.py Logbook.latest_event 3 3 0 0%
src/ramses_rf/system/heat.py Logbook.latest_fault 3 3 0 0%
src/ramses_rf/system/heat.py Logbook.status 1 1 0 0%
src/ramses_rf/system/heat.py StoredHw.__init__ 2 2 0 0%
src/ramses_rf/system/heat.py StoredHw._setup_discovery_cmds 4 4 0 0%
src/ramses_rf/system/heat.py StoredHw._handle_msg 10 10 0 0%
src/ramses_rf/system/heat.py StoredHw.get_dhw_zone 8 8 0 0%
src/ramses_rf/system/heat.py StoredHw.dhw 1 1 0 0%
src/ramses_rf/system/heat.py StoredHw.dhw_sensor 1 1 0 0%
src/ramses_rf/system/heat.py StoredHw.hotwater_valve 1 1 0 0%
src/ramses_rf/system/heat.py StoredHw.heating_valve 1 1 0 0%
src/ramses_rf/system/heat.py StoredHw.schema 1 1 0 0%
src/ramses_rf/system/heat.py StoredHw.params 1 1 0 0%
src/ramses_rf/system/heat.py StoredHw.status 1 1 0 0%
src/ramses_rf/system/heat.py SysMode._setup_discovery_cmds 3 3 0 0%
src/ramses_rf/system/heat.py SysMode.system_mode 1 1 0 0%
src/ramses_rf/system/heat.py SysMode.set_mode 2 2 0 0%
src/ramses_rf/system/heat.py SysMode.set_auto 1 1 0 0%
src/ramses_rf/system/heat.py SysMode.reset_mode 1 1 0 0%
src/ramses_rf/system/heat.py SysMode.params 3 3 0 0%
src/ramses_rf/system/heat.py Datetime._setup_discovery_cmds 3 3 0 0%
src/ramses_rf/system/heat.py Datetime._handle_msg 5 5 0 0%
src/ramses_rf/system/heat.py Datetime.get_datetime 4 4 0 0%
src/ramses_rf/system/heat.py Datetime.set_datetime 2 2 0 0%
src/ramses_rf/system/heat.py UfHeating._ufh_ctls 1 1 0 0%
src/ramses_rf/system/heat.py UfHeating.schema 1 1 0 0%
src/ramses_rf/system/heat.py UfHeating.params 1 1 0 0%
src/ramses_rf/system/heat.py UfHeating.status 1 1 0 0%
src/ramses_rf/system/heat.py System.__init__ 4 4 0 0%
src/ramses_rf/system/heat.py System._update_schema 9 9 0 0%
src/ramses_rf/system/heat.py System.create_from_schema 3 3 0 0%
src/ramses_rf/system/heat.py System._handle_msg 13 13 0 0%
src/ramses_rf/system/heat.py System.heat_demands 3 3 0 0%
src/ramses_rf/system/heat.py System.relay_demands 3 3 0 0%
src/ramses_rf/system/heat.py System.relay_failsafes 3 3 0 0%
src/ramses_rf/system/heat.py System.status 5 5 0 0%
src/ramses_rf/system/heat.py system_factory 2 2 0 0%
src/ramses_rf/system/heat.py system_factory.best_tcs_class 6 6 0 0%
src/ramses_rf/system/heat.py (no function) 162 0 4 100%
src/ramses_rf/system/schedule.py schema_sched 2 0 0 100%
src/ramses_rf/system/schedule.py Schedule.__init__ 12 12 0 0%
src/ramses_rf/system/schedule.py Schedule.__str__ 1 1 0 0%
src/ramses_rf/system/schedule.py Schedule._handle_msg 7 7 0 0%
src/ramses_rf/system/schedule.py Schedule._is_dated 8 8 0 0%
src/ramses_rf/system/schedule.py Schedule.get_schedule 5 5 0 0%
src/ramses_rf/system/schedule.py Schedule._get_schedule 17 17 0 0%
src/ramses_rf/system/schedule.py Schedule._get_schedule.get_fragment 6 6 0 0%
src/ramses_rf/system/schedule.py Schedule._proc_payload_set 11 11 0 0%
src/ramses_rf/system/schedule.py Schedule._update_payload_set 11 11 0 0%
src/ramses_rf/system/schedule.py Schedule._update_payload_set.init_payload_set 3 3 0 0%
src/ramses_rf/system/schedule.py Schedule.set_schedule 18 18 0 0%
src/ramses_rf/system/schedule.py Schedule.set_schedule.put_fragment 2 2 0 0%
src/ramses_rf/system/schedule.py Schedule.set_schedule.normalise_validate 12 12 0 0%
src/ramses_rf/system/schedule.py Schedule.schedule 4 4 0 0%
src/ramses_rf/system/schedule.py Schedule.version 1 1 0 0%
src/ramses_rf/system/schedule.py _len 1 1 0 0%
src/ramses_rf/system/schedule.py fragz_to_full_sched 14 14 0 0%
src/ramses_rf/system/schedule.py fragz_to_full_sched.setpoint 3 3 0 0%
src/ramses_rf/system/schedule.py full_sched_to_fragz 9 9 0 0%
src/ramses_rf/system/schedule.py _struct_pack 10 10 0 0%
src/ramses_rf/system/schedule.py _struct_unpack 2 2 0 0%
src/ramses_rf/system/schedule.py (no function) 78 0 2 100%
src/ramses_rf/system/zones.py ZoneBase.__init__ 8 8 0 0%
src/ramses_rf/system/zones.py ZoneBase.create_from_schema 3 3 0 0%
src/ramses_rf/system/zones.py ZoneBase._update_schema 0 0 1 100%
src/ramses_rf/system/zones.py ZoneBase.__repr__ 1 1 0 0%
src/ramses_rf/system/zones.py ZoneBase.__lt__ 3 3 0 0%
src/ramses_rf/system/zones.py ZoneBase.idx 1 1 0 0%
src/ramses_rf/system/zones.py ZoneBase.schema 1 1 0 0%
src/ramses_rf/system/zones.py ZoneBase.params 1 1 0 0%
src/ramses_rf/system/zones.py ZoneBase.status 1 1 0 0%
src/ramses_rf/system/zones.py ZoneSchedule.__init__ 2 2 0 0%
src/ramses_rf/system/zones.py ZoneSchedule._handle_msg 3 3 0 0%
src/ramses_rf/system/zones.py ZoneSchedule.get_schedule 2 2 0 0%
src/ramses_rf/system/zones.py ZoneSchedule.set_schedule 2 2 0 0%
src/ramses_rf/system/zones.py ZoneSchedule.schedule 1 1 0 0%
src/ramses_rf/system/zones.py ZoneSchedule.schedule_version 1 1 0 0%
src/ramses_rf/system/zones.py ZoneSchedule.status 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.__init__ 9 9 0 0%
src/ramses_rf/system/zones.py DhwZone._setup_discovery_cmds 5 5 0 0%
src/ramses_rf/system/zones.py DhwZone._handle_msg 6 6 0 0%
src/ramses_rf/system/zones.py DhwZone._update_schema 16 16 0 0%
src/ramses_rf/system/zones.py DhwZone.sensor 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.hotwater_valve 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.heating_valve 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.name 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.config 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.mode 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.setpoint 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.setpoint 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.temperature 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.heat_demand 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.relay_demand 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.relay_failsafe 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.set_mode 2 2 0 0%
src/ramses_rf/system/zones.py DhwZone.set_boost_mode 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.reset_mode 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.set_config 2 2 0 0%
src/ramses_rf/system/zones.py DhwZone.reset_config 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.schema 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.params 1 1 0 0%
src/ramses_rf/system/zones.py DhwZone.status 1 1 0 0%
src/ramses_rf/system/zones.py Zone.__init__ 9 9 0 0%
src/ramses_rf/system/zones.py Zone._update_schema 8 8 0 0%
src/ramses_rf/system/zones.py Zone._update_schema.set_zone_type 16 16 0 0%
src/ramses_rf/system/zones.py Zone._setup_discovery_cmds 8 8 0 0%
src/ramses_rf/system/zones.py Zone._add_discovery_cmd 7 7 0 0%
src/ramses_rf/system/zones.py Zone._handle_msg 18 18 0 0%
src/ramses_rf/system/zones.py Zone._handle_msg.eavesdrop_zone_type 13 13 0 0%
src/ramses_rf/system/zones.py Zone._msg_value 1 1 0 0%
src/ramses_rf/system/zones.py Zone.sensor 1 1 0 0%
src/ramses_rf/system/zones.py Zone.heating_type 3 3 0 0%
src/ramses_rf/system/zones.py Zone.name 4 4 0 0%
src/ramses_rf/system/zones.py Zone.name 0 0 1 100%
src/ramses_rf/system/zones.py Zone.config 1 1 0 0%
src/ramses_rf/system/zones.py Zone.mode 1 1 0 0%
src/ramses_rf/system/zones.py Zone.setpoint 1 1 0 0%
src/ramses_rf/system/zones.py Zone.setpoint 4 4 0 0%
src/ramses_rf/system/zones.py Zone.temperature 11 11 0 0%
src/ramses_rf/system/zones.py Zone.heat_demand 2 2 0 0%
src/ramses_rf/system/zones.py Zone.window_open 1 1 0 0%
src/ramses_rf/system/zones.py Zone._get_temp 1 1 0 0%
src/ramses_rf/system/zones.py Zone.reset_config 1 1 0 0%
src/ramses_rf/system/zones.py Zone.set_config 2 2 0 0%
src/ramses_rf/system/zones.py Zone.reset_mode 1 1 0 0%
src/ramses_rf/system/zones.py Zone.set_frost_mode 1 1 0 0%
src/ramses_rf/system/zones.py Zone.set_mode 6 6 0 0%
src/ramses_rf/system/zones.py Zone.set_name 2 2 0 0%
src/ramses_rf/system/zones.py Zone.schema 1 1 0 0%
src/ramses_rf/system/zones.py Zone.params 1 1 0 0%
src/ramses_rf/system/zones.py Zone.status 1 1 0 0%
src/ramses_rf/system/zones.py EleZone._handle_msg 5 5 0 0%
src/ramses_rf/system/zones.py EleZone.heat_demand 1 1 0 0%
src/ramses_rf/system/zones.py EleZone.relay_demand 1 1 0 0%
src/ramses_rf/system/zones.py EleZone.status 1 1 0 0%
src/ramses_rf/system/zones.py MixZone._setup_discovery_cmds 2 2 0 0%
src/ramses_rf/system/zones.py MixZone.mix_config 1 1 0 0%
src/ramses_rf/system/zones.py MixZone.params 1 1 0 0%
src/ramses_rf/system/zones.py UfhZone.heat_demand 3 3 0 0%
src/ramses_rf/system/zones.py ValZone.heat_demand 1 1 0 0%
src/ramses_rf/system/zones.py _transform 5 5 0 0%
src/ramses_rf/system/zones.py zone_factory 3 3 0 0%
src/ramses_rf/system/zones.py zone_factory.best_zon_class 5 5 0 0%
src/ramses_rf/system/zones.py (no function) 166 0 5 100%
src/ramses_rf/version.py (no function) 2 0 0 100%
src/ramses_tx/__init__.py set_pkt_logging_config 3 3 0 0%
src/ramses_tx/__init__.py extract_known_hgi_id 1 1 0 0%
src/ramses_tx/__init__.py (no function) 21 0 2 100%
src/ramses_tx/address.py Address.__init__ 5 1 0 80%
src/ramses_tx/address.py Address.__repr__ 1 1 0 0%
src/ramses_tx/address.py Address.__str__ 1 1 0 0%
src/ramses_tx/address.py Address.__eq__ 3 3 0 0%
src/ramses_tx/address.py Address.hex_id 4 4 0 0%
src/ramses_tx/address.py Address.is_valid 1 0 0 100%
src/ramses_tx/address.py Address._friendly 4 4 0 0%
src/ramses_tx/address.py Address.convert_from_hex 7 7 0 0%
src/ramses_tx/address.py Address.convert_to_hex 6 6 0 0%
src/ramses_tx/address.py id_to_address 1 1 0 0%
src/ramses_tx/address.py dev_id_to_hex_id 6 6 0 0%
src/ramses_tx/address.py hex_id_to_dev_id 9 9 0 0%
src/ramses_tx/address.py is_valid_dev_id 3 3 0 0%
src/ramses_tx/address.py pkt_addrs 12 12 0 0%
src/ramses_tx/address.py (no function) 41 0 2 100%
src/ramses_tx/command.py Qos.__init__ 6 6 0 0%
src/ramses_tx/command.py Qos.verb_code 2 2 0 0%
src/ramses_tx/command.py _check_idx 8 8 0 0%
src/ramses_tx/command.py _normalise_mode 18 18 0 0%
src/ramses_tx/command.py _normalise_until 13 13 0 0%
src/ramses_tx/command.py Command.__init__ 13 13 0 0%
src/ramses_tx/command.py Command.from_attrs 5 5 0 0%
src/ramses_tx/command.py Command._from_attrs 11 11 0 0%
src/ramses_tx/command.py Command.from_cli 19 19 0 0%
src/ramses_tx/command.py Command.__repr__ 2 2 0 0%
src/ramses_tx/command.py Command.__str__ 1 1 0 0%
src/ramses_tx/command.py Command.tx_header 1 1 0 0%
src/ramses_tx/command.py Command.rx_header 3 3 0 0%
src/ramses_tx/command.py Command.put_weather_temp 4 4 0 0%
src/ramses_tx/command.py Command.get_zone_name 1 1 0 0%
src/ramses_tx/command.py Command.set_zone_name 2 2 0 0%
src/ramses_tx/command.py Command.get_schedule_version 1 1 0 0%
src/ramses_tx/command.py Command.get_relay_demand 2 2 0 0%
src/ramses_tx/command.py Command.get_zone_config 2 2 0 0%
src/ramses_tx/command.py Command.set_zone_config 16 16 0 0%
src/ramses_tx/command.py Command.get_system_language 2 2 0 0%
src/ramses_tx/command.py Command.get_schedule_fragment 15 15 0 0%
src/ramses_tx/command.py Command.set_schedule_fragment 9 9 0 0%
src/ramses_tx/command.py Command.get_system_log_entry 2 2 0 0%
src/ramses_tx/command.py Command._put_system_log_entry 21 21 0 0%
src/ramses_tx/command.py Command.get_mix_valve_params 2 2 0 0%
src/ramses_tx/command.py Command.set_mix_valve_params 13 13 0 0%
src/ramses_tx/command.py Command.get_dhw_params 3 3 0 0%
src/ramses_tx/command.py Command.set_dhw_params 13 13 0 0%
src/ramses_tx/command.py Command.get_tpi_params 3 3 0 0%
src/ramses_tx/command.py Command.set_tpi_params 4 4 0 0%
src/ramses_tx/command.py Command.get_dhw_temp 3 3 0 0%
src/ramses_tx/command.py Command.put_dhw_temp 6 6 0 0%
src/ramses_tx/command.py Command.put_outdoor_temp 2 2 0 0%
src/ramses_tx/command.py Command.put_co2_level 2 2 0 0%
src/ramses_tx/command.py Command.put_indoor_humidity 2 2 0 0%
src/ramses_tx/command.py Command.get_zone_window_state 1 1 0 0%
src/ramses_tx/command.py Command.get_dhw_mode 3 3 0 0%
src/ramses_tx/command.py Command.set_dhw_mode 10 10 0 0%
src/ramses_tx/command.py Command.put_bind 20 20 0 0%
src/ramses_tx/command.py Command._put_bind_offer 9 9 0 0%
src/ramses_tx/command.py Command._put_bind_accept 5 5 0 0%
src/ramses_tx/command.py Command._put_bind_confirm 5 5 0 0%
src/ramses_tx/command.py Command.set_fan_mode 17 17 0 0%
src/ramses_tx/command.py Command.set_bypass_position 11 11 0 0%
src/ramses_tx/command.py Command.get_zone_setpoint 1 1 0 0%
src/ramses_tx/command.py Command.set_zone_setpoint 2 2 0 0%
src/ramses_tx/command.py Command.get_zone_mode 1 1 0 0%
src/ramses_tx/command.py Command.set_zone_mode 6 6 0 0%
src/ramses_tx/command.py Command.set_fan_param 66 66 0 0%
src/ramses_tx/command.py Command.get_fan_param 16 16 0 0%
src/ramses_tx/command.py Command.get_system_mode 1 1 0 0%
src/ramses_tx/command.py Command.set_system_mode 11 11 0 0%
src/ramses_tx/command.py Command.put_presence_detected 2 2 0 0%
src/ramses_tx/command.py Command.get_zone_temp 1 1 0 0%
src/ramses_tx/command.py Command.put_sensor_temp 4 4 0 0%
src/ramses_tx/command.py Command.get_system_time 1 1 0 0%
src/ramses_tx/command.py Command.set_system_time 2 2 0 0%
src/ramses_tx/command.py Command.get_hvac_fan_31da 25 25 0 0%
src/ramses_tx/command.py Command.get_opentherm_data 3 3 0 0%
src/ramses_tx/command.py Command.put_actuator_state 4 4 0 0%
src/ramses_tx/command.py Command.put_actuator_cycle 8 8 0 0%
src/ramses_tx/command.py Command._puzzle 14 14 0 0%
src/ramses_tx/command.py (no function) 155 1 4 99%
src/ramses_tx/const.py slug 1 1 0 0%
src/ramses_tx/const.py AttrDict._readonly 1 1 0 0%
src/ramses_tx/const.py AttrDict.__setitem__ 1 1 0 0%
src/ramses_tx/const.py AttrDict.__delitem__ 1 1 0 0%
src/ramses_tx/const.py AttrDict.clear 1 1 0 0%
src/ramses_tx/const.py AttrDict.pop 1 1 0 0%
src/ramses_tx/const.py AttrDict.popitem 1 1 0 0%
src/ramses_tx/const.py AttrDict.setdefault 1 1 0 0%
src/ramses_tx/const.py AttrDict.update 1 1 0 0%
src/ramses_tx/const.py AttrDict.__init__ 10 0 0 100%
src/ramses_tx/const.py AttrDict.__getitem__ 5 1 0 80%
src/ramses_tx/const.py AttrDict.__getattr__ 10 5 0 50%
src/ramses_tx/const.py AttrDict._hex 5 3 0 40%
src/ramses_tx/const.py AttrDict._str 5 5 0 0%
src/ramses_tx/const.py AttrDict.slug 2 2 0 0%
src/ramses_tx/const.py AttrDict.slugs 1 0 0 100%
src/ramses_tx/const.py attr_dict_factory 5 0 0 100%
src/ramses_tx/const.py (no function) 460 0 0 100%
src/ramses_tx/exceptions.py RamsesException.__init__ 2 2 0 0%
src/ramses_tx/exceptions.py RamsesException.__str__ 7 7 0 0%
src/ramses_tx/exceptions.py (no function) 20 0 0 100%
src/ramses_tx/fingerprints.py check_signature 2 2 0 0%
src/ramses_tx/fingerprints.py (no function) 6 0 0 100%
src/ramses_tx/frame.py Frame.__init__ 23 23 0 0%
src/ramses_tx/frame.py Frame._validate 18 18 0 0%
src/ramses_tx/frame.py Frame.__repr__ 3 3 0 0%
src/ramses_tx/frame.py Frame.__str__ 4 4 0 0%
src/ramses_tx/frame.py Frame.__eq__ 3 3 0 0%
src/ramses_tx/frame.py Frame._has_array 19 19 0 0%
src/ramses_tx/frame.py Frame._has_ctl 17 17 0 0%
src/ramses_tx/frame.py Frame._has_idx 1 1 0 0%
src/ramses_tx/frame.py Frame._has_payload 4 4 0 0%
src/ramses_tx/frame.py Frame._force_has_array 4 4 0 0%
src/ramses_tx/frame.py Frame._is_fragment 1 1 0 0%
src/ramses_tx/frame.py Frame._ctx 8 8 0 0%
src/ramses_tx/frame.py Frame._hdr 5 5 0 0%
src/ramses_tx/frame.py Frame._idx 4 4 0 0%
src/ramses_tx/frame.py _pkt_idx 41 41 1 0%
src/ramses_tx/frame.py pkt_header 20 20 0 0%
src/ramses_tx/frame.py (no function) 41 0 2 100%
src/ramses_tx/gateway.py Engine.__init__ 28 28 0 0%
src/ramses_tx/gateway.py Engine.__str__ 4 4 0 0%
src/ramses_tx/gateway.py Engine._dt_now 1 1 0 0%
src/ramses_tx/gateway.py Engine._set_msg_handler 1 1 0 0%
src/ramses_tx/gateway.py Engine.add_msg_handler 3 3 1 0%
src/ramses_tx/gateway.py Engine.start 10 10 0 0%
src/ramses_tx/gateway.py Engine.stop 6 6 0 0%
src/ramses_tx/gateway.py Engine.stop.cancel_all_tasks 6 6 0 0%
src/ramses_tx/gateway.py Engine._pause 13 13 0 0%
src/ramses_tx/gateway.py Engine._resume 13 13 0 0%
src/ramses_tx/gateway.py Engine.add_task 2 2 0 0%
src/ramses_tx/gateway.py Engine.create_cmd 3 3 0 0%
src/ramses_tx/gateway.py Engine.async_send_cmd 2 2 0 0%
src/ramses_tx/gateway.py Engine._msg_handler 3 3 0 0%
src/ramses_tx/gateway.py (no function) 35 0 6 100%
src/ramses_tx/helpers.py timestamp 5 5 0 0%
src/ramses_tx/helpers.py dt_now 3 3 0 0%
src/ramses_tx/helpers.py dt_str 1 1 0 0%
src/ramses_tx/helpers.py hex_to_bool 5 5 0 0%
src/ramses_tx/helpers.py hex_from_bool 5 5 0 0%
src/ramses_tx/helpers.py hex_to_date 5 5 0 0%
src/ramses_tx/helpers.py hex_to_double 5 5 0 0%
src/ramses_tx/helpers.py hex_from_double 5 5 0 0%
src/ramses_tx/helpers.py hex_to_dtm 7 7 0 0%
src/ramses_tx/helpers.py hex_from_dtm 9 9 0 0%
src/ramses_tx/helpers.py hex_from_dtm._dtm_to_hex 1 1 0 0%
src/ramses_tx/helpers.py hex_to_dts 6 6 0 0%
src/ramses_tx/helpers.py hex_from_dts 11 11 0 0%
src/ramses_tx/helpers.py hex_to_flag8 5 5 0 0%
src/ramses_tx/helpers.py hex_from_flag8 5 5 0 0%
src/ramses_tx/helpers.py hex_to_percent 9 9 1 0%
src/ramses_tx/helpers.py hex_from_percent 6 6 0 0%
src/ramses_tx/helpers.py hex_to_str 4 4 0 0%
src/ramses_tx/helpers.py hex_from_str 3 3 0 0%
src/ramses_tx/helpers.py hex_to_temp 13 13 0 0%
src/ramses_tx/helpers.py hex_from_temp 8 8 0 0%
src/ramses_tx/helpers.py parse_fault_log_entry 5 5 0 0%
src/ramses_tx/helpers.py _faulted_common 1 1 0 0%
src/ramses_tx/helpers.py _faulted_sensor 3 3 0 0%
src/ramses_tx/helpers.py _faulted_device 4 4 0 0%
src/ramses_tx/helpers.py parse_valve_demand 12 12 0 0%
src/ramses_tx/helpers.py parse_air_quality 12 12 0 0%
src/ramses_tx/helpers.py air_quality_code 4 4 0 0%
src/ramses_tx/helpers.py parse_co2_level 8 8 0 0%
src/ramses_tx/helpers.py parse_humidity_element 5 5 0 0%
src/ramses_tx/helpers.py parse_indoor_humidity 1 1 0 0%
src/ramses_tx/helpers.py parse_outdoor_humidity 1 1 0 0%
src/ramses_tx/helpers.py _parse_hvac_humidity 17 17 0 0%
src/ramses_tx/helpers.py parse_exhaust_temp 1 1 0 0%
src/ramses_tx/helpers.py parse_supply_temp 1 1 0 0%
src/ramses_tx/helpers.py parse_indoor_temp 1 1 0 0%
src/ramses_tx/helpers.py parse_outdoor_temp 1 1 0 0%
src/ramses_tx/helpers.py _parse_hvac_temp 13 13 0 0%
src/ramses_tx/helpers.py parse_capabilities 5 5 0 0%
src/ramses_tx/helpers.py capability_bits 6 6 0 0%
src/ramses_tx/helpers.py parse_bypass_position 9 9 0 0%
src/ramses_tx/helpers.py parse_fan_info 5 5 0 0%
src/ramses_tx/helpers.py fan_info_to_byte 4 4 0 0%
src/ramses_tx/helpers.py fan_info_flags 5 5 0 0%
src/ramses_tx/helpers.py parse_exhaust_fan_speed 1 1 0 0%
src/ramses_tx/helpers.py parse_supply_fan_speed 1 1 0 0%
src/ramses_tx/helpers.py _parse_fan_speed 8 8 0 0%
src/ramses_tx/helpers.py parse_remaining_mins 9 9 0 0%
src/ramses_tx/helpers.py parse_post_heater 1 1 0 0%
src/ramses_tx/helpers.py parse_pre_heater 1 1 0 0%
src/ramses_tx/helpers.py _parse_fan_heater 9 9 0 0%
src/ramses_tx/helpers.py parse_supply_flow 1 1 0 0%
src/ramses_tx/helpers.py parse_exhaust_flow 1 1 0 0%
src/ramses_tx/helpers.py _parse_fan_flow 9 9 0 0%
src/ramses_tx/helpers.py (no function) 87 0 2 100%
src/ramses_tx/logger.py _Logger.makeRecord 16 16 0 0%
src/ramses_tx/logger.py _Formatter.formatTime 5 5 0 0%
src/ramses_tx/logger.py PktLogFilter.filter 1 1 0 0%
src/ramses_tx/logger.py StdErrFilter.filter 1 1 0 0%
src/ramses_tx/logger.py StdOutFilter.filter 1 1 0 0%
src/ramses_tx/logger.py BlockMqttFilter.filter 1 1 0 0%
src/ramses_tx/logger.py TimedRotatingFileHandler.__init__ 3 3 0 0%
src/ramses_tx/logger.py getLogger 15 1 0 93%
src/ramses_tx/logger.py set_logger_timesource 3 3 0 0%
src/ramses_tx/logger.py set_logger_timesource.record_factory 5 5 0 0%
src/ramses_tx/logger.py set_pkt_logging 36 36 0 0%
src/ramses_tx/logger.py (no function) 54 5 0 91%
src/ramses_tx/message.py MessageBase.__init__ 11 11 0 0%
src/ramses_tx/message.py MessageBase.__repr__ 1 1 0 0%
src/ramses_tx/message.py MessageBase.__str__ 11 11 0 0%
src/ramses_tx/message.py MessageBase.__str__.ctx 4 4 0 0%
src/ramses_tx/message.py MessageBase.__eq__ 3 3 0 0%
src/ramses_tx/message.py MessageBase.__lt__ 3 3 0 0%
src/ramses_tx/message.py MessageBase._name 1 1 0 0%
src/ramses_tx/message.py MessageBase.payload 1 1 0 0%
src/ramses_tx/message.py MessageBase._has_payload 1 1 0 0%
src/ramses_tx/message.py MessageBase._has_array 1 1 0 0%
src/ramses_tx/message.py MessageBase._idx 24 24 0 0%
src/ramses_tx/message.py MessageBase._validate 22 22 0 0%
src/ramses_tx/message.py Message._from_cmd 1 1 0 0%
src/ramses_tx/message.py Message._from_pkt 1 1 0 0%
src/ramses_tx/message.py Message._expired 13 13 1 0%
src/ramses_tx/message.py Message._expired.fraction_expired 1 1 0 0%
src/ramses_tx/message.py re_compile_re_match 1 1 0 0%
src/ramses_tx/message.py _check_msg_payload 9 9 0 0%
src/ramses_tx/message.py (no function) 50 0 3 100%
src/ramses_tx/opentherm.py parity 5 5 0 0%
src/ramses_tx/opentherm.py _msg_value 17 17 0 0%
src/ramses_tx/opentherm.py _msg_value.flag8 2 2 0 0%
src/ramses_tx/opentherm.py _msg_value.u8 4 4 0 0%
src/ramses_tx/opentherm.py _msg_value.s8 4 4 0 0%
src/ramses_tx/opentherm.py _msg_value.f8_8 3 3 0 0%
src/ramses_tx/opentherm.py _msg_value.u16 4 4 0 0%
src/ramses_tx/opentherm.py _msg_value.s16 4 4 0 0%
src/ramses_tx/opentherm.py _decode_flags 5 5 0 0%
src/ramses_tx/opentherm.py decode_frame 45 45 0 0%
src/ramses_tx/opentherm.py (no function) 156 0 0 100%
src/ramses_tx/packet.py Packet.__init__ 8 8 0 0%
src/ramses_tx/packet.py Packet._validate 11 11 0 0%
src/ramses_tx/packet.py Packet.__repr__ 9 9 0 0%
src/ramses_tx/packet.py Packet.__str__ 1 1 0 0%
src/ramses_tx/packet.py Packet.dtm 1 1 0 0%
src/ramses_tx/packet.py Packet._partition 4 4 0 0%
src/ramses_tx/packet.py Packet._from_cmd 3 3 0 0%
src/ramses_tx/packet.py Packet.from_dict 2 2 0 0%
src/ramses_tx/packet.py Packet.from_file 4 4 0 0%
src/ramses_tx/packet.py Packet.from_port 4 4 0 0%
src/ramses_tx/packet.py pkt_lifespan 30 30 0 0%
src/ramses_tx/packet.py (no function) 38 0 0 100%
src/ramses_tx/parsers.py parser_0001 20 20 0 0%
src/ramses_tx/parsers.py parser_0002 3 3 0 0%
src/ramses_tx/parsers.py parser_0004 1 1 0 0%
src/ramses_tx/parsers.py parser_0005 7 7 0 0%
src/ramses_tx/parsers.py parser_0005._parser 7 7 0 0%
src/ramses_tx/parsers.py parser_0006 4 4 0 0%
src/ramses_tx/parsers.py parser_0008 4 4 0 0%
src/ramses_tx/parsers.py parser_0009 4 4 0 0%
src/ramses_tx/parsers.py parser_0009._parser 2 2 0 0%
src/ramses_tx/parsers.py parser_000a 7 7 0 0%
src/ramses_tx/parsers.py parser_000a._parser 2 2 0 0%
src/ramses_tx/parsers.py parser_000c 11 11 0 0%
src/ramses_tx/parsers.py parser_000c.complex_idx 11 11 0 0%
src/ramses_tx/parsers.py parser_000c._parser 4 4 0 0%
src/ramses_tx/parsers.py parser_000c.is_short_000C 7 7 0 0%
src/ramses_tx/parsers.py parser_000e 2 2 0 0%
src/ramses_tx/parsers.py parser_0016 4 4 0 0%
src/ramses_tx/parsers.py parser_0100 3 3 0 0%
src/ramses_tx/parsers.py parser_0150 2 2 0 0%
src/ramses_tx/parsers.py parser_01d0 2 2 0 0%
src/ramses_tx/parsers.py parser_01e9 2 2 0 0%
src/ramses_tx/parsers.py parser_01ff 11 11 0 0%
src/ramses_tx/parsers.py parser_0404 10 10 0 0%
src/ramses_tx/parsers.py parser_0418 35 35 0 0%
src/ramses_tx/parsers.py parser_042f 1 1 0 0%
src/ramses_tx/parsers.py parser_0b04 1 1 0 0%
src/ramses_tx/parsers.py parser_1030 4 4 0 0%
src/ramses_tx/parsers.py parser_1030._parser 3 3 0 0%
src/ramses_tx/parsers.py parser_1060 3 3 0 0%
src/ramses_tx/parsers.py parser_1081 1 1 0 0%
src/ramses_tx/parsers.py parser_1090 3 3 0 0%
src/ramses_tx/parsers.py parser_1098 2 2 0 0%
src/ramses_tx/parsers.py parser_10a0 13 13 0 0%
src/ramses_tx/parsers.py parser_10b0 2 2 0 0%
src/ramses_tx/parsers.py parser_10d0 9 9 0 0%
src/ramses_tx/parsers.py parser_10e0 14 14 0 0%
src/ramses_tx/parsers.py parser_10e1 1 1 0 0%
src/ramses_tx/parsers.py parser_10e2 3 3 0 0%
src/ramses_tx/parsers.py parser_1100 16 16 0 0%
src/ramses_tx/parsers.py parser_1100.complex_idx 1 1 0 0%
src/ramses_tx/parsers.py parser_1100._parser 1 1 0 0%
src/ramses_tx/parsers.py parser_11f0 2 2 0 0%
src/ramses_tx/parsers.py parser_1260 1 1 0 0%
src/ramses_tx/parsers.py parser_1280 1 1 0 0%
src/ramses_tx/parsers.py parser_1290 1 1 0 0%
src/ramses_tx/parsers.py parser_1298 1 1 0 0%
src/ramses_tx/parsers.py parser_12a0 3 3 0 0%
src/ramses_tx/parsers.py parser_12b0 2 2 0 0%
src/ramses_tx/parsers.py parser_12c0 9 9 0 0%
src/ramses_tx/parsers.py parser_12c8 1 1 0 0%
src/ramses_tx/parsers.py parser_12f0 1 1 0 0%
src/ramses_tx/parsers.py parser_1300 1 1 0 0%
src/ramses_tx/parsers.py parser_1470 7 7 0 0%
src/ramses_tx/parsers.py parser_1f09 5 5 0 0%
src/ramses_tx/parsers.py parser_1f41 10 10 0 0%
src/ramses_tx/parsers.py parser_1f70 15 15 0 0%
src/ramses_tx/parsers.py parser_1fc9 16 16 0 0%
src/ramses_tx/parsers.py parser_1fc9._parser 5 5 0 0%
src/ramses_tx/parsers.py parser_1fca 1 1 0 0%
src/ramses_tx/parsers.py parser_1fd0 2 2 0 0%
src/ramses_tx/parsers.py parser_1fd4 1 1 0 0%
src/ramses_tx/parsers.py parser_2210 15 15 0 0%
src/ramses_tx/parsers.py parser_2249 4 4 0 0%
src/ramses_tx/parsers.py parser_2249._parser 3 3 0 0%
src/ramses_tx/parsers.py parser_22b0 1 1 0 0%
src/ramses_tx/parsers.py parser_22c9 5 5 0 0%
src/ramses_tx/parsers.py parser_22c9._parser 2 2 0 0%
src/ramses_tx/parsers.py parser_22d0 5 5 0 0%
src/ramses_tx/parsers.py parser_22d0._parser 2 2 0 0%
src/ramses_tx/parsers.py parser_22d9 1 1 0 0%
src/ramses_tx/parsers.py parser_22e0 5 5 0 0%
src/ramses_tx/parsers.py parser_22e0._parser 2 2 0 0%
src/ramses_tx/parsers.py parser_22e5 1 1 0 0%
src/ramses_tx/parsers.py parser_22e9 3 3 0 0%
src/ramses_tx/parsers.py parser_22f1 26 26 0 0%
src/ramses_tx/parsers.py parser_22f2 2 2 0 0%
src/ramses_tx/parsers.py parser_22f2._parser 2 2 0 0%
src/ramses_tx/parsers.py parser_22f3 21 21 0 0%
src/ramses_tx/parsers.py parser_22f4 10 10 0 0%
src/ramses_tx/parsers.py parser_22f7 5 5 0 0%
src/ramses_tx/parsers.py parser_22f8 1 1 0 0%
src/ramses_tx/parsers.py parser_2309 5 5 0 0%
src/ramses_tx/parsers.py parser_2349 17 17 0 0%
src/ramses_tx/parsers.py parser_2389 1 1 0 0%
src/ramses_tx/parsers.py parser_2400 1 1 0 0%
src/ramses_tx/parsers.py parser_2401 7 7 0 0%
src/ramses_tx/parsers.py parser_2410 9 9 0 0%
src/ramses_tx/parsers.py parser_2410.unstuff 5 5 0 0%
src/ramses_tx/parsers.py parser_2411 32 32 0 0%
src/ramses_tx/parsers.py parser_2411.counter 1 1 0 0%
src/ramses_tx/parsers.py parser_2411.centile 1 1 0 0%
src/ramses_tx/parsers.py parser_2420 2 2 0 0%
src/ramses_tx/parsers.py parser_2d49 2 2 0 0%
src/ramses_tx/parsers.py parser_2e04 11 11 0 0%
src/ramses_tx/parsers.py parser_2e10 3 3 0 0%
src/ramses_tx/parsers.py parser_30c9 3 3 0 0%
src/ramses_tx/parsers.py parser_3110 15 15 0 0%
src/ramses_tx/parsers.py parser_3120 11 11 0 0%
src/ramses_tx/parsers.py parser_313e 4 4 0 0%
src/ramses_tx/parsers.py parser_313f 4 4 0 0%
src/ramses_tx/parsers.py parser_3150 4 4 0 0%
src/ramses_tx/parsers.py parser_3150.complex_idx 2 2 0 0%
src/ramses_tx/parsers.py parser_31d9 28 28 0 0%
src/ramses_tx/parsers.py parser_31da 5 5 0 0%
src/ramses_tx/parsers.py parser_31e0 4 4 0 0%
src/ramses_tx/parsers.py parser_31e0._parser 2 2 0 0%
src/ramses_tx/parsers.py parser_3200 1 1 0 0%
src/ramses_tx/parsers.py parser_3210 1 1 0 0%
src/ramses_tx/parsers.py parser_3220 31 31 1 0%
src/ramses_tx/parsers.py parser_3221 2 2 0 0%
src/ramses_tx/parsers.py parser_3222 5 5 0 0%
src/ramses_tx/parsers.py parser_3223 2 2 0 0%
src/ramses_tx/parsers.py parser_3b00 5 5 0 0%
src/ramses_tx/parsers.py parser_3b00.complex_idx 5 5 0 0%
src/ramses_tx/parsers.py parser_3ef0 28 28 0 0%
src/ramses_tx/parsers.py parser_3ef1 22 22 0 0%
src/ramses_tx/parsers.py parser_4401 13 13 0 0%
src/ramses_tx/parsers.py parser_4401.hex_to_epoch 3 3 0 0%
src/ramses_tx/parsers.py parser_4e01 6 6 0 0%
src/ramses_tx/parsers.py parser_4e02 7 7 0 0%
src/ramses_tx/parsers.py parser_4e04 4 4 0 0%
src/ramses_tx/parsers.py parser_4e0d 1 1 0 0%
src/ramses_tx/parsers.py parser_4e14 1 1 0 0%
src/ramses_tx/parsers.py parser_4e15 10 10 0 0%
src/ramses_tx/parsers.py parser_4e16 2 2 0 0%
src/ramses_tx/parsers.py parser_4e20 1 1 0 0%
src/ramses_tx/parsers.py parser_4e21 1 1 0 0%
src/ramses_tx/parsers.py parser_7fff 23 23 0 0%
src/ramses_tx/parsers.py parser_unknown 5 5 0 0%
src/ramses_tx/parsers.py parse_payload 10 10 0 0%
src/ramses_tx/parsers.py (no function) 130 0 2 100%
src/ramses_tx/protocol.py _BaseProtocol.__init__ 12 12 0 0%
src/ramses_tx/protocol.py _BaseProtocol.hgi_id 1 1 0 0%
src/ramses_tx/protocol.py _BaseProtocol.add_handler 4 4 0 0%
src/ramses_tx/protocol.py _BaseProtocol.add_handler.del_handler 2 2 0 0%
src/ramses_tx/protocol.py _BaseProtocol.connection_made 5 5 0 0%
src/ramses_tx/protocol.py _BaseProtocol.wait_for_connection_made 4 4 0 0%
src/ramses_tx/protocol.py _BaseProtocol.connection_lost 11 11 0 0%
src/ramses_tx/protocol.py _BaseProtocol.wait_for_connection_lost 6 6 0 0%
src/ramses_tx/protocol.py _BaseProtocol.pause_writing 1 1 0 0%
src/ramses_tx/protocol.py _BaseProtocol.resume_writing 1 1 0 0%
src/ramses_tx/protocol.py _BaseProtocol._send_impersonation_alert 1 1 0 0%
src/ramses_tx/protocol.py _BaseProtocol.send_cmd 19 19 0 0%
src/ramses_tx/protocol.py _BaseProtocol._send_cmd 0 0 1 100%
src/ramses_tx/protocol.py _BaseProtocol._send_frame 6 6 0 0%
src/ramses_tx/protocol.py _BaseProtocol.pkt_received 6 6 0 0%
src/ramses_tx/protocol.py _BaseProtocol._pkt_received 6 6 0 0%
src/ramses_tx/protocol.py _BaseProtocol._msg_received 5 5 0 0%
src/ramses_tx/protocol.py _DeviceIdFilterMixin.__init__ 11 11 0 0%
src/ramses_tx/protocol.py _DeviceIdFilterMixin.hgi_id 4 4 0 0%
src/ramses_tx/protocol.py _DeviceIdFilterMixin._extract_known_hgi_id 15 15 0 0%
src/ramses_tx/protocol.py _DeviceIdFilterMixin._set_active_hgi 12 12 0 0%
src/ramses_tx/protocol.py _DeviceIdFilterMixin._is_wanted_addrs 17 17 0 0%
src/ramses_tx/protocol.py _DeviceIdFilterMixin._is_wanted_addrs.warn_foreign_hgi 8 8 0 0%
src/ramses_tx/protocol.py _DeviceIdFilterMixin.pkt_received 4 4 0 0%
src/ramses_tx/protocol.py _DeviceIdFilterMixin.send_cmd 3 3 0 0%
src/ramses_tx/protocol.py ReadProtocol.__init__ 2 2 0 0%
src/ramses_tx/protocol.py ReadProtocol.connection_made 1 1 0 0%
src/ramses_tx/protocol.py ReadProtocol.resume_writing 0 0 1 100%
src/ramses_tx/protocol.py ReadProtocol.send_cmd 0 0 1 100%
src/ramses_tx/protocol.py PortProtocol.__init__ 3 3 0 0%
src/ramses_tx/protocol.py PortProtocol.__repr__ 4 4 0 0%
src/ramses_tx/protocol.py PortProtocol.connection_made 15 15 0 0%
src/ramses_tx/protocol.py PortProtocol.connection_lost 3 3 0 0%
src/ramses_tx/protocol.py PortProtocol.pause_writing 3 3 0 0%
src/ramses_tx/protocol.py PortProtocol.resume_writing 3 3 0 0%
src/ramses_tx/protocol.py PortProtocol.pkt_received 3 3 0 0%
src/ramses_tx/protocol.py PortProtocol._send_impersonation_alert 7 7 0 0%
src/ramses_tx/protocol.py PortProtocol._send_cmd 16 16 0 0%
src/ramses_tx/protocol.py PortProtocol._send_cmd.send_cmd 1 1 0 0%
src/ramses_tx/protocol.py PortProtocol.send_cmd 11 11 0 0%
src/ramses_tx/protocol.py protocol_factory 6 6 0 0%
src/ramses_tx/protocol.py create_stack 8 8 0 0%
src/ramses_tx/protocol.py (no function) 72 0 3 100%
src/ramses_tx/protocol_fsm.py ProtocolContext.__init__ 18 18 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.__repr__ 6 6 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.state 1 1 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.is_sending 9 9 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.set_state 51 51 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.set_state.expire_state_on_timeout 18 18 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.set_state.effect_state 10 10 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.connection_made 1 1 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.connection_lost 1 1 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.pkt_received 1 1 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.pause_writing 1 1 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.resume_writing 1 1 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext.send_cmd 27 27 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext._check_buffer_for_cmd 24 24 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext._send_cmd 7 7 0 0%
src/ramses_tx/protocol_fsm.py ProtocolContext._send_cmd.send_fnc_wrapper 4 4 0 0%
src/ramses_tx/protocol_fsm.py ProtocolStateBase.__init__ 4 4 0 0%
src/ramses_tx/protocol_fsm.py ProtocolStateBase.__repr__ 8 8 0 0%
src/ramses_tx/protocol_fsm.py ProtocolStateBase.connection_made 1 1 0 0%
src/ramses_tx/protocol_fsm.py ProtocolStateBase.connection_lost 6 6 0 0%
src/ramses_tx/protocol_fsm.py ProtocolStateBase.pkt_rcvd 0 0 1 100%
src/ramses_tx/protocol_fsm.py ProtocolStateBase.writing_paused 1 1 0 0%
src/ramses_tx/protocol_fsm.py ProtocolStateBase.writing_resumed 1 1 0 0%
src/ramses_tx/protocol_fsm.py ProtocolStateBase.cmd_sent 1 1 0 0%
src/ramses_tx/protocol_fsm.py Inactive.connection_made 1 1 0 0%
src/ramses_tx/protocol_fsm.py Inactive.pkt_rcvd 3 3 0 0%
src/ramses_tx/protocol_fsm.py IsInIdle.pkt_rcvd 2 2 0 0%
src/ramses_tx/protocol_fsm.py IsInIdle.cmd_sent 5 5 0 0%
src/ramses_tx/protocol_fsm.py WantEcho.__init__ 2 2 0 0%
src/ramses_tx/protocol_fsm.py WantEcho.pkt_rcvd 15 15 0 0%
src/ramses_tx/protocol_fsm.py WantEcho.cmd_sent 1 1 0 0%
src/ramses_tx/protocol_fsm.py WantRply.__init__ 3 3 0 0%
src/ramses_tx/protocol_fsm.py WantRply.pkt_rcvd 11 11 0 0%
src/ramses_tx/protocol_fsm.py (no function) 60 0 4 100%
src/ramses_tx/ramses.py (no function) 53 0 0 100%
src/ramses_tx/schemas.py sch_packet_log_dict_factory 4 0 0 100%
src/ramses_tx/schemas.py sch_packet_log_dict_factory.NormalisePacketLog 2 0 0 100%
src/ramses_tx/schemas.py sch_packet_log_dict_factory.NormalisePacketLog.normalise_packet_log 3 3 0 0%
src/ramses_tx/schemas.py sch_serial_port_dict_factory 3 3 0 0%
src/ramses_tx/schemas.py sch_serial_port_dict_factory.NormaliseSerialPort 2 2 0 0%
src/ramses_tx/schemas.py sch_serial_port_dict_factory.NormaliseSerialPort.normalise_serial_port 3 3 0 0%
src/ramses_tx/schemas.py extract_serial_port 3 3 0 0%
src/ramses_tx/schemas.py ConvertNullToDict 2 0 0 100%
src/ramses_tx/schemas.py ConvertNullToDict.convert_null_to_dict 3 3 0 0%
src/ramses_tx/schemas.py sch_global_traits_dict_factory 14 0 0 100%
src/ramses_tx/schemas.py select_device_filter_mode 14 14 0 0%
src/ramses_tx/schemas.py (no function) 79 0 0 100%
src/ramses_tx/transport.py is_hgi80 37 37 0 0%
src/ramses_tx/transport.py _normalise 8 8 0 0%
src/ramses_tx/transport.py _str 6 6 0 0%
src/ramses_tx/transport.py limit_duty_cycle 5 0 0 100%
src/ramses_tx/transport.py limit_duty_cycle.decorator 9 1 0 89%
src/ramses_tx/transport.py limit_duty_cycle.decorator.wrapper 11 11 0 0%
src/ramses_tx/transport.py limit_duty_cycle.decorator.null_wrapper 1 1 0 0%
src/ramses_tx/transport.py avoid_system_syncs 10 0 0 100%
src/ramses_tx/transport.py avoid_system_syncs.wrapper 8 8 0 0%
src/ramses_tx/transport.py avoid_system_syncs.wrapper.is_imminent 1 1 0 0%
src/ramses_tx/transport.py track_system_syncs 3 0 0 100%
src/ramses_tx/transport.py track_system_syncs.wrapper 9 9 0 0%
src/ramses_tx/transport.py track_system_syncs.wrapper.is_pending 1 1 0 0%
src/ramses_tx/transport.py _CallbackTransportAbstractor.__init__ 2 2 0 0%
src/ramses_tx/transport.py _BaseTransport.__init__ 1 1 0 0%
src/ramses_tx/transport.py _FileTransportAbstractor.__init__ 3 3 0 0%
src/ramses_tx/transport.py _PortTransportAbstractor.__init__ 1 1 0 0%
src/ramses_tx/transport.py _MqttTransportAbstractor.__init__ 3 3 0 0%
src/ramses_tx/transport.py _ReadTransport.__init__ 9 9 0 0%
src/ramses_tx/transport.py _ReadTransport.__repr__ 1 1 0 0%
src/ramses_tx/transport.py _ReadTransport._dt_now 4 4 0 0%
src/ramses_tx/transport.py _ReadTransport.loop 1 1 0 0%
src/ramses_tx/transport.py _ReadTransport.get_extra_info 3 3 0 0%
src/ramses_tx/transport.py _ReadTransport.is_closing 1 1 0 0%
src/ramses_tx/transport.py _ReadTransport._close 4 4 0 0%
src/ramses_tx/transport.py _ReadTransport.close 1 1 0 0%
src/ramses_tx/transport.py _ReadTransport.is_reading 1 1 0 0%
src/ramses_tx/transport.py _ReadTransport.pause_reading 1 1 0 0%
src/ramses_tx/transport.py _ReadTransport.resume_reading 1 1 0 0%
src/ramses_tx/transport.py _ReadTransport._make_connection 2 2 0 0%
src/ramses_tx/transport.py _ReadTransport._frame_read 11 11 0 0%
src/ramses_tx/transport.py _ReadTransport._pkt_read 9 9 0 0%
src/ramses_tx/transport.py _ReadTransport.write_frame 1 1 0 0%
src/ramses_tx/transport.py _FullTransport.__init__ 3 3 0 0%
src/ramses_tx/transport.py _FullTransport._dt_now 1 1 0 0%
src/ramses_tx/transport.py _FullTransport.get_extra_info 3 3 0 0%
src/ramses_tx/transport.py _FullTransport._report_transmit_rate 7 7 0 0%
src/ramses_tx/transport.py _FullTransport._track_transmit_rate 2 2 0 0%
src/ramses_tx/transport.py _FullTransport.write 1 1 0 0%
src/ramses_tx/transport.py _FullTransport.write_frame 6 6 0 0%
src/ramses_tx/transport.py _FullTransport._write_frame 0 0 1 100%
src/ramses_tx/transport.py _RegHackMixin.__init__ 4 4 0 0%
src/ramses_tx/transport.py _RegHackMixin._regex_hack 11 11 0 0%
src/ramses_tx/transport.py _RegHackMixin._frame_read 1 1 0 0%
src/ramses_tx/transport.py _RegHackMixin.write_frame 1 1 0 0%
src/ramses_tx/transport.py FileTransport.__init__ 5 5 0 0%
src/ramses_tx/transport.py FileTransport._start_reader 6 6 0 0%
src/ramses_tx/transport.py FileTransport._reader 25 25 0 0%
src/ramses_tx/transport.py FileTransport._close 3 3 0 0%
src/ramses_tx/transport.py PortTransport.__init__ 4 4 0 0%
src/ramses_tx/transport.py PortTransport._create_connection 11 11 0 0%
src/ramses_tx/transport.py PortTransport._create_connection.connect_sans_signature 2 2 0 0%
src/ramses_tx/transport.py PortTransport._create_connection.connect_with_signature 15 15 0 0%
src/ramses_tx/transport.py PortTransport._leak_sem 4 4 0 0%
src/ramses_tx/transport.py PortTransport._read_ready 15 15 0 0%
src/ramses_tx/transport.py PortTransport._read_ready.bytes_read 6 6 0 0%
src/ramses_tx/transport.py PortTransport._pkt_read 4 4 0 0%
src/ramses_tx/transport.py PortTransport.write_frame 2 2 0 0%
src/ramses_tx/transport.py PortTransport._write_frame 12 12 0 0%
src/ramses_tx/transport.py PortTransport._write 1 1 0 0%
src/ramses_tx/transport.py PortTransport._abort 5 5 0 0%
src/ramses_tx/transport.py PortTransport._close 5 5 0 0%
src/ramses_tx/transport.py MqttTransport.__init__ 28 28 0 0%
src/ramses_tx/transport.py MqttTransport._attempt_connection 10 10 0 0%
src/ramses_tx/transport.py MqttTransport._schedule_reconnect 4 4 0 0%
src/ramses_tx/transport.py MqttTransport._reconnect_after_delay 8 8 0 0%
src/ramses_tx/transport.py MqttTransport._on_connect 24 24 0 0%
src/ramses_tx/transport.py MqttTransport._on_connect_fail 5 5 0 0%
src/ramses_tx/transport.py MqttTransport._on_disconnect 12 12 0 0%
src/ramses_tx/transport.py MqttTransport._create_connection 20 20 0 0%
src/ramses_tx/transport.py MqttTransport._on_message 47 47 2 0%
src/ramses_tx/transport.py MqttTransport.write_frame 18 18 0 0%
src/ramses_tx/transport.py MqttTransport._write_frame 10 10 0 0%
src/ramses_tx/transport.py MqttTransport._publish 12 12 0 0%
src/ramses_tx/transport.py MqttTransport._close 13 13 0 0%
src/ramses_tx/transport.py CallbackTransport.__init__ 5 5 0 0%
src/ramses_tx/transport.py CallbackTransport.write_frame 8 8 0 0%
src/ramses_tx/transport.py CallbackTransport._write_frame 1 1 0 0%
src/ramses_tx/transport.py CallbackTransport.receive_frame 7 7 0 0%
src/ramses_tx/transport.py validate_topic_path 10 10 0 0%
src/ramses_tx/transport.py transport_factory 26 26 0 0%
src/ramses_tx/transport.py transport_factory.get_serial_instance 9 9 0 0%
src/ramses_tx/transport.py transport_factory.issue_warning 1 1 0 0%
src/ramses_tx/transport.py (no function) 181 27 2 85%
src/ramses_tx/typed_dicts.py (no function) 309 0 0 100%
src/ramses_tx/typing.py QosParams.__init__ 8 0 0 100%
src/ramses_tx/typing.py QosParams.max_retries 1 1 0 0%
src/ramses_tx/typing.py QosParams.timeout 1 1 0 0%
src/ramses_tx/typing.py QosParams.wait_for_reply 1 1 0 0%
src/ramses_tx/typing.py SendParams.__init__ 6 6 0 0%
src/ramses_tx/typing.py SendParams.gap_duration 1 1 0 0%
src/ramses_tx/typing.py SendParams.num_repeats 1 1 0 0%
src/ramses_tx/typing.py SendParams.priority 1 1 0 0%
src/ramses_tx/typing.py xRamsesTransportT.__init__ 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT._dt_now 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT._abort 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT._close 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT.close 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT.get_extra_info 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT.is_closing 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT.is_reading 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT.pause_reading 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT.resume_reading 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT.send_frame 0 0 1 100%
src/ramses_tx/typing.py xRamsesTransportT.write 0 0 1 100%
src/ramses_tx/typing.py xRamsesProtocolT.__init__ 0 0 1 100%
src/ramses_tx/typing.py xRamsesProtocolT.add_handler 0 0 1 100%
src/ramses_tx/typing.py xRamsesProtocolT.connection_lost 0 0 1 100%
src/ramses_tx/typing.py xRamsesProtocolT.wait_connection_lost 0 0 1 100%
src/ramses_tx/typing.py xRamsesProtocolT.connection_made 0 0 1 100%
src/ramses_tx/typing.py xRamsesProtocolT.pause_writing 0 0 1 100%
src/ramses_tx/typing.py xRamsesProtocolT.pkt_received 0 0 1 100%
src/ramses_tx/typing.py xRamsesProtocolT.resume_writing 0 0 1 100%
src/ramses_tx/typing.py xRamsesProtocolT.send_cmd 0 0 1 100%
src/ramses_tx/typing.py (no function) 37 0 44 100%
src/ramses_tx/version.py (no function) 2 0 0 100%
tests/tests/__init__.py (no function) 0 0 0 100%
tests/tests/helpers.py shuffle_dict 6 6 0 0%
tests/tests/helpers.py gwy 6 6 0 0%
tests/tests/helpers.py assert_expected 3 3 0 0%
tests/tests/helpers.py assert_expected.assert_expected 1 1 0 0%
tests/tests/helpers.py assert_expected_set 6 6 0 0%
tests/tests/helpers.py assert_raises 5 5 0 0%
tests/tests/helpers.py load_test_gwy 13 13 0 0%
tests/tests/helpers.py load_expected_results 23 23 0 0%
tests/tests/helpers.py (no function) 26 26 0 0%
tests/tests/test_api_faultlog.py _fault_log_entry 3 3 0 0%
tests/tests/test_api_faultlog.py EvohomeStub.__init__ 2 2 0 0%
tests/tests/test_api_faultlog.py _proc_log_line 9 9 0 0%
tests/tests/test_api_faultlog.py _proc_null_fault_entry 2 2 0 0%
tests/tests/test_api_faultlog.py _proc_test_fault_entry 3 3 0 0%
tests/tests/test_api_faultlog.py test_faultlog_entries 3 3 0 0%
tests/tests/test_api_faultlog.py test_faultlog_instantiation_0 4 4 0 0%
tests/tests/test_api_faultlog.py test_faultlog_instantiation_1 5 5 0 0%
tests/tests/test_api_faultlog.py test_faultlog_instantiation_2 7 7 0 0%
tests/tests/test_api_faultlog.py test_faultlog_instantiation_3 18 18 0 0%
tests/tests/test_api_faultlog.py test_faultlog_instantiation_4 12 12 0 0%
tests/tests/test_api_faultlog.py (no function) 34 34 0 0%
tests/tests/test_api_schedule.py pytest_generate_tests 3 3 0 0%
tests/tests/test_api_schedule.py pytest_generate_tests.id_fnc 1 1 0 0%
tests/tests/test_api_schedule.py test_schedule_get 10 10 0 0%
tests/tests/test_api_schedule.py test_schedule_helpers 13 13 0 0%
tests/tests/test_api_schedule.py (no function) 14 14 0 0%
tests/tests/test_apis_binding.py GatewayStub._add_device 2 2 0 0%
tests/tests/test_apis_binding.py pytest_generate_tests 2 2 0 0%
tests/tests/test_apis_binding.py pytest_generate_tests.id_fnc 1 1 0 0%
tests/tests/test_apis_binding.py test_initiate_binding_process 11 11 0 0%
tests/tests/test_apis_binding.py (no function) 23 23 0 0%
tests/tests/test_apis_common.py test_command_apis_via_map 3 3 0 0%
tests/tests/test_apis_common.py test_1fc9_constructors_fail 5 5 0 0%
tests/tests/test_apis_common.py test_1fc9_constructors_good 42 42 0 0%
tests/tests/test_apis_common.py (no function) 7 7 0 0%
tests/tests/test_apis_heat.py _test_api_good 7 7 0 0%
tests/tests/test_apis_heat.py _test_api_fail 10 10 0 0%
tests/tests/test_apis_heat.py _create_pkt_from_frame 3 3 0 0%
tests/tests/test_apis_heat.py _test_api_from_msg 7 7 0 0%
tests/tests/test_apis_heat.py test_set_0004 2 2 0 0%
tests/tests/test_apis_heat.py test_set_000a 1 1 0 0%
tests/tests/test_apis_heat.py test_get_0404 1 1 0 0%
tests/tests/test_apis_heat.py test_put_0418 8 8 0 0%
tests/tests/test_apis_heat.py test_set_1030 1 1 0 0%
tests/tests/test_apis_heat.py test_set_10a0 1 1 0 0%
tests/tests/test_apis_heat.py test_set_1100 9 9 0 0%
tests/tests/test_apis_heat.py test_set_1260 1 1 0 0%
tests/tests/test_apis_heat.py test_set_1f41 1 1 0 0%
tests/tests/test_apis_heat.py test_set_2309 1 1 0 0%
tests/tests/test_apis_heat.py test_set_2349 1 1 0 0%
tests/tests/test_apis_heat.py test_set_2e04 1 1 0 0%
tests/tests/test_apis_heat.py test_put_30c9 1 1 0 0%
tests/tests/test_apis_heat.py test_set_313f 8 8 0 0%
tests/tests/test_apis_heat.py test_put_3ef0 1 1 0 0%
tests/tests/test_apis_heat.py test_put_3ef1 13 13 0 0%
tests/tests/test_apis_heat.py (no function) 52 52 0 0%
tests/tests/test_apis_hvac.py _test_api 5 5 0 0%
tests/tests/test_apis_hvac.py _test_api_one 5 5 0 0%
tests/tests/test_apis_hvac.py _create_pkt_from_frame 3 3 0 0%
tests/tests/test_apis_hvac.py _test_api_from_msg 3 3 0 0%
tests/tests/test_apis_hvac.py _test_api_one_from_msg 3 3 0 0%
tests/tests/test_apis_hvac.py _test_api_from_kwargs 2 2 0 0%
tests/tests/test_apis_hvac.py _test_api_one_from_kwargs 2 2 0 0%
tests/tests/test_apis_hvac.py test_set 4 4 0 0%
tests/tests/test_apis_hvac.py test_get 4 4 0 0%
tests/tests/test_apis_hvac.py (no function) 23 23 0 0%
tests/tests/test_devices.py pytest_generate_tests 2 2 0 0%
tests/tests/test_devices.py pytest_generate_tests.id_fnc 1 1 0 0%
tests/tests/test_devices.py _proc_log_line 19 19 0 0%
tests/tests/test_devices.py test_parsers_from_log_files 3 3 0 0%
tests/tests/test_devices.py (no function) 10 10 0 0%
tests/tests/test_eavesdrop_dev_class.py pytest_generate_tests 3 3 0 0%
tests/tests/test_eavesdrop_dev_class.py pytest_generate_tests.id_fnc 1 1 0 0%
tests/tests/test_eavesdrop_dev_class.py test_packets_from_log_file 8 8 0 0%
tests/tests/test_eavesdrop_dev_class.py test_packets_from_log_file.proc_log_line 1 1 0 0%
tests/tests/test_eavesdrop_dev_class.py test_dev_eavesdrop_on_ 11 11 0 0%
tests/tests/test_eavesdrop_dev_class.py test_dev_eavesdrop_off 14 14 0 0%
tests/tests/test_eavesdrop_dev_class.py (no function) 10 10 0 0%
tests/tests/test_eavesdrop_schema.py pytest_generate_tests 4 4 0 0%
tests/tests/test_eavesdrop_schema.py pytest_generate_tests.id_fnc 1 1 0 0%
tests/tests/test_eavesdrop_schema.py assert_schemas_equal 5 5 0 0%
tests/tests/test_eavesdrop_schema.py test_eavesdrop_off 11 11 0 0%
tests/tests/test_eavesdrop_schema.py test_eavesdrop_on_ 11 11 0 0%
tests/tests/test_eavesdrop_schema.py (no function) 10 10 0 0%
tests/tests/test_helpers.py test_merge_dicts 19 19 0 0%
tests/tests/test_helpers.py test_attrdict_class 34 34 0 0%
tests/tests/test_helpers.py (no function) 10 10 0 0%
tests/tests/test_parser_helpers.py test_helper_demand_transform 1 1 0 0%
tests/tests/test_parser_helpers.py test_helper_field_parsers 18 18 0 0%
tests/tests/test_parser_helpers.py _test_pkt_dev_class 5 5 0 0%
tests/tests/test_parser_helpers.py _test_pkt_dev_class.proc_log_line 7 7 0 0%
tests/tests/test_parser_helpers.py test_pkt_addr_sets 5 5 0 0%
tests/tests/test_parser_helpers.py test_pkt_addr_sets.proc_log_line 15 15 0 0%
tests/tests/test_parser_helpers.py (no function) 12 12 0 0%
tests/tests/test_parsers.py pytest_generate_tests 2 2 0 0%
tests/tests/test_parsers.py pytest_generate_tests.id_fnc 1 1 0 0%
tests/tests/test_parsers.py _proc_log_line 20 20 0 0%
tests/tests/test_parsers.py _proc_log_line_pair_4e15 13 13 0 0%
tests/tests/test_parsers.py test_parsers_from_log_files 3 3 0 0%
tests/tests/test_parsers.py _test_parser_31da 1 1 0 0%
tests/tests/test_parsers.py _test_parser_pairs_31d9_31da 1 1 0 0%
tests/tests/test_parsers.py _test_parser_pairs_4e15_3ef0 5 5 0 0%
tests/tests/test_parsers.py (no function) 19 19 0 0%
tests/tests/test_ramses_schema.py test_code_counts 2 2 0 0%
tests/tests/test_ramses_schema.py test_verb_code_pairs 1 1 0 0%
tests/tests/test_ramses_schema.py test_device_heat_slugs 2 2 0 0%
tests/tests/test_ramses_schema.py test_device_hvac_slugs 2 2 0 0%
tests/tests/test_ramses_schema.py assert_codes_idx_mutex 2 2 0 0%
tests/tests/test_ramses_schema.py test_codes_idx_mutex 2 2 0 0%
tests/tests/test_ramses_schema.py test_codes_idx_complex_mutex 1 1 0 0%
tests/tests/test_ramses_schema.py test_codes_idx_none_mutex 1 1 0 0%
tests/tests/test_ramses_schema.py test_codes_idx_simple_mutex 1 1 0 0%
tests/tests/test_ramses_schema.py test_codes_mutex 1 1 0 0%
tests/tests/test_ramses_schema.py (no function) 18 18 0 0%
tests/tests/test_schema_bits.py test_dhw_schema 5 5 0 0%
tests/tests/test_schema_bits.py test_zone_schema 11 11 0 0%
tests/tests/test_schema_bits.py (no function) 6 6 0 0%
tests/tests/test_schemas.py test_schema_discover_from_log 12 12 0 0%
tests/tests/test_schemas.py test_schema_load_from_json 4 4 0 0%
tests/tests/test_schemas.py (no function) 12 12 0 0%
tests/tests/test_systems.py pytest_generate_tests 3 3 0 0%
tests/tests/test_systems.py pytest_generate_tests.id_fnc 1 1 0 0%
tests/tests/test_systems.py test_payload_from_log_file 5 5 0 0%
tests/tests/test_systems.py test_payload_from_log_file.proc_log_line 8 8 0 0%
tests/tests/test_systems.py test_schemax_with_log_file 5 5 0 0%
tests/tests/test_systems.py test_systemx_from_log_file 14 14 0 0%
tests/tests/test_systems.py test_restore_from_log_file 10 10 0 0%
tests/tests/test_systems.py test_shuffle_from_log_file 10 10 0 0%
tests/tests/test_systems.py (no function) 14 14 0 0%
tests/tests/test_vol_schemas.py no_duplicates_constructor 8 8 0 0%
tests/tests/test_vol_schemas.py _test_schema 1 1 0 0%
tests/tests/test_vol_schemas.py _test_schema_bad 6 6 0 0%
tests/tests/test_vol_schemas.py _test_schema_good 8 8 0 0%
tests/tests/test_vol_schemas.py test_gateway_bad 1 1 0 0%
tests/tests/test_vol_schemas.py test_gateway_good 1 1 0 0%
tests/tests/test_vol_schemas.py test_known_list_bad 1 1 0 0%
tests/tests/test_vol_schemas.py test_known_list_good 1 1 0 0%
tests/tests/test_vol_schemas.py test_packet_log_bad 1 1 0 0%
tests/tests/test_vol_schemas.py test_packet_log_good 1 1 0 0%
tests/tests/test_vol_schemas.py test_restore_cache_bad 1 1 0 0%
tests/tests/test_vol_schemas.py test_restore_cache_good 1 1 0 0%
tests/tests/test_vol_schemas.py test_serial_port_bad 1 1 0 0%
tests/tests/test_vol_schemas.py test_serial_port_good 1 1 0 0%
tests/tests/test_vol_schemas.py test_schemas_tcs_bad 1 1 0 0%
tests/tests/test_vol_schemas.py test_schemas_tcs_good 1 1 0 0%
tests/tests/test_vol_schemas.py test_schemas_vcs_bad 1 1 0 0%
tests/tests/test_vol_schemas.py test_schemas_vcs_good 1 1 0 0%
tests/tests/test_vol_schemas.py test_schemas_mixed_bad 2 2 0 0%
tests/tests/test_vol_schemas.py test_schemas_mixed_good 2 2 0 0%
tests/tests/test_vol_schemas.py test_schemas_hass_bad 1 1 0 0%
tests/tests/test_vol_schemas.py test_schemas_hass_good 1 1 0 0%
tests/tests/test_vol_schemas.py (no function) 81 81 0 0%
tests/tests_cli/test_cli_utility.py id_fnc 1 0 0 100%
tests/tests_cli/test_cli_utility.py test_client_basic 9 0 0 100%
tests/tests_cli/test_cli_utility.py (no function) 28 3 0 89%
tests/tests_rf/__init__.py (no function) 0 0 0 100%
tests/tests_rf/conftest.py patches_for_tests 5 5 0 0%
tests/tests_rf/conftest.py rf 4 4 0 0%
tests/tests_rf/conftest.py fake_evofw3_port 3 3 0 0%
tests/tests_rf/conftest.py fake_ti3410_port 3 3 0 0%
tests/tests_rf/conftest.py mqtt_evofw3_port 2 2 0 0%
tests/tests_rf/conftest.py real_evofw3_port 9 9 0 0%
tests/tests_rf/conftest.py real_ti3410_port 6 6 0 0%
tests/tests_rf/conftest.py _gateway 4 4 0 0%
tests/tests_rf/conftest.py _fake_gateway 5 5 0 0%
tests/tests_rf/conftest.py _real_gateway 7 7 0 0%
tests/tests_rf/conftest.py fake_evofw3 8 8 0 0%
tests/tests_rf/conftest.py fake_ti3410 8 8 0 0%
tests/tests_rf/conftest.py mqtt_evofw3 8 8 0 0%
tests/tests_rf/conftest.py real_evofw3 7 7 0 0%
tests/tests_rf/conftest.py real_ti3410 7 7 0 0%
tests/tests_rf/conftest.py (no function) 56 56 0 0%
tests/tests_rf/device/__init__.py (no function) 0 0 0 100%
tests/tests_rf/device/test_hvac_ventilator.py mock_gateway 14 14 0 0%
tests/tests_rf/device/test_hvac_ventilator.py hvac_ventilator 2 2 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_initialization 7 7 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_set_initialized_callback_clear 6 6 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_set_initialized_callback_set 6 6 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_set_param_update_callback 5 5 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_handle_2411_message 18 18 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_setup_discovery_cmds 6 6 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_handle_msg_parameter_message 15 15 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_handle_msg_non_parameter_message 16 16 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_add_bound_device 20 20 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_remove_bound_device 6 6 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_get_bound_rem 7 7 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_get_fan_param_supported 6 6 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_get_fan_param_unsupported 6 6 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_get_fan_param_normalization 7 7 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_initialized_callback 11 11 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_hgi_property 13 13 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_invalid_message_handling 13 13 0 0%
tests/tests_rf/device/test_hvac_ventilator.py TestHvacVentilator.test_missing_callback 16 16 0 0%
tests/tests_rf/device/test_hvac_ventilator.py (no function) 40 40 0 0%
tests/tests_rf/test_api_faultlog.py gwy_config 1 1 0 0%
tests/tests_rf/test_api_faultlog.py gwy_dev_id 1 1 0 0%
tests/tests_rf/test_api_faultlog.py _test_get_faultlog 8 8 0 0%
tests/tests_rf/test_api_faultlog.py _create_test_suite 7 7 0 0%
tests/tests_rf/test_api_faultlog.py _create_test_suite.proc_log_line_pair 5 5 0 0%
tests/tests_rf/test_api_faultlog.py test_get_faultlog_fake 14 14 0 0%
tests/tests_rf/test_api_faultlog.py test_get_faultlog_mqtt 1 1 0 0%
tests/tests_rf/test_api_faultlog.py test_get_faultlog_real 1 1 0 0%
tests/tests_rf/test_api_faultlog.py (no function) 28 28 0 0%
tests/tests_rf/test_api_schedule.py gwy_config 1 1 0 0%
tests/tests_rf/test_api_schedule.py gwy_dev_id 1 1 0 0%
tests/tests_rf/test_api_schedule.py _test_get_schedule 12 12 0 0%
tests/tests_rf/test_api_schedule.py test_get_schedule_fake 5 5 0 0%
tests/tests_rf/test_api_schedule.py _test_get_schedule_mqtt 1 1 0 0%
tests/tests_rf/test_api_schedule.py _test_get_schedule_real 1 1 0 0%
tests/tests_rf/test_api_schedule.py (no function) 25 25 0 0%
tests/tests_rf/test_binding_fsm.py pytest_generate_tests 2 2 0 0%
tests/tests_rf/test_binding_fsm.py pytest_generate_tests.id_fnc 3 3 0 0%
tests/tests_rf/test_binding_fsm.py assert_context_state 6 6 0 0%
tests/tests_rf/test_binding_fsm.py _test_flow_10x 57 57 0 0%
tests/tests_rf/test_binding_fsm.py _test_flow_20x 30 30 0 0%
tests/tests_rf/test_binding_fsm.py test_flow_100 11 11 0 0%
tests/tests_rf/test_binding_fsm.py test_flow_200 11 11 0 0%
tests/tests_rf/test_binding_fsm.py (no function) 31 31 0 0%
tests/tests_rf/test_create_stack.py assert_stack_state 7 7 0 0%
tests/tests_rf/test_create_stack.py _msg_handler 1 1 0 0%
tests/tests_rf/test_create_stack.py _test_create_stack 10 10 0 0%
tests/tests_rf/test_create_stack.py _test_factories 11 11 0 0%
tests/tests_rf/test_create_stack.py test_create_stack 6 6 0 0%
tests/tests_rf/test_create_stack.py test_create_s_alt 6 6 0 0%
tests/tests_rf/test_create_stack.py test_factories_01 6 6 0 0%
tests/tests_rf/test_create_stack.py (no function) 28 28 0 0%
tests/tests_rf/test_database.py TestMessageIndex.test_add_msg 21 21 0 0%
tests/tests_rf/test_database.py TestMessageIndex.test_qry_msg 45 45 0 0%
tests/tests_rf/test_database.py (no function) 18 18 0 0%
tests/tests_rf/test_dispatcher.py mock_gateway 14 14 0 0%
tests/tests_rf/test_dispatcher.py Test_dispatcher_gateway.test_create_devices_from_addrs 5 5 0 0%
tests/tests_rf/test_dispatcher.py Test_dispatcher_gateway.test_check_msg_addrs 2 2 0 0%
tests/tests_rf/test_dispatcher.py Test_dispatcher_gateway.test_check_dst_slug 1 1 0 0%
tests/tests_rf/test_dispatcher.py Test_dispatcher_gateway.test_detect_array_fragment 6 6 0 0%
tests/tests_rf/test_dispatcher.py (no function) 22 22 0 0%
tests/tests_rf/test_entity_base.py mock_gateway 14 14 0 0%
tests/tests_rf/test_entity_base.py Test_entity_base.test_entity_base_dev 16 16 0 0%
tests/tests_rf/test_entity_base.py Test_entity_base.test_entity_base_zone 15 15 0 0%
tests/tests_rf/test_entity_base.py Test_entity_base.test_entity_base_dhw 16 16 0 0%
tests/tests_rf/test_entity_base.py (no function) 23 23 0 0%
tests/tests_rf/test_hgi_behaviors.py gwy_config 1 1 0 0%
tests/tests_rf/test_hgi_behaviors.py gwy_dev_id 1 1 0 0%
tests/tests_rf/test_hgi_behaviors.py pytest_generate_tests 1 1 0 0%
tests/tests_rf/test_hgi_behaviors.py _test_gwy_device 27 27 0 0%
tests/tests_rf/test_hgi_behaviors.py test_fake_evofw3 1 1 0 0%
tests/tests_rf/test_hgi_behaviors.py test_fake_ti3410 1 1 0 0%
tests/tests_rf/test_hgi_behaviors.py test_mqtt_evofw3 1 1 0 0%
tests/tests_rf/test_hgi_behaviors.py test_real_evofw3 1 1 0 0%
tests/tests_rf/test_hgi_behaviors.py test_real_ti3410 1 1 0 0%
tests/tests_rf/test_hgi_behaviors.py (no function) 36 36 0 0%
tests/tests_rf/test_protocol_fsm.py protocol 24 24 0 0%
tests/tests_rf/test_protocol_fsm.py protocol._msg_handler 1 1 0 0%
tests/tests_rf/test_protocol_fsm.py assert_protocol_state 7 7 0 0%
tests/tests_rf/test_protocol_fsm.py assert_protocol_state_detail 4 4 0 0%
tests/tests_rf/test_protocol_fsm.py async_pkt_received 13 13 0 0%
tests/tests_rf/test_protocol_fsm.py _test_flow_30x 17 17 0 0%
tests/tests_rf/test_protocol_fsm.py _test_flow_401 10 10 0 0%
tests/tests_rf/test_protocol_fsm.py _test_flow_402 10 10 0 0%
tests/tests_rf/test_protocol_fsm.py _test_flow_qos_helper 5 5 0 0%
tests/tests_rf/test_protocol_fsm.py _test_flow_60x 6 6 0 0%
tests/tests_rf/test_protocol_fsm.py _test_flow_qos 42 42 0 0%
tests/tests_rf/test_protocol_fsm.py test_flow_300 1 1 0 0%
tests/tests_rf/test_protocol_fsm.py test_flow_401 1 1 0 0%
tests/tests_rf/test_protocol_fsm.py test_flow_402 1 1 0 0%
tests/tests_rf/test_protocol_fsm.py test_flow_601 1 1 0 0%
tests/tests_rf/test_protocol_fsm.py test_flow_602 1 1 0 0%
tests/tests_rf/test_protocol_fsm.py test_flow_qos 1 1 0 0%
tests/tests_rf/test_protocol_fsm.py (no function) 54 54 0 0%
tests/tests_rf/test_use_regex.py patches_for_tests 2 2 0 0%
tests/tests_rf/test_use_regex.py assert_this_pkt 5 5 0 0%
tests/tests_rf/test_use_regex.py test_regex_inbound_ 13 13 0 0%
tests/tests_rf/test_use_regex.py test_regex_with_qos 26 26 0 0%
tests/tests_rf/test_use_regex.py (no function) 24 24 0 0%
tests/tests_rf/test_virt_network.py assert_code_in_device_msgindex 5 5 0 0%
tests/tests_rf/test_virt_network.py assert_devices 6 6 0 0%
tests/tests_rf/test_virt_network.py assert_this_pkt 5 5 0 0%
tests/tests_rf/test_virt_network.py _test_virtual_rf_dev_disc 21 21 0 0%
tests/tests_rf/test_virt_network.py _test_virtual_rf_pkt_flow 13 13 0 0%
tests/tests_rf/test_virt_network.py test_virtual_rf_dev_disc 16 16 0 0%
tests/tests_rf/test_virt_network.py test_virtual_rf_pkt_flow 16 16 0 0%
tests/tests_rf/test_virt_network.py (no function) 21 21 0 0%
tests/tests_rf/virtual_rf/__init__.py _get_hgi_id_for_schema 12 12 0 0%
tests/tests_rf/virtual_rf/__init__.py rf_factory 19 19 0 0%
tests/tests_rf/virtual_rf/__init__.py (no function) 16 16 0 0%
tests/tests_rf/virtual_rf/const.py (no function) 21 21 0 0%
tests/tests_rf/virtual_rf/helpers.py ensure_fakeable 9 9 0 0%
tests/tests_rf/virtual_rf/helpers.py (no function) 4 4 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualComPortInfo.__init__ 3 3 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualComPortInfo._set_attrs 8 8 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase.__init__ 16 16 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._create_port 10 10 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase.comports 1 1 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._set_comport_info 3 3 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase.ports 1 1 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase.stop 6 6 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._cleanup 4 4 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase.start 2 2 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._poll_ports_for_data 8 8 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._pull_data_from_src_port 5 5 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._cast_frame_to_all_ports 8 8 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase.add_reply_for_cmd 1 1 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._find_reply_for_cmd 4 4 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._push_frame_to_dst_port 3 3 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._proc_after_rx 1 1 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._proc_before_tx 1 1 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._setup_event_handlers 9 9 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._setup_event_handlers.handle_exception 5 5 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRfBase._setup_event_handlers.handle_sig_posix 3 3 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRf.__init__ 4 4 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRf.gateways 1 1 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRf.set_gateway 8 8 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRf.dump_frames_to_rf 6 6 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRf.dump_frames_to_rf.no_data_left_to_send 2 2 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRf._proc_after_rx 8 8 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py VirtualRf._proc_before_tx 12 12 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py main 10 10 0 0%
tests/tests_rf/virtual_rf/virtual_rf.py (no function) 62 62 0 0%
tests/tests_tx/__init__.py (no function) 0 0 0 100%
tests/tests_tx/test_command.py test_set_dhw_mode_follow 2 2 0 0%
tests/tests_tx/test_command.py test_set_dhw_mode_follow_int 2 2 0 0%
tests/tests_tx/test_command.py test_set_dhw_mode_perm_false 2 2 0 0%
tests/tests_tx/test_command.py test_set_dhw_mode_follow_extra 5 5 0 0%
tests/tests_tx/test_command.py test_set_dhw_mode_untilduration 5 5 0 0%
tests/tests_tx/test_command.py test_set_system_mode_auto_none 2 2 0 0%
tests/tests_tx/test_command.py test_set_system_mode_auto 2 2 0 0%
tests/tests_tx/test_command.py test_set_system_mode_auto_int 2 2 0 0%
tests/tests_tx/test_command.py test_set_system_mode_heatoff 5 5 0 0%
tests/tests_tx/test_command.py test_set_zone_mode_noargs 5 5 0 0%
tests/tests_tx/test_command.py test_set_zone_mode_follow 2 2 0 0%
tests/tests_tx/test_command.py test_set_zone_mode_follow_extra 5 5 0 0%
tests/tests_tx/test_command.py test_set_zone_mode_perm_setp 2 2 0 0%
tests/tests_tx/test_command.py (no function) 22 22 0 0%
Total   13314 9368 187 30%

No items found using the specified filter.