home-assistant.io/source/developers/architecture.markdown
KAMAL AWASTHI 404815fae0 Fixed typos in some of the pages (#1270)
* Update architecture.markdown

* Update component_discovery.markdown

* Update development_validation.markdown

* Update frontend.markdown

* Update maintenance.markdown

* Update multiple_instances.markdown

* Update python_api.markdown

* Update releasing.markdown

* Update rest_api.markdown

* Update server_sent_events.markdown

* Update website.markdown
2016-10-20 11:29:37 +02:00

1.8 KiB

layout, title, description, date, sidebar, comments, sharing, footer
layout title description date sidebar comments sharing footer
page Architecture Overview of the Home Assistant architecture. 2014-12-18 21:49 true false true true

Before we dive into the Home Assistant architecture, let's get a clear overview of the home automation landscape as a whole. This way, we can show how the different parts of Home Assistant fit into the picture.

For more information about each part in this overview, check out our blog. Here's the tl;dr version of the blog:

  • Home Control is responsible for collecting information and controlling devices.
  • Home Automation triggers command based on user configurations.
  • Smart Home triggers commands based on previous behaviour.

Home Automation landscape Overview of the home automation landscape

The Home Assistant core is responsible for Home Control. Home Assistant has four parts to make this possible:

  • Event Bus: facilitates the firing and listening of events--the beating heart of Home Assistant.
  • State Machine: keeps track of the states of things and fires a state_changed event when a state has been changed.
  • Service Registry: listens on the event bus for call_service events and allows other code to register services.
  • Timer: sends a time_changed event every 1 second on the event bus.

Overview of the Home Assistant core architecture