:house_with_garden: Open source home automation that puts local control and privacy first.
This report presents the forensic synthetic code analysis of home-assistant/core, a Python project with 89,334 GitHub stars. SynthScan v2.0 examined 3,666,293 lines of code across 22128 source files, recording 42484 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 15.2 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 42484 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ins/pylint_home_assistant/checkers/test_determinism.py | 47 | def _condition_references_parameter(node: nodes.If, param_names: set[str]) -> bool: | CODE |
| LOW | …nt/plugins/pylint_home_assistant/checkers/decorator.py | 37 | def _get_pytest_fixture_node_keyword( | CODE |
| LOW | …home_assistant/checkers/entity_description_defaults.py | 112 | def _resolve_description_class(call: nodes.Call) -> nodes.ClassDef | None: | CODE |
| LOW | …plugins/pylint_home_assistant/checkers/runtime_data.py | 118 | def _is_hass_data_domain_access(node: nodes.Subscript) -> bool: | CODE |
| LOW | …plugins/pylint_home_assistant/checkers/runtime_data.py | 129 | def _is_hass_data_domain_call(node: nodes.Call) -> bool: | CODE |
| LOW | …lint_home_assistant/checkers/unnecessary_format_mac.py | 24 | def _is_connection_network_mac(node: nodes.NodeNG) -> bool: | CODE |
| LOW | …lint_home_assistant/checkers/unnecessary_format_mac.py | 46 | def _is_inside_connections_kwarg(node: nodes.NodeNG) -> bool: | CODE |
| LOW | …gins/pylint_home_assistant/checkers/domain_constant.py | 38 | def _check_call_node_domain_arguments(node: nodes.Call) -> nodes.NodeNG | None: | CODE |
| LOW | …gins/pylint_home_assistant/checkers/domain_constant.py | 58 | def _check_call_node_domain_argument( | CODE |
| LOW | …lint/plugins/pylint_home_assistant/checkers/imports.py | 248 | def _visit_importfrom_relative( | CODE |
| LOW | …lint/plugins/pylint_home_assistant/checkers/imports.py | 273 | def _check_for_constant_alias( | CODE |
| LOW | …lint/plugins/pylint_home_assistant/checkers/imports.py | 308 | def _check_for_component_root_import( | CODE |
| LOW | …lint/plugins/pylint_home_assistant/checkers/imports.py | 335 | def _check_for_relative_import( | CODE |
| LOW | …int_home_assistant/checkers/entity_unique_id_format.py | 79 | def _joined_str_approximation(node: nodes.JoinedStr) -> str: | CODE |
| LOW | …int_home_assistant/checkers/entity_unique_id_format.py | 157 | def _value_references_platform( | CODE |
| LOW | …e_assistant/checkers/quality_scale/entity_unique_id.py | 88 | def _class_body_sets_attr_non_none(class_node: nodes.ClassDef) -> bool: | CODE |
| LOW | …e_assistant/checkers/quality_scale/entity_unique_id.py | 111 | def _class_body_nullifies_attr(class_node: nodes.ClassDef) -> bool: | CODE |
| LOW | …e_assistant/checkers/quality_scale/entity_unique_id.py | 159 | def _stmts_contain_terminator(stmts: list[nodes.NodeNG]) -> bool: | CODE |
| LOW | …e_assistant/checkers/quality_scale/entity_unique_id.py | 172 | def _body_guarantees_target_assign(stmts: list[nodes.NodeNG]) -> bool: | CODE |
| LOW | …e_assistant/checkers/quality_scale/entity_unique_id.py | 209 | def _method_unconditionally_sets_attr(class_node: nodes.ClassDef) -> bool: | CODE |
| LOW | …e_assistant/checkers/quality_scale/entity_unique_id.py | 218 | def _class_defines_unique_id_method(class_node: nodes.ClassDef) -> bool: | CODE |
| LOW | …e_assistant/checkers/quality_scale/entity_unique_id.py | 259 | def _class_body_static_string_node( | CODE |
| LOW | …me_assistant/checkers/quality_scale/has_entity_name.py | 67 | def _class_body_sets_attr_true(class_node: nodes.ClassDef, attr_name: str) -> bool: | CODE |
| LOW | …me_assistant/checkers/quality_scale/has_entity_name.py | 96 | def _method_unconditionally_sets_attr_true(class_node: nodes.ClassDef) -> bool: | CODE |
| LOW | …me_assistant/checkers/quality_scale/has_entity_name.py | 154 | def _description_sets_has_entity_name(description_class: nodes.ClassDef) -> bool: | CODE |
| LOW | …me_assistant/checkers/quality_scale/has_entity_name.py | 164 | def _entity_description_annotation_satisfies(class_node: nodes.ClassDef) -> bool: | CODE |
| LOW | …home_assistant/checkers/config_flow/unique_id_no_ip.py | 100 | def _check_subscript_or_call_ip(node: nodes.NodeNG) -> str | None: | CODE |
| LOW | …nt_home_assistant/checkers/tests/direct_async_setup.py | 27 | def _is_integration_async_setup(call: nodes.Call) -> bool: | CODE |
| LOW | …home_assistant/checkers/tests/redundant_usefixtures.py | 23 | def _is_pytest_mark_usefixtures(node: nodes.Call) -> bool: | CODE |
| LOW | …home_assistant/checkers/tests/redundant_usefixtures.py | 35 | def _extract_usefixtures_names(node: nodes.NodeNG) -> set[str]: | CODE |
| LOW | …home_assistant/checkers/tests/redundant_usefixtures.py | 48 | def _collect_module_usefixtures(module: nodes.Module) -> set[str]: | CODE |
| LOW | …home_assistant/checkers/tests/redundant_usefixtures.py | 86 | def _collect_autouse_fixtures(module: nodes.Module) -> set[str]: | CODE |
| LOW | …home_assistant/checkers/tests/redundant_usefixtures.py | 116 | def _collect_conftest_fixtures(module: nodes.Module) -> set[str]: | CODE |
| LOW | …assistant/checkers/tests/direct_async_migrate_entry.py | 23 | def _is_integration_async_migrate_entry(call: nodes.Call) -> bool: | CODE |
| LOW | …_assistant/checkers/tests/direct_async_unload_entry.py | 23 | def _is_integration_async_unload_entry(call: nodes.Call) -> bool: | CODE |
| LOW | …e_assistant/checkers/tests/direct_async_setup_entry.py | 35 | def _resolve_integration_async_setup_entry(call: nodes.Call) -> _SetupKind | None: | CODE |
| LOW | …ome_assistant/checkers/actions/service_registration.py | 52 | def _find_service_registrations( | CODE |
| LOW | …/plugins/pylint_home_assistant/helpers/translations.py | 23 | def _load_translations_from_dir(integration_dir: Path) -> dict | None: | CODE |
| LOW | …/plugins/pylint_home_assistant/helpers/translations.py | 61 | def load_translations_for_domain(module: nodes.Module, domain: str) -> dict | None: | CODE |
| LOW⚡ | …/plugins/pylint_home_assistant/helpers/translations.py | 82 | def get_exception_translations(module: nodes.Module) -> dict[str, dict]: | CODE |
| LOW⚡ | …/plugins/pylint_home_assistant/helpers/translations.py | 87 | def get_exception_translations_for_domain( | CODE |
| LOW⚡ | …/plugins/pylint_home_assistant/helpers/translations.py | 94 | def _get_exceptions_from_data(data: dict | None) -> dict[str, dict]: | CODE |
| LOW | …/plugins/pylint_home_assistant/helpers/translations.py | 165 | def resolve_translation_reference(message: str, components_dir: Path | None) -> str: | CODE |
| LOW | …/plugins/pylint_home_assistant/helpers/entity_class.py | 15 | def collect_same_module_ancestor_qnames(module: nodes.Module) -> set[str]: | CODE |
| LOW | …plugins/pylint_home_assistant/helpers/quality_scale.py | 14 | def clear_quality_scale_cache() -> None: | CODE |
| LOW | …plugins/pylint_home_assistant/helpers/quality_scale.py | 54 | def quality_scale_rule_is_done(module: nodes.Module, rule: str) -> bool: | CODE |
| LOW | …plugins/pylint_home_assistant/helpers/quality_scale.py | 62 | def quality_scale_rule_is_done_or_exempt(module: nodes.Module, rule: str) -> bool: | CODE |
| LOW | homeassistant/bootstrap.py | 445 | def _init_blocking_io_modules_in_executor() -> None: | CODE |
| LOW | homeassistant/bootstrap.py | 462 | async def async_load_base_functionality(hass: core.HomeAssistant) -> bool: | CODE |
| LOW | homeassistant/bootstrap.py | 682 | def _log_file_disabled_reason() -> str | None: | CODE |
| LOW | homeassistant/bootstrap.py | 739 | async def async_mount_local_lib_path(config_dir: str) -> str: | CODE |
| LOW | homeassistant/bootstrap.py | 771 | async def _async_resolve_domains_and_preload( | CODE |
| LOW | homeassistant/bootstrap.py | 902 | async def _async_set_up_integrations( | CODE |
| LOW | homeassistant/bootstrap.py | 1087 | async def _async_setup_multi_components( | CODE |
| LOW | homeassistant/data_entry_flow.py | 151 | def _map_error_to_schema_errors( | CODE |
| LOW | homeassistant/data_entry_flow.py | 243 | def async_progress_by_handler( | CODE |
| LOW | homeassistant/data_entry_flow.py | 260 | def async_progress_by_init_data_type( | CODE |
| LOW | homeassistant/data_entry_flow.py | 277 | def _async_progress_by_handler( | CODE |
| LOW | homeassistant/data_entry_flow.py | 444 | def _async_remove_flow_from_index( | CODE |
| LOW | homeassistant/data_entry_flow.py | 459 | def _async_remove_flow_progress(self, flow_id: str) -> None: | CODE |
| 34052 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …nt_home_assistant/checkers/tests/direct_async_setup.py | 0 | record whether the current module is a test module. | STRING |
| HIGH | …assistant/checkers/tests/direct_async_migrate_entry.py | 0 | record whether the current module is a test module. | STRING |
| HIGH | …_assistant/checkers/tests/direct_async_unload_entry.py | 0 | record whether the current module is a test module. | STRING |
| HIGH | …e_assistant/checkers/tests/direct_async_setup_entry.py | 0 | record whether the current module is a test module. | STRING |
| HIGH | homeassistant/config_entries.py | 0 | return the underlying values to avoid __iter__ overhead. | STRING |
| HIGH | homeassistant/core.py | 0 | return the underlying values to avoid __iter__ overhead. | STRING |
| HIGH | homeassistant/helpers/registry.py | 0 | return the underlying values to avoid __iter__ overhead. | STRING |
| HIGH | homeassistant/auth/mfa_modules/totp.py | 0 | return a data entry flow handler for setup module. mfa module should extend setupflow | STRING |
| HIGH | homeassistant/auth/mfa_modules/__init__.py | 0 | return a data entry flow handler for setup module. mfa module should extend setupflow | STRING |
| HIGH | homeassistant/auth/mfa_modules/notify.py | 0 | return a data entry flow handler for setup module. mfa module should extend setupflow | STRING |
| HIGH | homeassistant/auth/mfa_modules/insecure_example.py | 0 | return a data entry flow handler for setup module. mfa module should extend setupflow | STRING |
| HIGH | …sistant/components/tesla_wall_connector/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/intellifire/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/opengarage/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/system_bridge/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/rympro/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …nents/google_generative_ai_conversation/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/mutesync/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/suez_water/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/fibaro/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …ssistant/components/devolo_home_network/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/bosch_alarm/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/teltonika/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/centriconnect/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/ptdevices/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/prusalink/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/airobot/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/anthropic/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/saunum/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …ssistant/components/openai_conversation/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …meassistant/components/evil_genius_labs/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …ssistant/components/azure_data_explorer/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/tractive/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …ffold/templates/config_flow/integration/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/powerwall/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/somfy_mylink/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/foscam/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/huisbaasje/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/flume/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/nws/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/canary/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/srp_energy/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/elkm1/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/airnow/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/monoprice/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …ssistant/components/aurora_abb_powerone/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …meassistant/components/ruckus_unleashed/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/harmony/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/cloudflare/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …tant/components/hunterdouglas_powerview/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/sense/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/isy994/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/vilfo/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/nuheat/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/triggercmd/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/ipp/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …eassistant/components/smart_meter_texas/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/roomba/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | homeassistant/components/flo/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| HIGH | …assistant/components/moehlenhoff_alpha2/config_flow.py | 0 | validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user. | STRING |
| 2905 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …home_assistant/checkers/entity_description_defaults.py | 71 | def _update_defaults(defaults: dict[str, object], class_node: nodes.ClassDef) -> None: | CODE |
| LOW | homeassistant/config_entries.py | 1617 | def _set_pending_import_done(self, flow: ConfigFlow) -> None: | CODE |
| LOW | homeassistant/config_entries.py | 2023 | def update_unique_id(self, entry: ConfigEntry, new_unique_id: str | None) -> None: | CODE |
| LOW | homeassistant/core.py | 457 | def set_state(self, state: CoreState) -> None: | CODE |
| LOW | homeassistant/util/dt.py | 82 | def set_default_time_zone(time_zone: dt.tzinfo) -> None: | CODE |
| LOW | homeassistant/util/resource.py | 14 | def set_open_file_descriptor_limit() -> None: | CODE |
| LOW | homeassistant/util/ulid.py | 13 | __all__ = [ | CODE |
| LOW | homeassistant/util/yaml/__init__.py | 9 | __all__ = [ | CODE |
| LOW | homeassistant/util/yaml/dumper.py | 5 | __all__ = ["add_representer", "dump", "represent_odict", "save_yaml"] | CODE |
| LOW | homeassistant/util/yaml/loader.py | 23 | __all__ = [ | CODE |
| LOW | homeassistant/util/yaml/input.py | 7 | __all__ = ["Input", "UndefinedSubstitution", "extract_inputs", "substitute"] | CODE |
| LOW | homeassistant/util/yaml/objects.py | 5 | __all__ = ["Input", "NodeDictClass", "NodeListClass", "NodeStrClass"] | CODE |
| LOW | homeassistant/auth/jwt_wrapper.py | 142 | __all__ = [ | CODE |
| LOW | homeassistant/auth/auth_store.py | 596 | def _set_defaults(self) -> None: | CODE |
| LOW | homeassistant/auth/permissions/__init__.py | 20 | __all__ = [ | CODE |
| LOW | homeassistant/components/buienradar/util.py | 39 | __all__ = ["BrData"] | CODE |
| LOW | homeassistant/components/smlight/update.py | 205 | def _update_progress(self, progress: MessageEvent) -> None: | CODE |
| LOW | homeassistant/components/smlight/update.py | 212 | def _update_done(self) -> None: | CODE |
| LOW | homeassistant/components/smlight/update.py | 225 | def _update_finished(self, event: MessageEvent) -> None: | CODE |
| LOW | homeassistant/components/smlight/update.py | 231 | def _update_failed(self, event: MessageEvent) -> None: | CODE |
| LOW | homeassistant/components/smlight/coordinator.py | 170 | def update_setting(self, setting: Settings, value: bool | int) -> None: | CODE |
| LOW | homeassistant/components/smlight/coordinator.py | 178 | def update_ambilight(self, changes: dict) -> None: | CODE |
| LOW | homeassistant/components/smlight/switch.py | 107 | async def set_smlight(self, state: bool) -> None: | CODE |
| LOW | homeassistant/components/blink/sensor.py | 103 | def _update_attr(self) -> None: | CODE |
| LOW | homeassistant/components/blink/alarm_control_panel.py | 76 | def _update_attr(self) -> None: | CODE |
| LOW | homeassistant/components/blink/binary_sensor.py | 98 | def _update_attrs(self) -> None: | CODE |
| LOW | homeassistant/components/demo/fan.py | 160 | def set_percentage(self, percentage: int) -> None: | CODE |
| LOW | homeassistant/components/demo/fan.py | 179 | def set_preset_mode(self, preset_mode: str) -> None: | CODE |
| LOW | homeassistant/components/demo/fan.py | 208 | def set_direction(self, direction: str) -> None: | CODE |
| LOW | homeassistant/components/demo/media_player.py | 144 | def set_volume_level(self, volume: float) -> None: | CODE |
| LOW | homeassistant/components/demo/media_player.py | 168 | def set_shuffle(self, shuffle: bool) -> None: | CODE |
| LOW | homeassistant/components/demo/media_player.py | 334 | def set_repeat(self, repeat: RepeatMode) -> None: | CODE |
| LOW | homeassistant/components/demo/weather.py | 176 | async def update_forecasts(_: datetime) -> None: | CODE |
| LOW | homeassistant/components/demo/vacuum.py | 162 | def set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: | CODE |
| LOW | homeassistant/components/demo/water_heater.py | 93 | def set_temperature(self, **kwargs: Any) -> None: | CODE |
| LOW | homeassistant/components/demo/water_heater.py | 99 | def set_operation_mode(self, operation_mode: str) -> None: | CODE |
| LOW | homeassistant/components/deconz/hub/__init__.py | 6 | __all__ = ["DeconzHub", "get_deconz_api"] | CODE |
| LOW | homeassistant/components/statistics/sensor.py | 1084 | def _update_extra_state_attributes(self) -> None: | CODE |
| LOW | homeassistant/components/statistics/sensor.py | 1100 | def _update_value(self) -> None: | CODE |
| LOW | homeassistant/components/statistics/__init__.py | 23 | def set_source_entity_id_or_uuid(source_entity_id: str) -> None: | CODE |
| LOW | homeassistant/components/soundtouch/media_player.py | 158 | def set_volume_level(self, volume: float) -> None: | CODE |
| LOW | homeassistant/components/no_ip/__init__.py | 76 | async def update_domain_interval(now: datetime) -> None: | CODE |
| LOW | homeassistant/components/min_max/sensor.py | 355 | def _update_device_class(self) -> None: | CODE |
| LOW | homeassistant/components/nextcloud/coordinator.py | 76 | def _update_data() -> None: | CODE |
| LOW | homeassistant/components/ambient_station/sensor.py | 777 | def update_from_latest_data(self) -> None: | CODE |
| LOW | homeassistant/components/ambient_station/entity.py | 71 | def update_from_latest_data(self) -> None: | CODE |
| LOW | …eassistant/components/ambient_station/binary_sensor.py | 404 | def update_from_latest_data(self) -> None: | CODE |
| LOW | …meassistant/components/geonetnz_quakes/geo_location.py | 125 | def _update_callback(self) -> None: | CODE |
| LOW | …meassistant/components/geonetnz_quakes/geo_location.py | 136 | def _update_from_feed(self, feed_entry: GeonetnzQuakesFeedEntry) -> None: | CODE |
| LOW | homeassistant/components/power/__init__.py | 10 | __all__ = [] | CODE |
| LOW | homeassistant/components/omie/coordinator.py | 55 | def _set_update_interval(self) -> None: | CODE |
| LOW | homeassistant/components/ads/cover.py | 159 | def set_cover_position(self, **kwargs: Any) -> None: | CODE |
| LOW | homeassistant/components/labs/__init__.py | 38 | __all__ = [ | CODE |
| LOW | …meassistant/components/geo_json_events/geo_location.py | 89 | def _update_callback(self) -> None: | CODE |
| LOW | …meassistant/components/geo_json_events/geo_location.py | 100 | def _update_from_feed(self, feed_entry: GenericFeedEntry) -> None: | CODE |
| LOW | homeassistant/components/geo_json_events/manager.py | 100 | async def _update_entity(self, external_id: str) -> None: | CODE |
| LOW | homeassistant/components/hydrawise/sensor.py | 229 | def _update_attrs(self) -> None: | CODE |
| LOW | homeassistant/components/hydrawise/switch.py | 107 | def _update_attrs(self) -> None: | CODE |
| LOW | homeassistant/components/hydrawise/entity.py | 65 | def _update_attrs(self) -> None: | CODE |
| LOW | homeassistant/components/hydrawise/binary_sensor.py | 155 | def _update_attrs(self) -> None: | CODE |
| 1249 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | homeassistant/config_entries.py | 1348 | # Create an issue, there's no need to hold the lock when doing that | COMMENT |
| MEDIUM | homeassistant/config.py | 491 | # This function is an alternative to the stringification done by | COMMENT |
| MEDIUM | homeassistant/config.py | 1329 | # Create a copy of the configuration with all config for current | COMMENT |
| MEDIUM | homeassistant/util/frozen_dataclass_compat.py | 89 | # This class is a real dataclass, optionally inject the parent's annotations | COMMENT |
| MEDIUM | homeassistant/components/huisbaasje/__init__.py | 20 | # Create the EnergyFlip client | COMMENT |
| MEDIUM | homeassistant/components/huisbaasje/__init__.py | 35 | # Create a coordinator for polling updates | COMMENT |
| MEDIUM | homeassistant/components/izone/climate.py | 200 | # Create the zones | COMMENT |
| MEDIUM | homeassistant/components/pooldose/__init__.py | 62 | # Create the PoolDose API client and connect | COMMENT |
| MEDIUM | homeassistant/components/pglab/discovery.py | 202 | # Create a PGLab device and add entities. | COMMENT |
| MEDIUM | homeassistant/components/pglab/discovery.py | 221 | # Create a new device. | COMMENT |
| MEDIUM | homeassistant/components/pglab/__init__.py | 66 | # Create an MQTT client for PGLab used for PGLab python module. | COMMENT |
| MEDIUM | homeassistant/components/imeon_inverter/__init__.py | 16 | # Create the corresponding HUB | COMMENT |
| MEDIUM | homeassistant/components/imeon_inverter/config_flow.py | 73 | # Create a new configuration entry if login succeeds | COMMENT |
| MEDIUM | homeassistant/components/liebherr/__init__.py | 58 | # Create a coordinator for each device (may be empty if no devices) | COMMENT |
| MEDIUM | homeassistant/components/intellifire/__init__.py | 83 | # Create a Cloud Interface | COMMENT |
| MEDIUM | homeassistant/components/intellifire/config_flow.py | 97 | # Define a cloud api interface we can use | COMMENT |
| MEDIUM | …assistant/components/rituals_perfume_genie/__init__.py | 75 | # Create a coordinator for each diffuser | COMMENT |
| MEDIUM | homeassistant/components/iotawatt/coordinator.py | 54 | # This method is called from each sensor upon their state being restored. | COMMENT |
| MEDIUM | homeassistant/components/homeassistant/__init__.py | 152 | # Create a new dict for this call | COMMENT |
| MEDIUM | homeassistant/components/homeassistant/triggers/time.py | 204 | # Create a temporary datetime object to get an offset. | COMMENT |
| MEDIUM | homeassistant/components/waqi/__init__.py | 42 | # Create a coordinator for each station subentry | COMMENT |
| MEDIUM | homeassistant/components/assist_pipeline/pipeline.py | 919 | # Create a background task to prepare the conversation agent | COMMENT |
| MEDIUM | homeassistant/components/assist_pipeline/pipeline.py | 2136 | # Create a temporary list in case the list is modified while we iterate | COMMENT |
| MEDIUM | homeassistant/components/config/floor_registry.py | 64 | # Create a set for the aliases without: | COMMENT |
| MEDIUM | homeassistant/components/config/floor_registry.py | 122 | # Create a set for the aliases without: | COMMENT |
| MEDIUM | homeassistant/components/config/area_registry.py | 66 | # Create a set for the aliases without: | COMMENT |
| MEDIUM | homeassistant/components/config/area_registry.py | 136 | # Create a set for the aliases without: | COMMENT |
| MEDIUM | homeassistant/components/energy/sensor.py | 282 | # Create a config wrapper that maps the sell price fields to standard names | COMMENT |
| MEDIUM | homeassistant/components/energy/validate.py | 712 | # Create a list of validation checks | COMMENT |
| MEDIUM | homeassistant/components/auth/__init__.py | 96 | ## Create a long-lived access token | STRING |
| MEDIUM | homeassistant/components/local_calendar/calendar.py | 190 | # This function is called with new events created in the local timezone, | COMMENT |
| MEDIUM | homeassistant/components/rehlko/binary_sensor.py | 146 | # Create a synthetic entity description for this loadshed parameter | COMMENT |
| MEDIUM⚡ | homeassistant/components/yale/util.py | 23 | # Create an aiohttp session instead of using the default one since the | COMMENT |
| MEDIUM | homeassistant/components/yale/camera.py | 30 | # Create an aiohttp session instead of using the default one since the | COMMENT |
| MEDIUM | homeassistant/components/google/calendar.py | 173 | # Create a separate calendar for birthdays | COMMENT |
| MEDIUM | homeassistant/components/google/calendar.py | 184 | # Create an optional disabled by default entity for Work Location | COMMENT |
| MEDIUM | homeassistant/components/vegehub/config_flow.py | 81 | # Create a VegeHub object to interact with the device | COMMENT |
| MEDIUM | homeassistant/components/vegehub/config_flow.py | 169 | # Create the config entry for the new device | COMMENT |
| MEDIUM | homeassistant/components/sftp_storage/config_flow.py | 140 | # Create a session using your credentials | COMMENT |
| MEDIUM | homeassistant/components/stream/worker.py | 212 | # Create a fragment every TARGET_PART_DURATION. The data from | COMMENT |
| MEDIUM | homeassistant/components/motionmount/entity.py | 37 | # Create a base unique id | COMMENT |
| MEDIUM | homeassistant/components/go2rtc/server.py | 31 | _GO2RTC_CONFIG_FORMAT = r"""# This file is managed by Home Assistant | CODE |
| MEDIUM⚡ | homeassistant/components/template/coordinator.py | 140 | # Create a context referring to the trigger context. | COMMENT |
| MEDIUM⚡ | homeassistant/components/template/coordinator.py | 144 | # This method is only called if there's a script | COMMENT |
| MEDIUM | homeassistant/components/template/config.py | 398 | # Create a copy of the configuration with all config for current | COMMENT |
| MEDIUM | homeassistant/components/hp_ilo/sensor.py | 90 | # Create a data fetcher to support all of the configured sensors. Then make | COMMENT |
| MEDIUM | homeassistant/components/sense/__init__.py | 57 | # Creating the AsyncSenseable object loads | COMMENT |
| MEDIUM | homeassistant/components/sense/config_flow.py | 52 | # Creating the AsyncSenseable object loads | COMMENT |
| MEDIUM | homeassistant/components/touchline_sl/__init__.py | 85 | # Create a new Device for each coorodinator to represent each module | COMMENT |
| MEDIUM | homeassistant/components/scrape/__init__.py | 159 | # Create a new sub config entry per sensor | COMMENT |
| MEDIUM | homeassistant/components/cielo_home/coordinator.py | 109 | # Define the ConfigEntry type here to avoid circular imports | COMMENT |
| MEDIUM | homeassistant/components/citybikes/sensor.py | 121 | # Create a single instance of CityBikesNetworks. | COMMENT |
| MEDIUM | homeassistant/components/gtfs/sensor.py | 645 | # Define the state as a UTC timestamp with ISO 8601 format | COMMENT |
| MEDIUM | homeassistant/components/generic_thermostat/climate.py | 666 | # Create a child context for the switch service call so we can | COMMENT |
| MEDIUM | homeassistant/components/generic_thermostat/climate.py | 695 | # Create a child context for the switch service call so we can | COMMENT |
| MEDIUM | homeassistant/components/script/config.py | 306 | # Create a copy of the configuration with all config for current | COMMENT |
| MEDIUM⚡ | homeassistant/components/notion/coordinator.py | 62 | # Define a dict of bridges, indexed by bridge ID (an integer): | COMMENT |
| MEDIUM⚡ | homeassistant/components/notion/coordinator.py | 65 | # Define a dict of listeners, indexed by listener UUID (a string): | COMMENT |
| MEDIUM⚡ | homeassistant/components/notion/coordinator.py | 68 | # Define a dict of sensors, indexed by sensor UUID (a string): | COMMENT |
| MEDIUM⚡ | homeassistant/components/notion/coordinator.py | 71 | # Define a user preferences response object: | COMMENT |
| 304 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | homeassistant/components/deconz/cover.py | 96 | await self.hub.api.lights.covers.set_state( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/cover.py | 105 | await self.hub.api.lights.covers.set_state( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/cover.py | 114 | await self.hub.api.lights.covers.set_state( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/cover.py | 123 | await self.hub.api.lights.covers.set_state( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/cover.py | 141 | await self.hub.api.lights.covers.set_state( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/cover.py | 150 | await self.hub.api.lights.covers.set_state( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/cover.py | 159 | await self.hub.api.lights.covers.set_state( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/cover.py | 168 | await self.hub.api.lights.covers.set_state( | CODE |
| CRITICAL | homeassistant/components/deconz/fan.py | 105 | await self.hub.api.lights.lights.set_state( | CODE |
| CRITICAL | homeassistant/components/deconz/fan.py | 123 | await self.hub.api.lights.lights.set_state( | CODE |
| CRITICAL | homeassistant/components/deconz/fan.py | 131 | await self.hub.api.lights.lights.set_state( | CODE |
| CRITICAL | homeassistant/components/deconz/switch.py | 57 | await self.hub.api.lights.lights.set_state( | CODE |
| CRITICAL | homeassistant/components/deconz/switch.py | 65 | await self.hub.api.lights.lights.set_state( | CODE |
| CRITICAL | homeassistant/components/deconz/button.py | 128 | await self.hub.api.sensors.presence.set_config( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/lock.py | 65 | await self.hub.api.sensors.door_lock.set_config( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/lock.py | 70 | await self.hub.api.lights.locks.set_state( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/lock.py | 79 | await self.hub.api.sensors.door_lock.set_config( | CODE |
| CRITICAL⚡ | homeassistant/components/deconz/lock.py | 84 | await self.hub.api.lights.locks.set_state( | CODE |
| CRITICAL | homeassistant/components/deconz/select.py | 98 | await self.hub.api.sensors.air_purifier.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/select.py | 130 | await self.hub.api.sensors.presence.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/select.py | 159 | await self.hub.api.sensors.presence.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/select.py | 192 | await self.hub.api.sensors.presence.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/climate.py | 151 | await self.hub.api.sensors.thermostat.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/climate.py | 171 | await self.hub.api.sensors.thermostat.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/climate.py | 176 | await self.hub.api.sensors.thermostat.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/climate.py | 213 | await self.hub.api.sensors.thermostat.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/climate.py | 245 | await self.hub.api.sensors.thermostat.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/climate.py | 250 | await self.hub.api.sensors.thermostat.set_config( | CODE |
| CRITICAL | homeassistant/components/deconz/siren.py | 63 | await self.hub.api.lights.sirens.set_state( | CODE |
| CRITICAL | homeassistant/components/deconz/siren.py | 72 | await self.hub.api.lights.sirens.set_state( | CODE |
| CRITICAL | homeassistant/components/hydrawise/sensor.py | 119 | sensor.zone.scheduled_runs.current_run.remaining_time.total_seconds() | CODE |
| CRITICAL | homeassistant/components/meteo_france/__init__.py | 110 | department = entry.runtime_data.forecast_coordinator.data.position.get("dept") | CODE |
| CRITICAL | homeassistant/components/xbox/diagnostics.py | 32 | for person in config_entry.runtime_data.presence.data.presence.values() | CODE |
| CRITICAL | homeassistant/components/xbox/diagnostics.py | 49 | for title in config_entry.runtime_data.presence.data.title_info.values() | CODE |
| CRITICAL | homeassistant/components/wled/select.py | 196 | if (segment := self.coordinator.data.state.segments.get(self._segment)) is None: | CODE |
| CRITICAL | homeassistant/components/sendgrid/notify.py | 76 | response = self._sg.client.mail.send.post(request_body=data) | CODE |
| CRITICAL | homeassistant/components/tolo/entity.py | 24 | model=self.coordinator.data.status.model.name.capitalize(), | CODE |
| CRITICAL | homeassistant/components/isy994/sensor.py | 380 | self._availability_handler = self._node.isy.nodes.status_events.subscribe( | CODE |
| CRITICAL | homeassistant/components/isy994/number.py | 272 | self._memory_change_handler = self._node.isy.nodes.status_events.subscribe( | CODE |
| CRITICAL | homeassistant/components/isy994/switch.py | 169 | self._change_handler = self._node.isy.nodes.status_events.subscribe( | CODE |
| CRITICAL | homeassistant/components/isy994/button.py | 122 | self._availability_handler = self._node.isy.nodes.status_events.subscribe( | CODE |
| CRITICAL | homeassistant/components/isy994/entity.py | 255 | self._availability_handler = self._node.isy.nodes.status_events.subscribe( | CODE |
| CRITICAL | homeassistant/components/isy994/select.py | 184 | self._memory_change_handler = self._node.isy.nodes.status_events.subscribe( | CODE |
| CRITICAL | homeassistant/components/awair/config_flow.py | 126 | self.hass.config_entries.flow._handler_progress_index.get(DOMAIN) or set(), # noqa: SLF001 | CODE |
| CRITICAL⚡ | homeassistant/components/squeezebox/media_player.py | 302 | self.coordinator.config_entry.runtime_data.known_player_ids.discard( | CODE |
| CRITICAL⚡ | homeassistant/components/squeezebox/media_player.py | 306 | self.coordinator.config_entry.runtime_data.player_coordinators.pop( | CODE |
| CRITICAL | homeassistant/components/volvo/button.py | 105 | result = await self.entry.runtime_data.context.api.async_execute_command( | CODE |
| CRITICAL | homeassistant/components/knx/climate.py | 542 | return self._device.mode.operation_mode.name.lower() | CODE |
| CRITICAL⚡ | homeassistant/components/knx/climate.py | 642 | self._device.mode.xknx.devices.async_add(self._device.mode) | CODE |
| CRITICAL⚡ | homeassistant/components/knx/climate.py | 649 | self._device.mode.xknx.devices.async_remove(self._device.mode) | CODE |
| CRITICAL | homeassistant/components/fritz/coordinator.py | 14 | from fritzconnection.core.exceptions import FritzActionError, FritzConnectionException | CODE |
| CRITICAL | homeassistant/components/balboa/climate.py | 141 | return self._client.heat_mode.state.name.lower() | CODE |
| CRITICAL | homeassistant/components/axis/light.py | 82 | await self.hub.api.vapix.light_control.get_current_intensity(self._light_id) | CODE |
| CRITICAL | homeassistant/components/axis/light.py | 85 | await self.hub.api.vapix.light_control.get_valid_intensity(self._light_id) | CODE |
| CRITICAL⚡ | homeassistant/components/axis/light.py | 105 | await self.hub.api.vapix.light_control.activate_light(self._light_id) | CODE |
| CRITICAL⚡ | homeassistant/components/axis/light.py | 109 | await self.hub.api.vapix.light_control.set_manual_intensity( | CODE |
| CRITICAL⚡ | homeassistant/components/axis/light.py | 117 | await self.hub.api.vapix.light_control.deactivate_light(self._light_id) | CODE |
| CRITICAL⚡ | homeassistant/components/axis/light.py | 122 | await self.hub.api.vapix.light_control.get_current_intensity(self._light_id) | CODE |
| CRITICAL | homeassistant/components/axis/switch.py | 73 | await self.hub.api.vapix.ports.close(self._event_id) | CODE |
| CRITICAL | homeassistant/components/axis/switch.py | 78 | await self.hub.api.vapix.ports.open(self._event_id) | CODE |
| 32 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ome_assistant/checkers/actions/swallowed_exceptions.py | 208 | except Exception: # noqa: BLE001 | CODE |
| LOW | homeassistant/data_entry_flow.py | 468 | except Exception: | CODE |
| LOW | homeassistant/config_entries.py | 1053 | except Exception as exc: | CODE |
| LOW | homeassistant/config_entries.py | 1096 | except Exception: | CODE |
| LOW | homeassistant/config_entries.py | 1190 | except Exception: | CODE |
| LOW | homeassistant/config_entries.py | 1282 | except Exception: | CODE |
| LOW | homeassistant/config.py | 607 | except Exception: | CODE |
| LOW | homeassistant/config.py | 1109 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | homeassistant/config.py | 1193 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | homeassistant/config.py | 1220 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | homeassistant/config.py | 1257 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | homeassistant/core_config.py | 892 | except Exception: | CODE |
| LOW | homeassistant/core.py | 1239 | except Exception: | CODE |
| LOW | homeassistant/core.py | 1664 | except Exception: | CODE |
| LOW | homeassistant/core.py | 1679 | except Exception: | CODE |
| LOW | homeassistant/core.py | 2990 | except Exception: | CODE |
| LOW | homeassistant/setup.py | 624 | except Exception: | CODE |
| LOW | homeassistant/requirements.py | 243 | except Exception as ex: # noqa: BLE001 | CODE |
| LOW⚡ | homeassistant/loader.py | 1351 | except Exception: | CODE |
| LOW | homeassistant/loader.py | 1098 | except Exception as err: | CODE |
| LOW | homeassistant/loader.py | 1303 | except Exception as err: | CODE |
| LOW | homeassistant/loader.py | 1544 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | homeassistant/loader.py | 1636 | except Exception as exc: | CODE |
| LOW | homeassistant/backup_restore.py | 189 | except Exception as err: | CODE |
| LOW | homeassistant/util/logging.py | 178 | except Exception: # noqa: BLE001 | CODE |
| LOW | homeassistant/util/logging.py | 188 | except Exception: # noqa: BLE001 | CODE |
| LOW | homeassistant/util/logging.py | 199 | except Exception: # noqa: BLE001 | CODE |
| LOW | homeassistant/util/logging.py | 251 | except Exception: # noqa: BLE001 | CODE |
| LOW | homeassistant/util/thread.py | 34 | except Exception as err: # noqa: BLE001 | CODE |
| LOW | homeassistant/util/async_.py | 66 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …stant/components/nederlandse_spoorwegen/config_flow.py | 54 | except Exception: | CODE |
| LOW | …sistant/components/tesla_wall_connector/config_flow.py | 158 | except Exception: | CODE |
| LOW | homeassistant/components/syncthing/config_flow.py | 38 | except Exception as error: | CODE |
| LOW | homeassistant/components/blink/coordinator.py | 55 | except Exception as ex: | CODE |
| LOW | homeassistant/components/blink/config_flow.py | 82 | except Exception: | CODE |
| LOW | homeassistant/components/blink/config_flow.py | 111 | except Exception: | CODE |
| LOW | homeassistant/components/blink/config_flow.py | 143 | except Exception: | CODE |
| LOW | homeassistant/components/blink/config_flow.py | 176 | except Exception: | CODE |
| LOW | homeassistant/components/intelliclima/config_flow.py | 56 | except Exception: # noqa: BLE001 | CODE |
| LOW | homeassistant/components/webhook/__init__.py | 213 | except Exception: | CODE |
| LOW | homeassistant/components/aseko_pool_live/config_flow.py | 57 | except Exception: | CODE |
| LOW | homeassistant/components/aseko_pool_live/config_flow.py | 115 | except Exception: | CODE |
| LOW | homeassistant/components/zeversolar/config_flow.py | 50 | except Exception: | CODE |
| LOW | homeassistant/components/firefly_iii/config_flow.py | 77 | except Exception: | CODE |
| LOW | homeassistant/components/firefly_iii/config_flow.py | 116 | except Exception: | CODE |
| LOW | homeassistant/components/firefly_iii/config_flow.py | 153 | except Exception: | CODE |
| LOW | homeassistant/components/labs/websocket_api.py | 91 | except Exception as err: # noqa: BLE001 - websocket handlers can catch broad exceptions | CODE |
| LOW | homeassistant/components/powerwall/config_flow.py | 219 | except Exception as ex: | CODE |
| LOW | homeassistant/components/flipr/config_flow.py | 49 | except Exception: | CODE |
| LOW | homeassistant/components/anglian_water/config_flow.py | 42 | except Exception: | CODE |
| LOW | homeassistant/components/foscam/config_flow.py | 118 | except Exception: # noqa: BLE001 | CODE |
| LOW | homeassistant/components/fully_kiosk/config_flow.py | 51 | except Exception as error: # pylint: disable=broad-except | CODE |
| LOW | homeassistant/components/renault/config_flow.py | 64 | except Exception: | CODE |
| LOW | homeassistant/components/notify/legacy.py | 122 | except Exception: # noqa: BLE001 | CODE |
| LOW | homeassistant/components/huisbaasje/config_flow.py | 47 | except Exception: | CODE |
| LOW | homeassistant/components/lojack/__init__.py | 62 | except Exception: | CODE |
| LOW | homeassistant/components/lojack/config_flow.py | 51 | except Exception: | CODE |
| LOW | homeassistant/components/lojack/config_flow.py | 96 | except Exception: | CODE |
| LOW | homeassistant/components/karakeep/config_flow.py | 55 | except Exception: | CODE |
| LOW⚡ | homeassistant/components/control4/config_flow.py | 81 | except Exception: | CODE |
| 840 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ins/pylint_home_assistant/checkers/greek_micro_char.py | 39 | CODE | |
| LOW | …nt_home_assistant/checkers/sequential_executor_jobs.py | 72 | CODE | |
| LOW | …lint/plugins/pylint_home_assistant/checkers/imports.py | 335 | CODE | |
| LOW | …lint/plugins/pylint_home_assistant/checkers/imports.py | 363 | CODE | |
| LOW | …lint_home_assistant/checkers/exception_translations.py | 56 | CODE | |
| LOW | …gins/pylint_home_assistant/checkers/duplicate_const.py | 19 | CODE | |
| LOW | …me_assistant/checkers/quality_scale/has_entity_name.py | 96 | CODE | |
| LOW | …home_assistant/checkers/config_flow/unique_id_no_ip.py | 127 | CODE | |
| LOW | …home_assistant/checkers/config_flow/unique_id_no_ip.py | 51 | CODE | |
| LOW | …home_assistant/checkers/tests/redundant_usefixtures.py | 48 | CODE | |
| LOW | …home_assistant/checkers/tests/redundant_usefixtures.py | 86 | CODE | |
| LOW | …ome_assistant/checkers/actions/swallowed_exceptions.py | 93 | CODE | |
| LOW | …ome_assistant/checkers/actions/service_registration.py | 52 | CODE | |
| LOW | …gins/pylint_home_assistant/checkers/actions/helpers.py | 33 | CODE | |
| LOW | …ylint_home_assistant/checkers/type_hints/validators.py | 157 | CODE | |
| LOW | …/pylint_home_assistant/checkers/type_hints/__init__.py | 116 | CODE | |
| LOW | pylint/plugins/pylint_home_assistant/helpers/icons.py | 43 | CODE | |
| LOW | …/plugins/pylint_home_assistant/helpers/translations.py | 23 | CODE | |
| LOW | …/plugins/pylint_home_assistant/helpers/translations.py | 138 | CODE | |
| LOW | homeassistant/bootstrap.py | 309 | CODE | |
| LOW | homeassistant/bootstrap.py | 574 | CODE | |
| LOW | homeassistant/data_entry_flow.py | 340 | CODE | |
| LOW | homeassistant/runner.py | 79 | CODE | |
| LOW | homeassistant/setup.py | 280 | CODE | |
| LOW | homeassistant/requirements.py | 249 | CODE | |
| LOW | homeassistant/loader.py | 1385 | CODE | |
| LOW | homeassistant/loader.py | 1127 | CODE | |
| LOW | homeassistant/backup_restore.py | 81 | CODE | |
| LOW | homeassistant/util/color.py | 313 | CODE | |
| LOW | homeassistant/auth/auth_store.py | 312 | CODE | |
| LOW | homeassistant/components/buienradar/sensor.py | 786 | CODE | |
| LOW | homeassistant/components/smlight/update.py | 182 | CODE | |
| LOW | homeassistant/components/smlight/config_flow.py | 75 | CODE | |
| LOW | homeassistant/components/smlight/config_flow.py | 103 | CODE | |
| LOW | homeassistant/components/smlight/config_flow.py | 165 | CODE | |
| LOW | homeassistant/components/deconz/sensor.py | 423 | CODE | |
| LOW | homeassistant/components/deconz/deconz_event.py | 56 | CODE | |
| LOW | homeassistant/components/deconz/deconz_event.py | 60 | CODE | |
| LOW | homeassistant/components/statistics/sensor.py | 836 | CODE | |
| LOW | homeassistant/components/soundtouch/__init__.py | 67 | CODE | |
| LOW | homeassistant/components/soundtouch/__init__.py | 70 | CODE | |
| LOW | homeassistant/components/wiim/media_player.py | 374 | CODE | |
| LOW | homeassistant/components/wiim/media_player.py | 637 | CODE | |
| LOW | homeassistant/components/ads/cover.py | 88 | CODE | |
| LOW | …meassistant/components/here_travel_time/coordinator.py | 374 | CODE | |
| LOW | homeassistant/components/powerwall/config_flow.py | 140 | CODE | |
| LOW | homeassistant/components/anglian_water/coordinator.py | 74 | CODE | |
| LOW | homeassistant/components/hydrawise/coordinator.py | 110 | CODE | |
| LOW | homeassistant/components/fully_kiosk/services.py | 24 | CODE | |
| LOW | homeassistant/components/notify/legacy.py | 66 | CODE | |
| LOW | homeassistant/components/notify/legacy.py | 73 | CODE | |
| LOW | homeassistant/components/control4/cover.py | 44 | CODE | |
| LOW | homeassistant/components/control4/light.py | 34 | CODE | |
| LOW | homeassistant/components/control4/media_player.py | 75 | CODE | |
| LOW | homeassistant/components/smartthings/sensor.py | 1326 | CODE | |
| LOW | homeassistant/components/smartthings/__init__.py | 335 | CODE | |
| LOW | homeassistant/components/smartthings/__init__.py | 499 | CODE | |
| LOW | homeassistant/components/smartthings/__init__.py | 632 | CODE | |
| LOW | homeassistant/components/smartthings/__init__.py | 660 | CODE | |
| LOW | homeassistant/components/smartthings/__init__.py | 347 | CODE | |
| 876 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | homeassistant/bootstrap.py | 22 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 40 | CODE | |
| LOW | homeassistant/bootstrap.py | 64 | CODE | |
| LOW | homeassistant/bootstrap.py | 116 | CODE | |
| LOW | homeassistant/bootstrap.py | 121 | CODE | |
| LOW | homeassistant/setup.py | 16 | CODE | |
| LOW | homeassistant/util/percentage.py | 3 | CODE | |
| LOW | homeassistant/util/percentage.py | 3 | CODE | |
| LOW | homeassistant/util/ulid.py | 3 | CODE | |
| LOW | homeassistant/util/ulid.py | 3 | CODE | |
| LOW | homeassistant/util/ulid.py | 3 | CODE | |
| LOW | homeassistant/util/ulid.py | 3 | CODE | |
| LOW | homeassistant/util/ulid.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 4 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 4 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 4 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 6 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 6 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 7 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 7 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 7 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 7 | CODE | |
| LOW | homeassistant/util/yaml/__init__.py | 7 | CODE | |
| LOW | homeassistant/util/yaml/dumper.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/dumper.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/dumper.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/dumper.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/loader.py | 8 | CODE | |
| LOW | homeassistant/util/yaml/loader.py | 8 | CODE | |
| LOW | homeassistant/util/yaml/input.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/input.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/input.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/input.py | 5 | CODE | |
| LOW | homeassistant/util/yaml/objects.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/objects.py | 3 | CODE | |
| LOW | homeassistant/util/yaml/objects.py | 3 | CODE | |
| 698 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | homeassistant/config_entries.py | 1744 | # Check if config entry exists with unique ID. Unload it. | COMMENT |
| LOW | homeassistant/config.py | 1152 | # Check if the integration has a custom config validator | COMMENT |
| LOW | homeassistant/core_config.py | 359 | # Check if we need to raise an issue for imperial unit system | COMMENT |
| LOW | homeassistant/__main__.py | 190 | # Check if another instance is already running | COMMENT |
| LOW | homeassistant/util/color.py | 248 | # Check if the given xy value is within the color-reach of the lamp. | COMMENT |
| LOW | homeassistant/util/color.py | 725 | # Check if the three points of the supplied gamut are not on the same line. | COMMENT |
| LOW | homeassistant/util/color.py | 730 | # Check if all six coordinates of the gamut lie between 0 and 1. | COMMENT |
| LOW | homeassistant/util/dt.py | 560 | # Check if we can round trip to UTC | COMMENT |
| LOW | homeassistant/util/__init__.py | 192 | # Check if method is never called or no_throttle is given | COMMENT |
| LOW | homeassistant/components/buienradar/sensor.py | 788 | # Check if we have a new measurement, | COMMENT |
| LOW | …stant/components/nederlandse_spoorwegen/config_flow.py | 108 | # Check if this API key is already used by another entry | COMMENT |
| LOW | homeassistant/components/soundtouch/config_flow.py | 88 | # Check if already configured | COMMENT |
| LOW | homeassistant/components/powerwall/__init__.py | 93 | # Check if we had an error before | COMMENT |
| LOW | homeassistant/components/brother/config_flow.py | 169 | # Check if already configured | COMMENT |
| LOW | homeassistant/components/meteo_france/config_flow.py | 73 | # Check if already configured | COMMENT |
| LOW | homeassistant/components/pooldose/__init__.py | 39 | # Check if this entry needs migration | COMMENT |
| LOW | homeassistant/components/control4/__init__.py | 144 | # Check if OS version is 3 or higher to get UI configuration | COMMENT |
| LOW | homeassistant/components/pglab/discovery.py | 136 | # Check if the discovery message is in valid json format. | COMMENT |
| LOW | homeassistant/components/pglab/discovery.py | 146 | # Check if the key id is present in the payload. It must always be present. | COMMENT |
| LOW | homeassistant/components/meteoclimatic/config_flow.py | 64 | # Check if already configured | COMMENT |
| LOW | homeassistant/components/imeon_inverter/config_flow.py | 69 | # Check if entry already exists | COMMENT |
| LOW | …meassistant/components/onedrive_for_business/backup.py | 270 | # Check if corresponding backup file exists | COMMENT |
| LOW | homeassistant/components/schedule/__init__.py | 73 | # Check if the start time of the next event is before | COMMENT |
| LOW | homeassistant/components/schedule/__init__.py | 83 | # Check if the from time of the event is after the to time of the previous event | COMMENT |
| LOW | homeassistant/components/lacrosse_view/config_flow.py | 83 | # Check if we are reauthenticating | COMMENT |
| LOW | homeassistant/components/nws/sensor.py | 214 | # Set alias to unit property -> prevent unnecessary hasattr calls | COMMENT |
| LOW | homeassistant/components/mobile_app/webhook.py | 678 | # Check if disabled | COMMENT |
| LOW | homeassistant/components/switchbee/__init__.py | 45 | # Check if websocket version | COMMENT |
| LOW | homeassistant/components/slide/__init__.py | 98 | # Check if we have pos (OK) or code (NOK) | COMMENT |
| LOW | homeassistant/components/elgato/config_flow.py | 172 | # Check if already configured | COMMENT |
| LOW | homeassistant/components/homeassistant/triggers/time.py | 118 | # Check if current weekday matches the configuration | COMMENT |
| LOW | homeassistant/components/aquacell/coordinator.py | 70 | # Check if the refresh token is expired | COMMENT |
| LOW | homeassistant/components/vizio/config_flow.py | 229 | # Check if unique ID was found, set unique ID, and abort if a flow with | COMMENT |
| LOW | homeassistant/components/assist_pipeline/pipeline.py | 1315 | # Check if all targeted entities were in the same area as | COMMENT |
| LOW | homeassistant/components/system_bridge/config_flow.py | 140 | # Check if already configured | COMMENT |
| LOW | homeassistant/components/system_bridge/config_flow.py | 197 | # Check if already configured | COMMENT |
| LOW | …meassistant/components/lutron_caseta/device_trigger.py | 415 | # Check if device is a valid keypad. Return empty if not. | COMMENT |
| LOW | homeassistant/components/wmspro/config_flow.py | 45 | try: # Check if current host is a valid IP address | CODE |
| LOW | homeassistant/components/flexit_bacnet/switch.py | 73 | # Check if deprecated fireplace switch is enabled and create repair issue | COMMENT |
| LOW | homeassistant/components/energyid/__init__.py | 325 | # Check if entity is already mapped | COMMENT |
| LOW | homeassistant/components/energyid/config_flow.py | 205 | # Check if device has been claimed | COMMENT |
| LOW | …nt/components/energyid/energyid_sensor_mapping_flow.py | 79 | # Check if entity exists | COMMENT |
| LOW | …nt/components/energyid/energyid_sensor_mapping_flow.py | 85 | # Check if entity is already mapped (by UUID) | COMMENT |
| LOW | homeassistant/components/xiaomi_tv/media_player.py | 47 | # Check if there's a valid TV at the IP address. | COMMENT |
| LOW | homeassistant/components/lyric/climate.py | 470 | # Set auto_changeover_active to True if the mode being passed is Auto | COMMENT |
| LOW | homeassistant/components/lektrico/config_flow.py | 121 | # Check if already configured | COMMENT |
| LOW | homeassistant/components/onedrive/backup.py | 282 | # Check if corresponding backup file exists | COMMENT |
| LOW | …istant/components/device_sun_light_trigger/__init__.py | 269 | # Check if any light is on | COMMENT |
| LOW | homeassistant/components/electrasmart/config_flow.py | 83 | # Check if already configured | COMMENT |
| LOW | homeassistant/components/coinbase/__init__.py | 60 | # Check if user is using deprecated v2 API credentials | COMMENT |
| LOW | homeassistant/components/ps4/config_flow.py | 66 | # Check if able to bind to ports: UDP 987, TCP 997. | COMMENT |
| LOW | homeassistant/components/wiz/config_flow.py | 145 | # Check if there is at least one device | COMMENT |
| LOW | homeassistant/components/mikrotik/coordinator.py | 141 | # Check if connection/login are still valid | COMMENT |
| LOW | homeassistant/components/vegehub/config_flow.py | 94 | # Check if this device already exists | COMMENT |
| LOW | homeassistant/components/vegehub/config_flow.py | 156 | # Check if this device already exists | COMMENT |
| LOW | homeassistant/components/portainer/coordinator.py | 305 | # Check if container belongs to a stack via docker compose label | COMMENT |
| LOW | homeassistant/components/spotify/browse_media.py | 196 | # Check if caller is requesting the root nodes | COMMENT |
| LOW | homeassistant/components/stream/worker.py | 255 | # Check if audio is requested | COMMENT |
| LOW | homeassistant/components/flux_led/config_flow.py | 282 | # Check if there is at least one device | COMMENT |
| LOW | …assistant/components/ziggo_mediabox_xl/media_player.py | 62 | # Check if a connection can be established to the device. | COMMENT |
| 286 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | homeassistant/components/auth/login_flow.py | 10 | "id": null, | STRING |
| HIGH | homeassistant/components/auth/login_flow.py | 30 | "handler": ["local_provider", null], | STRING |
| HIGH | homeassistant/components/auth/login_flow.py | 45 | "handler": ["insecure_example", null], | STRING |
| HIGH | homeassistant/components/auth/login_flow.py | 63 | "handler": ["insecure_example", null], | STRING |
| HIGH | homeassistant/components/rainmachine/sensor.py | 343 | # Timestamp may return 0 instead of null, explicitly set to None | COMMENT |
| HIGH | homeassistant/components/matter/models.py | 146 | # for example to filter out invalid values (such as empty string instead of null) | COMMENT |
| HIGH⚡ | homeassistant/components/maxcube/climate.py | 146 | Both parameters are optional. When mode is undefined, it keeps | STRING |
| HIGH⚡ | homeassistant/components/maxcube/climate.py | 147 | the previous mode. When temp is undefined, it fetches the | STRING |
| HIGH | tests/test_core.py | 1116 | b'"context":{"id":"01H0D6K3RFJAYAV2093ZW30PCW","parent_id":null,"user_id":null}}' | CODE |
| HIGH | tests/components/template/test_light.py | 1003 | (None, "[{{(360)}},{{null}}]", ColorMode.HS), | CODE |
| HIGH | tests/components/matter/test_sensor.py | 853 | # Test setting to 0 (invalid/null) - should result in unknown state | COMMENT |
| HIGH | tests/components/matter/test_number.py | 82 | # Set a concrete value (not null) | COMMENT |
| HIGH | tests/components/pvpc_hourly_pricing/conftest.py | 77 | '"values_updated_at":null,"values":[]}}' | CODE |
| HIGH⚡ | tests/components/tasmota/test_config_flow.py | 37 | '"fn":["Tasmota",null,null,null,null,' | CODE |
| HIGH⚡ | tests/components/tasmota/test_config_flow.py | 38 | 'null,null,null],"hn":"tasmota_0848A2",' | CODE |
| HIGH⚡ | tests/components/tasmota/test_config_flow.py | 43 | '"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0],' | CODE |
| HIGH⚡ | tests/components/tasmota/test_config_flow.py | 76 | '"fn":["Tasmota",null,null,null,null,' | CODE |
| HIGH⚡ | tests/components/tasmota/test_config_flow.py | 77 | 'null,null,null],"hn":"tasmota_0848A2",' | CODE |
| HIGH⚡ | tests/components/tasmota/test_config_flow.py | 82 | '"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0],' | CODE |
| HIGH⚡ | tests/components/tasmota/test_config_flow.py | 103 | '"fn":["Tasmota",null,null,null,null,' | CODE |
| HIGH⚡ | tests/components/tasmota/test_config_flow.py | 104 | 'null,null,null],"hn":"tasmota_0848A2",' | CODE |
| HIGH⚡ | tests/components/tasmota/test_config_flow.py | 109 | '"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0],' | CODE |
| HIGH | tests/components/victron_gx/test_time.py | 106 | '{"value": null}', | CODE |
| HIGH | tests/components/roborock/mock_data.py | 161 | '{"max": 100, "min": 0, "step": 1, "unit": null, "scale": 1}' | CODE |
| HIGH | tests/components/roborock/mock_data.py | 172 | '{"max": 100, "min": 0, "step": 1, "unit": null, "scale": 1}' | CODE |
| HIGH | tests/components/roborock/mock_data.py | 183 | '{"max": 100, "min": 0, "step": 1, "unit": null, "scale": 1}' | CODE |
| HIGH | tests/components/nightscout/__init__.py | 24 | '{"status":"ok","name":"nightscout","version":"13.0.1","serverTime":"2020-08-05T18:14:02.032Z","serverTimeEpoch" | CODE |
| HIGH | tests/components/nightscout/__init__.py | 73 | '{"advanced":true,"days":1}},"authorized":null}' | CODE |
| HIGH | tests/components/intent_script/test_init.py | 188 | "reprompt": {"text": "{{ null }}"}, | CODE |
| HIGH | tests/components/mqtt/test_device_tracker.py | 479 | hass, "attributes-topic", '{"longitude": -117.22743, "latitude":null}' | CODE |
| HIGH | tests/components/mqtt/test_device_tracker.py | 521 | '{"latitude": null,"longitude": "-117.22743",' | CODE |
| HIGH | tests/components/mqtt/test_device_tracker.py | 777 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_water_heater.py | 1272 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_time.py | 589 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_light_template.py | 1551 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_light_template.py | 1582 | async_fire_mqtt_message(hass, "test-topic", '{"r": 255, "g": 255, "b": null }') | CODE |
| HIGH | tests/components/mqtt/test_select.py | 163 | async_fire_mqtt_message(hass, "test/select_stat", '{"val": null}') | CODE |
| HIGH | tests/components/mqtt/test_select.py | 862 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_siren.py | 195 | async_fire_mqtt_message(hass, "state-topic", '{"val": null }') | CODE |
| HIGH | tests/components/mqtt/test_siren.py | 1138 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_light_json.py | 441 | async_fire_mqtt_message(hass, "test_light_rgb", '{"state": null}') | CODE |
| HIGH | tests/components/mqtt/test_light_json.py | 757 | '"color":null,' | CODE |
| HIGH | tests/components/mqtt/test_light_json.py | 2365 | '{"state":"ON", "color": null, "color_temp": 100, "color_mode": "color_temp"}', | CODE |
| HIGH | tests/components/mqtt/test_valve.py | 203 | ('{"position":null}', STATE_UNKNOWN), | CODE |
| HIGH | tests/components/mqtt/test_valve.py | 327 | ('{"position": 100, "state": null}', ValveState.OPEN, 100), | CODE |
| HIGH | tests/components/mqtt/test_valve.py | 1492 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_image.py | 825 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_lawn_mower.py | 216 | async_fire_mqtt_message(hass, "test/lawn_mower_stat", '{"val": null}') | CODE |
| HIGH | tests/components/mqtt/test_lawn_mower.py | 954 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_alarm_control_panel.py | 1467 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_fan.py | 407 | async_fire_mqtt_message(hass, "state-topic", '{"val": null}') | CODE |
| HIGH | tests/components/mqtt/test_fan.py | 2432 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_humidifier.py | 414 | async_fire_mqtt_message(hass, "state-topic", '{"val": null}') | CODE |
| HIGH | tests/components/mqtt/test_humidifier.py | 431 | async_fire_mqtt_message(hass, "action-topic", '{"val": null}') | CODE |
| HIGH | tests/components/mqtt/test_humidifier.py | 1630 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH⚡ | tests/components/mqtt/test_update.py | 946 | async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }') | CODE |
| HIGH | tests/components/mqtt/test_update.py | 513 | async_fire_mqtt_message(hass, state_topic, '{"update_percentage":null}') | CODE |
| HIGH | tests/components/mqtt/test_update.py | 899 | ("test-topic", '{"update_percentage": 100}', '{"update_percentage": null}'), | CODE |
| HIGH | tests/components/mqtt/test_discovery.py | 1213 | '"state_topic": "test-topic", "o": null }', | CODE |
| HIGH | tests/components/mqtt/test_discovery.py | 1242 | '"state_topic":"test-topic"}},"o": null}', | CODE |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | homeassistant/components/logbook/models.py | 98 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/teleinfo/sensor.py | 62 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | homeassistant/components/teleinfo/sensor.py | 64 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | homeassistant/components/teleinfo/sensor.py | 87 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | homeassistant/components/teleinfo/sensor.py | 89 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | homeassistant/components/teleinfo/sensor.py | 97 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | homeassistant/components/teleinfo/sensor.py | 99 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | homeassistant/components/teleinfo/sensor.py | 114 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | homeassistant/components/teleinfo/sensor.py | 116 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | homeassistant/components/teleinfo/sensor.py | 139 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | homeassistant/components/teleinfo/sensor.py | 141 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | homeassistant/components/immich/media_source.py | 89 | # -------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/immich/media_source.py | 91 | # -------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/immich/media_source.py | 107 | # -------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/immich/media_source.py | 109 | # -------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/immich/media_source.py | 134 | # -------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/immich/media_source.py | 136 | # -------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/immich/media_source.py | 218 | # -------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/immich/media_source.py | 220 | # -------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/intent/timers.py | 513 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/wyoming/assist_satellite.py | 408 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/wyoming/assist_satellite.py | 430 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/wyoming/assist_satellite.py | 517 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/voip/assist_satellite.py | 366 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/voip/assist_satellite.py | 368 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/zwave_js/binary_sensor.py | 1001 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/zwave_js/binary_sensor.py | 1009 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/zwave_js/binary_sensor.py | 1181 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | homeassistant/components/zwave_js/binary_sensor.py | 1334 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/components/jewish_calendar/test_calendar.py | 82 | # ─── Event Format ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 51 | # ─── Entity Registration ───────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 116 | # ─── Daily Events ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 136 | # ─── Yearly Events: Weekly Torah Portion ────────────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 216 | # ─── Yearly Events: Holidays ───────────────────────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 234 | # ─── Yearly Events: Omer Count ─────────────────────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 256 | # ─── Yearly Events: Candle Lighting & Havdalah ─────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 313 | # ─── Learning Schedule ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 334 | # ─── Custom Configuration ──────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 393 | # ─── Date Range Queries ────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/components/jewish_calendar/test_calendar.py | 410 | # ─── Calendar State / Event Property ───────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/components/waterfurnace/test_statistics.py | 122 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/components/waterfurnace/test_statistics.py | 124 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/components/waterfurnace/test_statistics.py | 291 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/components/waterfurnace/test_statistics.py | 293 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 729 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 731 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 785 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 787 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 836 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 838 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 897 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 899 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 954 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 956 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 993 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 995 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 1035 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/components/energyid/test_init.py | 1037 | # ============================================================================ | COMMENT |
| MEDIUM | tests/components/fing/test_device_tracker.py | 92 | # ---------------------------------------------------- | COMMENT |
| MEDIUM | tests/components/fing/test_device_tracker.py | 100 | # ---------------------------------------------------- | COMMENT |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | homeassistant/components/auth/__init__.py | 82 | "name": "John Doe", | STRING |
| LOW | homeassistant/components/brands/__init__.py | 255 | use_placeholder = request.query.get("placeholder") != "no" | CODE |
| LOW | homeassistant/components/knx/strings.json | 996 | "placeholder": "Add your notes here..." | CODE |
| LOW | homeassistant/helpers/selector.py | 1136 | {vol.Optional("placeholder"): str} | CODE |
| LOW⚡ | tests/test_data_entry_flow.py | 939 | raise data_entry_flow.AbortFlow("mock-reason", {"placeholder": "yo"}) | CODE |
| LOW⚡ | tests/test_data_entry_flow.py | 944 | assert form["description_placeholders"] == {"placeholder": "yo"} | CODE |
| LOW | tests/test_data_entry_flow.py | 183 | "section_1": {"full_name": "John Doe"}, | CODE |
| LOW | tests/test_data_entry_flow.py | 207 | assert section_markers[0].description == {"suggested_value": "John Doe"} | CODE |
| LOW | tests/test_data_entry_flow.py | 964 | raise data_entry_flow.AbortFlow("mock-reason", {"placeholder": "yo"}) | CODE |
| LOW | tests/test_data_entry_flow.py | 971 | assert form["description_placeholders"] == {"placeholder": "yo"} | CODE |
| LOW | tests/components/intelliclima/conftest.py | 143 | mock_client.auth_token = "fake-token" | CODE |
| LOW | tests/components/intelliclima/conftest.py | 144 | mock_client.user_id = "fake-user-id" | CODE |
| LOW | tests/components/zinvolt/conftest.py | 31 | title="test@test.com", | CODE |
| LOW | tests/components/zinvolt/test_config_flow.py | 31 | CONF_EMAIL: "test@test.com", | CODE |
| LOW | tests/components/zinvolt/test_config_flow.py | 37 | assert result["title"] == "test@test.com" | CODE |
| LOW | tests/components/zinvolt/test_config_flow.py | 68 | CONF_EMAIL: "test@test.com", | CODE |
| LOW | tests/components/zinvolt/test_config_flow.py | 81 | CONF_EMAIL: "test@test.com", | CODE |
| LOW | tests/components/zinvolt/test_config_flow.py | 104 | CONF_EMAIL: "test@test.com", | CODE |
| LOW | tests/components/onedrive_for_business/conftest.py | 67 | title="John Doe's OneDrive", | CODE |
| LOW | tests/components/onedrive_for_business/conftest.py | 133 | display_name="John Doe", | CODE |
| LOW | …s/components/onedrive_for_business/test_config_flow.py | 107 | assert result["title"] == "John Doe's OneDrive (john@doe.com)" | CODE |
| LOW | …s/components/onedrive_for_business/test_config_flow.py | 196 | assert result["title"] == "John Doe's OneDrive (john@doe.com)" | CODE |
| LOW | tests/components/onedrive_for_business/const.py | 28 | display_name="John Doe", | CODE |
| LOW | tests/components/litterrobot/common.py | 6 | CONFIG = {DOMAIN: {CONF_USERNAME: "user@example.com", CONF_PASSWORD: "password"}} | CODE |
| LOW⚡ | tests/components/paj_gps/test_config_flow.py | 20 | CONF_EMAIL: "user@example.com", | CODE |
| LOW⚡ | tests/components/paj_gps/test_config_flow.py | 28 | ("user@example.com", "user@example.com"), | CODE |
| LOW⚡ | tests/components/paj_gps/test_config_flow.py | 29 | (" USER@EXAMPLE.COM ", "user@example.com"), | CODE |
| LOW⚡ | tests/components/aquacell/__init__.py | 16 | CONF_EMAIL: "test@test.com", | CODE |
| LOW⚡ | tests/components/aquacell/__init__.py | 24 | CONF_EMAIL: "test@test.com", | CODE |
| LOW⚡ | tests/components/aquacell/__init__.py | 31 | CONF_EMAIL: "test@test.com", | CODE |
| LOW | tests/components/freedompro/test_init.py | 14 | ENTITY_ID = f"{DOMAIN}.fake_name" | CODE |
| LOW⚡ | tests/components/poolsense/conftest.py | 61 | title="test@test.com", | CODE |
| LOW⚡ | tests/components/poolsense/conftest.py | 62 | unique_id="test@test.com", | CODE |
| LOW⚡ | tests/components/poolsense/conftest.py | 64 | CONF_EMAIL: "test@test.com", | CODE |
| LOW⚡ | tests/components/poolsense/test_config_flow.py | 29 | user_input={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"}, | CODE |
| LOW⚡ | tests/components/poolsense/test_config_flow.py | 33 | assert result["title"] == "test@test.com" | CODE |
| LOW⚡ | tests/components/poolsense/test_config_flow.py | 35 | CONF_EMAIL: "test@test.com", | CODE |
| LOW⚡ | tests/components/poolsense/test_config_flow.py | 38 | assert result["result"].unique_id == "test@test.com" | CODE |
| LOW | tests/components/poolsense/test_config_flow.py | 52 | data={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"}, | CODE |
| LOW | tests/components/poolsense/test_config_flow.py | 62 | user_input={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"}, | CODE |
| LOW | tests/components/poolsense/test_config_flow.py | 78 | data={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"}, | CODE |
| LOW⚡ | tests/components/discovergy/conftest.py | 52 | title="user@example.org", | CODE |
| LOW⚡ | tests/components/discovergy/conftest.py | 53 | unique_id="user@example.org", | CODE |
| LOW⚡ | tests/components/discovergy/conftest.py | 54 | data={CONF_EMAIL: "user@example.org", CONF_PASSWORD: "supersecretpassword"}, | CODE |
| LOW | tests/components/discovergy/test_config_flow.py | 63 | CONF_EMAIL: "user@example.org", | CODE |
| LOW | tests/components/discovergy/test_config_flow.py | 133 | CONF_EMAIL: "user2@example.org", | CODE |
| LOW | tests/components/alexa_devices/const.py | 19 | TEST_USERNAME = "fake_email@gmail.com" | CODE |
| LOW | tests/components/onedrive/conftest.py | 68 | title="John Doe's OneDrive", | CODE |
| LOW | tests/components/onedrive/conftest.py | 115 | display_name="John Doe", | CODE |
| LOW | tests/components/onedrive/conftest.py | 154 | display_name="John Doe", | CODE |
| LOW | tests/components/onedrive/test_config_flow.py | 99 | assert result["title"] == "John Doe's OneDrive" | CODE |
| LOW | tests/components/onedrive/test_config_flow.py | 176 | assert result["title"] == "John Doe's OneDrive" | CODE |
| LOW | tests/components/onedrive/test_init.py | 237 | title="John Doe's OneDrive", | CODE |
| LOW | tests/components/onedrive/test_init.py | 259 | title="John Doe's OneDrive", | CODE |
| LOW | tests/components/onedrive/test_init.py | 282 | title="John Doe's OneDrive", | CODE |
| LOW | tests/components/onedrive/const.py | 27 | display_name="John Doe", | CODE |
| LOW | tests/components/vicare/__init__.py | 13 | CONF_USERNAME: "foo@bar.com", | CODE |
| LOW | tests/components/vicare/test_init.py | 45 | CONF_USERNAME: "foo@bar.com", | CODE |
| LOW | tests/components/vicare/test_init.py | 85 | CONF_USERNAME: "foo@bar.com", | CODE |
| LOW | tests/components/vicare/test_init.py | 117 | CONF_USERNAME: "foo@bar.com", | CODE |
| 150 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | homeassistant/components/control4/config_flow.py | 63 | # Step 1: Authenticate with Control4 cloud API | COMMENT |
| LOW⚡ | homeassistant/components/control4/config_flow.py | 88 | # Step 2: Connect to local Control4 Director | COMMENT |
| LOW | homeassistant/components/airos/__init__.py | 178 | # Step 1 - migrate binary_sensor entity unique_id | COMMENT |
| LOW | homeassistant/components/airos/__init__.py | 179 | # Step 2 - migrate device entity identifier | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3306 | # Step 1 - Disable foreign keys | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3308 | # Step 2 - create a transaction | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3310 | # Step 3 - we know all the indexes, triggers, and | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3317 | # Step 4 - Create temp table | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3320 | # Step 5 - Transfer content | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3323 | # Step 6 - Drop the original table | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3325 | # Step 7 - Rename the temp table | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3327 | # Step 8 - Recreate indexes | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3330 | # Step 9 - Recreate views (there are none) | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3331 | # Step 10 - Check foreign keys | COMMENT |
| LOW⚡ | homeassistant/components/recorder/migration.py | 3333 | # Step 11 - Commit transaction | COMMENT |
| LOW | homeassistant/components/recorder/migration.py | 3346 | # Step 12 - Re-enable foreign keys | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 62 | # Step 1: 1 PM CET (before 13:30 CET publication) | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 69 | # Step 2: 3 PM CET - verify listeners update with existing data, no new API calls | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 129 | # Step 1: 1 PM CET (before 13:30 CET publication) - only Jan 15 data available | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 135 | # Step 2: 2 PM CET (after 13:30 CET publication) - Jan 16 data now available | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 144 | # Step 3: 3 PM CET - verify listeners update with existing data, no new API calls | COMMENT |
| LOW⚡ | tests/components/improv_ble/test_config_flow.py | 237 | # Step 1: Inject provisioned device advertisement (triggers discovery, aborts) | COMMENT |
| LOW⚡ | tests/components/improv_ble/test_config_flow.py | 245 | # Step 2: Inject same provisioned advertisement again | COMMENT |
| LOW⚡ | tests/components/generic_thermostat/test_climate.py | 1929 | # Step 2: The heater should have been turned on | COMMENT |
| LOW⚡ | tests/components/generic_thermostat/test_climate.py | 1939 | # Step 4: The climate entity should keep the parent (user) context, | COMMENT |
| LOW | tests/components/growatt_server/test_sensor.py | 240 | # Step 1: Midnight reset — API returns 0 (legitimate reset) | COMMENT |
| LOW | tests/components/growatt_server/test_sensor.py | 254 | # Step 2: Stale bounce — API returns yesterday's value (12.5) after reset | COMMENT |
| LOW | tests/components/growatt_server/test_sensor.py | 269 | # Step 3: Another reset arrives — still 0 (no double-counting) | COMMENT |
| LOW | tests/components/growatt_server/test_sensor.py | 283 | # Step 4: Genuine new production — small value passes through | COMMENT |
| LOW | tests/components/unifiprotect/test_binary_sensor.py | 1043 | # Step 1: Initial event with only VEHICLE detection (car arriving) | COMMENT |
| LOW | tests/components/unifiprotect/test_binary_sensor.py | 1081 | # Step 2: Same event gets updated to include PERSON detection | COMMENT |
| LOW | tests/components/unifiprotect/test_binary_sensor.py | 1143 | # Step 3: Event ends - both sensors should turn OFF | COMMENT |
| LOW | tests/components/xiaomi_ble/test_binary_sensor.py | 122 | # WARNING: This test data is synthetic, rather than captured from a real device | COMMENT |
| LOW | tests/components/xiaomi_ble/test_sensor.py | 78 | # WARNING: This test data is synthetic, rather than captured from a real device | COMMENT |
| LOW | tests/components/xiaomi_ble/test_sensor.py | 114 | # WARNING: This test data is synthetic, rather than captured from a real device | COMMENT |
| LOW | tests/components/xiaomi_ble/test_sensor.py | 182 | # WARNING: This test data is synthetic, rather than captured from a real device | COMMENT |
| LOW | tests/components/xiaomi_ble/test_config_flow.py | 1187 | # WARNING: This test data is synthetic, rather than captured from a real device | COMMENT |
| LOW | tests/components/xiaomi_ble/test_config_flow.py | 1238 | # WARNING: This test data is synthetic, rather than captured from a real device | COMMENT |
| LOW | tests/components/xiaomi_ble/test_config_flow.py | 1297 | # WARNING: This test data is synthetic, rather than captured from a real device | COMMENT |
| LOW | tests/components/xiaomi_ble/test_config_flow.py | 1353 | # WARNING: This test data is synthetic, rather than captured from a real device | COMMENT |
| LOW | tests/components/xiaomi_ble/test_config_flow.py | 1417 | # WARNING: This test data is synthetic, rather than captured from a real device | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 14 | ## Step 1: Gather Information | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 62 | ## Step 2: Run Code Quality Checks | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 75 | ## Step 3: Stage Any Changes from Checks | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 86 | ## Step 4: Run Tests | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 103 | ## Step 5: Identify PR Metadata | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 122 | ## Step 6: Verify Development Checklist | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 139 | ## Step 7: Determine Type of Change | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 158 | ## Step 8: Determine Checkbox States | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 178 | ## Step 9: Breaking Change Section | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 187 | ## Step 10: Push Branch and Create PR | COMMENT |
| LOW | .claude/agents/raise-pull-request.md | 216 | ## Step 11: Report Result | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 141 | # locally-disabled - it spams too much | COMMENT |
| LOW | pyproject.toml | 501 | # https://github.com/pyusb/pyusb/pull/545 - >1.3.1 | COMMENT |
| LOW | pyproject.toml | 541 | # https://github.com/python-telegram-bot/python-telegram-bot/blob/v22.7/src/telegram/error.py#L243 - 22.7 - 2026-03-16 | COMMENT |
| LOW | pyproject.toml | 601 | "ignore:with timeout\\(\\) is deprecated:DeprecationWarning:aiomodernforms.modernforms", | COMMENT |
| LOW | requirements_all.txt | 21 | # homeassistant.components.tasmota | COMMENT |
| LOW | homeassistant/bootstrap.py | 161 | # Ensure network config is available | COMMENT |
| LOW | homeassistant/bootstrap.py | 201 | # We need to make sure discovery integrations | COMMENT |
| LOW | homeassistant/bootstrap.py | 781 | """ | COMMENT |
| LOW | homeassistant/bootstrap.py | 861 | COMMENT | |
| LOW | homeassistant/package_constraints.txt | 201 | tenacity!=8.4.0 | COMMENT |
| LOW | homeassistant/core.py | 2461 | # does not have a fast path for handling the UTC timezone and has to do | COMMENT |
| LOW | homeassistant/setup.py | 41 | _LOGGER = logging.getLogger(__name__) | COMMENT |
| LOW | homeassistant/loader.py | 61 | _LOGGER = logging.getLogger(__name__) | COMMENT |
| LOW | homeassistant/util/package.py | 181 | and not (any(var in env for var in _UV_ENV_PYTHON_VARS)) | COMMENT |
| LOW | homeassistant/util/dt.py | 501 | COMMENT | |
| LOW | homeassistant/util/dt.py | 521 | # Example: on 2021.10.31 02:00:00 in CET timezone clocks are turned | COMMENT |
| LOW | homeassistant/util/async_.py | 81 | # the executor and `.join()` the thread running this code. | COMMENT |
| LOW | homeassistant/components/goodwe/sensor.py | 41 | COMMENT | |
| LOW | homeassistant/components/homekit/__init__.py | 961 | self.driver.async_update_advertisement() | COMMENT |
| LOW | homeassistant/components/homekit/type_fans.py | 281 | # in its speed list but is not off, the hk_speed_value is 0. But 0 | COMMENT |
| LOW | homeassistant/components/hyperion/config_flow.py | 41 | DOMAIN, | COMMENT |
| LOW | homeassistant/components/hyperion/config_flow.py | 61 | # | Static | | COMMENT |
| LOW | homeassistant/components/hyperion/config_flow.py | 81 | # v<------------------+ | COMMENT |
| LOW | homeassistant/components/hyperion/config_flow.py | 161 | # 'ssdp_st': 'upnp:rootdevice', | COMMENT |
| LOW | homeassistant/components/hyperion/config_flow.py | 181 | # 'mimetype': 'image/png', | COMMENT |
| LOW | homeassistant/components/websocket_api/http.py | 441 | self._hass.data[DATA_CONNECTIONS] = self._hass.data.get(DATA_CONNECTIONS, 0) + 1 | COMMENT |
| LOW | homeassistant/components/websocket_api/http.py | 461 | # to the websocket writer to handle malicious clients and network issues. | COMMENT |
| LOW | homeassistant/components/xbox/entity.py | 161 | # Xbox sometimes returns a domain that uses a wrong certificate which | COMMENT |
| LOW | homeassistant/components/apple_tv/config_flow.py | 241 | # Scan for the device in order to extract _all_ unique identifiers assigned to | COMMENT |
| LOW | homeassistant/components/apple_tv/config_flow.py | 261 | # | COMMENT |
| LOW | homeassistant/components/flexit_bacnet/number.py | 41 | COMMENT | |
| LOW | …sistant/components/withings/application_credentials.py | 41 | # { | COMMENT |
| LOW | homeassistant/components/system_log/__init__.py | 81 | # Slice the stack to the first frame that matches | COMMENT |
| LOW | homeassistant/components/system_log/__init__.py | 101 | # | COMMENT |
| LOW | homeassistant/components/stream/worker.py | 201 | # Only do extra fragmenting if we are using ll_hls | COMMENT |
| LOW | homeassistant/components/stream/worker.py | 221 | # the resulting fragments can have variability in their | COMMENT |
| LOW | homeassistant/components/stream/worker.py | 641 | # Have to work around two problems with RTSP feeds in ffmpeg | COMMENT |
| LOW | homeassistant/components/motionmount/config_flow.py | 21 | COMMENT | |
| LOW | homeassistant/components/homekit_controller/const.py | 121 | # 10 seconds was chosen because it is soon enough | COMMENT |
| LOW | …assistant/components/homekit_controller/config_flow.py | 401 | self, pair_info: dict[str, Any] | None = None | COMMENT |
| LOW | homeassistant/components/doorbird/models.py | 21 | # This integration uses a different event for | COMMENT |
| LOW | homeassistant/components/matter/models.py | 141 | # for example for the AcceptedCommandList | COMMENT |
| LOW | homeassistant/components/ibeacon/coordinator.py | 401 | if group_id not in self._unavailable_group_ids | COMMENT |
| LOW | homeassistant/components/todoist/const.py | 61 | ID: Final = "id" | COMMENT |
| LOW | homeassistant/components/homematicip_cloud/__init__.py | 161 | # a) Two or more legacy entries share the same new target id (e.g. | COMMENT |
| LOW | homeassistant/components/proximity/coordinator.py | 181 | # ``in_zones`` while their state still names their location | COMMENT |
| LOW | homeassistant/components/bluetooth/__init__.py | 181 | async def _async_call_debouncer(now: datetime.datetime) -> None: | COMMENT |
| LOW | homeassistant/components/recorder/statistics.py | 2961 | return id_ | COMMENT |
| LOW | homeassistant/components/recorder/migration.py | 1201 | # since its always there on state_changed events | COMMENT |
| LOW | homeassistant/components/recorder/filters.py | 181 | # Case 4 - Domain and/or glob includes (may also have excludes) | COMMENT |
| LOW | homeassistant/components/recorder/models/database.py | 21 | version: AwesomeVersion | None | COMMENT |
| LOW | homeassistant/components/recorder/models/database.py | 41 | # https://github.com/home-assistant/core/issues/137178 | COMMENT |
| LOW | homeassistant/components/esphome/entity.py | 141 | # Assistant is only read when the entity is first added. | COMMENT |
| LOW | homeassistant/components/esphome/manager.py | 621 | await reconnect_logic.stop() | COMMENT |
| LOW | homeassistant/components/zwave_js/models.py | 181 | manufacturer_id: set[int] | None = None | COMMENT |
| LOW | homeassistant/components/zwave_js/discovery.py | 101 | # [optional] template to generate platform specific data to use in setup | COMMENT |
| LOW | homeassistant/components/zwave_js/binary_sensor.py | 181 | COMMENT | |
| LOW | homeassistant/components/zwave_js/binary_sensor.py | 201 | # - Maintenance required, planned periodic inspection | COMMENT |
| LOW | homeassistant/components/netatmo/binary_sensor.py | 101 | list[NetatmoBinarySensorEntityDescription] | COMMENT |
| LOW | homeassistant/components/onvif/event_manager.py | 61 | # We only keep the subscription alive for 10 minutes, and will keep | COMMENT |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ome_assistant/checkers/actions/swallowed_exceptions.py | 55 | # Empty body (just pass) or log-only body | COMMENT |
| MEDIUM | homeassistant/loader.py | 1695 | """Mount config dir in order to load custom_component. | STRING |
| MEDIUM | homeassistant/components/intellifire/config_flow.py | 116 | """Authenticate against IFTAPI Cloud in order to see configured devices. | STRING |
| MEDIUM | homeassistant/components/wallbox/coordinator.py | 102 | """Check if the jwtToken is still valid in order to reuse if possible.""" | STRING |
| LOW | homeassistant/components/vizio/media_player.py | 283 | # show the combination with, otherwise just return inputs | COMMENT |
| LOW | homeassistant/components/energy/data.py | 810 | # If power_config has stat_rate (standard), just use it directly | COMMENT |
| LOW | homeassistant/components/energy/data.py | 828 | # If power_config has stat_rate (standard), just use it directly | COMMENT |
| LOW | homeassistant/components/system_log/__init__.py | 72 | # exception). In that case, just use the file where the log was made from. | COMMENT |
| LOW | homeassistant/components/alexa/handlers.py | 672 | # This workaround will simply call the volume up/Volume down the amount of | COMMENT |
| MEDIUM | homeassistant/components/cast/media_player.py | 293 | """Ensure chromecast is available, to facilitate type checking.""" | STRING |
| LOW | homeassistant/components/stream/worker.py | 485 | # For the bounds, just use the larger of the two values. If the error | COMMENT |
| LOW | homeassistant/components/deluge/sensor.py | 30 | # if key is CURRENT_STATUS, we just return whether | COMMENT |
| LOW | homeassistant/components/oralb/__init__.py | 49 | # BluetoothServiceInfoBleak is defined in HA, otherwise would just pass it | COMMENT |
| LOW | …tant/components/hunterdouglas_powerview/diagnostics.py | 50 | # otherwise just return all shade data | COMMENT |
| LOW | homeassistant/components/matter/vacuum.py | 95 | # We simply set the RvcRunMode to the first runmode | COMMENT |
| LOW | homeassistant/components/matter/vacuum.py | 136 | # We simply set the RvcRunMode to the first runmode | COMMENT |
| LOW | homeassistant/components/growatt_server/coordinator.py | 409 | # local time in that scenario we should just return the previous value | COMMENT |
| LOW | homeassistant/components/slimproto/config_flow.py | 23 | # we have nothing to configure so simply create the entry | COMMENT |
| LOW | homeassistant/components/todoist/calendar.py | 728 | # If we have no data, we can just return right away. | COMMENT |
| LOW | homeassistant/components/geo_rss_events/sensor.py | 150 | # If no events were found due to an error then just set state to | COMMENT |
| LOW | homeassistant/components/device_automation/condition.py | 69 | # we just pass the entire config as options. | COMMENT |
| LOW | homeassistant/components/apcupsd/coordinator.py | 48 | # We had user reports that some UPS models simply return | COMMENT |
| LOW | homeassistant/components/cloud/http_api.py | 464 | # just add the domain | COMMENT |
| MEDIUM | homeassistant/components/tplink/light.py | 290 | # except when transition is defined so we leverage that for now. | COMMENT |
| LOW | homeassistant/components/peblar/number.py | 122 | # If charging is currently disabled (below 6 amps), just set the value | COMMENT |
| LOW | homeassistant/components/xiaomi_ble/__init__.py | 147 | # BluetoothServiceInfoBleak is defined in HA, otherwise would just pass it | COMMENT |
| MEDIUM | homeassistant/components/caldav/coordinator.py | 28 | """Class to utilize the calendar dav client object to get next event.""" | STRING |
| LOW | homeassistant/components/rest/notify.py | 158 | # integrations, so just return the first target in the list. | COMMENT |
| MEDIUM⚡ | homeassistant/components/zha/entity.py | 201 | # provides a more generic hook to utilize HA to do this), we directly restore | COMMENT |
| LOW | homeassistant/components/zha/config_flow.py | 346 | # Allow onboarding for new users to just create a new network automatically | COMMENT |
| MEDIUM | homeassistant/helpers/intent.py | 519 | """Match entities based on constraints in order to handle an intent.""" | STRING |
| MEDIUM | tests/components/liebherr/conftest.py | 34 | # Complete multi-zone device for comprehensive testing | COMMENT |
| MEDIUM | tests/components/tod/test_binary_sensor.py | 635 | # Essentially, the ToD sensor never turns on that day. | COMMENT |
| LOW | tests/components/intellifire/test_config_flow.py | 40 | # For a single fireplace we just create it | COMMENT |
| LOW | tests/components/intellifire/test_config_flow.py | 74 | # For a single fireplace we just create it | COMMENT |
| LOW | tests/components/intellifire/test_config_flow.py | 110 | # For a single fireplace we just create it | COMMENT |
| LOW | tests/components/google/test_calendar.py | 846 | # just use the API response which this test is not exercising) | COMMENT |
| LOW | tests/components/schlage/test_lock.py | 382 | # Should not raise an error, just return silently | COMMENT |
| LOW | tests/components/schlage/test_lock.py | 403 | # Should not raise an error, just return silently | COMMENT |
| MEDIUM | tests/components/homekit_controller/common.py | 45 | # Root device in test harness always has an accessory id of this | COMMENT |
| LOW | tests/components/music_assistant/conftest.py | 77 | # simply return a mock config for each player | COMMENT |
| MEDIUM | tests/components/generic_thermostat/test_climate.py | 1345 | # this test harness). Update the entity to OFF so the thermostat sees the | COMMENT |
| LOW⚡ | tests/components/chacon_dio/test_cover.py | 145 | # Define a method to simply call it | COMMENT |
| LOW⚡ | tests/components/chacon_dio/test_switch.py | 102 | # Define a method to simply call it | COMMENT |
| LOW | tests/components/balboa/test_fan.py | 63 | # just call turn on, pump should be at full speed | COMMENT |
| MEDIUM | tests/components/application_credentials/test_init.py | 123 | """Fixture to facilitate testing an OAuth flow.""" | STRING |
| LOW | …ts/components/eurotronic_cometblue/test_config_flow.py | 220 | # If for some reason no name can be derived, just return the default name | COMMENT |
| LOW | …ts/components/eurotronic_cometblue/test_config_flow.py | 223 | # If the name is the same as the address, just return | COMMENT |
| MEDIUM | tests/components/conversation/test_chat_log.py | 876 | """Test comprehensive chat log subscription functionality.""" | STRING |
| MEDIUM | tests/components/owntracks/test_device_tracker.py | 921 | # message. None is the state the test harness set for | COMMENT |
| MEDIUM | …affold/templates/config_flow_oauth2/integration/api.py | 11 | # TODO the following two API examples are based on our suggested best practices | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | homeassistant/auth/jwt_wrapper.py | 90 | CODE | |
| LOW | homeassistant/components/demo/update.py | 108 | CODE | |
| LOW | homeassistant/components/demo/light.py | 102 | CODE | |
| LOW | homeassistant/components/frontend/__init__.py | 356 | CODE | |
| LOW | homeassistant/components/assist_pipeline/__init__.py | 94 | CODE | |
| LOW | homeassistant/components/knx/storage/knx_selector.py | 173 | CODE | |
| LOW | homeassistant/components/tado/coordinator.py | 367 | CODE | |
| LOW | homeassistant/components/tado/climate.py | 275 | CODE | |
| LOW | homeassistant/components/tado/climate.py | 675 | CODE | |
| LOW | homeassistant/components/rflink/entity.py | 41 | CODE | |
| LOW | homeassistant/components/cloud/prefs.py | 166 | CODE | |
| LOW | homeassistant/components/recorder/history/__init__.py | 124 | CODE | |
| LOW | homeassistant/components/recorder/history/__init__.py | 220 | CODE | |
| LOW | homeassistant/components/zwave_js/lock_helpers.py | 416 | CODE | |
| LOW | homeassistant/components/configurator/__init__.py | 58 | CODE | |
| LOW | homeassistant/components/panel_custom/__init__.py | 71 | CODE | |
| LOW | homeassistant/helpers/intent.py | 99 | CODE | |
| LOW | homeassistant/helpers/intent.py | 910 | CODE | |
| LOW | homeassistant/helpers/intent.py | 1205 | CODE | |
| LOW | homeassistant/helpers/network.py | 115 | CODE | |
| LOW | homeassistant/helpers/area_registry.py | 347 | CODE | |
| LOW | homeassistant/helpers/area_registry.py | 383 | CODE | |
| LOW | homeassistant/helpers/script.py | 1505 | CODE | |
| LOW | tests/components/powerwall/mocks.py | 62 | CODE | |
| LOW | tests/components/vera/common.py | 56 | CODE | |
| LOW | tests/components/litterrobot/conftest.py | 87 | CODE | |
| LOW | tests/components/rituals_perfume_genie/common.py | 28 | CODE | |
| LOW | tests/components/zoneminder/conftest.py | 90 | CODE | |
| LOW | tests/components/alexa_devices/test_media_player.py | 50 | CODE | |
| LOW | tests/components/seventeentrack/conftest.py | 133 | CODE | |
| LOW | tests/components/doorbird/conftest.py | 102 | CODE | |
| LOW | tests/components/radarr/__init__.py | 157 | CODE | |
| LOW | tests/components/device_tracker/common.py | 29 | CODE | |
| LOW | tests/components/emulated_hue/test_hue_api.py | 1352 | CODE | |
| LOW | tests/components/israel_rail/conftest.py | 66 | CODE | |
| LOW | tests/components/mitsubishi_comfort/conftest.py | 30 | CODE | |
| LOW | tests/components/esphome/test_assist_satellite.py | 2434 | CODE | |
| LOW | tests/components/transmission/conftest.py | 81 | CODE | |
| LOW | tests/components/onvif/__init__.py | 44 | CODE | |
| LOW | tests/components/onvif/__init__.py | 255 | CODE | |
| LOW | tests/components/tplink/__init__.py | 152 | CODE | |
| LOW | tests/components/tplink/__init__.py | 256 | CODE | |
| LOW | tests/components/light/common.py | 43 | CODE | |
| LOW | tests/components/light/common.py | 107 | CODE | |
| LOW | tests/components/google_assistant/__init__.py | 22 | CODE | |
| LOW | tests/components/gdacs/__init__.py | 6 | CODE | |
| LOW | …nents/nsw_rural_fire_service_feed/test_geo_location.py | 60 | CODE | |
| LOW | tests/components/tibber/conftest.py | 34 | CODE | |
| LOW | tests/components/unifiprotect/utils.py | 249 | CODE | |
| LOW | tests/components/shelly/conftest.py | 72 | CODE | |
| LOW | tests/components/nexia/conftest.py | 40 | CODE | |
| LOW | tests/components/nexia/conftest.py | 119 | CODE | |
| LOW | …/components/usgs_earthquakes_feed/test_geo_location.py | 65 | CODE | |
| LOW | tests/components/zha/conftest.py | 362 | CODE | |
| LOW | tests/components/nut/util.py | 42 | CODE | |
| LOW | tests/components/pi_hole/__init__.py | 200 | CODE | |
| LOW | tests/components/synology_dsm/common.py | 27 | CODE | |
| LOW | tests/test_util/aiohttp.py | 49 | CODE | |
| LOW | tests/test_util/aiohttp.py | 136 | CODE | |
| LOW | tests/test_util/aiohttp.py | 175 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | homeassistant/components/control4/config_flow.py | 63 | # Step 1: Authenticate with Control4 cloud API | COMMENT |
| LOW⚡ | homeassistant/components/control4/config_flow.py | 88 | # Step 2: Connect to local Control4 Director | COMMENT |
| LOW | homeassistant/components/home_connect/common.py | 91 | when they are turned off, so we need to check if the entities have been added | STRING |
| LOW | homeassistant/components/onewire/sensor.py | 441 | # We need to check if there is TAI8570 plugged in | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 62 | # Step 1: 1 PM CET (before 13:30 CET publication) | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 69 | # Step 2: 3 PM CET - verify listeners update with existing data, no new API calls | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 129 | # Step 1: 1 PM CET (before 13:30 CET publication) - only Jan 15 data available | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 135 | # Step 2: 2 PM CET (after 13:30 CET publication) - Jan 16 data now available | COMMENT |
| LOW⚡ | tests/components/omie/test_sensor.py | 144 | # Step 3: 3 PM CET - verify listeners update with existing data, no new API calls | COMMENT |
| LOW⚡ | tests/components/improv_ble/test_config_flow.py | 237 | # Step 1: Inject provisioned device advertisement (triggers discovery, aborts) | COMMENT |
| LOW⚡ | tests/components/improv_ble/test_config_flow.py | 245 | # Step 2: Inject same provisioned advertisement again | COMMENT |
| LOW⚡ | tests/components/generic_thermostat/test_climate.py | 1929 | # Step 2: The heater should have been turned on | COMMENT |
| LOW⚡ | tests/components/generic_thermostat/test_climate.py | 1939 | # Step 4: The climate entity should keep the parent (user) context, | COMMENT |
| LOW | tests/components/growatt_server/test_sensor.py | 240 | # Step 1: Midnight reset — API returns 0 (legitimate reset) | COMMENT |
| LOW | tests/components/growatt_server/test_sensor.py | 254 | # Step 2: Stale bounce — API returns yesterday's value (12.5) after reset | COMMENT |
| LOW | tests/components/growatt_server/test_sensor.py | 269 | # Step 3: Another reset arrives — still 0 (no double-counting) | COMMENT |
| LOW | tests/components/growatt_server/test_sensor.py | 283 | # Step 4: Genuine new production — small value passes through | COMMENT |
| LOW | tests/components/unifiprotect/test_binary_sensor.py | 1043 | # Step 1: Initial event with only VEHICLE detection (car arriving) | COMMENT |
| LOW | tests/components/unifiprotect/test_binary_sensor.py | 1081 | # Step 2: Same event gets updated to include PERSON detection | COMMENT |
| LOW | tests/components/unifiprotect/test_binary_sensor.py | 1143 | # Step 3: Event ends - both sensors should turn OFF | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | homeassistant/core_config.py | 453 | # Init whitelist external URL list - make sure to add / to every URL that doesn't | COMMENT |
| LOW | homeassistant/components/soundtouch/media_player.py | 329 | # make sure to not try to remove the master (aka current device) | COMMENT |
| MEDIUM | homeassistant/components/motionblinds_ble/strings.json | 75 | "description": "The default disconnect time is 15 seconds, adjustable using the slider below. You may want to ad | CODE |
| LOW | homeassistant/components/sftp_storage/__init__.py | 105 | # leftover files, make sure to log plain | COMMENT |
| LOW | homeassistant/components/matter/entity.py | 151 | # make sure to update the attributes once | COMMENT |
| LOW⚡ | tests/components/picnic/test_config_flow.py | 388 | # Create a mocked config entry and make sure to use the same | COMMENT |
| LOW | script/hassfest/docker.py | 12 | # Don't forget to update also Dockerfile.dev when updating this. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | homeassistant/components/generic_thermostat/climate.py | 537 | # Note: If a manual interaction occurs within the 2s context window of a switch | COMMENT |
| MEDIUM | script/scaffold/__main__.py | 77 | # If we are calling scaffold on a non-existing integration, | COMMENT |
| MEDIUM | .github/workflows/check-requirements-deterministic.yml | 6 | # results as an artifact. Stage 2 (the agentic workflow defined in | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/components/elevenlabs/test_stt.py | 59 | CODE | |
| MEDIUM | tests/components/llama_cpp/test_config_flow.py | 350 | CODE | |
| MEDIUM | tests/components/sonos/test_services.py | 121 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | homeassistant/components/slack/notify.py | 333 | Get the Slack channel ID from the channel name. This method retrieves the channel ID for a given Slack channel | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/components/transport_nsw/test_sensor.py | 15 | "api_key": "YOUR_API_KEY", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | homeassistant/components/blue_current/__init__.py | 175 | async def run_task(self) -> None: | CODE |
| LOW | tests/components/websocket_api/test_decorators.py | 16 | def handle_request(request, connection, msg): | CODE |