From 8538b365830859d65d4775b5dd863b3083fa5e93 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 16 Mar 2021 10:10:21 -0700 Subject: [PATCH] Improve architecture docs (#850) --- docs/architecture/core.md | 16 ++++++ docs/architecture_components.md | 49 ++++++------------ docs/architecture_index.md | 26 +++------- docs/dev_101_hass.md | 12 +++-- docs/dev_101_index.md | 49 ------------------ sidebars.js | 19 ++++--- static/_redirects | 1 + .../en/architecture/component-interaction.svg | 1 + .../en/architecture/component_interaction.png | Bin 39946 -> 0 bytes static/img/en/architecture/full.svg | 1 + .../en/architecture/ha_full_architecture.png | Bin 51006 -> 0 bytes .../home_automation_landscape.svg | 1 - 12 files changed, 60 insertions(+), 115 deletions(-) create mode 100644 docs/architecture/core.md delete mode 100644 docs/dev_101_index.md create mode 100644 static/img/en/architecture/component-interaction.svg delete mode 100644 static/img/en/architecture/component_interaction.png create mode 100644 static/img/en/architecture/full.svg delete mode 100644 static/img/en/architecture/ha_full_architecture.png delete mode 100644 static/img/en/architecture/home_automation_landscape.svg diff --git a/docs/architecture/core.md b/docs/architecture/core.md new file mode 100644 index 00000000..85dddec6 --- /dev/null +++ b/docs/architecture/core.md @@ -0,0 +1,16 @@ +--- +title: Core Architecture +sidebar_label: Core +--- + +The Home Assistant Core consists of four core parts. On top of this it includes a ton of helper classes to deal with common scenario's, like providing an entity or dealing with locations. + +- **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 diff --git a/docs/architecture_components.md b/docs/architecture_components.md index 840f3040..924c0044 100644 --- a/docs/architecture_components.md +++ b/docs/architecture_components.md @@ -3,53 +3,34 @@ title: "Integration Architecture" sidebar_label: "Integrations" --- -Home Assistant can be extended with **integrations**. Each integration is responsible for a specific domain within Home Assistant. Integrations can listen for or trigger events, offer services, and maintain states. Integrations are made up of a component (the base logic) and platforms (bits that integrate with other integrations). Integrations are written in Python and can do all the goodness that Python has to offer. Out of the box, Home Assistant offers a bunch of [built-in integrations](https://www.home-assistant.io/integrations/). +Home Assistant Core can be extended with **integrations**. Each integration is responsible for a specific domain within Home Assistant. Integrations can listen for or trigger events, offer services, and maintain states. Integrations are made up of a component (the base logic) and platforms (bits that integrate with other integrations). Integrations are written in Python and can do all the goodness that Python has to offer. Out of the box, Home Assistant offers a bunch of [built-in integrations](https://www.home-assistant.io/integrations/). Diagram showing interaction between integrations and the Home Assistant core. -There are two types of integrations within Home Assistant: integrations that interact with an Internet of Things domain, and integrations that respond to events that happen within Home Assistant. Read on to learn about each type! +Home Assistant distinguishes the following integration types: -## Integrations that interact with an Internet-of-Things domain +## Define an Internet of Things domain -These integrations track devices within a specific domain and consist of a core part and platform-specific logic. These integrations make their information available via the State Machine and the Event Bus. The integrations also register services in the Service Registry to expose control of the devices. +These integrations define a specific device category of Internet of Things devices in Home Assistant, like a light. It's up to the `light` integration to define what data is available in Home Assistant and in what format. It also provides services to control lights. -For example, the built-in [`switch` component](https://www.home-assistant.io/integrations/switch/) is responsible for interaction with different types of switches. A platform provides support for a particular kind or brand of device. For example, a switch could use a WeMo or Orvibo platform and a light component might interact with the Hue or LIFX platform. +For a list of defined domains, see [entities](./core/entity.md). -If you want to add support for a new platform, check out the [add new platform section](creating_platform_index.md). +To suggest a new domain, start a discussion in [the architecture repository](https://github.com/home-assistant/architecture/discussions). Make sure to show what data your proposed entity would include and how it can be controlled. Include examples from multiple brands. -## Integrations that respond to events that happen within Home Assistant +## Interact with external devices & services -These integrations provide small pieces of home automation logic or involve services that do common tasks within your house. +These integrations interact with external devices & services and make them available in Home Assistant via integrations that define IoT domains like `light`. An example of such an integration is Philips Hue. Philips Hue lights are made available as light entities in Home Assistant. -For example, the [`device_sun_light_trigger` component](https://www.home-assistant.io/integrations/device_sun_light_trigger/) tracks the state of devices and the sun to make sure that the lights are turned on when it gets dark and people are home. The component uses logic like this: +For more information, see [entity architecture](architecture/devices-and-services.md). -```text -In the event that device 'Paulus Nexus 5' changes to the 'Home' state: - If the sun has set and the lights are not on: - Turn on the lights -``` +## Represent virtual/computed data points -```text -In the event that the combined state of all tracked devices changes to 'Not Home': - If the lights are on: - Turn off the lights -``` +These integrations represent entities either based on virtual data, like the [`input_boolean` integration](https://www.home-assistant.io/integrations/input_boolean/), a virtual switch. Or they derive their data based on other data available in Home Assistant, like the [`template` integration](https://www.home-assistant.io/integrations/template/) or [`utility_meter` integration](https://www.home-assistant.io/integrations/utility_meter/). -```text -In the event of the sun setting: - If the lights are off and the combined state of all tracked device equals 'Home': - Turn on the lights -``` +## Actions that can be triggered by the user or respond to events -## The full picture +These integrations provide small pieces of home automation logic that do common tasks within your house. The most popular one is the [`automation` integration](https://www.home-assistant.io/integrations/automation/), allowing users to create automations through a configuration format. -When we put all the different pieces of Home Assistant together, it's a close match for the initial home automation overview sketch. The smart home AI has not been implemented yet, so it's not included in this picture. - -Overview of the full Home Assistant architecture with a couple of loaded integrations and platforms - -The platform logic for integrations uses third-party Python libraries to communicate with the devices. Through this, we can leverage some of the best libraries in the Python community. +It can also be more specific, like the [`flux` integration](https://www.home-assistant.io/integrations/flux/), which controls lights based on the sun setting. diff --git a/docs/architecture_index.md b/docs/architecture_index.md index be2bd7a5..4529e453 100644 --- a/docs/architecture_index.md +++ b/docs/architecture_index.md @@ -3,27 +3,17 @@ title: "Architecture" sidebar_label: "Introduction" --- -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. +Home Assistant provides a platform for home control and home automation. Home Assistant is not just an application: it's an embedded system that provides an experience like other consumer off-the-shelf products: onboarding, configuration and updating is all done via an easy to use interface. -For more information about each part in this overview, [check out our blog](https://www.home-assistant.io/blog/2014/12/26/home-control-home-automation-and-the-smart-home). Here's the tl;dr version of the blog: - -- Home Control is responsible for collecting information and controlling devices. -- Home Automation triggers commands based on user configurations. -- Smart Home triggers commands based on previous behavior. +- The [operating system](operating-system.md) provides the bare minimal Linux environment to run Supervisor and Core. +- The [Supervisor](supervisor.md) manages the operating system. +- The [Core](architecture/core.md) interacts with the user, the supervisor and IoT devices & services. Home Automation landscape -The Home Assistant core is responsible for Home Control. Home Assistant contains four parts which make this possible: +## Running parts of the stack -- **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 +Users have different requirements what they want from a home automation platform. That's why it is possible to run only part of the Home Assistant stack. For more information, see the [installation instructions](https://www.home-assistant.io/installation/). diff --git a/docs/dev_101_hass.md b/docs/dev_101_hass.md index c279de10..8b091cc7 100644 --- a/docs/dev_101_hass.md +++ b/docs/dev_101_hass.md @@ -1,5 +1,6 @@ --- title: "Hass object" +sidebar_label: "Introduction" --- While developing Home Assistant you will see a variable that is everywhere: `hass`. This is the Home Assistant instance that will give you access to all the various parts of the system. @@ -16,15 +17,20 @@ The Home Assistant instance contains four objects to help you interact with the | `hass.bus` | This is the EventBus. It allows you to trigger and listen for events. [See available methods.](https://dev-docs.home-assistant.io/en/master/api/core.html#homeassistant.core.EventBus) | | `hass.services` | This is the ServiceRegistry. It allows you to register services. [See available methods.](https://dev-docs.home-assistant.io/en/master/api/core.html#homeassistant.core.ServiceRegistry) | +Overview of the Home Assistant core architecture + ### Where to find `hass` Depending on what you're writing, there are different ways the `hass` object is made available. -**Component** +**Component** Passed into `setup(hass, config)` or `async_setup(hass, config)`. -**Platform** +**Platform** Passed into `setup_platform(hass, config, add_devices, discovery_info=None)` or `async_setup_platform(hass, config, async_add_devices, discovery_info=None)`. -**Entity** +**Entity** Available as `self.hass` once the entity has been added via the `add_devices` callback inside a platform. diff --git a/docs/dev_101_index.md b/docs/dev_101_index.md deleted file mode 100644 index 103f9303..00000000 --- a/docs/dev_101_index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Development 101" -sidebar_label: Introduction ---- - -The goal of development 101 is to get you familiar with the basics of developing for Home Assistant. Before we start, please make sure you familiarize yourself with the [architecture](architecture_index.md). - -To get our code running inside Home Assistant we're going to create a custom component. The first step is to locate your config folder. You can find the path to your config folder by opening the Home Assistant frontend, click on the service developer tool icon. It's the path after the text "Path to configuration.yaml". - -Inside your configuration directory create a new folder called `custom_components`. It might be that one already exists, that's fine too. This is the folder that Home Assistant will look at when looking for custom code. - -:::info -The Home Assistant API has two variants: a synchronous and an asynchronous version (asyncio). This development course will focus on the synchronous version. -::: - -To verify that everything is working correctly, let's create a small Hello World component. To do so, create a file called `hello_world.py` in your custom components folder. Copy paste the following content to it: - -```python -# The domain of your component. Equal to the filename of your component. -DOMAIN = "hello_world" - - -def setup(hass, config): - """Setup the hello_world component.""" - # States are in the format DOMAIN.OBJECT_ID. - hass.states.set("hello_world.Hello_World", "Works!") - - # Return boolean to indicate that initialization was successfully. - return True -``` - -Last step is to add `hello_world:` entry to your `configuration.yaml` file. - -```yaml -# Hello World component -hello_world: -``` - -After running `hass`, we should see log entries stating that `hello_world` component was loaded. What is more, an additional state card will appear within the main panel. - -```log -2018-04-03 21:44:20 INFO (MainThread) [homeassistant.loader] Loaded hello_world from custom_components.hello_world -2018-04-03 21:44:20 INFO (MainThread) [homeassistant.setup] Setting up hello_world -``` - -State card showing that Hello World component is working as intended. diff --git a/sidebars.js b/sidebars.js index 9b906a3f..6f318484 100644 --- a/sidebars.js +++ b/sidebars.js @@ -85,7 +85,11 @@ module.exports = { Supervisor: ["supervisor", "supervisor/development", "supervisor/debugging"], // Old structure, still to move/migrate Architecture: { - Architecture: ["architecture_index", "architecture_components"], + Architecture: [ + "architecture_index", + "architecture/core", + "architecture_components", + ], Authentication: [ "auth_index", "auth_permissions", @@ -93,18 +97,14 @@ module.exports = { "auth_auth_provider", "auth_auth_module", ], - Configuration: [ - "config_entries_index", - "data_entry_flow_index" - ], + Configuration: ["config_entries_index", "data_entry_flow_index"], "Integrating devices & services": [ "architecture/devices-and-services", "entity_registry_index", "entity_registry_disabled_by", "device_registry_index", - "area_registry_index" - ] - + "area_registry_index", + ], }, Core: { "Development Workflow": [ @@ -138,8 +138,7 @@ module.exports = { "creating_platform_code_review", "integration_quality_scale_index", ], - "Home Assistant Core 101": [ - "dev_101_index", + "Accessing the Core": [ "dev_101_hass", "dev_101_events", "dev_101_states", diff --git a/static/_redirects b/static/_redirects index 6019af2e..29f97b62 100644 --- a/static/_redirects +++ b/static/_redirects @@ -61,3 +61,4 @@ /docs/internationalization_translation.html /docs/translations /docs/lovelace_custom_card /docs/frontend/custom-ui/lovelace-custom-card /docs/supervisor/developing /docs/supervisor/development +/docs/dev_101_index /docs/dev_101_hass diff --git a/static/img/en/architecture/component-interaction.svg b/static/img/en/architecture/component-interaction.svg new file mode 100644 index 00000000..a7920903 --- /dev/null +++ b/static/img/en/architecture/component-interaction.svg @@ -0,0 +1 @@ + diff --git a/static/img/en/architecture/component_interaction.png b/static/img/en/architecture/component_interaction.png deleted file mode 100644 index c347881c6b85e796fd5ae2804b4ea87fa54c2db1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39946 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 O1WtBtzgOE_PyR2Wzk6E% diff --git a/static/img/en/architecture/full.svg b/static/img/en/architecture/full.svg new file mode 100644 index 00000000..215bedae --- /dev/null +++ b/static/img/en/architecture/full.svg @@ -0,0 +1 @@ + diff --git a/static/img/en/architecture/ha_full_architecture.png b/static/img/en/architecture/ha_full_architecture.png deleted file mode 100644 index 0b574864d64e92243016ed69c076bc22e7d405a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51006 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

GtjwT}~TdJ&V``4p-d!T!WT^5sH|W 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 IBt8fHFDTyuasU7T diff --git a/static/img/en/architecture/home_automation_landscape.svg b/static/img/en/architecture/home_automation_landscape.svg deleted file mode 100644 index 4fde4866..00000000 --- a/static/img/en/architecture/home_automation_landscape.svg +++ /dev/null @@ -1 +0,0 @@ -LightsSmart HomeHomeAutomationUserConfigurationHome ControlCommandsInformationSwitchesMany more...Internet of ThingsCommandsInformationInformationCommandsInformation(ie. light is on)Commands(ie. turn light on)Graphic by Paulus Schoutsen 2014, CC BY 4.0 \ No newline at end of file