awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
home-assistant avatar

home-assistant/core

0
View on GitHub↗
87,753 stars·37,682 forks·Python·Apache-2.0·30 viewswww.home-assistant.io↗

Core

Home Assistant is a centralized home automation platform designed to orchestrate diverse internet-connected devices and services. It functions as a local-first control system that normalizes heterogeneous hardware protocols into a unified set of entities, attributes, and services. The core architecture relies on an event-driven state bus and a modular integration model, allowing the system to manage state changes and communicate across decoupled components through standardized interfaces.

The platform distinguishes itself through a highly flexible, declarative configuration framework that allows users to define system behavior, automations, and entity settings using structured text files. It features a reactive automation engine that processes complex logic sequences triggered by state changes, temporal events, or external webhooks. To support advanced users, the system includes a template-based logic engine for dynamic data processing and a blueprint system that enables the reuse of pre-configured automation templates.

Beyond basic orchestration, the project provides a comprehensive suite of administrative and diagnostic tools. This includes granular identity and access management, energy monitoring for various utilities, and sophisticated organizational features like area, floor, and label management. The system also offers extensive developer utilities, such as real-time state inspection, automation execution tracing, and live template debugging, to assist in maintaining and troubleshooting complex configurations.

The system is configured primarily through YAML files, which are parsed and validated at runtime to ensure consistency across the integration ecosystem.

