Repository Analysis

home-assistant/core

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

15.2 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of home-assistant/core, a Python project with 89,334 GitHub stars. SynthScan v2.0 examined 3,666,293 lines of code across 22128 source files, recording 42484 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 15.2 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

15.2
Adjusted Score
15.2
Raw Score
100%
Time Factor
2026-07-13
Last Push
89.3K
Stars
Python
Language
3.7M
Lines of Code
22.1K
Files
42.5K
Pattern Hits
2026-07-14
Scan Date
0.14
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 92HIGH 3058MEDIUM 508LOW 38826

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 42484 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers34112 hits · 32634 pts
SeverityFileLineSnippetContext
LOW…ins/pylint_home_assistant/checkers/test_determinism.py47def _condition_references_parameter(node: nodes.If, param_names: set[str]) -> bool:CODE
LOW…nt/plugins/pylint_home_assistant/checkers/decorator.py37 def _get_pytest_fixture_node_keyword(CODE
LOW…home_assistant/checkers/entity_description_defaults.py112def _resolve_description_class(call: nodes.Call) -> nodes.ClassDef | 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…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/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…/plugins/pylint_home_assistant/helpers/entity_class.py15def 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.py445def _init_blocking_io_modules_in_executor() -> None:CODE
LOWhomeassistant/bootstrap.py462async def async_load_base_functionality(hass: core.HomeAssistant) -> bool:CODE
LOWhomeassistant/bootstrap.py682def _log_file_disabled_reason() -> str | None:CODE
LOWhomeassistant/bootstrap.py739async def async_mount_local_lib_path(config_dir: str) -> str:CODE
LOWhomeassistant/bootstrap.py771async def _async_resolve_domains_and_preload(CODE
LOWhomeassistant/bootstrap.py902async def _async_set_up_integrations(CODE
LOWhomeassistant/bootstrap.py1087async def _async_setup_multi_components(CODE
LOWhomeassistant/data_entry_flow.py151def _map_error_to_schema_errors(CODE
LOWhomeassistant/data_entry_flow.py243 def async_progress_by_handler(CODE
LOWhomeassistant/data_entry_flow.py260 def async_progress_by_init_data_type(CODE
LOWhomeassistant/data_entry_flow.py277 def _async_progress_by_handler(CODE
LOWhomeassistant/data_entry_flow.py444 def _async_remove_flow_from_index(CODE
LOWhomeassistant/data_entry_flow.py459 def _async_remove_flow_progress(self, flow_id: str) -> None:CODE
34052 more matches not shown…
Cross-File Repetition2965 hits · 14825 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
HIGHhomeassistant/components/flo/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
2905 more matches not shown…
Modern Structural Boilerplate1309 hits · 1365 pts
SeverityFileLineSnippetContext
LOW…home_assistant/checkers/entity_description_defaults.py71def _update_defaults(defaults: dict[str, object], class_node: nodes.ClassDef) -> None:CODE
LOWhomeassistant/config_entries.py1617 def _set_pending_import_done(self, flow: ConfigFlow) -> None:CODE
LOWhomeassistant/config_entries.py2023 def update_unique_id(self, entry: ConfigEntry, new_unique_id: str | None) -> None:CODE
LOWhomeassistant/core.py457 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.py170 def update_setting(self, setting: Settings, value: bool | int) -> None:CODE
LOWhomeassistant/components/smlight/coordinator.py178 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.py176 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.py1084 def _update_extra_state_attributes(self) -> None:CODE
LOWhomeassistant/components/statistics/sensor.py1100 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__.py76 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
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.py89 def _update_callback(self) -> None:CODE
LOW…meassistant/components/geo_json_events/geo_location.py100 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.py229 def _update_attrs(self) -> None:CODE
LOWhomeassistant/components/hydrawise/switch.py107 def _update_attrs(self) -> None:CODE
LOWhomeassistant/components/hydrawise/entity.py65 def _update_attrs(self) -> None:CODE
LOWhomeassistant/components/hydrawise/binary_sensor.py155 def _update_attrs(self) -> None:CODE
1249 more matches not shown…
Self-Referential Comments364 hits · 1157 pts
SeverityFileLineSnippetContext
MEDIUMhomeassistant/config_entries.py1348 # Create an issue, there's no need to hold the lock when doing thatCOMMENT
MEDIUMhomeassistant/config.py491 # This function is an alternative to the stringification done byCOMMENT
MEDIUMhomeassistant/config.py1329 # 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__.py20 # Create the EnergyFlip clientCOMMENT
MEDIUMhomeassistant/components/huisbaasje/__init__.py35 # Create a coordinator for polling updatesCOMMENT
MEDIUMhomeassistant/components/izone/climate.py200 # Create the zonesCOMMENT
MEDIUMhomeassistant/components/pooldose/__init__.py62 # Create the PoolDose API client and connectCOMMENT
MEDIUMhomeassistant/components/pglab/discovery.py202 # Create a PGLab device and add entities.COMMENT
MEDIUMhomeassistant/components/pglab/discovery.py221 # Create a new device.COMMENT
MEDIUMhomeassistant/components/pglab/__init__.py66 # 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__.py58 # 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__.py75 # 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/homeassistant/__init__.py152 # Create a new dict for this callCOMMENT
MEDIUMhomeassistant/components/homeassistant/triggers/time.py204 # 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/pipeline.py919 # Create a background task to prepare the conversation agentCOMMENT
MEDIUMhomeassistant/components/assist_pipeline/pipeline.py2136 # Create a temporary list in case the list is modified while we iterateCOMMENT
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.py66 # Create a set for the aliases without:COMMENT
MEDIUMhomeassistant/components/config/area_registry.py136 # Create a set for the aliases without:COMMENT
MEDIUMhomeassistant/components/energy/sensor.py282 # Create a config wrapper that maps the sell price fields to standard namesCOMMENT
MEDIUMhomeassistant/components/energy/validate.py712 # Create a list of validation checksCOMMENT
MEDIUMhomeassistant/components/auth/__init__.py96## Create a long-lived access tokenSTRING
MEDIUMhomeassistant/components/local_calendar/calendar.py190 # 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
MEDIUMhomeassistant/components/yale/util.py23 # 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.py173 # Create a separate calendar for birthdaysCOMMENT
MEDIUMhomeassistant/components/google/calendar.py184 # 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/go2rtc/server.py31_GO2RTC_CONFIG_FORMAT = r"""# This file is managed by Home AssistantCODE
MEDIUMhomeassistant/components/template/coordinator.py140 # Create a context referring to the trigger context.COMMENT
MEDIUMhomeassistant/components/template/coordinator.py144 # This method is only called if there's a scriptCOMMENT
MEDIUMhomeassistant/components/template/config.py398 # 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__.py57 # 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.py666 # Create a child context for the switch service call so we canCOMMENT
MEDIUMhomeassistant/components/generic_thermostat/climate.py695 # 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
MEDIUMhomeassistant/components/notion/coordinator.py62 # Define a dict of bridges, indexed by bridge ID (an integer):COMMENT
MEDIUMhomeassistant/components/notion/coordinator.py65 # Define a dict of listeners, indexed by listener UUID (a string):COMMENT
MEDIUMhomeassistant/components/notion/coordinator.py68 # Define a dict of sensors, indexed by sensor UUID (a string):COMMENT
MEDIUMhomeassistant/components/notion/coordinator.py71 # Define a user preferences response object:COMMENT
304 more matches not shown…
Hallucination Indicators92 hits · 1050 pts
SeverityFileLineSnippetContext
CRITICALhomeassistant/components/deconz/cover.py96 await self.hub.api.lights.covers.set_state(CODE
CRITICALhomeassistant/components/deconz/cover.py105 await self.hub.api.lights.covers.set_state(CODE
CRITICALhomeassistant/components/deconz/cover.py114 await self.hub.api.lights.covers.set_state(CODE
CRITICALhomeassistant/components/deconz/cover.py123 await self.hub.api.lights.covers.set_state(CODE
CRITICALhomeassistant/components/deconz/cover.py141 await self.hub.api.lights.covers.set_state(CODE
CRITICALhomeassistant/components/deconz/cover.py150 await self.hub.api.lights.covers.set_state(CODE
CRITICALhomeassistant/components/deconz/cover.py159 await self.hub.api.lights.covers.set_state(CODE
CRITICALhomeassistant/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
CRITICALhomeassistant/components/deconz/lock.py65 await self.hub.api.sensors.door_lock.set_config(CODE
CRITICALhomeassistant/components/deconz/lock.py70 await self.hub.api.lights.locks.set_state(CODE
CRITICALhomeassistant/components/deconz/lock.py79 await self.hub.api.sensors.door_lock.set_config(CODE
CRITICALhomeassistant/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
CRITICALhomeassistant/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.py119 sensor.zone.scheduled_runs.current_run.remaining_time.total_seconds()CODE
CRITICALhomeassistant/components/meteo_france/__init__.py110 department = entry.runtime_data.forecast_coordinator.data.position.get("dept")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/tolo/entity.py24 model=self.coordinator.data.status.model.name.capitalize(),CODE
CRITICALhomeassistant/components/isy994/sensor.py380 self._availability_handler = self._node.isy.nodes.status_events.subscribe(CODE
CRITICALhomeassistant/components/isy994/number.py272 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.py255 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.py126 self.hass.config_entries.flow._handler_progress_index.get(DOMAIN) or set(), # noqa: SLF001CODE
CRITICALhomeassistant/components/squeezebox/media_player.py302 self.coordinator.config_entry.runtime_data.known_player_ids.discard(CODE
CRITICALhomeassistant/components/squeezebox/media_player.py306 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.py542 return self._device.mode.operation_mode.name.lower()CODE
CRITICALhomeassistant/components/knx/climate.py642 self._device.mode.xknx.devices.async_add(self._device.mode)CODE
CRITICALhomeassistant/components/knx/climate.py649 self._device.mode.xknx.devices.async_remove(self._device.mode)CODE
CRITICALhomeassistant/components/fritz/coordinator.py14from fritzconnection.core.exceptions import FritzActionError, FritzConnectionExceptionCODE
CRITICALhomeassistant/components/balboa/climate.py141 return self._client.heat_mode.state.name.lower()CODE
CRITICALhomeassistant/components/axis/light.py82 await self.hub.api.vapix.light_control.get_current_intensity(self._light_id)CODE
CRITICALhomeassistant/components/axis/light.py85 await self.hub.api.vapix.light_control.get_valid_intensity(self._light_id)CODE
CRITICALhomeassistant/components/axis/light.py105 await self.hub.api.vapix.light_control.activate_light(self._light_id)CODE
CRITICALhomeassistant/components/axis/light.py109 await self.hub.api.vapix.light_control.set_manual_intensity(CODE
CRITICALhomeassistant/components/axis/light.py117 await self.hub.api.vapix.light_control.deactivate_light(self._light_id)CODE
CRITICALhomeassistant/components/axis/light.py122 await self.hub.api.vapix.light_control.get_current_intensity(self._light_id)CODE
CRITICALhomeassistant/components/axis/switch.py73 await self.hub.api.vapix.ports.close(self._event_id)CODE
CRITICALhomeassistant/components/axis/switch.py78 await self.hub.api.vapix.ports.open(self._event_id)CODE
32 more matches not shown…
Excessive Try-Catch Wrapping900 hits · 914 pts
SeverityFileLineSnippetContext
LOW…ome_assistant/checkers/actions/swallowed_exceptions.py208 except Exception: # noqa: BLE001CODE
LOWhomeassistant/data_entry_flow.py468 except Exception:CODE
LOWhomeassistant/config_entries.py1053 except Exception as exc:CODE
LOWhomeassistant/config_entries.py1096 except Exception:CODE
LOWhomeassistant/config_entries.py1190 except Exception:CODE
LOWhomeassistant/config_entries.py1282 except Exception:CODE
LOWhomeassistant/config.py607 except Exception:CODE
LOWhomeassistant/config.py1109 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/config.py1193 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/config.py1220 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/config.py1257 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/core_config.py892 except Exception:CODE
LOWhomeassistant/core.py1239 except Exception:CODE
LOWhomeassistant/core.py1664 except Exception:CODE
LOWhomeassistant/core.py1679 except Exception:CODE
LOWhomeassistant/core.py2990 except Exception:CODE
LOWhomeassistant/setup.py624 except Exception:CODE
LOWhomeassistant/requirements.py243 except Exception as ex: # noqa: BLE001CODE
LOWhomeassistant/loader.py1351 except Exception:CODE
LOWhomeassistant/loader.py1098 except Exception as err:CODE
LOWhomeassistant/loader.py1303 except Exception as err:CODE
LOWhomeassistant/loader.py1544 except Exception as exc: # noqa: BLE001CODE
LOWhomeassistant/loader.py1636 except Exception as exc:CODE
LOWhomeassistant/backup_restore.py189 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_.py66 except Exception as exc: # noqa: BLE001CODE
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.py143 except Exception:CODE
LOWhomeassistant/components/blink/config_flow.py176 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.py77 except Exception:CODE
LOWhomeassistant/components/firefly_iii/config_flow.py116 except Exception:CODE
LOWhomeassistant/components/firefly_iii/config_flow.py153 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.py42 except Exception:CODE
LOWhomeassistant/components/foscam/config_flow.py118 except Exception: # noqa: BLE001CODE
LOWhomeassistant/components/fully_kiosk/config_flow.py51 except Exception as error: # pylint: disable=broad-exceptCODE
LOWhomeassistant/components/renault/config_flow.py64 except Exception:CODE
LOWhomeassistant/components/notify/legacy.py122 except Exception: # noqa: BLE001CODE
LOWhomeassistant/components/huisbaasje/config_flow.py47 except Exception:CODE
LOWhomeassistant/components/lojack/__init__.py62 except Exception:CODE
LOWhomeassistant/components/lojack/config_flow.py51 except Exception:CODE
LOWhomeassistant/components/lojack/config_flow.py96 except Exception:CODE
LOWhomeassistant/components/karakeep/config_flow.py55 except Exception:CODE
LOWhomeassistant/components/control4/config_flow.py81 except Exception:CODE
840 more matches not shown…
Deep Nesting936 hits · 902 pts
SeverityFileLineSnippetContext
LOW…ins/pylint_home_assistant/checkers/greek_micro_char.py39CODE
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.py309CODE
LOWhomeassistant/bootstrap.py574CODE
LOWhomeassistant/data_entry_flow.py340CODE
LOWhomeassistant/runner.py79CODE
LOWhomeassistant/setup.py280CODE
LOWhomeassistant/requirements.py249CODE
LOWhomeassistant/loader.py1385CODE
LOWhomeassistant/loader.py1127CODE
LOWhomeassistant/backup_restore.py81CODE
LOWhomeassistant/util/color.py313CODE
LOWhomeassistant/auth/auth_store.py312CODE
LOWhomeassistant/components/buienradar/sensor.py786CODE
LOWhomeassistant/components/smlight/update.py182CODE
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.py836CODE
LOWhomeassistant/components/soundtouch/__init__.py67CODE
LOWhomeassistant/components/soundtouch/__init__.py70CODE
LOWhomeassistant/components/wiim/media_player.py374CODE
LOWhomeassistant/components/wiim/media_player.py637CODE
LOWhomeassistant/components/ads/cover.py88CODE
LOW…meassistant/components/here_travel_time/coordinator.py374CODE
LOWhomeassistant/components/powerwall/config_flow.py140CODE
LOWhomeassistant/components/anglian_water/coordinator.py74CODE
LOWhomeassistant/components/hydrawise/coordinator.py110CODE
LOWhomeassistant/components/fully_kiosk/services.py24CODE
LOWhomeassistant/components/notify/legacy.py66CODE
LOWhomeassistant/components/notify/legacy.py73CODE
LOWhomeassistant/components/control4/cover.py44CODE
LOWhomeassistant/components/control4/light.py34CODE
LOWhomeassistant/components/control4/media_player.py75CODE
LOWhomeassistant/components/smartthings/sensor.py1326CODE
LOWhomeassistant/components/smartthings/__init__.py335CODE
LOWhomeassistant/components/smartthings/__init__.py499CODE
LOWhomeassistant/components/smartthings/__init__.py632CODE
LOWhomeassistant/components/smartthings/__init__.py660CODE
LOWhomeassistant/components/smartthings/__init__.py347CODE
876 more matches not shown…
Unused Imports758 hits · 673 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
698 more matches not shown…
Redundant / Tautological Comments346 hits · 546 pts
SeverityFileLineSnippetContext
LOWhomeassistant/config_entries.py1744 # Check if config entry exists with unique ID. Unload it.COMMENT
LOWhomeassistant/config.py1152 # Check if the integration has a custom config validatorCOMMENT
LOWhomeassistant/core_config.py359 # Check if we need to raise an issue for imperial unit systemCOMMENT
LOWhomeassistant/__main__.py190 # 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.py560 # 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.py108 # 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__.py93 # Check if we had an error beforeCOMMENT
LOWhomeassistant/components/brother/config_flow.py169 # Check if already configuredCOMMENT
LOWhomeassistant/components/meteo_france/config_flow.py73 # Check if already configuredCOMMENT
LOWhomeassistant/components/pooldose/__init__.py39 # Check if this entry needs migrationCOMMENT
LOWhomeassistant/components/control4/__init__.py144 # 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.py270 # Check if corresponding backup file existsCOMMENT
LOWhomeassistant/components/schedule/__init__.py73 # Check if the start time of the next event is beforeCOMMENT
LOWhomeassistant/components/schedule/__init__.py83 # 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.py678 # 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.py118 # Check if current weekday matches the configurationCOMMENT
LOWhomeassistant/components/aquacell/coordinator.py70 # Check if the refresh token is expiredCOMMENT
LOWhomeassistant/components/vizio/config_flow.py229 # Check if unique ID was found, set unique ID, and abort if a flow withCOMMENT
LOWhomeassistant/components/assist_pipeline/pipeline.py1315 # Check if all targeted entities were in the same area asCOMMENT
LOWhomeassistant/components/system_bridge/config_flow.py140 # Check if already configuredCOMMENT
LOWhomeassistant/components/system_bridge/config_flow.py197 # Check if already configuredCOMMENT
LOW…meassistant/components/lutron_caseta/device_trigger.py415 # 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/flexit_bacnet/switch.py73 # Check if deprecated fireplace switch is enabled and create repair issueCOMMENT
LOWhomeassistant/components/energyid/__init__.py325 # Check if entity is already mappedCOMMENT
LOWhomeassistant/components/energyid/config_flow.py205 # 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.py470 # 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.py282 # 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.py83 # Check if already configuredCOMMENT
LOWhomeassistant/components/coinbase/__init__.py60 # Check if user is using deprecated v2 API credentialsCOMMENT
LOWhomeassistant/components/ps4/config_flow.py66 # 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/mikrotik/coordinator.py141 # Check if connection/login are still validCOMMENT
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.py305 # 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.py282 # 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
286 more matches not shown…
Cross-Language Confusion91 hits · 498 pts
SeverityFileLineSnippetContext
HIGHhomeassistant/components/auth/login_flow.py10 "id": null,STRING
HIGHhomeassistant/components/auth/login_flow.py30 "handler": ["local_provider", null],STRING
HIGHhomeassistant/components/auth/login_flow.py45 "handler": ["insecure_example", null],STRING
HIGHhomeassistant/components/auth/login_flow.py63 "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.py146 # for example to filter out invalid values (such as empty string instead of null)COMMENT
HIGHhomeassistant/components/maxcube/climate.py146 Both parameters are optional. When mode is undefined, it keepsSTRING
HIGHhomeassistant/components/maxcube/climate.py147 the previous mode. When temp is undefined, it fetches theSTRING
HIGHtests/test_core.py1116 b'"context":{"id":"01H0D6K3RFJAYAV2093ZW30PCW","parent_id":null,"user_id":null}}'CODE
HIGHtests/components/template/test_light.py1003 (None, "[{{(360)}},{{null}}]", ColorMode.HS),CODE
HIGHtests/components/matter/test_sensor.py853 # 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/pvpc_hourly_pricing/conftest.py77 '"values_updated_at":null,"values":[]}}'CODE
HIGHtests/components/tasmota/test_config_flow.py37 '"fn":["Tasmota",null,null,null,null,'CODE
HIGHtests/components/tasmota/test_config_flow.py38 'null,null,null],"hn":"tasmota_0848A2",'CODE
HIGHtests/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
HIGHtests/components/tasmota/test_config_flow.py76 '"fn":["Tasmota",null,null,null,null,'CODE
HIGHtests/components/tasmota/test_config_flow.py77 'null,null,null],"hn":"tasmota_0848A2",'CODE
HIGHtests/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
HIGHtests/components/tasmota/test_config_flow.py103 '"fn":["Tasmota",null,null,null,null,'CODE
HIGHtests/components/tasmota/test_config_flow.py104 'null,null,null],"hn":"tasmota_0848A2",'CODE
HIGHtests/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/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.py479 hass, "attributes-topic", '{"longitude": -117.22743, "latitude":null}'CODE
HIGHtests/components/mqtt/test_device_tracker.py521 '{"latitude": null,"longitude": "-117.22743",'CODE
HIGHtests/components/mqtt/test_device_tracker.py777 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_water_heater.py1272 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.py825 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_lawn_mower.py216 async_fire_mqtt_message(hass, "test/lawn_mower_stat", '{"val": null}')CODE
HIGHtests/components/mqtt/test_lawn_mower.py954 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
HIGHtests/components/mqtt/test_update.py946 async_fire_mqtt_message(hass, "test-topic", '{"some_var": null }')CODE
HIGHtests/components/mqtt/test_update.py513 async_fire_mqtt_message(hass, state_topic, '{"update_percentage":null}')CODE
HIGHtests/components/mqtt/test_update.py899 ("test-topic", '{"update_percentage": 100}', '{"update_percentage": null}'),CODE
HIGHtests/components/mqtt/test_discovery.py1213 '"state_topic": "test-topic", "o": null }',CODE
HIGHtests/components/mqtt/test_discovery.py1242 '"state_topic":"test-topic"}},"o": null}',CODE
31 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
MEDIUMhomeassistant/components/teleinfo/sensor.py87 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py89 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py97 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py99 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py114 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py116 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py139 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/teleinfo/sensor.py141 # ------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py89 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py91 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py107 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py109 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py134 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py136 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py218 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/immich/media_source.py220 # --------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/intent/timers.py513# -----------------------------------------------------------------------------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.py366 # -------------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/voip/assist_satellite.py368 # -------------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/zwave_js/binary_sensor.py1001 # -------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/zwave_js/binary_sensor.py1009 # -------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/zwave_js/binary_sensor.py1181 # -------------------------------------------------------------------COMMENT
MEDIUMhomeassistant/components/zwave_js/binary_sensor.py1334 # -------------------------------------------------------------------COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py82# ─── Event Format ─────────────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py51# ─── Entity Registration ─────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py116# ─── Daily Events ────────────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py136# ─── Yearly Events: Weekly Torah Portion ──────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py216# ─── Yearly Events: Holidays ─────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py234# ─── Yearly Events: Omer Count ───────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py256# ─── Yearly Events: Candle Lighting & Havdalah ───────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py313# ─── Learning Schedule ───────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py334# ─── Custom Configuration ────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py393# ─── Date Range Queries ──────────────────────────────────────────────COMMENT
MEDIUMtests/components/jewish_calendar/test_calendar.py410# ─── Calendar State / Event Property ─────────────────────────────────COMMENT
MEDIUMtests/components/waterfurnace/test_statistics.py122# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/components/waterfurnace/test_statistics.py124# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/components/waterfurnace/test_statistics.py291# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/components/waterfurnace/test_statistics.py293# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/components/energyid/test_init.py729# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py731# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py785# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py787# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py836# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py838# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py897# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py899# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py954# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py956# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py993# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py995# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py1035# ============================================================================COMMENT
MEDIUMtests/components/energyid/test_init.py1037# ============================================================================COMMENT
MEDIUMtests/components/fing/test_device_tracker.py92 # ----------------------------------------------------COMMENT
MEDIUMtests/components/fing/test_device_tracker.py100 # ----------------------------------------------------COMMENT
45 more matches not shown…
Fake / Example Data210 hits · 221 pts
SeverityFileLineSnippetContext
LOWhomeassistant/components/auth/__init__.py82 "name": "John Doe",STRING
LOWhomeassistant/components/brands/__init__.py255 use_placeholder = request.query.get("placeholder") != "no"CODE
LOWhomeassistant/components/knx/strings.json996 "placeholder": "Add your notes here..."CODE
LOWhomeassistant/helpers/selector.py1136 {vol.Optional("placeholder"): str}CODE
LOWtests/test_data_entry_flow.py939 raise data_entry_flow.AbortFlow("mock-reason", {"placeholder": "yo"})CODE
LOWtests/test_data_entry_flow.py944 assert form["description_placeholders"] == {"placeholder": "yo"}CODE
LOWtests/test_data_entry_flow.py183 "section_1": {"full_name": "John Doe"},CODE
LOWtests/test_data_entry_flow.py207 assert section_markers[0].description == {"suggested_value": "John Doe"}CODE
LOWtests/test_data_entry_flow.py964 raise data_entry_flow.AbortFlow("mock-reason", {"placeholder": "yo"})CODE
LOWtests/test_data_entry_flow.py971 assert form["description_placeholders"] == {"placeholder": "yo"}CODE
LOWtests/components/intelliclima/conftest.py143 mock_client.auth_token = "fake-token"CODE
LOWtests/components/intelliclima/conftest.py144 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
LOWtests/components/paj_gps/test_config_flow.py20 CONF_EMAIL: "user@example.com",CODE
LOWtests/components/paj_gps/test_config_flow.py28 ("user@example.com", "user@example.com"),CODE
LOWtests/components/paj_gps/test_config_flow.py29 (" USER@EXAMPLE.COM ", "user@example.com"),CODE
LOWtests/components/aquacell/__init__.py16 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/aquacell/__init__.py24 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/aquacell/__init__.py31 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/freedompro/test_init.py14ENTITY_ID = f"{DOMAIN}.fake_name"CODE
LOWtests/components/poolsense/conftest.py61 title="test@test.com",CODE
LOWtests/components/poolsense/conftest.py62 unique_id="test@test.com",CODE
LOWtests/components/poolsense/conftest.py64 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/poolsense/test_config_flow.py29 user_input={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"},CODE
LOWtests/components/poolsense/test_config_flow.py33 assert result["title"] == "test@test.com"CODE
LOWtests/components/poolsense/test_config_flow.py35 CONF_EMAIL: "test@test.com",CODE
LOWtests/components/poolsense/test_config_flow.py38 assert result["result"].unique_id == "test@test.com"CODE
LOWtests/components/poolsense/test_config_flow.py52 data={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"},CODE
LOWtests/components/poolsense/test_config_flow.py62 user_input={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"},CODE
LOWtests/components/poolsense/test_config_flow.py78 data={CONF_EMAIL: "test@test.com", CONF_PASSWORD: "test"},CODE
LOWtests/components/discovergy/conftest.py52 title="user@example.org",CODE
LOWtests/components/discovergy/conftest.py53 unique_id="user@example.org",CODE
LOWtests/components/discovergy/conftest.py54 data={CONF_EMAIL: "user@example.org", CONF_PASSWORD: "supersecretpassword"},CODE
LOWtests/components/discovergy/test_config_flow.py63 CONF_EMAIL: "user@example.org",CODE
LOWtests/components/discovergy/test_config_flow.py133 CONF_EMAIL: "user2@example.org",CODE
LOWtests/components/alexa_devices/const.py19TEST_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
LOWtests/components/onedrive/test_config_flow.py99 assert result["title"] == "John Doe's OneDrive"CODE
LOWtests/components/onedrive/test_config_flow.py176 assert result["title"] == "John Doe's OneDrive"CODE
LOWtests/components/onedrive/test_init.py237 title="John Doe's OneDrive",CODE
LOWtests/components/onedrive/test_init.py259 title="John Doe's OneDrive",CODE
LOWtests/components/onedrive/test_init.py282 title="John Doe's OneDrive",CODE
LOWtests/components/onedrive/const.py27 display_name="John Doe",CODE
LOWtests/components/vicare/__init__.py13 CONF_USERNAME: "foo@bar.com",CODE
LOWtests/components/vicare/test_init.py45 CONF_USERNAME: "foo@bar.com",CODE
LOWtests/components/vicare/test_init.py85 CONF_USERNAME: "foo@bar.com",CODE
LOWtests/components/vicare/test_init.py117 CONF_USERNAME: "foo@bar.com",CODE
150 more matches not shown…
Structural Annotation Overuse52 hits · 94 pts
SeverityFileLineSnippetContext
LOWhomeassistant/components/control4/config_flow.py63 # Step 1: Authenticate with Control4 cloud APICOMMENT
LOWhomeassistant/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
LOWhomeassistant/components/recorder/migration.py3306 # Step 1 - Disable foreign keysCOMMENT
LOWhomeassistant/components/recorder/migration.py3308 # Step 2 - create a transactionCOMMENT
LOWhomeassistant/components/recorder/migration.py3310 # Step 3 - we know all the indexes, triggers, andCOMMENT
LOWhomeassistant/components/recorder/migration.py3317 # Step 4 - Create temp tableCOMMENT
LOWhomeassistant/components/recorder/migration.py3320 # Step 5 - Transfer contentCOMMENT
LOWhomeassistant/components/recorder/migration.py3323 # Step 6 - Drop the original tableCOMMENT
LOWhomeassistant/components/recorder/migration.py3325 # Step 7 - Rename the temp tableCOMMENT
LOWhomeassistant/components/recorder/migration.py3327 # Step 8 - Recreate indexesCOMMENT
LOWhomeassistant/components/recorder/migration.py3330 # Step 9 - Recreate views (there are none)COMMENT
LOWhomeassistant/components/recorder/migration.py3331 # Step 10 - Check foreign keysCOMMENT
LOWhomeassistant/components/recorder/migration.py3333 # Step 11 - Commit transactionCOMMENT
LOWhomeassistant/components/recorder/migration.py3346 # Step 12 - Re-enable foreign keysCOMMENT
LOWtests/components/omie/test_sensor.py62 # Step 1: 1 PM CET (before 13:30 CET publication)COMMENT
LOWtests/components/omie/test_sensor.py69 # Step 2: 3 PM CET - verify listeners update with existing data, no new API callsCOMMENT
LOWtests/components/omie/test_sensor.py129 # Step 1: 1 PM CET (before 13:30 CET publication) - only Jan 15 data availableCOMMENT
LOWtests/components/omie/test_sensor.py135 # Step 2: 2 PM CET (after 13:30 CET publication) - Jan 16 data now availableCOMMENT
LOWtests/components/omie/test_sensor.py144 # Step 3: 3 PM CET - verify listeners update with existing data, no new API callsCOMMENT
LOWtests/components/improv_ble/test_config_flow.py237 # Step 1: Inject provisioned device advertisement (triggers discovery, aborts)COMMENT
LOWtests/components/improv_ble/test_config_flow.py245 # Step 2: Inject same provisioned advertisement againCOMMENT
LOWtests/components/generic_thermostat/test_climate.py1929 # Step 2: The heater should have been turned onCOMMENT
LOWtests/components/generic_thermostat/test_climate.py1939 # Step 4: The climate entity should keep the parent (user) context,COMMENT
LOWtests/components/growatt_server/test_sensor.py240 # Step 1: Midnight reset — API returns 0 (legitimate reset)COMMENT
LOWtests/components/growatt_server/test_sensor.py254 # Step 2: Stale bounce — API returns yesterday's value (12.5) after resetCOMMENT
LOWtests/components/growatt_server/test_sensor.py269 # Step 3: Another reset arrives — still 0 (no double-counting)COMMENT
LOWtests/components/growatt_server/test_sensor.py283 # Step 4: Genuine new production — small value passes throughCOMMENT
LOWtests/components/unifiprotect/test_binary_sensor.py1043 # Step 1: Initial event with only VEHICLE detection (car arriving)COMMENT
LOWtests/components/unifiprotect/test_binary_sensor.py1081 # Step 2: Same event gets updated to include PERSON detectionCOMMENT
LOWtests/components/unifiprotect/test_binary_sensor.py1143 # Step 3: Event ends - both sensors should turn OFFCOMMENT
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.py1187 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_config_flow.py1238 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_config_flow.py1297 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_config_flow.py1353 # WARNING: This test data is synthetic, rather than captured from a real deviceCOMMENT
LOWtests/components/xiaomi_ble/test_config_flow.py1417 # 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
Over-Commented Block96 hits · 88 pts
SeverityFileLineSnippetContext
LOWpyproject.toml141# locally-disabled - it spams too muchCOMMENT
LOWpyproject.toml501 # https://github.com/pyusb/pyusb/pull/545 - >1.3.1COMMENT
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:with timeout\\(\\) is deprecated:DeprecationWarning:aiomodernforms.modernforms",COMMENT
LOWrequirements_all.txt21# homeassistant.components.tasmotaCOMMENT
LOWhomeassistant/bootstrap.py161 # Ensure network config is availableCOMMENT
LOWhomeassistant/bootstrap.py201 # We need to make sure discovery integrationsCOMMENT
LOWhomeassistant/bootstrap.py781 """COMMENT
LOWhomeassistant/bootstrap.py861COMMENT
LOWhomeassistant/package_constraints.txt201tenacity!=8.4.0COMMENT
LOWhomeassistant/core.py2461 # does not have a fast path for handling the UTC timezone and has to doCOMMENT
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.py501COMMENT
LOWhomeassistant/util/dt.py521 # Example: on 2021.10.31 02:00:00 in CET timezone clocks are turnedCOMMENT
LOWhomeassistant/util/async_.py81 # the executor and `.join()` the thread running this code.COMMENT
LOWhomeassistant/components/goodwe/sensor.py41COMMENT
LOWhomeassistant/components/homekit/__init__.py961 self.driver.async_update_advertisement()COMMENT
LOWhomeassistant/components/homekit/type_fans.py281 # in its speed list but is not off, the hk_speed_value is 0. But 0COMMENT
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/xbox/entity.py161 # Xbox sometimes returns a domain that uses a wrong certificate whichCOMMENT
LOWhomeassistant/components/apple_tv/config_flow.py241 # Scan for the device in order to extract _all_ unique identifiers assigned toCOMMENT
LOWhomeassistant/components/apple_tv/config_flow.py261 #COMMENT
LOWhomeassistant/components/flexit_bacnet/number.py41COMMENT
LOW…sistant/components/withings/application_credentials.py41 # {COMMENT
LOWhomeassistant/components/system_log/__init__.py81 # Slice the stack to the first frame that matchesCOMMENT
LOWhomeassistant/components/system_log/__init__.py101 #COMMENT
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.py641 # Have to work around two problems with RTSP feeds in ffmpegCOMMENT
LOWhomeassistant/components/motionmount/config_flow.py21COMMENT
LOWhomeassistant/components/homekit_controller/const.py121# 10 seconds was chosen because it is soon enoughCOMMENT
LOW…assistant/components/homekit_controller/config_flow.py401 self, pair_info: dict[str, Any] | None = NoneCOMMENT
LOWhomeassistant/components/doorbird/models.py21 # This integration uses a different event forCOMMENT
LOWhomeassistant/components/matter/models.py141 # for example for the AcceptedCommandListCOMMENT
LOWhomeassistant/components/ibeacon/coordinator.py401 if group_id not in self._unavailable_group_idsCOMMENT
LOWhomeassistant/components/todoist/const.py61ID: Final = "id"COMMENT
LOWhomeassistant/components/homematicip_cloud/__init__.py161 # a) Two or more legacy entries share the same new target id (e.g.COMMENT
LOWhomeassistant/components/proximity/coordinator.py181 # ``in_zones`` while their state still names their locationCOMMENT
LOWhomeassistant/components/bluetooth/__init__.py181 async def _async_call_debouncer(now: datetime.datetime) -> None:COMMENT
LOWhomeassistant/components/recorder/statistics.py2961 return 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.py141 # Assistant is only read when the entity is first added.COMMENT
LOWhomeassistant/components/esphome/manager.py621 await reconnect_logic.stop()COMMENT
LOWhomeassistant/components/zwave_js/models.py181 manufacturer_id: set[int] | None = NoneCOMMENT
LOWhomeassistant/components/zwave_js/discovery.py101 # [optional] template to generate platform specific data to use in setupCOMMENT
LOWhomeassistant/components/zwave_js/binary_sensor.py181COMMENT
LOWhomeassistant/components/zwave_js/binary_sensor.py201# - Maintenance required, planned periodic inspectionCOMMENT
LOWhomeassistant/components/netatmo/binary_sensor.py101 list[NetatmoBinarySensorEntityDescription]COMMENT
LOWhomeassistant/components/onvif/event_manager.py61# We only keep the subscription alive for 10 minutes, and will keepCOMMENT
36 more matches not shown…
AI Slop Vocabulary51 hits · 87 pts
SeverityFileLineSnippetContext
LOW…ome_assistant/checkers/actions/swallowed_exceptions.py55 # Empty body (just pass) or log-only bodyCOMMENT
MEDIUMhomeassistant/loader.py1695 """Mount config dir in order to load custom_component.STRING
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.py283 # show the combination with, otherwise just return inputsCOMMENT
LOWhomeassistant/components/energy/data.py810 # If power_config has stat_rate (standard), just use it directlyCOMMENT
LOWhomeassistant/components/energy/data.py828 # If power_config has stat_rate (standard), just use it directlyCOMMENT
LOWhomeassistant/components/system_log/__init__.py72 # exception). In that case, just use the file where the log was made from.COMMENT
LOWhomeassistant/components/alexa/handlers.py672 # This workaround will simply call the volume up/Volume down the amount ofCOMMENT
MEDIUMhomeassistant/components/cast/media_player.py293 """Ensure chromecast is available, to facilitate type checking."""STRING
LOWhomeassistant/components/stream/worker.py485 # 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.py50 # otherwise just return all shade dataCOMMENT
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.py409 # local time in that scenario we should just return the previous valueCOMMENT
LOWhomeassistant/components/slimproto/config_flow.py23 # we have nothing to configure so simply create the entryCOMMENT
LOWhomeassistant/components/todoist/calendar.py728 # If we have no data, we can just return right away.COMMENT
LOWhomeassistant/components/geo_rss_events/sensor.py150 # 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.py464 # just add the domainCOMMENT
MEDIUMhomeassistant/components/tplink/light.py290 # except when transition is defined so we leverage that for now.COMMENT
LOWhomeassistant/components/peblar/number.py122 # 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.py28 """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
MEDIUMhomeassistant/components/zha/entity.py201 # provides a more generic hook to utilize HA to do this), we directly restoreCOMMENT
LOWhomeassistant/components/zha/config_flow.py346 # Allow onboarding for new users to just create a new network automaticallyCOMMENT
MEDIUMhomeassistant/helpers/intent.py519 """Match entities based on constraints in order to handle an intent."""STRING
MEDIUMtests/components/liebherr/conftest.py34# 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.py40 # For a single fireplace we just create itCOMMENT
LOWtests/components/intellifire/test_config_flow.py74 # For a single fireplace we just create itCOMMENT
LOWtests/components/intellifire/test_config_flow.py110 # For a single fireplace we just create itCOMMENT
LOWtests/components/google/test_calendar.py846 # just use the API response which this test is not exercising)COMMENT
LOWtests/components/schlage/test_lock.py382 # Should not raise an error, just return silentlyCOMMENT
LOWtests/components/schlage/test_lock.py403 # 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.py77 # 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
LOWtests/components/chacon_dio/test_cover.py145 # Define a method to simply call itCOMMENT
LOWtests/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.py220 # If for some reason no name can be derived, just return the default nameCOMMENT
LOW…ts/components/eurotronic_cometblue/test_config_flow.py223 # If the name is the same as the address, just returnCOMMENT
MEDIUMtests/components/conversation/test_chat_log.py876 """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 Patterns60 hits · 58 pts
SeverityFileLineSnippetContext
LOWhomeassistant/auth/jwt_wrapper.py90CODE
LOWhomeassistant/components/demo/update.py108CODE
LOWhomeassistant/components/demo/light.py102CODE
LOWhomeassistant/components/frontend/__init__.py356CODE
LOWhomeassistant/components/assist_pipeline/__init__.py94CODE
LOWhomeassistant/components/knx/storage/knx_selector.py173CODE
LOWhomeassistant/components/tado/coordinator.py367CODE
LOWhomeassistant/components/tado/climate.py275CODE
LOWhomeassistant/components/tado/climate.py675CODE
LOWhomeassistant/components/rflink/entity.py41CODE
LOWhomeassistant/components/cloud/prefs.py166CODE
LOWhomeassistant/components/recorder/history/__init__.py124CODE
LOWhomeassistant/components/recorder/history/__init__.py220CODE
LOWhomeassistant/components/zwave_js/lock_helpers.py416CODE
LOWhomeassistant/components/configurator/__init__.py58CODE
LOWhomeassistant/components/panel_custom/__init__.py71CODE
LOWhomeassistant/helpers/intent.py99CODE
LOWhomeassistant/helpers/intent.py910CODE
LOWhomeassistant/helpers/intent.py1205CODE
LOWhomeassistant/helpers/network.py115CODE
LOWhomeassistant/helpers/area_registry.py347CODE
LOWhomeassistant/helpers/area_registry.py383CODE
LOWhomeassistant/helpers/script.py1505CODE
LOWtests/components/powerwall/mocks.py62CODE
LOWtests/components/vera/common.py56CODE
LOWtests/components/litterrobot/conftest.py87CODE
LOWtests/components/rituals_perfume_genie/common.py28CODE
LOWtests/components/zoneminder/conftest.py90CODE
LOWtests/components/alexa_devices/test_media_player.py50CODE
LOWtests/components/seventeentrack/conftest.py133CODE
LOWtests/components/doorbird/conftest.py102CODE
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.py2434CODE
LOWtests/components/transmission/conftest.py81CODE
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/utils.py249CODE
LOWtests/components/shelly/conftest.py72CODE
LOWtests/components/nexia/conftest.py40CODE
LOWtests/components/nexia/conftest.py119CODE
LOW…/components/usgs_earthquakes_feed/test_geo_location.py65CODE
LOWtests/components/zha/conftest.py362CODE
LOWtests/components/nut/util.py42CODE
LOWtests/components/pi_hole/__init__.py200CODE
LOWtests/components/synology_dsm/common.py27CODE
LOWtests/test_util/aiohttp.py49CODE
LOWtests/test_util/aiohttp.py136CODE
LOWtests/test_util/aiohttp.py175CODE
Verbosity Indicators20 hits · 36 pts
SeverityFileLineSnippetContext
LOWhomeassistant/components/control4/config_flow.py63 # Step 1: Authenticate with Control4 cloud APICOMMENT
LOWhomeassistant/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
LOWtests/components/omie/test_sensor.py62 # Step 1: 1 PM CET (before 13:30 CET publication)COMMENT
LOWtests/components/omie/test_sensor.py69 # Step 2: 3 PM CET - verify listeners update with existing data, no new API callsCOMMENT
LOWtests/components/omie/test_sensor.py129 # Step 1: 1 PM CET (before 13:30 CET publication) - only Jan 15 data availableCOMMENT
LOWtests/components/omie/test_sensor.py135 # Step 2: 2 PM CET (after 13:30 CET publication) - Jan 16 data now availableCOMMENT
LOWtests/components/omie/test_sensor.py144 # Step 3: 3 PM CET - verify listeners update with existing data, no new API callsCOMMENT
LOWtests/components/improv_ble/test_config_flow.py237 # Step 1: Inject provisioned device advertisement (triggers discovery, aborts)COMMENT
LOWtests/components/improv_ble/test_config_flow.py245 # Step 2: Inject same provisioned advertisement againCOMMENT
LOWtests/components/generic_thermostat/test_climate.py1929 # Step 2: The heater should have been turned onCOMMENT
LOWtests/components/generic_thermostat/test_climate.py1939 # Step 4: The climate entity should keep the parent (user) context,COMMENT
LOWtests/components/growatt_server/test_sensor.py240 # Step 1: Midnight reset — API returns 0 (legitimate reset)COMMENT
LOWtests/components/growatt_server/test_sensor.py254 # Step 2: Stale bounce — API returns yesterday's value (12.5) after resetCOMMENT
LOWtests/components/growatt_server/test_sensor.py269 # Step 3: Another reset arrives — still 0 (no double-counting)COMMENT
LOWtests/components/growatt_server/test_sensor.py283 # Step 4: Genuine new production — small value passes throughCOMMENT
LOWtests/components/unifiprotect/test_binary_sensor.py1043 # Step 1: Initial event with only VEHICLE detection (car arriving)COMMENT
LOWtests/components/unifiprotect/test_binary_sensor.py1081 # Step 2: Same event gets updated to include PERSON detectionCOMMENT
LOWtests/components/unifiprotect/test_binary_sensor.py1143 # Step 3: Event ends - both sensors should turn OFFCOMMENT
Slop Phrases7 hits · 12 pts
SeverityFileLineSnippetContext
LOWhomeassistant/core_config.py453 # 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__.py105 # leftover files, make sure to log plainCOMMENT
LOWhomeassistant/components/matter/entity.py151 # make sure to update the attributes onceCOMMENT
LOWtests/components/picnic/test_config_flow.py388 # 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
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMhomeassistant/components/generic_thermostat/climate.py537 # Note: If a manual interaction occurs within the 2s context window of a switchCOMMENT
MEDIUMscript/scaffold/__main__.py77 # If we are calling scaffold on a non-existing integration,COMMENT
MEDIUM.github/workflows/check-requirements-deterministic.yml6# results as an artifact. Stage 2 (the agentic workflow defined inCOMMENT
Dead Code3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMtests/components/elevenlabs/test_stt.py59CODE
MEDIUMtests/components/llama_cpp/test_config_flow.py350CODE
MEDIUMtests/components/sonos/test_services.py121CODE
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHhomeassistant/components/slack/notify.py333Get 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 Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWhomeassistant/components/blue_current/__init__.py175 async def run_task(self) -> None:CODE
LOWtests/components/websocket_api/test_decorators.py16 def handle_request(request, connection, msg):CODE