AI Slop Code RIsk Monitor

home-assistant/core

:house_with_garden: Open source home automation that puts local control and privacy first.

15.8 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for home-assistant/core, a Python project with 91,358 GitHub stars. SynthScan examined 4,165,827 lines of code across 23778 source files, recording 51765 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 15.8 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

15.8
Adjusted Signal
15.8
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
91.4K
Stars
Python
Language
4.2M
Lines of Code
23.8K
Files
51.8K
Pattern Hits
2026-10-12
Scan Date
0.15
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 40.2/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 44146 finding(s).

Hallucinated Dependency & Supply Chain Risk 3.9/100 · LOW

Are imports declared and package/API names verified? 1691 finding(s).

Agent Over-Engineering Ratio 51.2/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 48143 finding(s).

PR Review Velocity Impact 57.5/100 · HIGH

Which changes need focused human review? 51765 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 119HIGH 3495MEDIUM 504LOW 47647

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 51765 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers42146 hits · 39784 pts
SeverityFileLineSnippetContext
LOW…ins/pylint_home_assistant/checkers/test_determinism.py47def _condition_references_parameter(node: nodes.If, param_names: set[str]) -> bool:CODE
LOW…t_home_assistant/checkers/redundant_translation_key.py78def _code_reads_translation_key(integration_dir: Path) -> bool:CODE
LOW…nt/plugins/pylint_home_assistant/checkers/decorator.py37 def _get_pytest_fixture_node_keyword(CODE
LOW…nt_home_assistant/checkers/coordinator_config_entry.py84def _config_entry_passed_to_super(init: nodes.FunctionDef) -> nodes.NodeNG | None:CODE
LOW…plugins/pylint_home_assistant/checkers/runtime_data.py118def _is_hass_data_domain_access(node: nodes.Subscript) -> bool:CODE
LOW…plugins/pylint_home_assistant/checkers/runtime_data.py129def _is_hass_data_domain_call(node: nodes.Call) -> bool:CODE
LOW…lint_home_assistant/checkers/unnecessary_format_mac.py24def _is_connection_network_mac(node: nodes.NodeNG) -> bool:CODE
LOW…lint_home_assistant/checkers/unnecessary_format_mac.py46def _is_inside_connections_kwarg(node: nodes.NodeNG) -> bool:CODE
LOW…gins/pylint_home_assistant/checkers/domain_constant.py38def _check_call_node_domain_arguments(node: nodes.Call) -> nodes.NodeNG | None:CODE
LOW…gins/pylint_home_assistant/checkers/domain_constant.py58def _check_call_node_domain_argument(CODE
LOW…lint/plugins/pylint_home_assistant/checkers/imports.py248 def _visit_importfrom_relative(CODE
LOW…lint/plugins/pylint_home_assistant/checkers/imports.py273 def _check_for_constant_alias(CODE
LOW…lint/plugins/pylint_home_assistant/checkers/imports.py308 def _check_for_component_root_import(CODE
LOW…lint/plugins/pylint_home_assistant/checkers/imports.py335 def _check_for_relative_import(CODE
LOW…int_home_assistant/checkers/entity_unique_id_format.py79def _joined_str_approximation(node: nodes.JoinedStr) -> str:CODE
LOW…int_home_assistant/checkers/entity_unique_id_format.py157def _value_references_platform(CODE
LOW…istant/checkers/quality_scale/test_before_configure.py52def _is_surfacing_errors_value(value: nodes.NodeNG) -> bool:CODE
LOW…istant/checkers/quality_scale/test_before_configure.py83def _module_surfaces_failures(module: nodes.Module) -> bool:CODE
LOW…istant/checkers/quality_scale/test_before_configure.py141 def _ancestor_module_surfaces(self, module: nodes.Module) -> bool:CODE
LOW…e_assistant/checkers/quality_scale/entity_unique_id.py88def _class_body_sets_attr_non_none(class_node: nodes.ClassDef) -> bool:CODE
LOW…e_assistant/checkers/quality_scale/entity_unique_id.py111def _class_body_nullifies_attr(class_node: nodes.ClassDef) -> bool:CODE
LOW…e_assistant/checkers/quality_scale/entity_unique_id.py159def _stmts_contain_terminator(stmts: list[nodes.NodeNG]) -> bool:CODE
LOW…e_assistant/checkers/quality_scale/entity_unique_id.py172def _body_guarantees_target_assign(stmts: list[nodes.NodeNG]) -> bool:CODE
LOW…e_assistant/checkers/quality_scale/entity_unique_id.py209def _method_unconditionally_sets_attr(class_node: nodes.ClassDef) -> bool:CODE
LOW…e_assistant/checkers/quality_scale/entity_unique_id.py218def _class_defines_unique_id_method(class_node: nodes.ClassDef) -> bool:CODE
LOW…e_assistant/checkers/quality_scale/entity_unique_id.py259def _class_body_static_string_node(CODE
LOW…me_assistant/checkers/quality_scale/has_entity_name.py67def _class_body_sets_attr_true(class_node: nodes.ClassDef, attr_name: str) -> bool:CODE
LOW…me_assistant/checkers/quality_scale/has_entity_name.py96def _method_unconditionally_sets_attr_true(class_node: nodes.ClassDef) -> bool:CODE
LOW…me_assistant/checkers/quality_scale/has_entity_name.py154def _description_sets_has_entity_name(description_class: nodes.ClassDef) -> bool:CODE
LOW…me_assistant/checkers/quality_scale/has_entity_name.py164def _entity_description_annotation_satisfies(class_node: nodes.ClassDef) -> bool:CODE
LOW…home_assistant/checkers/config_flow/unique_id_no_ip.py100def _check_subscript_or_call_ip(node: nodes.NodeNG) -> str | None:CODE
LOW…nt_home_assistant/checkers/tests/direct_async_setup.py27def _is_integration_async_setup(call: nodes.Call) -> bool:CODE
LOW…home_assistant/checkers/tests/config_flow_unique_id.py49def _config_flow_sets_unique_id(integration_dir: Path) -> bool:CODE
LOW…home_assistant/checkers/tests/config_flow_unique_id.py58def _create_entry_result_name(node: nodes.Compare) -> str | None:CODE
LOW…home_assistant/checkers/tests/redundant_usefixtures.py23def _is_pytest_mark_usefixtures(node: nodes.Call) -> bool:CODE
LOW…home_assistant/checkers/tests/redundant_usefixtures.py35def _extract_usefixtures_names(node: nodes.NodeNG) -> set[str]:CODE
LOW…home_assistant/checkers/tests/redundant_usefixtures.py48def _collect_module_usefixtures(module: nodes.Module) -> set[str]:CODE
LOW…home_assistant/checkers/tests/redundant_usefixtures.py86def _collect_autouse_fixtures(module: nodes.Module) -> set[str]:CODE
LOW…home_assistant/checkers/tests/redundant_usefixtures.py116def _collect_conftest_fixtures(module: nodes.Module) -> set[str]:CODE
LOW…assistant/checkers/tests/direct_async_migrate_entry.py23def _is_integration_async_migrate_entry(call: nodes.Call) -> bool:CODE
LOW…_assistant/checkers/tests/direct_async_unload_entry.py23def _is_integration_async_unload_entry(call: nodes.Call) -> bool:CODE
LOW…e_assistant/checkers/tests/direct_async_setup_entry.py35def _resolve_integration_async_setup_entry(call: nodes.Call) -> _SetupKind | None:CODE
LOW…ome_assistant/checkers/actions/service_registration.py52def _find_service_registrations(CODE
LOW…/plugins/pylint_home_assistant/helpers/translations.py23def _load_translations_from_dir(integration_dir: Path) -> dict | None:CODE
LOW…/plugins/pylint_home_assistant/helpers/translations.py61def load_translations_for_domain(module: nodes.Module, domain: str) -> dict | None:CODE
LOW⚡…/plugins/pylint_home_assistant/helpers/translations.py82def get_exception_translations(module: nodes.Module) -> dict[str, dict]:CODE
LOW⚡…/plugins/pylint_home_assistant/helpers/translations.py87def get_exception_translations_for_domain(CODE
LOW⚡…/plugins/pylint_home_assistant/helpers/translations.py94def _get_exceptions_from_data(data: dict | None) -> dict[str, dict]:CODE
LOW…/plugins/pylint_home_assistant/helpers/translations.py165def resolve_translation_reference(message: str, components_dir: Path | None) -> str:CODE
LOW…t/plugins/pylint_home_assistant/helpers/integration.py42def get_tested_integration_dir(module: nodes.Module) -> Path | None:CODE
LOW…/plugins/pylint_home_assistant/helpers/entity_class.py18def inherits_from_light_entity(class_node: nodes.ClassDef) -> bool:CODE
LOW…/plugins/pylint_home_assistant/helpers/entity_class.py36def resolve_entity_description_class(call: nodes.Call) -> nodes.ClassDef | None:CODE
LOW…/plugins/pylint_home_assistant/helpers/entity_class.py47def collect_same_module_ancestor_qnames(module: nodes.Module) -> set[str]:CODE
LOW…plugins/pylint_home_assistant/helpers/quality_scale.py14def clear_quality_scale_cache() -> None:CODE
LOW…plugins/pylint_home_assistant/helpers/quality_scale.py54def quality_scale_rule_is_done(module: nodes.Module, rule: str) -> bool:CODE
LOW…plugins/pylint_home_assistant/helpers/quality_scale.py62def quality_scale_rule_is_done_or_exempt(module: nodes.Module, rule: str) -> bool:CODE
LOWhomeassistant/bootstrap.py444def _init_blocking_io_modules_in_executor() -> None:CODE
LOWhomeassistant/bootstrap.py461async def async_load_base_functionality(hass: core.HomeAssistant) -> bool:CODE
LOWhomeassistant/bootstrap.py685def _log_file_disabled_reason() -> str | None:CODE
LOWhomeassistant/bootstrap.py763async def _async_resolve_domains_and_preload(CODE
42086 more matches not shown…
Cross-File Repetition3289 hits · 16445 pts
SeverityFileLineSnippetContext
HIGH…nt_home_assistant/checkers/tests/direct_async_setup.py0record whether the current module is a test module.STRING
HIGH…assistant/checkers/tests/direct_async_migrate_entry.py0record whether the current module is a test module.STRING
HIGH…_assistant/checkers/tests/direct_async_unload_entry.py0record whether the current module is a test module.STRING
HIGH…e_assistant/checkers/tests/direct_async_setup_entry.py0record whether the current module is a test module.STRING
HIGHhomeassistant/config_entries.py0return the underlying values to avoid __iter__ overhead.STRING
HIGHhomeassistant/core.py0return the underlying values to avoid __iter__ overhead.STRING
HIGHhomeassistant/helpers/registry.py0return the underlying values to avoid __iter__ overhead.STRING
HIGHhomeassistant/auth/mfa_modules/totp.py0return a data entry flow handler for setup module. mfa module should extend setupflowSTRING
HIGHhomeassistant/auth/mfa_modules/__init__.py0return a data entry flow handler for setup module. mfa module should extend setupflowSTRING
HIGHhomeassistant/auth/mfa_modules/notify.py0return a data entry flow handler for setup module. mfa module should extend setupflowSTRING
HIGHhomeassistant/auth/mfa_modules/insecure_example.py0return a data entry flow handler for setup module. mfa module should extend setupflowSTRING
HIGH…sistant/components/tesla_wall_connector/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/intellifire/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/opengarage/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/system_bridge/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/rympro/config_flow.py0validate 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.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/mutesync/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/suez_water/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/fibaro/config_flow.py0validate 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.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/bosch_alarm/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/teltonika/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/centriconnect/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/ptdevices/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/prusalink/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/airobot/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/anthropic/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/saunum/config_flow.py0validate 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.py0validate 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.py0validate 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.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/tractive/config_flow.py0validate 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.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/powerwall/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/somfy_mylink/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/foscam/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/huisbaasje/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/flume/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/nws/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/canary/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/srp_energy/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/elkm1/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/airnow/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/monoprice/config_flow.py0validate 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.py0validate 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.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/harmony/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/cloudflare/config_flow.py0validate 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.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/sense/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/isy994/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/vilfo/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/nuheat/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/triggercmd/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/ipp/config_flow.py0validate 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.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/roomba/config_flow.py0validate 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.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
HIGHhomeassistant/components/lidarr/config_flow.py0validate the user input allows us to connect. data has the keys from _base_schema with values provided by the user.STRING
3229 more matches not shown…
Modern Structural Boilerplate1451 hits · 1514 pts
SeverityFileLineSnippetContext
LOW…home_assistant/checkers/entity_description_defaults.py72def _update_defaults(defaults: dict[str, object], class_node: nodes.ClassDef) -> None:CODE
LOWhomeassistant/config_entries.py1732 def _set_pending_import_done(self, flow: ConfigFlow) -> None:CODE
LOWhomeassistant/config_entries.py2153 def update_unique_id(self, entry: ConfigEntry, new_unique_id: str | None) -> None:CODE
LOWhomeassistant/core.py465 def set_state(self, state: CoreState) -> None:CODE
LOWhomeassistant/util/dt.py82def set_default_time_zone(time_zone: dt.tzinfo) -> None:CODE
LOWhomeassistant/util/resource.py14def set_open_file_descriptor_limit() -> None:CODE
LOWhomeassistant/util/ulid.py13__all__ = [CODE
LOWhomeassistant/util/yaml/__init__.py9__all__ = [CODE
LOWhomeassistant/util/yaml/dumper.py5__all__ = ["add_representer", "dump", "represent_odict", "save_yaml"]CODE
LOWhomeassistant/util/yaml/loader.py23__all__ = [CODE
LOWhomeassistant/util/yaml/input.py7__all__ = ["Input", "UndefinedSubstitution", "extract_inputs", "substitute"]CODE
LOWhomeassistant/util/yaml/objects.py5__all__ = ["Input", "NodeDictClass", "NodeListClass", "NodeStrClass"]CODE
LOWhomeassistant/auth/jwt_wrapper.py142__all__ = [CODE
LOWhomeassistant/auth/auth_store.py596 def _set_defaults(self) -> None:CODE
LOWhomeassistant/auth/permissions/__init__.py20__all__ = [CODE
LOWhomeassistant/components/buienradar/util.py39__all__ = ["BrData"]CODE
LOWhomeassistant/components/smlight/update.py205 def _update_progress(self, progress: MessageEvent) -> None:CODE
LOWhomeassistant/components/smlight/update.py212 def _update_done(self) -> None:CODE
LOWhomeassistant/components/smlight/update.py225 def _update_finished(self, event: MessageEvent) -> None:CODE
LOWhomeassistant/components/smlight/update.py231 def _update_failed(self, event: MessageEvent) -> None:CODE
LOWhomeassistant/components/smlight/coordinator.py174 def update_setting(self, setting: Settings, value: bool | int) -> None:CODE
LOWhomeassistant/components/smlight/coordinator.py182 def update_ambilight(self, changes: dict) -> None:CODE
LOWhomeassistant/components/smlight/switch.py107 async def set_smlight(self, state: bool) -> None:CODE
LOWhomeassistant/components/blink/sensor.py103 def _update_attr(self) -> None:CODE
LOWhomeassistant/components/blink/alarm_control_panel.py76 def _update_attr(self) -> None:CODE
LOWhomeassistant/components/blink/binary_sensor.py98 def _update_attrs(self) -> None:CODE
LOWhomeassistant/components/demo/fan.py160 def set_percentage(self, percentage: int) -> None:CODE
LOWhomeassistant/components/demo/fan.py179 def set_preset_mode(self, preset_mode: str) -> None:CODE
LOWhomeassistant/components/demo/fan.py208 def set_direction(self, direction: str) -> None:CODE
LOWhomeassistant/components/demo/media_player.py144 def set_volume_level(self, volume: float) -> None:CODE
LOWhomeassistant/components/demo/media_player.py168 def set_shuffle(self, shuffle: bool) -> None:CODE
LOWhomeassistant/components/demo/media_player.py334 def set_repeat(self, repeat: RepeatMode) -> None:CODE
LOWhomeassistant/components/demo/weather.py177 async def update_forecasts(_: datetime) -> None:CODE
LOWhomeassistant/components/demo/vacuum.py162 def set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None:CODE
LOWhomeassistant/components/demo/water_heater.py93 def set_temperature(self, **kwargs: Any) -> None:CODE
LOWhomeassistant/components/demo/water_heater.py99 def set_operation_mode(self, operation_mode: str) -> None:CODE
LOWhomeassistant/components/deconz/hub/__init__.py6__all__ = ["DeconzHub", "get_deconz_api"]CODE
LOWhomeassistant/components/statistics/sensor.py1090 def _update_extra_state_attributes(self) -> None:CODE
LOWhomeassistant/components/statistics/sensor.py1106 def _update_value(self) -> None:CODE
LOWhomeassistant/components/statistics/__init__.py23 def set_source_entity_id_or_uuid(source_entity_id: str) -> None:CODE
LOWhomeassistant/components/soundtouch/media_player.py158 def set_volume_level(self, volume: float) -> None:CODE
LOWhomeassistant/components/no_ip/__init__.py78 async def update_domain_interval(now: datetime) -> None:CODE
LOWhomeassistant/components/min_max/sensor.py355 def _update_device_class(self) -> None:CODE
LOWhomeassistant/components/nextcloud/coordinator.py76 def _update_data() -> None:CODE
LOWhomeassistant/components/ambient_station/sensor.py777 def update_from_latest_data(self) -> None:CODE
LOWhomeassistant/components/ambient_station/entity.py71 def update_from_latest_data(self) -> None:CODE
LOW…eassistant/components/ambient_station/binary_sensor.py404 def update_from_latest_data(self) -> None:CODE
LOWhomeassistant/components/vibration/__init__.py10__all__ = []CODE
LOW…meassistant/components/geonetnz_quakes/geo_location.py125 def _update_callback(self) -> None:CODE
LOW…meassistant/components/geonetnz_quakes/geo_location.py136 def _update_from_feed(self, feed_entry: GeonetnzQuakesFeedEntry) -> None:CODE
LOWhomeassistant/components/power/__init__.py10__all__ = []CODE
LOWhomeassistant/components/omie/coordinator.py55 def _set_update_interval(self) -> None:CODE
LOWhomeassistant/components/ads/cover.py159 def set_cover_position(self, **kwargs: Any) -> None:CODE
LOWhomeassistant/components/labs/__init__.py38__all__ = [CODE
LOW…meassistant/components/geo_json_events/geo_location.py88 def _update_callback(self) -> None:CODE
LOW…meassistant/components/geo_json_events/geo_location.py99 def _update_from_feed(self, feed_entry: GenericFeedEntry) -> None:CODE
LOWhomeassistant/components/geo_json_events/manager.py100 async def _update_entity(self, external_id: str) -> None:CODE
LOWhomeassistant/components/hydrawise/sensor.py217 def _update_attrs(self) -> None:CODE
LOWhomeassistant/components/hydrawise/switch.py109 def _update_attrs(self) -> None:CODE
LOWhomeassistant/components/hydrawise/entity.py80 def _update_attrs(self) -> None:CODE
1391 more matches not shown…
Hallucination Indicators119 hits · 1400 pts
SeverityFileLineSnippetContext
CRITICAL⚡homeassistant/components/deconz/cover.py96 await self.hub.api.lights.covers.set_state(CODE
CRITICAL⚡homeassistant/components/deconz/cover.py105 await self.hub.api.lights.covers.set_state(CODE
CRITICAL⚡homeassistant/components/deconz/cover.py114 await self.hub.api.lights.covers.set_state(CODE
CRITICAL⚡homeassistant/components/deconz/cover.py123 await self.hub.api.lights.covers.set_state(CODE
CRITICAL⚡homeassistant/components/deconz/cover.py141 await self.hub.api.lights.covers.set_state(CODE
CRITICAL⚡homeassistant/components/deconz/cover.py150 await self.hub.api.lights.covers.set_state(CODE
CRITICAL⚡homeassistant/components/deconz/cover.py159 await self.hub.api.lights.covers.set_state(CODE
CRITICAL⚡homeassistant/components/deconz/cover.py168 await self.hub.api.lights.covers.set_state(CODE
CRITICALhomeassistant/components/deconz/fan.py105 await self.hub.api.lights.lights.set_state(CODE
CRITICALhomeassistant/components/deconz/fan.py123 await self.hub.api.lights.lights.set_state(CODE
CRITICALhomeassistant/components/deconz/fan.py131 await self.hub.api.lights.lights.set_state(CODE
CRITICALhomeassistant/components/deconz/switch.py57 await self.hub.api.lights.lights.set_state(CODE
CRITICALhomeassistant/components/deconz/switch.py65 await self.hub.api.lights.lights.set_state(CODE
CRITICALhomeassistant/components/deconz/button.py128 await self.hub.api.sensors.presence.set_config(CODE
CRITICAL⚡homeassistant/components/deconz/lock.py65 await self.hub.api.sensors.door_lock.set_config(CODE
CRITICAL⚡homeassistant/components/deconz/lock.py70 await self.hub.api.lights.locks.set_state(CODE
CRITICAL⚡homeassistant/components/deconz/lock.py79 await self.hub.api.sensors.door_lock.set_config(CODE
CRITICAL⚡homeassistant/components/deconz/lock.py84 await self.hub.api.lights.locks.set_state(CODE
CRITICALhomeassistant/components/deconz/select.py98 await self.hub.api.sensors.air_purifier.set_config(CODE
CRITICALhomeassistant/components/deconz/select.py130 await self.hub.api.sensors.presence.set_config(CODE
CRITICALhomeassistant/components/deconz/select.py159 await self.hub.api.sensors.presence.set_config(CODE
CRITICALhomeassistant/components/deconz/select.py192 await self.hub.api.sensors.presence.set_config(CODE
CRITICALhomeassistant/components/deconz/climate.py151 await self.hub.api.sensors.thermostat.set_config(CODE
CRITICALhomeassistant/components/deconz/climate.py171 await self.hub.api.sensors.thermostat.set_config(CODE
CRITICALhomeassistant/components/deconz/climate.py176 await self.hub.api.sensors.thermostat.set_config(CODE
CRITICAL⚡homeassistant/components/deconz/climate.py213 await self.hub.api.sensors.thermostat.set_config(CODE
CRITICALhomeassistant/components/deconz/climate.py245 await self.hub.api.sensors.thermostat.set_config(CODE
CRITICALhomeassistant/components/deconz/climate.py250 await self.hub.api.sensors.thermostat.set_config(CODE
CRITICALhomeassistant/components/deconz/siren.py63 await self.hub.api.lights.sirens.set_state(CODE
CRITICALhomeassistant/components/deconz/siren.py72 await self.hub.api.lights.sirens.set_state(CODE
CRITICALhomeassistant/components/hydrawise/sensor.py121 sensor.zone.scheduled_runs.current_run.remaining_time.total_seconds()CODE
CRITICALhomeassistant/components/indi_allsky/sensor.py390 return self.coordinator.data.sensor.sensors.get(self._sensor_key)CODE
CRITICALhomeassistant/components/meteo_france/__init__.py110 department = entry.runtime_data.forecast_coordinator.data.position.get("dept")CODE
CRITICAL⚡homeassistant/components/adguard/services.py70 await entry.runtime_data.client.filtering.blocklists.add(CODE
CRITICAL⚡homeassistant/components/adguard/services.py80 await entry.runtime_data.client.filtering.blocklists.remove(CODE
CRITICAL⚡homeassistant/components/adguard/services.py90 await entry.runtime_data.client.filtering.blocklists.enable(CODE
CRITICAL⚡homeassistant/components/adguard/services.py100 await entry.runtime_data.client.filtering.blocklists.disable(CODE
CRITICALhomeassistant/components/adguard/services.py112 await entry.runtime_data.client.filtering.blocklists.refresh()CODE
CRITICALhomeassistant/components/xbox/diagnostics.py32 for person in config_entry.runtime_data.presence.data.presence.values()CODE
CRITICALhomeassistant/components/xbox/diagnostics.py49 for title in config_entry.runtime_data.presence.data.title_info.values()CODE
CRITICALhomeassistant/components/wled/select.py196 if (segment := self.coordinator.data.state.segments.get(self._segment)) is None:CODE
CRITICALhomeassistant/components/sendgrid/notify.py76 response = self._sg.client.mail.send.post(request_body=data)CODE
CRITICALhomeassistant/components/wattwaechter/sensor.py476 obis = self.coordinator.data.meter.values.get(self._obis_code)CODE
CRITICALhomeassistant/components/wattwaechter/sensor.py514 obis = self.coordinator.data.meter.values.get(self._obis_code)CODE
CRITICALhomeassistant/components/tolo/entity.py24 model=self.coordinator.data.status.model.name.capitalize(),CODE
CRITICALhomeassistant/components/isy994/event.py152 self._change_handler = self._node.isy.nodes.status_events.subscribe(CODE
CRITICALhomeassistant/components/isy994/sensor.py381 self._availability_handler = self._node.isy.nodes.status_events.subscribe(CODE
CRITICALhomeassistant/components/isy994/number.py273 self._memory_change_handler = self._node.isy.nodes.status_events.subscribe(CODE
CRITICALhomeassistant/components/isy994/switch.py169 self._change_handler = self._node.isy.nodes.status_events.subscribe(CODE
CRITICALhomeassistant/components/isy994/button.py122 self._availability_handler = self._node.isy.nodes.status_events.subscribe(CODE
CRITICALhomeassistant/components/isy994/entity.py258 self._availability_handler = self._node.isy.nodes.status_events.subscribe(CODE
CRITICALhomeassistant/components/isy994/select.py184 self._memory_change_handler = self._node.isy.nodes.status_events.subscribe(CODE
CRITICALhomeassistant/components/awair/config_flow.py128 self.hass.config_entries.flow._handler_progress_index.get(DOMAIN) or set(), # noqa: SLF001CODE
CRITICALhomeassistant/components/flow_it/sensor.py108 value_fn=lambda data: data.data.filter.hepa.status.name.lower(),CODE
CRITICALhomeassistant/components/flow_it/sensor.py116 value_fn=lambda data: data.data.filter.g4.status.name.lower(),CODE
CRITICAL⚡homeassistant/components/squeezebox/media_player.py306 self.coordinator.config_entry.runtime_data.known_player_ids.discard(CODE
CRITICAL⚡homeassistant/components/squeezebox/media_player.py310 self.coordinator.config_entry.runtime_data.player_coordinators.pop(CODE
CRITICALhomeassistant/components/volvo/button.py105 result = await self.entry.runtime_data.context.api.async_execute_command(CODE
CRITICALhomeassistant/components/knx/climate.py523 return self._device.mode.operation_mode.name.lower()CODE
CRITICAL⚡homeassistant/components/knx/climate.py627 self._device.mode.xknx.devices.async_add(self._device.mode)CODE
59 more matches not shown…
Self-Referential Comments357 hits · 1128 pts
SeverityFileLineSnippetContext
MEDIUMhomeassistant/config_entries.py1463 # Create an issue, there's no need to hold the lock when doing thatCOMMENT
MEDIUMhomeassistant/config.py480 # This function is an alternative to the stringification done byCOMMENT
MEDIUMhomeassistant/config.py1326 # Create a copy of the configuration with all config for currentCOMMENT
MEDIUMhomeassistant/util/frozen_dataclass_compat.py89 # This class is a real dataclass, optionally inject the parent's annotationsCOMMENT
MEDIUMhomeassistant/components/huisbaasje/__init__.py17 # Create the EnergyFlip clientCOMMENT
MEDIUMhomeassistant/components/huisbaasje/__init__.py43 # Create a coordinator for polling updatesCOMMENT
MEDIUMhomeassistant/components/izone/climate.py123 # Create the zonesCOMMENT
MEDIUMhomeassistant/components/pooldose/__init__.py62 # Create the PoolDose API client and connectCOMMENT
MEDIUMhomeassistant/components/pglab/discovery.py204 # Create a PGLab device and add entities.COMMENT
MEDIUMhomeassistant/components/pglab/discovery.py223 # Create a new device.COMMENT
MEDIUMhomeassistant/components/pglab/__init__.py65 # Create an MQTT client for PGLab used for PGLab python module.COMMENT
MEDIUMhomeassistant/components/imeon_inverter/__init__.py16 # Create the corresponding HUBCOMMENT
MEDIUMhomeassistant/components/imeon_inverter/config_flow.py73 # Create a new configuration entry if login succeedsCOMMENT
MEDIUMhomeassistant/components/liebherr/__init__.py59 # Create a coordinator for each device (may be empty if no devices)COMMENT
MEDIUMhomeassistant/components/intellifire/__init__.py83 # Create a Cloud InterfaceCOMMENT
MEDIUMhomeassistant/components/intellifire/config_flow.py97 # Define a cloud api interface we can useCOMMENT
MEDIUM…assistant/components/rituals_perfume_genie/__init__.py59 # Create a coordinator for each diffuserCOMMENT
MEDIUMhomeassistant/components/iotawatt/coordinator.py54 # This method is called from each sensor upon their state being restored.COMMENT
MEDIUMhomeassistant/components/telegram_bot/__init__.py197 # Create the bot device before the platforms are set up, so the per-chat devices canCOMMENT
MEDIUMhomeassistant/components/homeassistant/services.py110 # Create a new dict for this callCOMMENT
MEDIUMhomeassistant/components/homeassistant/triggers/time.py210 # Create a temporary datetime object to get an offset.COMMENT
MEDIUMhomeassistant/components/waqi/__init__.py42 # Create a coordinator for each station subentryCOMMENT
MEDIUMhomeassistant/components/assist_pipeline/runtime.py47 # Create a temporary list in case the list is modified while we iterateCOMMENT
MEDIUM…sistant/components/assist_pipeline/default_pipeline.py408 # Create a background task to prepare the conversation agentCOMMENT
MEDIUMhomeassistant/components/config/floor_registry.py64 # Create a set for the aliases without:COMMENT
MEDIUMhomeassistant/components/config/floor_registry.py122 # Create a set for the aliases without:COMMENT
MEDIUMhomeassistant/components/config/area_registry.py68 # Create a set for the aliases without:COMMENT
MEDIUMhomeassistant/components/config/area_registry.py138 # Create a set for the aliases without:COMMENT
MEDIUMhomeassistant/components/energy/sensor.py286 # Create a config wrapper that maps the sell price fields to standard namesCOMMENT
MEDIUMhomeassistant/components/energy/validate.py752 # Create a list of validation checksCOMMENT
MEDIUMhomeassistant/components/auth/__init__.py97## Create a long-lived access tokenSTRING
MEDIUMhomeassistant/components/local_calendar/calendar.py213 # This function is called with new events created in the local timezone,COMMENT
MEDIUMhomeassistant/components/rehlko/binary_sensor.py146 # Create a synthetic entity description for this loadshed parameterCOMMENT
MEDIUM⚡homeassistant/components/yale/util.py24 # Create an aiohttp session instead of using the default one since theCOMMENT
MEDIUMhomeassistant/components/yale/camera.py30 # Create an aiohttp session instead of using the default one since theCOMMENT
MEDIUMhomeassistant/components/google/calendar.py163 # Create a separate calendar for birthdaysCOMMENT
MEDIUMhomeassistant/components/google/calendar.py175 # Create an optional disabled by default entity for Work LocationCOMMENT
MEDIUMhomeassistant/components/vegehub/config_flow.py81 # Create a VegeHub object to interact with the deviceCOMMENT
MEDIUMhomeassistant/components/vegehub/config_flow.py169 # Create the config entry for the new deviceCOMMENT
MEDIUMhomeassistant/components/sftp_storage/config_flow.py140 # Create a session using your credentialsCOMMENT
MEDIUMhomeassistant/components/stream/worker.py212 # Create a fragment every TARGET_PART_DURATION. The data fromCOMMENT
MEDIUMhomeassistant/components/motionmount/entity.py37 # Create a base unique idCOMMENT
MEDIUMhomeassistant/components/zhong_hong/__init__.py75 # Creating the device registers it with the hub, which is what routes theCOMMENT
MEDIUMhomeassistant/components/go2rtc/server.py32_GO2RTC_CONFIG_FORMAT = r"""# This file is managed by Home AssistantCODE
MEDIUMhomeassistant/components/signal_messenger/notify.py111 # Creating the client queries the REST API, which may not be up yetCOMMENT
MEDIUM⚡homeassistant/components/template/coordinator.py140 # Create a context referring to the trigger context.COMMENT
MEDIUM⚡homeassistant/components/template/coordinator.py144 # This method is only called if there's a scriptCOMMENT
MEDIUMhomeassistant/components/template/config.py458 # Create a copy of the configuration with all config for currentCOMMENT
MEDIUMhomeassistant/components/hp_ilo/sensor.py90 # Create a data fetcher to support all of the configured sensors. Then makeCOMMENT
MEDIUMhomeassistant/components/sense/__init__.py56 # Creating the AsyncSenseable object loadsCOMMENT
MEDIUMhomeassistant/components/sense/config_flow.py52 # Creating the AsyncSenseable object loadsCOMMENT
MEDIUMhomeassistant/components/touchline_sl/__init__.py85 # Create a new Device for each coorodinator to represent each moduleCOMMENT
MEDIUMhomeassistant/components/scrape/__init__.py159 # Create a new sub config entry per sensorCOMMENT
MEDIUMhomeassistant/components/cielo_home/coordinator.py109# Define the ConfigEntry type here to avoid circular importsCOMMENT
MEDIUMhomeassistant/components/citybikes/sensor.py121 # Create a single instance of CityBikesNetworks.COMMENT
MEDIUMhomeassistant/components/gtfs/sensor.py645 # Define the state as a UTC timestamp with ISO 8601 formatCOMMENT
MEDIUMhomeassistant/components/generic_thermostat/climate.py677 # Create a child context for the switch service call so we canCOMMENT
MEDIUMhomeassistant/components/generic_thermostat/climate.py706 # Create a child context for the switch service call so we canCOMMENT
MEDIUMhomeassistant/components/script/config.py306 # Create a copy of the configuration with all config for currentCOMMENT
MEDIUM⚡homeassistant/components/notion/coordinator.py62 # Define a dict of bridges, indexed by bridge ID (an integer):COMMENT
297 more matches not shown…
Unused Imports1226 hits · 1054 pts
SeverityFileLineSnippetContext
LOWhomeassistant/bootstrap.py22CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py40CODE
LOWhomeassistant/bootstrap.py64CODE
LOWhomeassistant/bootstrap.py116CODE
LOWhomeassistant/bootstrap.py121CODE
LOWhomeassistant/setup.py16CODE
LOWhomeassistant/util/percentage.py3CODE
LOWhomeassistant/util/percentage.py3CODE
LOWhomeassistant/util/ulid.py3CODE
LOWhomeassistant/util/ulid.py3CODE
LOWhomeassistant/util/ulid.py3CODE
LOWhomeassistant/util/ulid.py3CODE
LOWhomeassistant/util/ulid.py3CODE
LOWhomeassistant/util/yaml/__init__.py3CODE
LOWhomeassistant/util/yaml/__init__.py3CODE
LOWhomeassistant/util/yaml/__init__.py3CODE
LOWhomeassistant/util/yaml/__init__.py4CODE
LOWhomeassistant/util/yaml/__init__.py4CODE
LOWhomeassistant/util/yaml/__init__.py4CODE
LOWhomeassistant/util/yaml/__init__.py6CODE
LOWhomeassistant/util/yaml/__init__.py6CODE
LOWhomeassistant/util/yaml/__init__.py7CODE
LOWhomeassistant/util/yaml/__init__.py7CODE
LOWhomeassistant/util/yaml/__init__.py7CODE
LOWhomeassistant/util/yaml/__init__.py7CODE
LOWhomeassistant/util/yaml/__init__.py7CODE
LOWhomeassistant/util/yaml/dumper.py3CODE
LOWhomeassistant/util/yaml/dumper.py3CODE
LOWhomeassistant/util/yaml/dumper.py3CODE
LOWhomeassistant/util/yaml/dumper.py3CODE
LOWhomeassistant/util/yaml/loader.py8CODE
LOWhomeassistant/util/yaml/loader.py8CODE
LOWhomeassistant/util/yaml/input.py3CODE
LOWhomeassistant/util/yaml/input.py3CODE
LOWhomeassistant/util/yaml/input.py3CODE
LOWhomeassistant/util/yaml/input.py5CODE
LOWhomeassistant/util/yaml/objects.py3CODE
LOWhomeassistant/util/yaml/objects.py3CODE
LOWhomeassistant/util/yaml/objects.py3CODE
1166 more matches not shown…
Excessive Try-Catch Wrapping978 hits · 988 pts
SeverityFileLineSnippetContext
LOW…int_home_assistant/checkers/tests/registry_fixtures.py71 except Exception: # noqa: BLE001 - defensive: lookup can raise on odd ASTsCODE
LOW…ome_assistant/checkers/actions/swallowed_exceptions.py208 except Exception: # noqa: BLE001CODE
LOWhomeassistant/data_entry_flow.py473 except Exception:CODE
LOWhomeassistant/config_entries.py1151 except Exception as exc:CODE
LOWhomeassistant/config_entries.py1206 except Exception:CODE
LOWhomeassistant/config_entries.py1397 except Exception:CODE
LOWhomeassistant/config.py599 except Exception:CODE
LOWhomeassistant/config.py1106 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/config.py1190 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/config.py1217 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/config.py1254 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/core_config.py899 except Exception:CODE
LOWhomeassistant/core.py1247 except Exception:CODE
LOWhomeassistant/core.py1672 except Exception:CODE
LOWhomeassistant/core.py1687 except Exception:CODE
LOWhomeassistant/core.py3000 except Exception:CODE
LOWhomeassistant/setup.py620 except Exception:CODE
LOWhomeassistant/requirements.py240 except Exception as ex: # noqa: BLE001CODE
LOW⚡homeassistant/loader.py1405 except Exception:CODE
LOWhomeassistant/loader.py1152 except Exception as err:CODE
LOWhomeassistant/loader.py1357 except Exception as err:CODE
LOWhomeassistant/loader.py1598 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/loader.py1690 except Exception as exc:CODE
LOWhomeassistant/backup_restore.py203 except Exception as err:CODE
LOWhomeassistant/util/logging.py178 except Exception: # noqa: BLE001CODE
LOWhomeassistant/util/logging.py188 except Exception: # noqa: BLE001CODE
LOWhomeassistant/util/logging.py199 except Exception: # noqa: BLE001CODE
LOWhomeassistant/util/logging.py251 except Exception: # noqa: BLE001CODE
LOWhomeassistant/util/thread.py34 except Exception as err: # noqa: BLE001CODE
LOWhomeassistant/util/async_.py78 except Exception as exc:CODE
LOW…stant/components/nederlandse_spoorwegen/config_flow.py54 except Exception:CODE
LOW…sistant/components/tesla_wall_connector/config_flow.py158 except Exception:CODE
LOWhomeassistant/components/syncthing/config_flow.py38 except Exception as error:CODE
LOWhomeassistant/components/blink/coordinator.py55 except Exception as ex:CODE
LOWhomeassistant/components/blink/config_flow.py82 except Exception:CODE
LOWhomeassistant/components/blink/config_flow.py111 except Exception:CODE
LOWhomeassistant/components/blink/config_flow.py147 except Exception:CODE
LOWhomeassistant/components/blink/config_flow.py181 except Exception:CODE
LOWhomeassistant/components/intelliclima/config_flow.py56 except Exception: # noqa: BLE001CODE
LOWhomeassistant/components/webhook/__init__.py213 except Exception:CODE
LOWhomeassistant/components/aseko_pool_live/config_flow.py57 except Exception:CODE
LOWhomeassistant/components/aseko_pool_live/config_flow.py115 except Exception:CODE
LOWhomeassistant/components/zeversolar/config_flow.py50 except Exception:CODE
LOWhomeassistant/components/firefly_iii/config_flow.py76 except Exception:CODE
LOWhomeassistant/components/firefly_iii/config_flow.py115 except Exception:CODE
LOWhomeassistant/components/firefly_iii/config_flow.py154 except Exception:CODE
LOWhomeassistant/components/labs/websocket_api.py91 except Exception as err: # noqa: BLE001 - websocket handlers can catch broad exceptionsCODE
LOWhomeassistant/components/powerwall/config_flow.py219 except Exception as ex:CODE
LOWhomeassistant/components/flipr/config_flow.py49 except Exception:CODE
LOWhomeassistant/components/anglian_water/config_flow.py61 except Exception:CODE
LOWhomeassistant/components/anglian_water/config_flow.py127 except Exception:CODE
LOWhomeassistant/components/anglian_water/config_flow.py141 except Exception:CODE
LOWhomeassistant/components/hydrawise/config_flow.py123 except Exception: # noqa: BLE001CODE
LOWhomeassistant/components/foscam/config_flow.py118 except Exception: # noqa: BLE001CODE
LOWhomeassistant/components/fully_kiosk/config_flow.py51 except Exception as error:CODE
LOWhomeassistant/components/renault/config_flow.py68 except Exception:CODE
LOWhomeassistant/components/notify/legacy.py122 except Exception: # noqa: BLE001CODE
LOWhomeassistant/components/indi_allsky/config_flow.py85 except Exception as err:CODE
LOWhomeassistant/components/indi_allsky/config_flow.py117 except Exception:CODE
LOWhomeassistant/components/huisbaasje/config_flow.py50 except Exception:CODE
918 more matches not shown…
Deep Nesting981 hits · 939 pts
SeverityFileLineSnippetContext
LOW…ins/pylint_home_assistant/checkers/greek_micro_char.py39CODE
LOW…ns/pylint_home_assistant/checkers/flow_translations.py92CODE
LOW…ns/pylint_home_assistant/checkers/flow_translations.py291CODE
LOW…ns/pylint_home_assistant/checkers/flow_translations.py407CODE
LOW…ns/pylint_home_assistant/checkers/flow_translations.py443CODE
LOW…nt_home_assistant/checkers/sequential_executor_jobs.py72CODE
LOW…lint/plugins/pylint_home_assistant/checkers/imports.py335CODE
LOW…lint/plugins/pylint_home_assistant/checkers/imports.py363CODE
LOW…lint_home_assistant/checkers/exception_translations.py56CODE
LOW…gins/pylint_home_assistant/checkers/duplicate_const.py19CODE
LOW…me_assistant/checkers/quality_scale/has_entity_name.py96CODE
LOW…home_assistant/checkers/config_flow/unique_id_no_ip.py127CODE
LOW…home_assistant/checkers/config_flow/unique_id_no_ip.py51CODE
LOW…home_assistant/checkers/tests/redundant_usefixtures.py48CODE
LOW…home_assistant/checkers/tests/redundant_usefixtures.py86CODE
LOW…ome_assistant/checkers/actions/swallowed_exceptions.py93CODE
LOW…ome_assistant/checkers/actions/service_registration.py52CODE
LOW…gins/pylint_home_assistant/checkers/actions/helpers.py33CODE
LOW…ylint_home_assistant/checkers/type_hints/validators.py157CODE
LOW…/pylint_home_assistant/checkers/type_hints/__init__.py116CODE
LOWpylint/plugins/pylint_home_assistant/helpers/icons.py43CODE
LOW…/plugins/pylint_home_assistant/helpers/translations.py23CODE
LOW…/plugins/pylint_home_assistant/helpers/translations.py138CODE
LOWhomeassistant/bootstrap.py311CODE
LOWhomeassistant/bootstrap.py577CODE
LOWhomeassistant/data_entry_flow.py345CODE
LOWhomeassistant/runner.py79CODE
LOWhomeassistant/setup.py276CODE
LOWhomeassistant/requirements.py246CODE
LOWhomeassistant/loader.py1439CODE
LOWhomeassistant/loader.py1181CODE
LOWhomeassistant/backup_restore.py96CODE
LOWhomeassistant/util/color.py313CODE
LOWhomeassistant/auth/auth_store.py312CODE
LOWhomeassistant/components/buienradar/sensor.py786CODE
LOWhomeassistant/components/smlight/update.py182CODE
LOWhomeassistant/components/smlight/update.py243CODE
LOWhomeassistant/components/smlight/config_flow.py75CODE
LOWhomeassistant/components/smlight/config_flow.py103CODE
LOWhomeassistant/components/smlight/config_flow.py165CODE
LOWhomeassistant/components/deconz/sensor.py423CODE
LOWhomeassistant/components/deconz/deconz_event.py56CODE
LOWhomeassistant/components/deconz/deconz_event.py60CODE
LOWhomeassistant/components/statistics/sensor.py842CODE
LOWhomeassistant/components/soundtouch/services.py43CODE
LOWhomeassistant/components/wiim/media_player.py507CODE
LOWhomeassistant/components/wiim/media_player.py767CODE
LOWhomeassistant/components/ads/cover.py88CODE
LOW…meassistant/components/here_travel_time/coordinator.py374CODE
LOWhomeassistant/components/powerwall/config_flow.py140CODE
LOWhomeassistant/components/anglian_water/coordinator.py98CODE
LOWhomeassistant/components/hydrawise/coordinator.py129CODE
LOWhomeassistant/components/notify/legacy.py66CODE
LOWhomeassistant/components/notify/legacy.py73CODE
LOWhomeassistant/components/izone/diagnostics.py20CODE
LOWhomeassistant/components/izone/__init__.py135CODE
LOWhomeassistant/components/control4/cover.py44CODE
LOWhomeassistant/components/control4/light.py34CODE
LOWhomeassistant/components/control4/media_player.py75CODE
LOWhomeassistant/components/smartthings/sensor.py1327CODE
921 more matches not shown…
Cross-Language Confusion102 hits · 561 pts
SeverityFileLineSnippetContext
HIGHhomeassistant/components/auth/login_flow.py10 "id": null,STRING
HIGHhomeassistant/components/auth/login_flow.py32 "handler": ["local_provider", null],STRING
HIGHhomeassistant/components/auth/login_flow.py49 "handler": ["insecure_example", null],STRING
HIGHhomeassistant/components/auth/login_flow.py64 "handler": ["insecure_example", null],STRING
HIGHhomeassistant/components/rainmachine/sensor.py343 # Timestamp may return 0 instead of null, explicitly set to NoneCOMMENT
HIGHhomeassistant/components/matter/models.py154 # for example to filter out invalid values (such as empty string instead of null)COMMENT
HIGH⚡homeassistant/components/maxcube/climate.py146 Both parameters are optional. When mode is undefined, it keepsSTRING
HIGH⚡homeassistant/components/maxcube/climate.py147 the previous mode. When temp is undefined, it fetches theSTRING
HIGHhomeassistant/components/nut/__init__.py342 # a driver formatting a missing C string reports the literal (null)COMMENT
HIGHhomeassistant/components/nut/__init__.py343 return {key: value for key, value in status.items() if value != "(null)"}CODE
HIGHtests/test_core.py1116 b'"context":{"id":"01H0D6K3RFJAYAV2093ZW30PCW","parent_id":null,"user_id":null}}'CODE
HIGHtests/components/template/test_light.py1018 (None, "[{{(360)}},{{null}}]", ColorMode.HS),CODE
HIGHtests/components/matter/test_sensor.py927 # Test setting to 0 (invalid/null) - should result in unknown stateCOMMENT
HIGHtests/components/matter/test_number.py82 # Set a concrete value (not null)COMMENT
HIGHtests/components/matter/test_number.py547 # (null) on the device.COMMENT
HIGHtests/components/pvpc_hourly_pricing/conftest.py77 '"values_updated_at":null,"values":[]}}'CODE
HIGH⚡tests/components/tasmota/test_config_flow.py37 '"fn":["Tasmota",null,null,null,null,'CODE
HIGH⚡tests/components/tasmota/test_config_flow.py38 'null,null,null],"hn":"tasmota_0848A2",'CODE
HIGH⚡tests/components/tasmota/test_config_flow.py43 '"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.py76 '"fn":["Tasmota",null,null,null,null,'CODE
HIGH⚡tests/components/tasmota/test_config_flow.py77 'null,null,null],"hn":"tasmota_0848A2",'CODE
HIGH⚡tests/components/tasmota/test_config_flow.py82 '"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.py103 '"fn":["Tasmota",null,null,null,null,'CODE
HIGH⚡tests/components/tasmota/test_config_flow.py104 'null,null,null],"hn":"tasmota_0848A2",'CODE
HIGH⚡tests/components/tasmota/test_config_flow.py109 '"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0],'CODE
HIGHtests/components/victron_gx/test_time.py106 '{"value": null}',CODE
HIGHtests/components/victron_gx/test_number.py128 await inject_message(victron_hub, topic, '{"value": null}')CODE
HIGHtests/components/roborock/mock_data.py161 '{"max": 100, "min": 0, "step": 1, "unit": null, "scale": 1}'CODE
HIGHtests/components/roborock/mock_data.py172 '{"max": 100, "min": 0, "step": 1, "unit": null, "scale": 1}'CODE
HIGHtests/components/roborock/mock_data.py183 '{"max": 100, "min": 0, "step": 1, "unit": null, "scale": 1}'CODE
HIGHtests/components/nightscout/__init__.py24 '{"status":"ok","name":"nightscout","version":"13.0.1","serverTime":"2020-08-05T18:14:02.032Z","serverTimeEpoch"CODE
HIGHtests/components/nightscout/__init__.py73 '{"advanced":true,"days":1}},"authorized":null}'CODE
HIGHtests/components/intent_script/test_init.py188 "reprompt": {"text": "{{ null }}"},CODE
HIGHtests/components/mqtt/test_device_tracker.py482 hass, "attributes-topic", '{"longitude": -117.22743, "latitude":null}'CODE
HIGHtests/components/mqtt/test_device_tracker.py524 '{"latitude": null,"longitude": "-117.22743",'CODE
HIGHtests/components/mqtt/test_device_tracker.py780 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_water_heater.py1269 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_time.py589 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_light_template.py1551 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_light_template.py1582 async_fire_mqtt_message(hass, "test-topic", '{"r": 255, "g": 255, "b": null }')CODE
HIGHtests/components/mqtt/test_select.py163 async_fire_mqtt_message(hass, "test/select_stat", '{"val": null}')CODE
HIGHtests/components/mqtt/test_select.py862 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_siren.py195 async_fire_mqtt_message(hass, "state-topic", '{"val": null }')CODE
HIGHtests/components/mqtt/test_siren.py1138 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_light_json.py441 async_fire_mqtt_message(hass, "test_light_rgb", '{"state": null}')CODE
HIGHtests/components/mqtt/test_light_json.py757 '"color":null,'CODE
HIGHtests/components/mqtt/test_light_json.py2365 '{"state":"ON", "color": null, "color_temp": 100, "color_mode": "color_temp"}',CODE
HIGHtests/components/mqtt/test_valve.py203 ('{"position":null}', STATE_UNKNOWN),CODE
HIGHtests/components/mqtt/test_valve.py327 ('{"position": 100, "state": null}', ValveState.OPEN, 100),CODE
HIGHtests/components/mqtt/test_valve.py1492 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_image.py829 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_lawn_mower.py237 async_fire_mqtt_message(hass, "test/lawn_mower_stat", '{"val": null}')CODE
HIGHtests/components/mqtt/test_lawn_mower.py1025 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_alarm_control_panel.py1467 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_fan.py407 async_fire_mqtt_message(hass, "state-topic", '{"val": null}')CODE
HIGHtests/components/mqtt/test_fan.py2432 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_humidifier.py414 async_fire_mqtt_message(hass, "state-topic", '{"val": null}')CODE
HIGHtests/components/mqtt/test_humidifier.py431 async_fire_mqtt_message(hass, "action-topic", '{"val": null}')CODE
HIGHtests/components/mqtt/test_humidifier.py1630 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGH⚡tests/components/mqtt/test_update.py946 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
42 more matches not shown…
Redundant / Tautological Comments339 hits · 536 pts
SeverityFileLineSnippetContext
LOW…ns/pylint_home_assistant/checkers/flow_translations.py119 # Check if the value is a section(...) callCOMMENT
LOWhomeassistant/config_entries.py1859 # Check if config entry exists with unique ID. Unload it.COMMENT
LOWhomeassistant/config.py1149 # Check if the integration has a custom config validatorCOMMENT
LOWhomeassistant/core_config.py366 # Check if we need to raise an issue for imperial unit systemCOMMENT
LOWhomeassistant/__main__.py189 # Check if another instance is already runningCOMMENT
LOWhomeassistant/util/color.py248 # Check if the given xy value is within the color-reach of the lamp.COMMENT
LOWhomeassistant/util/color.py725 # Check if the three points of the supplied gamut are not on the same line.COMMENT
LOWhomeassistant/util/color.py730 # Check if all six coordinates of the gamut lie between 0 and 1.COMMENT
LOWhomeassistant/util/dt.py576 # Check if we can round trip to UTCCOMMENT
LOWhomeassistant/util/__init__.py192 # Check if method is never called or no_throttle is givenCOMMENT
LOWhomeassistant/components/buienradar/sensor.py788 # Check if we have a new measurement,COMMENT
LOW…stant/components/nederlandse_spoorwegen/config_flow.py110 # Check if this API key is already used by another entryCOMMENT
LOWhomeassistant/components/soundtouch/config_flow.py88 # Check if already configuredCOMMENT
LOWhomeassistant/components/powerwall/__init__.py99 # Check if we had an error beforeCOMMENT
LOWhomeassistant/components/brother/config_flow.py169 # Check if already configuredCOMMENT
LOWhomeassistant/components/meteo_france/config_flow.py77 # Check if already configuredCOMMENT
LOWhomeassistant/components/pooldose/__init__.py39 # Check if this entry needs migrationCOMMENT
LOWhomeassistant/components/control4/__init__.py131 # Check if OS version is 3 or higher to get UI configurationCOMMENT
LOWhomeassistant/components/pglab/discovery.py136 # Check if the discovery message is in valid json format.COMMENT
LOWhomeassistant/components/pglab/discovery.py146 # Check if the key id is present in the payload. It must always be present.COMMENT
LOWhomeassistant/components/meteoclimatic/config_flow.py64 # Check if already configuredCOMMENT
LOWhomeassistant/components/imeon_inverter/config_flow.py69 # Check if entry already existsCOMMENT
LOW…meassistant/components/onedrive_for_business/backup.py272 # Check if corresponding backup file existsCOMMENT
LOWhomeassistant/components/schedule/__init__.py69 # Check if the start time of the next event is beforeCOMMENT
LOWhomeassistant/components/schedule/__init__.py79 # Check if the from time of the event is after the to time of the previous eventCOMMENT
LOWhomeassistant/components/lacrosse_view/config_flow.py83 # Check if we are reauthenticatingCOMMENT
LOWhomeassistant/components/nws/sensor.py214 # Set alias to unit property -> prevent unnecessary hasattr callsCOMMENT
LOWhomeassistant/components/mobile_app/webhook.py689 # Check if disabledCOMMENT
LOWhomeassistant/components/switchbee/__init__.py45 # Check if websocket versionCOMMENT
LOWhomeassistant/components/slide/__init__.py98 # Check if we have pos (OK) or code (NOK)COMMENT
LOWhomeassistant/components/elgato/config_flow.py172 # Check if already configuredCOMMENT
LOWhomeassistant/components/homeassistant/triggers/time.py124 # Check if current weekday matches the configurationCOMMENT
LOWhomeassistant/components/aquacell/coordinator.py70 # Check if the refresh token is expiredCOMMENT
LOW…sistant/components/assist_pipeline/default_pipeline.py817 # Check if all targeted entities were in the same area asCOMMENT
LOWhomeassistant/components/system_bridge/config_flow.py142 # Check if already configuredCOMMENT
LOWhomeassistant/components/system_bridge/config_flow.py199 # Check if already configuredCOMMENT
LOW…meassistant/components/lutron_caseta/device_trigger.py425 # Check if device is a valid keypad. Return empty if not.COMMENT
LOWhomeassistant/components/wmspro/config_flow.py45 try: # Check if current host is a valid IP addressCODE
LOWhomeassistant/components/energyid/__init__.py336 # Check if entity is already mappedCOMMENT
LOWhomeassistant/components/energyid/config_flow.py207 # Check if device has been claimedCOMMENT
LOW…nt/components/energyid/energyid_sensor_mapping_flow.py79 # Check if entity existsCOMMENT
LOW…nt/components/energyid/energyid_sensor_mapping_flow.py85 # Check if entity is already mapped (by UUID)COMMENT
LOWhomeassistant/components/xiaomi_tv/media_player.py47 # Check if there's a valid TV at the IP address.COMMENT
LOWhomeassistant/components/lyric/climate.py447 # Set auto_changeover_active to True if the mode being passed is AutoCOMMENT
LOWhomeassistant/components/lektrico/config_flow.py121 # Check if already configuredCOMMENT
LOWhomeassistant/components/onedrive/backup.py284 # Check if corresponding backup file existsCOMMENT
LOW…istant/components/device_sun_light_trigger/__init__.py269 # Check if any light is onCOMMENT
LOWhomeassistant/components/electrasmart/config_flow.py85 # Check if already configuredCOMMENT
LOWhomeassistant/components/coinbase/__init__.py60 # Check if user is using deprecated v2 API credentialsCOMMENT
LOWhomeassistant/components/ps4/config_flow.py65 # Check if able to bind to ports: UDP 987, TCP 997.COMMENT
LOWhomeassistant/components/wiz/config_flow.py145 # Check if there is at least one deviceCOMMENT
LOWhomeassistant/components/vegehub/config_flow.py94 # Check if this device already existsCOMMENT
LOWhomeassistant/components/vegehub/config_flow.py156 # Check if this device already existsCOMMENT
LOWhomeassistant/components/portainer/coordinator.py377 # Check if container belongs to a stack via docker compose labelCOMMENT
LOWhomeassistant/components/spotify/browse_media.py196 # Check if caller is requesting the root nodesCOMMENT
LOWhomeassistant/components/stream/worker.py255 # Check if audio is requestedCOMMENT
LOWhomeassistant/components/flux_led/config_flow.py286 # Check if there is at least one deviceCOMMENT
LOW…assistant/components/ziggo_mediabox_xl/media_player.py62 # Check if a connection can be established to the device.COMMENT
LOWhomeassistant/components/xiaomi_aqara/config_flow.py185 # Check if the discovered device is an xiaomi aqara gateway.COMMENT
LOWhomeassistant/components/template/lock.py240 # Check if we need to raise for incorrect code formatCOMMENT
279 more matches not shown…
Empty Error Handlers102 hits · 510 pts
SeverityFileLineSnippetContext
HIGH…ns/pylint_home_assistant/checkers/flow_translations.py152except _InferenceError:CODE
HIGH…ns/pylint_home_assistant/checkers/flow_translations.py242except _InferenceError:CODE
HIGH…ns/pylint_home_assistant/checkers/flow_translations.py285except _InferenceError:CODE
HIGH…ns/pylint_home_assistant/checkers/flow_translations.py144except astroid.exceptions.NameInferenceError:CODE
HIGH…ns/pylint_home_assistant/checkers/flow_translations.py111except _InferenceError:CODE
HIGH…lugins/pylint_home_assistant/checkers/log_and_raise.py42except astroid.exceptions.InferenceError:CODE
HIGH…lint_home_assistant/checkers/exception_translations.py75except astroid.exceptions.InferenceError:CODE
HIGH…home_assistant/checkers/tests/redundant_usefixtures.py134except astroid.exceptions.AstroidSyntaxError:CODE
HIGH…ome_assistant/checkers/actions/swallowed_exceptions.py208except Exception: # noqa: BLE001CODE
HIGH…/plugins/pylint_home_assistant/helpers/translations.py119except _InferenceError:CODE
HIGH…/plugins/pylint_home_assistant/helpers/translations.py133except _InferenceError:CODE
HIGH…/plugins/pylint_home_assistant/helpers/translations.py153except _InferenceError:CODE
HIGH…/plugins/pylint_home_assistant/helpers/entity_class.py42except astroid.exceptions.InferenceError:CODE
HIGHhomeassistant/bootstrap.py615except ImportError:CODE
HIGHhomeassistant/util/language.py152except ValueError:CODE
HIGHhomeassistant/auth/providers/homeassistant.py350except InvalidUser:CODE
HIGHhomeassistant/components/spaceapi/__init__.py308except KeyError:CODE
HIGHhomeassistant/components/spaceapi/__init__.py310except TypeError:CODE
HIGHhomeassistant/components/uvc/camera.py181except OSError:CODE
HIGHhomeassistant/components/uvc/camera.py183except uvc_camera.CameraConnectError:CODE
HIGHhomeassistant/components/uvc/camera.py185except uvc_camera.CameraAuthError:CODE
HIGHhomeassistant/components/assist_pipeline/run.py448except Empty:CODE
HIGHhomeassistant/components/apple_tv/__init__.py243except asyncio.CancelledError:CODE
HIGHhomeassistant/components/wled/config_flow.py36except ValueError:CODE
HIGHhomeassistant/components/auth/indieauth.py402except ValueError:CODE
HIGHhomeassistant/components/withings/__init__.py451except cloud.CloudNotAvailable:CODE
HIGHhomeassistant/components/homekit_controller/utils.py35except ValueError:CODE
HIGHhomeassistant/components/template/validators.py233except probatio.Invalid:CODE
HIGHhomeassistant/components/template/validators.py169except ValueError:CODE
HIGHhomeassistant/components/template/validators.py181except probatio.Invalid:CODE
HIGHhomeassistant/components/template/binary_sensor.py272except TypeError:CODE
HIGHhomeassistant/components/openevse/__init__.py45except MissingSerial:CODE
HIGH…eassistant/components/music_assistant/media_browser.py194except BrowseError:CODE
HIGHhomeassistant/components/kodi/__init__.py63except CannotConnectError:CODE
HIGHhomeassistant/components/blebox/update.py155except BleBoxConnectionError:CODE
HIGHhomeassistant/components/upc_connect/device_tracker.py47except ConnectBoxError:CODE
HIGHhomeassistant/components/snapcast/media_player.py357except (CODE
HIGHhomeassistant/components/snapcast/media_player.py433except (CODE
HIGHhomeassistant/components/snapcast/media_player.py169except KeyError:CODE
HIGHhomeassistant/components/volvo/config_flow.py137except VolvoApiException:CODE
HIGHhomeassistant/components/intent/timers.py335except asyncio.CancelledError:CODE
HIGHhomeassistant/components/wyoming/assist_satellite.py961except wave.Error:CODE
HIGHhomeassistant/components/wyoming/assist_satellite.py774except ConnectionError:CODE
HIGHhomeassistant/components/sensor/__init__.py1017except TypeError:CODE
HIGHhomeassistant/components/nanoleaf/config_flow.py74except Unauthorized:CODE
HIGHhomeassistant/components/roon/media_player.py227except KeyError:CODE
HIGHhomeassistant/components/roon/media_player.py253except KeyError:CODE
HIGHhomeassistant/components/datadog/__init__.py78except ValueError:CODE
HIGH…eassistant/components/homeassistant_hardware/update.py239except StopIteration:CODE
HIGHhomeassistant/components/homeassistant_hardware/util.py357except AddonError:CODE
HIGHhomeassistant/components/emulated_hue/hue_api.py959except TimeoutError:CODE
HIGHhomeassistant/components/nmap_tracker/config_flow.py68except ValueError:CODE
HIGHhomeassistant/components/nmap_tracker/config_flow.py76except ValueError:CODE
HIGHhomeassistant/components/mitsubishi_comfort/repairs.py40except OperationNotAllowed:CODE
HIGHhomeassistant/components/zwave_js/helpers.py124except ValueError:CODE
HIGHhomeassistant/components/netatmo/__init__.py135except cloud.CloudNotAvailable:CODE
HIGHhomeassistant/components/tplink/config_flow.py223except AuthenticationError:CODE
HIGHhomeassistant/components/google_assistant/smart_home.py272except TimeoutError:CODE
HIGHhomeassistant/components/nordpool/coordinator.py163except NordPoolEmptyResponseError:CODE
HIGHhomeassistant/components/eq3btsmart/climate.py121except ValueError:CODE
42 more matches not shown…
Decorative Section Separators105 hits · 388 pts
SeverityFileLineSnippetContext
MEDIUMhomeassistant/components/logbook/models.py98# ---------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py62 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py64 # ------------------------------------------------------------------COMMENT
MEDIUM⚡homeassistant/components/teleinfo/sensor.py86 # ------------------------------------------------------------------COMMENT
MEDIUM⚡homeassistant/components/teleinfo/sensor.py88 # ------------------------------------------------------------------COMMENT
MEDIUM⚡homeassistant/components/teleinfo/sensor.py96 # ------------------------------------------------------------------COMMENT
MEDIUM⚡homeassistant/components/teleinfo/sensor.py98 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py113 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py115 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py138 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py140 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py180 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py182 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py198 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py200 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py220 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py222 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py304 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py306 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/intent/timers.py527# -----------------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/wyoming/assist_satellite.py408 # -------------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/wyoming/assist_satellite.py430 # -------------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/wyoming/assist_satellite.py517 # -------------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/voip/assist_satellite.py361 # -------------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/voip/assist_satellite.py363 # -------------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/zwave_js/binary_sensor.py991 # -------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/zwave_js/binary_sensor.py999 # -------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/zwave_js/binary_sensor.py1171 # -------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/zwave_js/binary_sensor.py1324 # -------------------------------------------------------------------COMMENT
MEDIUM⚡tests/components/jewish_calendar/test_calendar.py84# ─── Event Format ─────────────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py53# ─── Entity Registration ─────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py202# ─── Daily Events ────────────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py222# ─── Yearly Events: Weekly Torah Portion ──────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py302# ─── Yearly Events: Holidays ─────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py320# ─── Yearly Events: Omer Count ───────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py342# ─── Yearly Events: Candle Lighting & Havdalah ───────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py399# ─── Learning Schedule ───────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py420# ─── Custom Configuration ────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py479# ─── Date Range Queries ──────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py496# ─── Calendar State / Event Property ─────────────────────────────────COMMENT
MEDIUM⚡tests/components/waterfurnace/test_statistics.py122# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/components/waterfurnace/test_statistics.py124# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/components/waterfurnace/test_statistics.py291# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/components/waterfurnace/test_statistics.py293# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/components/energyid/test_init.py736# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py738# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py792# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py794# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py843# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py845# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py904# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py906# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py961# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py963# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py1000# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py1002# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py1042# ============================================================================COMMENT
MEDIUM⚡tests/components/energyid/test_init.py1044# ============================================================================COMMENT
MEDIUMtests/components/fing/test_device_tracker.py92 # ----------------------------------------------------COMMENT
MEDIUMtests/components/fing/test_device_tracker.py100 # ----------------------------------------------------COMMENT
45 more matches not shown…
Fake / Example Data243 hits · 263 pts
SeverityFileLineSnippetContext
LOWhomeassistant/components/auth/__init__.py83 "name": "John Doe",STRING
LOWhomeassistant/components/brands/__init__.py262 use_placeholder = request.query.get("placeholder") != "no"CODE
LOWhomeassistant/components/brands/__init__.py296 use_placeholder = request.query.get("placeholder") != "no"CODE
LOWhomeassistant/components/knx/strings.json1266 "placeholder": "Add your notes here..."CODE
LOWhomeassistant/helpers/selector.py1284 {probatio.Optional("placeholder"): str}CODE
LOW⚡tests/test_data_entry_flow.py971 raise data_entry_flow.AbortFlow("mock-reason", {"placeholder": "yo"})CODE
LOW⚡tests/test_data_entry_flow.py976 assert form["description_placeholders"] == {"placeholder": "yo"}CODE
LOW⚡tests/test_data_entry_flow.py996 raise data_entry_flow.AbortFlow("mock-reason", {"placeholder": "yo"})CODE
LOW⚡tests/test_data_entry_flow.py1003 assert form["description_placeholders"] == {"placeholder": "yo"}CODE
LOWtests/test_data_entry_flow.py191 "section_1": {"full_name": "John Doe"},CODE
LOWtests/test_data_entry_flow.py215 assert section_markers[0].description == {"suggested_value": "John Doe"}CODE
LOWtests/components/intelliclima/conftest.py182 mock_client.auth_token = "fake-token"CODE
LOWtests/components/intelliclima/conftest.py183 mock_client.user_id = "fake-user-id"CODE
LOWtests/components/zinvolt/conftest.py31 title="test@test.com",CODE
LOWtests/components/zinvolt/test_config_flow.py31 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/zinvolt/test_config_flow.py37 assert result["title"] == "test@test.com"CODE
LOWtests/components/zinvolt/test_config_flow.py68 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/zinvolt/test_config_flow.py81 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/zinvolt/test_config_flow.py104 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/onedrive_for_business/conftest.py67 title="John Doe's OneDrive",CODE
LOWtests/components/onedrive_for_business/conftest.py133 display_name="John Doe",CODE
LOW…s/components/onedrive_for_business/test_config_flow.py107 assert result["title"] == "John Doe's OneDrive (john@doe.com)"CODE
LOW…s/components/onedrive_for_business/test_config_flow.py196 assert result["title"] == "John Doe's OneDrive (john@doe.com)"CODE
LOWtests/components/onedrive_for_business/const.py28 display_name="John Doe",CODE
LOWtests/components/litterrobot/common.py6CONFIG = {DOMAIN: {CONF_USERNAME: "user@example.com", CONF_PASSWORD: "password"}}CODE
LOW⚡tests/components/paj_gps/test_config_flow.py20 CONF_EMAIL: "user@example.com",CODE
LOW⚡tests/components/paj_gps/test_config_flow.py28 ("user@example.com", "user@example.com"),CODE
LOW⚡tests/components/paj_gps/test_config_flow.py29 (" USER@EXAMPLE.COM ", "user@example.com"),CODE
LOW⚡tests/components/aquacell/__init__.py16 CONF_EMAIL: "test@test.com",CODE
LOW⚡tests/components/aquacell/__init__.py24 CONF_EMAIL: "test@test.com",CODE
LOW⚡tests/components/aquacell/__init__.py31 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/freedompro/test_init.py14ENTITY_ID = f"{DOMAIN}.fake_name"CODE
LOWtests/components/nexblue/conftest.py30 CONF_USERNAME: "user@example.com",CODE
LOW⚡tests/components/nexblue/test_config_flow.py79 CONF_USERNAME: "user@example.com",CODE
LOW⚡tests/components/nexblue/test_config_flow.py89 CONF_USERNAME: "user@example.com",CODE
LOW⚡tests/components/nexblue/test_config_flow.py139 CONF_USERNAME: "user@example.com",CODE
LOW⚡tests/components/nexblue/test_config_flow.py149 CONF_USERNAME: "user@example.com",CODE
LOW⚡tests/components/nexblue/test_config_flow.py181 CONF_USERNAME: "user@example.com",CODE
LOW⚡tests/components/nexblue/test_config_flow.py191 CONF_USERNAME: "user@example.com",CODE
LOWtests/components/nexblue/test_config_flow.py222 CONF_USERNAME: "user@example.com",CODE
LOWtests/components/nexblue/test_config_flow.py232 CONF_USERNAME: "user@example.com",CODE
LOW⚡tests/components/poolsense/conftest.py61 title="test@test.com",CODE
LOW⚡tests/components/poolsense/conftest.py62 unique_id="test@test.com",CODE
LOW⚡tests/components/poolsense/conftest.py64 CONF_EMAIL: "test@test.com",CODE
LOW⚡tests/components/poolsense/test_config_flow.py29 user_input={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"},CODE
LOW⚡tests/components/poolsense/test_config_flow.py33 assert result["title"] == "test@test.com"CODE
LOW⚡tests/components/poolsense/test_config_flow.py35 CONF_EMAIL: "test@test.com",CODE
LOW⚡tests/components/poolsense/test_config_flow.py38 assert result["result"].unique_id == "test@test.com"CODE
LOWtests/components/poolsense/test_config_flow.py58 user_input={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"},CODE
LOWtests/components/poolsense/test_config_flow.py68 user_input={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"},CODE
LOWtests/components/poolsense/test_config_flow.py90 user_input={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"},CODE
LOW⚡tests/components/discovergy/conftest.py52 title="user@example.org",CODE
LOW⚡tests/components/discovergy/conftest.py53 unique_id="user@example.org",CODE
LOW⚡tests/components/discovergy/conftest.py54 data={CONF_EMAIL: "user@example.org", CONF_PASSWORD: "supersecretpassword"},CODE
LOWtests/components/discovergy/test_config_flow.py64 CONF_EMAIL: "user@example.org",CODE
LOWtests/components/discovergy/test_config_flow.py138 CONF_EMAIL: "user2@example.org",CODE
LOWtests/components/alexa_devices/const.py20TEST_USERNAME = "fake_email@gmail.com"CODE
LOWtests/components/onedrive/conftest.py68 title="John Doe's OneDrive",CODE
LOWtests/components/onedrive/conftest.py115 display_name="John Doe",CODE
LOWtests/components/onedrive/conftest.py154 display_name="John Doe",CODE
183 more matches not shown…
Structural Annotation Overuse56 hits · 103 pts
SeverityFileLineSnippetContext
LOWhomeassistant/components/control4/config_flow.py63 # Step 1: Authenticate with Control4 cloud APICOMMENT
LOW⚡homeassistant/components/control4/config_flow.py88 # Step 2: Connect to local Control4 DirectorCOMMENT
LOWhomeassistant/components/airos/__init__.py178 # Step 1 - migrate binary_sensor entity unique_idCOMMENT
LOWhomeassistant/components/airos/__init__.py179 # Step 2 - migrate device entity identifierCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3306 # Step 1 - Disable foreign keysCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3308 # Step 2 - create a transactionCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3310 # Step 3 - we know all the indexes, triggers, andCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3317 # Step 4 - Create temp tableCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3320 # Step 5 - Transfer contentCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3323 # Step 6 - Drop the original tableCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3325 # Step 7 - Rename the temp tableCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3327 # Step 8 - Recreate indexesCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3330 # Step 9 - Recreate views (there are none)COMMENT
LOW⚡homeassistant/components/recorder/migration.py3331 # Step 10 - Check foreign keysCOMMENT
LOW⚡homeassistant/components/recorder/migration.py3333 # Step 11 - Commit transactionCOMMENT
LOWhomeassistant/components/recorder/migration.py3346 # Step 12 - Re-enable foreign keysCOMMENT
LOW⚡tests/components/omie/test_sensor.py62 # Step 1: 1 PM CET (before 13:30 CET publication)COMMENT
LOW⚡tests/components/omie/test_sensor.py69 # Step 2: 3 PM CET - verify listeners update with existing data, no new API callsCOMMENT
LOW⚡tests/components/omie/test_sensor.py129 # Step 1: 1 PM CET (before 13:30 CET publication) - only Jan 15 data availableCOMMENT
LOW⚡tests/components/omie/test_sensor.py135 # Step 2: 2 PM CET (after 13:30 CET publication) - Jan 16 data now availableCOMMENT
LOW⚡tests/components/omie/test_sensor.py144 # Step 3: 3 PM CET - verify listeners update with existing data, no new API callsCOMMENT
LOW⚡tests/components/improv_ble/test_config_flow.py237 # Step 1: Inject provisioned device advertisement (triggers discovery, aborts)COMMENT
LOW⚡tests/components/improv_ble/test_config_flow.py245 # Step 2: Inject same provisioned advertisement againCOMMENT
LOW⚡tests/components/generic_thermostat/test_climate.py2041 # Step 2: The heater should have been turned onCOMMENT
LOW⚡tests/components/generic_thermostat/test_climate.py2051 # Step 4: The climate entity should keep the parent (user) context,COMMENT
LOWtests/components/growatt_server/test_sensor.py332 # Step 1: Midnight reset — API returns 0 (legitimate reset)COMMENT
LOWtests/components/growatt_server/test_sensor.py346 # Step 2: Stale bounce — API returns yesterday's value (12.5) after resetCOMMENT
LOWtests/components/growatt_server/test_sensor.py361 # Step 3: Another reset arrives — still 0 (no double-counting)COMMENT
LOWtests/components/growatt_server/test_sensor.py375 # Step 4: Genuine new production — small value passes throughCOMMENT
LOWtests/components/xiaomi_ble/test_binary_sensor.py122 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_sensor.py78 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_sensor.py114 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_sensor.py182 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_config_flow.py1188 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_config_flow.py1239 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_config_flow.py1298 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_config_flow.py1354 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_config_flow.py1418 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOW.claude/agents/raise-pull-request.md14## Step 1: Gather InformationCOMMENT
LOW.claude/agents/raise-pull-request.md62## Step 2: Run Code Quality ChecksCOMMENT
LOW.claude/agents/raise-pull-request.md75## Step 3: Stage Any Changes from ChecksCOMMENT
LOW.claude/agents/raise-pull-request.md86## Step 4: Run TestsCOMMENT
LOW.claude/agents/raise-pull-request.md103## Step 5: Identify PR MetadataCOMMENT
LOW.claude/agents/raise-pull-request.md122## Step 6: Verify Development ChecklistCOMMENT
LOW.claude/agents/raise-pull-request.md139## Step 7: Determine Type of ChangeCOMMENT
LOW.claude/agents/raise-pull-request.md158## Step 8: Determine Checkbox StatesCOMMENT
LOW.claude/agents/raise-pull-request.md178## Step 9: Breaking Change SectionCOMMENT
LOW.claude/agents/raise-pull-request.md187## Step 10: Push Branch and Create PRCOMMENT
LOW.claude/agents/raise-pull-request.md216## Step 11: Report ResultCOMMENT
LOW⚡.github/workflows/quality-scale-reviewer.md267## Step 1: Read the rules indexCOMMENT
LOW⚡.github/workflows/quality-scale-reviewer.md271## Step 2: Read the PR diffCOMMENT
LOW⚡.github/workflows/quality-scale-reviewer.md276## Step 3: Read the quality scale statusesCOMMENT
LOW⚡.github/workflows/quality-scale-reviewer.md286## Step 4: Select the rules to checkCOMMENT
LOW.github/workflows/quality-scale-reviewer.md301## Step 5: Check each selected ruleCOMMENT
LOW.github/workflows/quality-scale-reviewer.md333## Step 6: Post findingsCOMMENT
LOW.github/workflows/quality-scale-reviewer.md359## Step 7: No violationsCOMMENT
Over-Commented Block110 hits · 101 pts
SeverityFileLineSnippetContext
LOWpyproject.toml141[tool.pylint."MESSAGES CONTROL"]COMMENT
LOWpyproject.toml501 "ignore:datetime.*utcnow\\(\\) is deprecated and scheduled for removal:DeprecationWarning:miio.miioprotocol",COMMENT
LOWpyproject.toml541 # https://github.com/python-telegram-bot/python-telegram-bot/blob/v22.7/src/telegram/error.py#L243 - 22.7 - 2026-03-16COMMENT
LOWpyproject.toml601 "ignore:datetime.*utcnow\\(\\) is deprecated and scheduled for removal:DeprecationWarning:directv.models",COMMENT
LOWrequirements_all.txt581COMMENT
LOWhomeassistant/bootstrap.py161 # Ensure network config is availableCOMMENT
LOWhomeassistant/bootstrap.py201 # We need to make sure discovery integrationsCOMMENT
LOWhomeassistant/bootstrap.py781 # Additionally process integrations that are defined under base platformsCOMMENT
LOWhomeassistant/bootstrap.py861 )COMMENT
LOWhomeassistant/config.py1281 )COMMENT
LOWhomeassistant/package_constraints.txt81# Constrain pycryptodome to avoid vulnerabilityCOMMENT
LOWhomeassistant/package_constraints.txt201COMMENT
LOWhomeassistant/package_constraints.txt241# aiofile 3.10.0 crashes on import due to KeyError on package metadataCOMMENT
LOWhomeassistant/core.py2461 same_state = FalseCOMMENT
LOWhomeassistant/setup.py41_LOGGER = logging.getLogger(__name__)COMMENT
LOWhomeassistant/loader.py61_LOGGER = logging.getLogger(__name__)COMMENT
LOWhomeassistant/util/package.py181 and not (any(var in env for var in _UV_ENV_PYTHON_VARS))COMMENT
LOWhomeassistant/util/dt.py521 # with pattern "02:30", don't run on 28 mar (such a wall time does notCOMMENT
LOWhomeassistant/util/dt.py541 # `now` and `result` are both ambiguous, so the next match happensCOMMENT
LOWhomeassistant/util/async_.py81 else:COMMENT
LOWhomeassistant/components/goodwe/sensor.py41COMMENT
LOWhomeassistant/components/homekit/type_lights.py261 # Handle BrightnessCOMMENT
LOWhomeassistant/components/homekit/type_fans.py281 # Handle SpeedCOMMENT
LOWhomeassistant/components/hyperion/config_flow.py41 DOMAIN,COMMENT
LOWhomeassistant/components/hyperion/config_flow.py61# | Static |COMMENT
LOWhomeassistant/components/hyperion/config_flow.py81# v<------------------+COMMENT
LOWhomeassistant/components/hyperion/config_flow.py161 # 'ssdp_st': 'upnp:rootdevice',COMMENT
LOWhomeassistant/components/hyperion/config_flow.py181 # 'mimetype': 'image/png',COMMENT
LOWhomeassistant/components/websocket_api/http.py441 self._hass.data[DATA_CONNECTIONS] = self._hass.data.get(DATA_CONNECTIONS, 0) + 1COMMENT
LOWhomeassistant/components/websocket_api/http.py461 # to the websocket writer to handle malicious clients and network issues.COMMENT
LOWhomeassistant/components/apple_tv/config_flow.py241 self._async_abort_entries_match({CONF_ADDRESS: host})COMMENT
LOWhomeassistant/components/apple_tv/config_flow.py261 # is found. In this case, unique_id will be set to "B" which is problematicCOMMENT
LOWhomeassistant/components/flexit_bacnet/number.py41COMMENT
LOW…sistant/components/withings/application_credentials.py41 # {COMMENT
LOWhomeassistant/components/system_log/__init__.py81 #COMMENT
LOWhomeassistant/components/system_log/__init__.py101 # We know that the logger module typically has 5 frames itselfCOMMENT
LOWhomeassistant/components/stream/worker.py201 # Only do extra fragmenting if we are using ll_hlsCOMMENT
LOWhomeassistant/components/stream/worker.py221 # the resulting fragments can have variability in theirCOMMENT
LOWhomeassistant/components/stream/worker.py681 """Return true if the packet is for the video stream."""COMMENT
LOWhomeassistant/components/motionmount/config_flow.py21COMMENT
LOW…assistant/components/homekit_controller/config_flow.py401 # If async_step_pair is called with no pairing code then we do the M1COMMENT
LOWhomeassistant/components/enphase_envoy/const.py41# The Envoy occasionally reports daily energy values of 2^32 Wh offset by theCOMMENT
LOWhomeassistant/components/doorbird/models.py21 # This integration uses a different event forCOMMENT
LOWhomeassistant/components/matter/models.py141 allow_none_value: bool = FalseCOMMENT
LOWhomeassistant/components/ibeacon/coordinator.py401 if group_id not in self._unavailable_group_idsCOMMENT
LOWhomeassistant/components/todoist/const.py61ID: Final = "id"COMMENT
LOWhomeassistant/components/android_ip_webcam/camera.py61 # and IP webcam doesn't provide MP3 audio.COMMENT
LOWhomeassistant/components/elmax/config_flow.py481 # If there already is a matching panel, take the chanceCOMMENT
LOWhomeassistant/components/homematicip_cloud/__init__.py141 entry.unique_id,COMMENT
LOWhomeassistant/components/proximity/coordinator.py181 # entity IDs), so a present, empty list genuinely means "in no zone".COMMENT
LOWhomeassistant/components/recorder/statistics.py2961 run_cache.set_latest_id_for_metadata_id(metadata_id, id_)COMMENT
LOWhomeassistant/components/recorder/migration.py1201 # since its always there on state_changed eventsCOMMENT
LOWhomeassistant/components/recorder/filters.py181 # Case 4 - Domain and/or glob includes (may also have excludes)COMMENT
LOWhomeassistant/components/recorder/models/database.py21 version: AwesomeVersion | NoneCOMMENT
LOWhomeassistant/components/recorder/models/database.py41 # https://github.com/home-assistant/core/issues/137178COMMENT
LOWhomeassistant/components/esphome/entity.py241COMMENT
LOWhomeassistant/components/esphome/manager.py661 # unique id is not a mac address.COMMENT
LOWhomeassistant/components/zwave_js/discovery.py101 # [optional] template to generate platform specific data to use in setupCOMMENT
LOWhomeassistant/components/zwave_js/discovery.py1061 # number platformCOMMENT
LOWhomeassistant/components/zwave_js/binary_sensor.py201# The catch all description should not have a device class and be marked as diagnostic.COMMENT
50 more matches not shown…
AI Slop Vocabulary54 hits · 94 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml648 # Recorded HTTP response bodies, served verbatim by the Marketplace test harnessSTRING
LOW…ome_assistant/checkers/actions/swallowed_exceptions.py55 # Empty body (just pass) or log-only bodyCOMMENT
MEDIUMhomeassistant/loader.py1749 """Mount config dir in order to load custom_component.STRING
MEDIUMhomeassistant/components/smartthings/__init__.py606 # robust to any ordering of parents and children in the device list,COMMENT
MEDIUMhomeassistant/components/intellifire/config_flow.py116 """Authenticate against IFTAPI Cloud in order to see configured devices.STRING
MEDIUMhomeassistant/components/wallbox/coordinator.py102 """Check if the jwtToken is still valid in order to reuse if possible."""STRING
LOWhomeassistant/components/vizio/media_player.py301 # show the combination with, otherwise just return inputsCOMMENT
LOWhomeassistant/components/energy/data.py896 # If power_config has stat_rate (standard), just use it directlyCOMMENT
LOWhomeassistant/components/energy/data.py914 # If power_config has stat_rate (standard), just use it directlyCOMMENT
LOWhomeassistant/components/system_log/__init__.py57 # exception). In that case, just use the file where the log was made from.COMMENT
LOWhomeassistant/components/alexa/handlers.py795 # This workaround will simply call the volume up/Volume down the amount ofCOMMENT
MEDIUMhomeassistant/components/cast/media_player.py299 """Ensure chromecast is available, to facilitate type checking."""STRING
LOWhomeassistant/components/stream/worker.py527 # For the bounds, just use the larger of the two values. If the errorCOMMENT
LOWhomeassistant/components/deluge/sensor.py30 # if key is CURRENT_STATUS, we just return whetherCOMMENT
LOWhomeassistant/components/oralb/__init__.py49 # BluetoothServiceInfoBleak is defined in HA, otherwise would just pass itCOMMENT
LOW…tant/components/hunterdouglas_powerview/diagnostics.py52 # otherwise just return all shade dataCOMMENT
MEDIUMhomeassistant/components/theben_conexa/coordinator.py69 # So we leverage this information to set up a scheduled poll atCOMMENT
LOWhomeassistant/components/matter/vacuum.py95 # We simply set the RvcRunMode to the first runmodeCOMMENT
LOWhomeassistant/components/matter/vacuum.py136 # We simply set the RvcRunMode to the first runmodeCOMMENT
LOWhomeassistant/components/growatt_server/coordinator.py469 # local time in that scenario we should just return the previous valueCOMMENT
LOWhomeassistant/components/slimproto/config_flow.py27 # we have nothing to configure so simply create the entryCOMMENT
LOWhomeassistant/components/todoist/calendar.py559 # If we have no data, we can just return right away.COMMENT
LOWhomeassistant/components/geo_rss_events/sensor.py154 # If no events were found due to an error then just set state toCOMMENT
LOWhomeassistant/components/device_automation/condition.py69 # we just pass the entire config as options.COMMENT
LOWhomeassistant/components/apcupsd/coordinator.py48 # We had user reports that some UPS models simply returnCOMMENT
LOWhomeassistant/components/cloud/http_api.py509 # just add the domainCOMMENT
MEDIUMhomeassistant/components/tplink/light.py213 # except when transition is defined so we leverage that for now.COMMENT
LOWhomeassistant/components/peblar/number.py223 # If charging is currently disabled (below 6 amps), just set the valueCOMMENT
LOWhomeassistant/components/xiaomi_ble/__init__.py147 # BluetoothServiceInfoBleak is defined in HA, otherwise would just pass itCOMMENT
MEDIUMhomeassistant/components/caldav/coordinator.py59 """Class to utilize the calendar dav client object to get next event."""STRING
LOWhomeassistant/components/rest/notify.py158 # integrations, so just return the first target in the list.COMMENT
MEDIUM⚡homeassistant/components/zha/entity.py210 # provides a more generic hook to utilize HA to do this), we directly restoreCOMMENT
LOWhomeassistant/components/zha/config_flow.py350 # Allow onboarding for new users to just create a new network automaticallyCOMMENT
MEDIUMhomeassistant/helpers/intent.py587 """Match entities based on constraints in order to handle an intent."""STRING
MEDIUMtests/components/liebherr/conftest.py40# Complete multi-zone device for comprehensive testingCOMMENT
MEDIUMtests/components/tod/test_binary_sensor.py635 # Essentially, the ToD sensor never turns on that day.COMMENT
LOWtests/components/intellifire/test_config_flow.py42 # For a single fireplace we just create itCOMMENT
LOWtests/components/intellifire/test_config_flow.py77 # For a single fireplace we just create itCOMMENT
LOWtests/components/intellifire/test_config_flow.py113 # For a single fireplace we just create itCOMMENT
LOWtests/components/google/test_calendar.py834 # just use the API response which this test is not exercising)COMMENT
LOWtests/components/schlage/test_lock.py388 # Should not raise an error, just return silentlyCOMMENT
LOWtests/components/schlage/test_lock.py409 # Should not raise an error, just return silentlyCOMMENT
MEDIUMtests/components/homekit_controller/common.py45# Root device in test harness always has an accessory id of thisCOMMENT
LOWtests/components/music_assistant/conftest.py79 # simply return a mock config for each playerCOMMENT
MEDIUMtests/components/generic_thermostat/test_climate.py1345 # this test harness). Update the entity to OFF so the thermostat sees theCOMMENT
LOW⚡tests/components/chacon_dio/test_cover.py145 # Define a method to simply call itCOMMENT
LOW⚡tests/components/chacon_dio/test_switch.py102 # Define a method to simply call itCOMMENT
LOWtests/components/balboa/test_fan.py63 # just call turn on, pump should be at full speedCOMMENT
MEDIUMtests/components/application_credentials/test_init.py123 """Fixture to facilitate testing an OAuth flow."""STRING
LOW…ts/components/eurotronic_cometblue/test_config_flow.py227 # If for some reason no name can be derived, just return the default nameCOMMENT
LOW…ts/components/eurotronic_cometblue/test_config_flow.py230 # If the name is the same as the address, just returnCOMMENT
MEDIUMtests/components/conversation/test_chat_log.py970 """Test comprehensive chat log subscription functionality."""STRING
MEDIUMtests/components/owntracks/test_device_tracker.py921 # message. None is the state the test harness set forCOMMENT
MEDIUM…affold/templates/config_flow_oauth2/integration/api.py11# TODO the following two API examples are based on our suggested best practicesCOMMENT
AI Structural Patterns69 hits · 66 pts
SeverityFileLineSnippetContext
LOWhomeassistant/auth/jwt_wrapper.py90CODE
LOWhomeassistant/components/demo/update.py108CODE
LOWhomeassistant/components/demo/light.py102CODE
LOWhomeassistant/components/frontend/__init__.py368CODE
LOWhomeassistant/components/assist_pipeline/__init__.py96CODE
LOWhomeassistant/components/assist_pipeline/pipeline.py278CODE
LOWhomeassistant/components/knx/storage/knx_selector.py396CODE
LOWhomeassistant/components/knx/storage/knx_selector.py204CODE
LOWhomeassistant/components/tado/coordinator.py371CODE
LOWhomeassistant/components/tado/climate.py235CODE
LOWhomeassistant/components/tado/climate.py635CODE
LOWhomeassistant/components/rflink/entity.py43CODE
LOWhomeassistant/components/cloud/prefs.py166CODE
LOWhomeassistant/components/recorder/history/__init__.py146CODE
LOWhomeassistant/components/recorder/history/__init__.py242CODE
LOWhomeassistant/components/zwave_js/lock_helpers.py416CODE
LOWhomeassistant/components/configurator/__init__.py73CODE
LOWhomeassistant/components/configurator/__init__.py105CODE
LOWhomeassistant/components/panel_custom/__init__.py80CODE
LOWhomeassistant/helpers/intent.py99CODE
LOWhomeassistant/helpers/intent.py983CODE
LOWhomeassistant/helpers/intent.py1286CODE
LOWhomeassistant/helpers/network.py115CODE
LOWhomeassistant/helpers/area_registry.py345CODE
LOWhomeassistant/helpers/area_registry.py381CODE
LOWhomeassistant/helpers/script.py1515CODE
LOWtests/components/powerwall/mocks.py62CODE
LOWtests/components/izone/conftest.py34CODE
LOWtests/components/vera/common.py56CODE
LOWtests/components/litterrobot/conftest.py88CODE
LOWtests/components/zoneminder/conftest.py90CODE
LOWtests/components/alexa_devices/test_media_player.py50CODE
LOWtests/components/seventeentrack/conftest.py133CODE
LOWtests/components/besen/conftest.py51CODE
LOWtests/components/doorbird/conftest.py107CODE
LOWtests/components/radarr/__init__.py157CODE
LOWtests/components/device_tracker/common.py29CODE
LOWtests/components/emulated_hue/test_hue_api.py1352CODE
LOWtests/components/israel_rail/conftest.py66CODE
LOWtests/components/mitsubishi_comfort/conftest.py30CODE
LOWtests/components/esphome/test_assist_satellite.py2484CODE
LOWtests/components/transmission/conftest.py82CODE
LOWtests/components/onvif/__init__.py44CODE
LOWtests/components/onvif/__init__.py255CODE
LOWtests/components/tplink/__init__.py152CODE
LOWtests/components/tplink/__init__.py256CODE
LOWtests/components/light/common.py43CODE
LOWtests/components/light/common.py107CODE
LOWtests/components/google_assistant/__init__.py22CODE
LOWtests/components/gdacs/__init__.py6CODE
LOW…nents/nsw_rural_fire_service_feed/test_geo_location.py60CODE
LOWtests/components/tibber/conftest.py34CODE
LOWtests/components/unifiprotect/test_fob.py54CODE
LOWtests/components/unifiprotect/utils.py364CODE
LOWtests/components/unifiprotect/utils.py519CODE
LOWtests/components/unifiprotect/utils.py601CODE
LOWtests/components/shelly/conftest.py72CODE
LOWtests/components/nexia/conftest.py47CODE
LOWtests/components/nexia/conftest.py132CODE
LOW…/components/usgs_earthquakes_feed/test_geo_location.py65CODE
9 more matches not shown…
Verbosity Indicators17 hits · 32 pts
SeverityFileLineSnippetContext
LOWhomeassistant/components/control4/config_flow.py63 # Step 1: Authenticate with Control4 cloud APICOMMENT
LOW⚡homeassistant/components/control4/config_flow.py88 # Step 2: Connect to local Control4 DirectorCOMMENT
LOWhomeassistant/components/home_connect/common.py91 when they are turned off, so we need to check if the entities have been addedSTRING
LOWhomeassistant/components/onewire/sensor.py441 # We need to check if there is TAI8570 plugged inCOMMENT
LOW⚡tests/components/omie/test_sensor.py62 # Step 1: 1 PM CET (before 13:30 CET publication)COMMENT
LOW⚡tests/components/omie/test_sensor.py69 # Step 2: 3 PM CET - verify listeners update with existing data, no new API callsCOMMENT
LOW⚡tests/components/omie/test_sensor.py129 # Step 1: 1 PM CET (before 13:30 CET publication) - only Jan 15 data availableCOMMENT
LOW⚡tests/components/omie/test_sensor.py135 # Step 2: 2 PM CET (after 13:30 CET publication) - Jan 16 data now availableCOMMENT
LOW⚡tests/components/omie/test_sensor.py144 # Step 3: 3 PM CET - verify listeners update with existing data, no new API callsCOMMENT
LOW⚡tests/components/improv_ble/test_config_flow.py237 # Step 1: Inject provisioned device advertisement (triggers discovery, aborts)COMMENT
LOW⚡tests/components/improv_ble/test_config_flow.py245 # Step 2: Inject same provisioned advertisement againCOMMENT
LOW⚡tests/components/generic_thermostat/test_climate.py2041 # Step 2: The heater should have been turned onCOMMENT
LOW⚡tests/components/generic_thermostat/test_climate.py2051 # Step 4: The climate entity should keep the parent (user) context,COMMENT
LOWtests/components/growatt_server/test_sensor.py332 # Step 1: Midnight reset — API returns 0 (legitimate reset)COMMENT
LOWtests/components/growatt_server/test_sensor.py346 # Step 2: Stale bounce — API returns yesterday's value (12.5) after resetCOMMENT
LOWtests/components/growatt_server/test_sensor.py361 # Step 3: Another reset arrives — still 0 (no double-counting)COMMENT
LOWtests/components/growatt_server/test_sensor.py375 # Step 4: Genuine new production — small value passes throughCOMMENT
Modern AI Meta-Vocabulary5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMhomeassistant/components/generic_thermostat/climate.py548 # Note: If a manual interaction occurs within the 2s context window of a switchCOMMENT
MEDIUM…t/components/geosphere_austria_warnings/coordinator.py28# Warnings are event driven and updated by GeoSphere Austria as needed.COMMENT
MEDIUMscript/scaffold/__main__.py77 # If we are calling scaffold on a non-existing integration,COMMENT
MEDIUM.github/workflows/quality-scale-reviewer-trigger.yml6# This workflow exists only to trigger stage 2 (the agentic workflow defined inCOMMENT
MEDIUM.github/workflows/check-requirements-deterministic.yml6# results as an artifact. Stage 2 (the agentic workflow defined inCOMMENT
Slop Phrases7 hits · 12 pts
SeverityFileLineSnippetContext
LOWhomeassistant/core_config.py460 # Init whitelist external URL list - make sure to add / to every URL that doesn'tCOMMENT
LOWhomeassistant/components/soundtouch/media_player.py329 # make sure to not try to remove the master (aka current device)COMMENT
MEDIUMhomeassistant/components/motionblinds_ble/strings.json75 "description": "The default disconnect time is 15 seconds, adjustable using the slider below. You may want to adCODE
LOWhomeassistant/components/sftp_storage/__init__.py107 # leftover files, make sure to log plainCOMMENT
LOWhomeassistant/components/matter/entity.py156 # make sure to update the attributes onceCOMMENT
LOW⚡tests/components/picnic/test_config_flow.py479 # Create a mocked config entry and make sure to use the sameCOMMENT
LOWscript/hassfest/docker.py12# Don't forget to update also Dockerfile.dev when updating this.COMMENT
Dead Code3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMtests/components/elevenlabs/test_stt.py59CODE
MEDIUMtests/components/llama_cpp/test_config_flow.py363CODE
MEDIUMtests/components/sonos/test_services.py121CODE
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHhomeassistant/components/slack/notify.py337Get the Slack channel ID from the channel name. This method retrieves the channel ID for a given Slack channel STRING
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtests/components/transport_nsw/test_sensor.py15 "api_key": "YOUR_API_KEY",CODE
Overly Generic Function Names4 hits · 4 pts
SeverityFileLineSnippetContext
LOW⚡homeassistant/components/blue_current/__init__.py175 async def run_task(self) -> None:CODE
LOWhomeassistant/components/melcloud_home/common.py46async def perform_action(CODE
LOWtests/pylint/tests/test_registry_fixtures.py208def helper(hass):STRING
LOWtests/components/websocket_api/test_decorators.py21 def handle_request(request, connection, msg):CODE