Features

  • Home Automation - Unifies disparate smart devices and services into a single, local-first control hub for residential automation.
  • Device Abstraction Layers - Normalizes heterogeneous hardware protocols into a consistent set of entities, attributes, and services.
  • Script Sequences - Organizes complex automated workflows into ordered sequences of actions and steps.
  • Automation Templates - Converts static automation logic into reusable, parameterized templates with configurable inputs.
  • Template-Based Logic Engines - Evaluates dynamic expressions and conditional templates at runtime to drive flexible automation behavior.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
  • Event-Driven - Executes complex logic sequences in response to state transitions, time-based events, or incoming webhooks.
  • State-Change Triggers - Initiates automated workflows based on specific state transitions or the duration of a current state.
  • Event-Based Triggers - Triggers automated workflows automatically whenever system-level events or specific state changes occur.
  • External Command Executors - Dispatches shell commands and scripts to external programs directly from the automation interface.
  • Home Automation - Standardizes the management of smart home devices through a comprehensive framework of triggers, conditions, and actions.
  • Smart Home Orchestration - Centralizes the control of diverse IoT devices within a unified, local-first platform for residential management.
  • Declarative Configuration Frameworks - Enforces desired system states and automation logic using structured, human-readable configuration files.
  • Event-Driven State Buses - Coordinates system-wide communication by broadcasting state changes and events to decoupled components via an asynchronous bus.
  • Component Integration Models - Wraps external hardware and services into standardized modules that communicate through a unified entity registry.
  • Entity Abstraction Layers - Maps physical devices and virtual sensors to unique identifiers to decouple hardware details from high-level logic.
  • Entity State Management - Maintains a real-time registry of entity states, including metadata and timestamps, for continuous monitoring.
  • Action Execution Engines - Dispatches commands to target entities based on defined logic and action identifiers.
  • Declarative Configuration - Defines system behavior and automation parameters through structured, human-readable text files.
  • Energy Usage Monitoring - Tracks electrical consumption data by integrating with various hardware sensors and smart meters.
  • Local User Management - Stores hashed user credentials and salts locally to verify identities directly within the application environment.
  • Logical Condition Evaluators - Processes nested boolean logic to determine when specific automation sequences should trigger based on real-time conditions.
  • Automation Frameworks - Delivers a robust environment for building and running automated sequences via both graphical interfaces and file-based configurations.
  • Automation Blueprints - Simplifies automation creation by providing reusable templates that users can configure directly through the interface.
  • Component Selectors - Filters system entities and devices via interface-based selectors to target specific components during automation setup.
  • Device Selectors - Filters hardware devices dynamically based on manufacturer, model, or class to assist in template configuration.
  • Entity Selectors - Offers UI-based entity selection with filtering by integration, domain, or device class for precise automation targeting.
  • Automation Variable Definitions - Declares input variables for use within templates and blueprints to increase the flexibility of automated logic.
  • Automation Triggers - Assigns unique identifiers to event-driven triggers, enabling complex referencing and grouping within automation logic.
  • Time-Based Triggers - Schedules automated tasks using clock-based timing, recurring intervals, or temporal offsets from sensor data.
  • Webhook Triggers - Accepts incoming HTTP requests to initiate workflows, supporting custom methods and local network security restrictions.
  • Execution Flow Controls - Pauses sequence progression until specific state conditions are met or external events occur.
  • Automation Execution Modes - Manages concurrency through configurable strategies like single-instance locking, queuing, or parallel execution for simultaneous triggers.
  • State Inspection Tools - Exposes developer utilities to inspect real-time entity states and attributes for troubleshooting automation logic.
  • Dependency Injection Systems - Links system components dynamically by resolving dependencies and managing service lifecycles based on user configuration.
  • Recovery Modes - Loads a restricted environment with essential integrations to facilitate manual system repairs.
  • Authentication & Authorization Systems - Implements comprehensive user authentication, multi-factor security, and granular permission controls to protect system access.
  • Multi-Factor Authentication - Validates user identity by delivering one-time passwords through notification channels for secure multi-factor login.
  • User Management - Provides a centralized interface for managing user accounts, security profiles, and granular access privileges.
  • Blueprint Input Configurations - Enables the creation of dynamic, reusable configuration fields by defining custom selectors and default values for user inputs.
  • YAML Configuration Schemas - Structures automation behaviors through declarative schemas that support unique identifiers, execution modes, and dynamic variable injection.
  • Extensible Integration Ecosystems - Facilitates third-party service integration through a modular architecture that supports standardized discovery and communication.
  • Spatial Organizations - Groups connected devices into hierarchical room structures to facilitate location-aware automation and dashboard organization.
  • Remote Access Tunnels - Establishes encrypted remote access tunnels to bypass the need for manual router port forwarding.
  • Event Monitoring Systems - Observes an internal event bus to react instantly to system-wide state changes, service calls, and automation events.
  • Internet Of Things - Centralized platform for managing smart home devices.
  • Internet of Things - Comprehensive platform for managing home automation devices.
  • Smart Home - Centralized hub for home automation and device control.
  • More to explore - Open-source home automation.
  • Notes and Productivity - Local-first home automation platform.
  • Transit Consumer Apps - Integration for monitoring transit schedules within home automation.
  • Dynamic Templates - Applies logic to device states and attributes to generate customized, dynamic output for automation scripts.
  • Secrets Management - Isolates sensitive credentials into dedicated files to prevent hardcoding secrets within the primary system configuration.
  • TOTP Authentication Systems - Requires time-based one-time password codes from mobile authenticator applications to verify user login attempts.
  • Statistics Data Management - Retains long-term historical entity data, allowing users to analyze trends and rectify inaccurate records.
  • Parallel Execution Strategies - Runs multiple independent tasks concurrently to improve performance rather than relying on sequential processing.
  • Blueprint Action Sequences - Constructs reusable sequences of tasks that can be triggered and performed by the system.
  • Script Variable Management - Stores and overrides data within automation sequences to make variables accessible to subsequent logic.
  • Secret Management Systems - References sensitive credentials via identifiers to ensure secure access without exposing raw data.
  • Configuration Modularization - Splits monolithic configuration files into smaller, manageable YAML components using include statements.
  • Configuration Validation Tools - Verifies configuration syntax and integrity via command-line utilities before applying changes.
  • Electricity Meter Integrations - Connects to hardware electricity meters via protocols like Zigbee or P1 ports to track real-time power consumption.
  • State Context Trackers - Attaches unique metadata to state changes, allowing for the traceability of events back to their origin.
  • State Transition Controllers - Interpolates light and device states over specified durations to create smooth transitions during scene activation.
  • Trusted Network Authentication - Bypasses password requirements for requests originating from trusted local IP addresses or network ranges.
  • Area Management Systems - Manages physical spaces by assigning names, icons, floor locations, and voice assistant aliases to specific areas.
  • Command Palettes - Offers a global search interface triggered by keyboard shortcuts to instantly locate entities, devices, and system commands.
  • State Debugging Utilities - Permits manual inspection and overriding of entity states and attributes at runtime to simulate device behavior for testing.
  • Event Bus Management - Allows firing custom events and subscribing to active streams to inspect real-time data payloads.
  • Hot Module Replacement - Applies configuration changes for specific integrations immediately without requiring a full system restart.
  • Live Template Editors - Provides an interactive environment for real-time template evaluation and immediate inspection of live entity data.
  • Automation Trigger Contexts - Exposes event-specific metadata within templates to allow dynamic logic adjustments based on the exact trigger that initiated an automation.
  • Floor Management - Establishes physical floor levels within the home environment to categorize and manage distinct living spaces.
  • Automation Execution Tracing - Visualizes the step-by-step history of automated tasks through interactive graphs and timelines to help troubleshoot logic paths.
  • Blueprint Area Selectors - Provides interface components for selecting specific physical or logical areas, with filtering based on associated devices or domains.
  • Integration Domain Identifiers - Categorizes functional domains to clarify how various components provide specific services and capabilities within the system.
  • Configuration Formats - Supports YAML-based data structures for scene definitions to enable automated management via visual editors.
  • Configuration Editors - Grants direct file access for modifying configuration settings through interfaces tailored to the specific installation environment.
  • Environment Variables - Integrates external values from environment variables or separate files to manage configuration settings across different deployments.
  • Process Management Tools - Facilitates administrative tasks like reloading integrations or managing server processes through a quick search interface.
  • System Configuration Management - Validates complex infrastructure settings through modular files and administrative tools to ensure system stability.
  • Integration - Generates downloadable diagnostic data packages for specific integrations to assist in troubleshooting complex configuration errors.
  • Safe Modes - Restricts system execution to a minimal environment that disables custom integrations to help isolate and resolve performance issues.
  • Energy Tariff Configurations - Calculates energy costs by separating consumption data into peak and off-peak periods based on time-of-use pricing structures.
  • Gas Meter Integrations - Captures real-time natural gas consumption data through P1 ports, optical recognition, or wireless sensor signals.
  • Home Battery Integrations - Ingests battery energy data from vendor APIs or external hardware sensors to monitor residential storage capacity and charge status.
  • Solar Inverter Integrations - Connects directly to solar power inverters via APIs to track and report real-time energy production metrics.
  • Debug Logging Management - Permits granular activation of diagnostic logging for individual integrations to facilitate deeper troubleshooting of runtime behaviors.
  • Star history

    Star history chart for home-assistant/coreStar history chart for home-assistant/core

    Frequently asked questions

    What does home-assistant/core do?

    Home Assistant is a centralized home automation platform designed to orchestrate diverse internet-connected devices and services. It functions as a local-first control system that normalizes heterogeneous hardware protocols into a unified set of entities, attributes, and services. The core architecture relies on an event-driven state bus and a modular integration model, allowing the system to manage state changes and communicate across decoupled components through…

    What are the main features of home-assistant/core?

    The main features of home-assistant/core are: Home Automation, Device Abstraction Layers, Script Sequences, Automation Templates, Template-Based Logic Engines, Event-Driven, State-Change Triggers, Event-Based Triggers.

    What are some open-source alternatives to home-assistant/core?

    Open-source alternatives to home-assistant/core include: home-assistant/home-assistant.io — Home Assistant is a local home automation platform and server that acts as an IoT device orchestrator. It integrates… arendst/tasmota — Tasmota is a universal firmware platform for ESP8266 and ESP32 microcontrollers, designed to provide local control and… home-assistant/home-assistant — Home Assistant is a home automation platform and IoT device orchestrator that serves as a central hub for controlling… awesome-selfhosted/awesome-selfhosted — This project is a community-curated directory of open-source software designed for deployment in private server… stirling-tools/stirling-pdf — Stirling-PDF is a self-hosted document processing suite designed for secure, private file management. It functions as… esphome/esphome — ESPHome is a framework for creating and managing custom firmware for microcontrollers, specifically targeting ESP32…

    Open-source alternatives to Core

    Similar open-source projects, ranked by how many features they share with Core.
    • home-assistant/home-assistant.iohome-assistant avatar

      home-assistant/home-assistant.io

      9,466View on GitHub↗

      Home Assistant is a local home automation platform and server that acts as an IoT device orchestrator. It integrates diverse smart home hardware by wrapping third-party APIs into a standardized logic layer and stores all system state and historical statistics on local hardware to eliminate cloud dependencies. The system functions as a Matter IoT controller and an MQTT home automation bridge, allowing for local interoperability between different manufacturers. It features a state-based entity model and an internal event bus that decouple physical device logic from system automation. The platf

      HTMLdocumentationhacktoberfesthass
      View on GitHub↗9,466
    • arendst/tasmotaarendst avatar

      arendst/Tasmota

      24,502View on GitHub↗

      Tasmota is a universal firmware platform for ESP8266 and ESP32 microcontrollers, designed to provide local control and management of smart home hardware. It functions as an event-driven automation controller that replaces proprietary factory firmware, allowing users to manage relays, sensors, and lighting systems without relying on external cloud services. The system is built on a modular driver architecture that enables dynamic hardware configuration and peripheral support through a web-based management interface. The platform distinguishes itself through a template-driven hardware mapping s

      Carduinoautomationesp32
      View on GitHub↗24,502
    • home-assistant/home-assistanthome-assistant avatar

      home-assistant/home-assistant

      87,771View on GitHub↗

      Home Assistant is a home automation platform and IoT device orchestrator that serves as a central hub for controlling smart devices and executing automated routines. It functions as a local smart home controller, managing device states and automation logic on a local network to provide a private alternative to cloud-based hubs. The system emphasizes privacy-focused IoT management by prioritizing local control to reduce reliance on external cloud services. It enables multi-vendor device integration, translating diverse third-party hardware signals into a unified interface for consolidated mana

      Python
      View on GitHub↗87,771
    • awesome-selfhosted/awesome-selfhostedawesome-selfhosted avatar

      awesome-selfhosted/awesome-selfhosted

      299,516View on GitHub↗

      This project is a community-curated directory of open-source software designed for deployment in private server environments and home labs. It serves as a comprehensive resource for discovering independent, self-hosted alternatives to mainstream cloud services, enabling users to maintain full data ownership and control over their digital infrastructure. The directory is structured through a hierarchical taxonomy that organizes a vast collection of applications into logical categories, ranging from media management and data analytics to private communication and team productivity tools. It dis

      awesomeawesome-listcloud
      View on GitHub↗299,516
    See all 30 alternatives to Core→