← All repositories

Core

Features

  • Home Automation PlatformsA centralized control system that orchestrates smart devices, automates environmental tasks, and manages state across diverse hardware integrations.
  • Device Abstraction LayersA middleware interface that normalizes heterogeneous hardware protocols into a consistent set of entities, attributes, and services.
  • Local User ManagementHome Assistant includes a built-in provider for managing local user accounts and credentials, storing hashed passwords and salts within the application configuration directory.
  • Multi-Factor AuthenticationHome Assistant enables multi-factor authentication by sending one-time passwords to specified notification channels, providing an additional layer of security for user login attempts.
  • Logical Condition EvaluatorsHome Assistant supports combining multiple conditions using logical operators to evaluate complex criteria, including nested structures for precise automation control.
  • Time-based One-Time PasswordsHome Assistant supports time-based one-time password authentication, requiring a six-digit code from a mobile authenticator application to verify user login attempts.
  • Trusted Network AuthenticationHome Assistant allows bypassing password authentication for requests originating from specified IP addresses or network ranges to simplify local access.
  • Event-Driven Automation EnginesA reactive processing layer that executes complex logic sequences triggered by state changes, temporal events, or external webhooks.
  • Event-Driven AutomationsDefining complex logic and sequences that trigger actions based on real-time state changes, sensor data, or scheduled events.
  • State-Change TriggersHome Assistant enables executing automations when entity states change, with options to filter by specific state transitions or the duration of a state.
  • Template-Based Logic Engines"Processes dynamic expressions and conditional logic at runtime to enable flexible automation triggers, state transformations, and custom notifications."
  • Automation TemplatesHome Assistant enables the creation of automation blueprints by converting existing automations into reusable YAML files with configurable inputs and metadata.
  • Script SequencesHome Assistant allows defining a sequence of actions using a list of maps, supporting optional aliases for each step to improve readability.
  • Event-Based TriggersHome Assistant supports executing automations when specific system events occur, with options to filter by event data or user context for precise control.
  • Home Automation FrameworksHome Assistant provides a comprehensive framework for configuring automated tasks by defining triggers, conditions, and actions that respond to environmental state changes.
  • Smart Home OrchestrationCentralizing control of diverse IoT devices and services into a unified, local-first automation platform for residential environments.
  • System Action ExecutionsHome Assistant enables the execution of system actions, such as toggling devices or running scripts, by passing parameters to specific domains and services.
  • Action Execution EnginesHome Assistant enables executing actions on entities or devices by specifying the action name and target identifiers to control components.
  • Template Condition ValidatorsHome Assistant allows executing custom logic by evaluating boolean templates, enabling complex state checks and dynamic condition assessment.
  • Automation BlueprintsHome Assistant allows creating automations by selecting a blueprint, naming the instance, and configuring required parameters directly within the editor.
  • Component SelectorsHome Assistant enables targeting specific entities, devices, or areas for actions, with optional filtering based on entity or device properties.
  • Device SelectorsHome Assistant enables picking single or multiple devices, with optional filtering by manufacturer, model, provided entities, or device class.
  • Entity SelectorsHome Assistant supports picking single or multiple entities, with optional filtering by integration, domain, device class, or specific inclusion lists.
  • Automation TriggersHome Assistant allows assigning unique identifiers to triggers, enabling them to be referenced in automation conditions or actions and grouped for complex logic.
  • Automation Variable DefinitionsHome Assistant enables the definition of variables for triggers to use in templates, supporting blueprint inputs and templated values for flexible automation logic.
  • Execution Flow ControlsHome Assistant supports pausing script execution until a specific state condition is met via a template or until a trigger event occurs.
  • Automation Configuration ManagementHome Assistant allows including automation files in the main configuration to ensure that automations created via the graphical interface are correctly loaded and visible.
  • Automation Execution ModesHome Assistant provides configurable execution modes to control concurrent triggers, supporting single-instance execution, queuing, or parallel processing for complex automation logic.
  • Automation State AccessHome Assistant allows templates to access current automation state and trigger variables, enabling the evaluation of conditions based on the user context that initiated execution.
  • State Inspection ToolsHome Assistant provides developer tools to inspect the current state of entities, including unique identifiers and associated attributes, to inform automation logic.
  • Time-Based TriggersHome Assistant allows executing automations at specific times using fixed strings, input datetime entities, or sensor timestamps with optional offsets.
  • Webhook TriggersHome Assistant supports executing automations via incoming HTTP webhooks, providing options for custom methods and local-only network restrictions.
  • Dependency Injection Registries"Manages the lifecycle and discovery of system services by dynamically loading and linking components based on configuration requirements."
  • Parallel Execution StrategiesHome Assistant supports executing multiple actions simultaneously rather than sequentially, allowing independent tasks to run at the same time to improve performance.
  • Blueprint Action SequencesHome Assistant supports inputting sequences of actions in the editor to generate a list of tasks to be performed by the system.
  • Concurrency Control Policies"Manages overlapping automation and script triggers by enforcing specific execution policies like queuing, parallel processing, or single-instance restarts."
  • Scene ConfigurationsHome Assistant allows defining scenes in YAML by specifying a friendly name and a list of entities with their desired states or attributes.
  • Automation Trigger ContextsHome Assistant enables access to event-specific trigger details within templates, allowing for dynamic modification of automation actions based on the initiating event.
  • Floor-Based OrganizationsHome Assistant allows grouping multiple areas into a single floor to facilitate automation actions that target all devices within that level.
  • Floor ManagementHome Assistant allows creating, editing, and deleting floors, defining names and levels to organize areas within the home environment.
  • Automation Execution TracingHome Assistant provides interactive graphs and step-by-step timelines to inspect the execution history of automations, helping to debug logic paths and state changes.
  • Blueprint Area SelectorsHome Assistant allows picking single or multiple areas, with optional filtering based on associated devices, entities, manufacturers, or integration domains.
  • Event-Driven State Buses"Coordinates system-wide communication by broadcasting state changes and events to decoupled components through a centralized asynchronous message bus."
  • Component Integration Models"Encapsulates external hardware and service logic into isolated modules that communicate via standardized interfaces and shared entity registries."
  • Declarative Configuration FrameworksA structured system for defining infrastructure, automation logic, and user preferences using human-readable configuration files and schemas.
  • Entity Abstraction Layers"Maps physical devices and virtual sensors to unique identifiers, decoupling hardware-specific implementation details from high-level automation and dashboard logic."
  • Declarative Configuration Files"Defines system behavior, automations, and entity settings through structured text files that are parsed and validated at runtime."
  • Blueprint Input ConfigurationsHome Assistant allows configuring user-provided inputs with custom selectors and default values, enabling dynamic and reusable configuration fields within the interface.
  • YAML Configuration SchemasHome Assistant supports configuring automation behavior using YAML, including unique identifiers, execution modes, variable injection, and trace storage settings for advanced debugging.
  • Extensible Integration EcosystemsA modular architecture that allows third-party components to extend core functionality through standardized discovery, authentication, and communication protocols.
  • Spatial OrganizationsHome Assistant supports organizing devices and entities into physical rooms to enable targeted automation actions and automatic generation of dashboard cards.
  • Configuration ModularizationHome Assistant supports modularizing configuration files by splitting them into smaller YAML files using include statements for better organization and readability.
  • Configuration Validation ToolsHome Assistant provides command-line tools to validate configuration files, identifying syntax errors or invalid entries before restarting the system.
  • Configuration EditorsHome Assistant supports editing configuration files by providing file access and allowing users to choose an appropriate editor based on their installation type.
  • Configuration Environment VariablesHome Assistant supports including values from environment variables or external YAML files to improve configuration readability and manage sensitive data across environments.
  • Configuration File ParsersHome Assistant supports configuring the scene integration to read from YAML files, enabling the visual editor to manage scene definitions automatically.
  • Integration Domain IdentifiersHome Assistant allows identifying integration and entity domains to understand how components provide functionality and services within the system.
  • Entity State ManagementHome Assistant represents the current state of an entity at a specific moment, including attributes and timestamps for monitoring and control.
  • State Context TrackersHome Assistant tracks the origin of state changes by attaching unique identifiers to events, allowing automations to trace the cause of updates.
  • State Transition ControllersHome Assistant allows applying transition durations to scene activations to smoothly interpolate light states over a specified time period.
  • Energy Usage MonitoringHome Assistant allows measuring energy production by installing current transformer clamp sensors on electrical wires to calculate usage and feed data into the system.
  • Remote Access TunnelsHome Assistant enables secure remote access to the network via an encrypted, managed tunnel that requires no router port configuration or manual exposure.
  • Event Monitoring SystemsHome Assistant allows monitoring the event bus to react to system-wide events, such as state changes, service calls, or automation triggers.
  • General System ConfigurationHome Assistant provides administrative interfaces and configuration files to manage general system settings, including location and network parameters.
  • Device Energy MonitoringHome Assistant enables monitoring energy usage of individual devices by installing smart plugs or relays between outlets and appliances.
  • Electricity Meter IntegrationsHome Assistant supports integrating electricity meter data using hardware interfaces like P1 ports or Zigbee to monitor real-time energy consumption.
  • Integration DiagnosticsHome Assistant allows downloading diagnostic data for specific integrations to assist in identifying and resolving complex configuration or runtime issues.
  • Safe ModesHome Assistant supports restarting the system in a restricted environment that disables custom integrations to isolate and identify performance issues.
  • Energy Tariff ConfigurationsHome Assistant allows configuring energy usage tracking to account for time-of-day pricing, separating consumption data into peak and off-peak periods.
  • Gas Meter IntegrationsHome Assistant enables connecting gas meters using P1 ports, optical recognition, or wireless signals to track real-time consumption data.
  • Home Battery IntegrationsHome Assistant allows integrating battery energy data using vendor APIs or by measuring current flow with external hardware sensors.
  • Solar Inverter IntegrationsHome Assistant supports connecting solar inverters directly to the energy monitoring system using APIs to track and report real-time production data.
  • Debug Logging ManagementHome Assistant enables the management of debug logging for specific integrations to capture detailed runtime information for troubleshooting and issue reporting.
  • System Command ExecutionHome Assistant enables the execution of administrative commands, including integration reloads or server management tasks, directly from the quick search interface.
  • System Configuration ManagementOrganizing and validating complex infrastructure settings through modular files, version-controlled configurations, and administrative diagnostic tools.
  • Recovery ModesHome Assistant provides a restricted recovery mode that loads only essential integrations, allowing users to perform manual repairs on configuration issues.
  • Identity and Access ControlManaging secure user authentication, multi-factor security, and granular permission levels for local and remote system access.
  • User Account ManagementHome Assistant allows administrators to create and manage user accounts, defining security settings, access privileges, and multi-factor authentication requirements for individual system users.
  • Secrets ManagementHome Assistant centralizes sensitive configuration data into a dedicated secrets file to prevent hardcoding credentials within the main system configuration.
  • Secret Management SystemsHome Assistant allows managing sensitive credentials by storing them in a dedicated file and referencing them via identifiers to prevent exposure.
  • Dynamic TemplatesHome Assistant allows defining dynamic content in scripts using a templating language to process states and attributes for customized output.
  • Command PalettesHome Assistant provides a global search dialog accessible via keyboard shortcuts to instantly access entities, devices, commands, and system links.
  • Configuration ReloadersHome Assistant supports reloading configuration files and validating settings for specific integrations to apply changes immediately without requiring a full system restart.
  • Entity State InspectionHome Assistant enables manual inspection and overriding of entity states and attributes at runtime to simulate device behavior for testing purposes.
  • Event Bus ManagementHome Assistant allows firing custom events onto the internal bus or subscribing to active event streams to inspect real-time data payloads for debugging.
  • Live Template EditorsHome Assistant includes a live editor for templates that provides real-time output and access to live entity data for rapid iteration.
  • Statistics Data ManagementHome Assistant provides tools to view long-term historical data for entities, allowing users to identify trends and correct inaccurate data points.
  • Script Variable ManagementHome Assistant allows setting or overriding variables within a script sequence to store data accessible to subsequent actions and templates.
  • Area Management SystemsHome Assistant allows creating and editing areas by defining names, icons, floor assignments, and voice assistant aliases.