Skip to article frontmatterSkip to article content
Reference

Glossary

What does this even mean?

Action
An action in Home Assistant is a single task that is performed when an automation or script is executed. For example, an action can be to turn on a light or to send a notification to your phone. There are many different types of actions, most notably the action to call a service; they can be combined to create powerful automations and scripts.
A sequential list of actions is also known as a script sequence.
Learn more about all available actions in the official Home Assistant documentation
Area
An area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. Areas are used to group devices and entities together in, for example, the living room. Areas give a better overview of your home and can be used to target service calls to a specific area, like turning off all the lights in the living room.
Learn more about areas in the official Home Assistant documentation
Automation
An automation in Home Assistant is a set of triggers and actions that are automatically performed when a trigger fires. For example, an automation can be created to automatically turn on the lights when a motion sensor detects motion. Automations are the heart of Home Assistant; it is what makes Home Assistant a home automation platform. It is the glue that binds all the other integrations together, it is what makes your home smart and comfortable. Automations can be shared in the community in the form of a Blueprint.
Learn more in the official Home Assistant documentation
Blueprint
A blueprint in Home Assistant is a reusable automation or script, shared and created by the community, that can be imported into your Home Assistant instance. They are a great way to learn how to automate your home and an inspiration for new automation ideas, or just an easy way to get started. Blueprints are a great method to share your automation creations with others so that others can apply them to their own homes.
Learn more in the official Home Assistant documentation
Boolean
A boolean is a data type that can only have two values: true or false.
You mostly come across this term in Home Assistant when working with YAML. In YAML, boolean values can also be written as yes or no; however, it is recommended to stick with just true or false.
Because yes and no are boolean values in YAML, they might cause confusion when you meant to use a string value. For example, yes is a boolean value, but "yes" is a string value.
Config entry
A config entry in Home Assistant is a configuration for an integration. It is a technical term from the developer sources leaking into the user space, which may sometimes sound confusing. In short, it is the configuration you see on the integrations page. Most integrations can be set up multiple times (like adding two Hue bridges or multiple ESPHome devices). Each such “integration instance” is a config entry.
This is sometimes referred to as “integration instance” or “integration entry”.
Dashboard
A dashboard in Home Assistant is a user interface that displays information and control entities in your home. Dashboards are used to create a user interface to control your home, such as turning on the lights or seeing the current temperature. Dashboards are fully customizable and can be created in many different ways. There is a vibrant community that shares their dashboards so that you can get inspiration and ideas for your own dashboard.
You might come across the term “Lovelace”, which is the codename originally used for dashboards.
Learn more in the official Home Assistant documentation
Developer tools
The developer tools in Home Assistant are a set of tools that can be used to inspect, debug and play with your Home Assistant instance. It may sound very technical, but don’t let that scare you. The developer tools can be used to, for example, inspect the state of entities, experiment with calling services, or test and debug your templates.
Learn more in the official Home Assistant documentation
Device
A device in Home Assistant represents a physical device in your home, but a device can also represent a web service, like one that provides weather information. Devices are a logical grouping for entities. For example, a device that can measure temperature, humidity, and pressure will have three entities: a temperature sensor, a humidity sensor, and a pressure sensor. All three entities belong to the same device.
Learn more in the official Home Assistant documentation
Ectoplasm
Ectoplasm is a term used in spiritualism to denote a substance or spiritual energy “exteriorized” by physical mediums. Or the more pop-culture version: the green goo that ghosts leave behind, like in Ghostbuster.
Spook uses ectoplasm to add new scary advanced behavior to the functionality of Home Assistant. Internally in the source code of Spook, an ectoplasm is a module it can apply to a Home Assistant integration.
Entity
An entity in Home Assistant represents a single data point or single function, in most cases, of a device. Entities are used to monitor physical properties or to control the functions of devices. Entities are the basic building blocks of Home Assistant.
Entities have a state, providing information about the current condition of the entity (like on or off, open or closed, temperature, etc.).
There are different types of entities. For example, a light entity is used to control a light, a switch entity is used to control a switch, and a sensor entity is used to display a sensor value.
Learn more in the official Home Assistant documentation
Entity ID
An entity ID in Home Assistant is a user-definable identifier for an Entity. It is used to reference the actual entity in, for example, automations, scripts, and dashboards. The entity ID is automatically generated by Home Assistant when an entity is created for the first time.
Float
A float is a datatype and is a more technical term for a number that can have a decimal point. For example, 2.5 is a float, but 2 is a valid float value as well.
You mostly come across this term in Home Assistant when working with YAML. Floats (unlike strings) are not surrounded by quotes in YAML and are just written as is. For example, 2.5 is a float in YAML (thus handled as a numeric value), but "2.5" is a string in YAML (thus handled as text).
Floats are often confused with integers. They look very much alike; the difference is that floats can have a decimal point, while integers cannot. This also means that all integers are floats, but not all floats are integers.
Floor
A floor in Home Assistant is a logical grouping of areas that are meant to match floors (or levels) in the physical world: your home. Floors are used to group areas together that are on the same floor in your home. Floors give a better overview of your home and can be used to target service calls to a specific floor, like turning off all the lights on the first floor.
Learn more about floors in the official Home Assistant documentation
Helper
A helper in Home Assistant is an Integration that provides a user input (for example, an input number, input boolean, input select, etc.) or consumes an existing Entity (or entities) as a data source to perform calculations with and return the result of that calculation as a new entity.
Home Assistant
Home Assistant is an amazing free and open-source home automation platform. Track and control all devices at home and automate control.
Spook is a custom integration for Home Assistant.
Visit the Home Assistant website
Home Assistant Cloud
The Home Assistant Cloud allows you to effortlessly use your Home Assistant with various cloud services like Amazon Alexa and Google Assistant but also provides remote access to your Home Assistant instance without having to deal with dynamic DNS, SSL certificates, and opening ports on your router.

The Home Assistant Cloud service is provided by Nabu Casa. The earnings from the services provided are used to fund Home Assistant development and related projects in the open home community. Please consider subscribing to the Home Assistant Cloud service to support the development of Home Assistant. 🙏
Learn more on the Nabu Casa website
HACS
Home Assistant Community Store. A third-party integrations store for Home Assistant. It provides custom integrations for Home Assistant that are not available in a standard Home Assistant installation. The Home Assistant project does not support these integrations.
As the Spook integration does unsupported things, it is only available through HACS.
Learn more on the HACS website
Integer
An integer is a datatype and is a more technical term for a number without a decimal point. For example, 2 is an integer, but 2.5 is not.
You mostly come across this term in Home Assistant when working with YAML. Integers (unlike strings) are not surrounded by quotes in YAML and are just written as is. For example, 2 is an integer in YAML (thus handled as a number), but "2" is a string in YAML (thus handled as text).
Integration
An integration in Home Assistant is a component that allows you to integrate a device or service with your Home Assistant installation. Home Assistant comes with well over a thousand integrations out of the box, but you can also install your own custom integrations.
Custom integrations, however, are not supported by the Home Assistant project. They are not reviewed or tested by the Home Assistant development team and thus may negatively impact the stability of your Home Assistant instance.
Spook 👻 is a custom integration for Home Assistant that is available via HACS.
Label
A label in Home Assistant can be freely created / be made up by you and used to create your own organizational structure by tagging devices, entities, or areas with one or more labels. Labels can be used to filter items shows in tables in the user interface, or to target service calls in for example automations, or scripts.
Learn more about labels in the official Home Assistant documentation
List

A list is a datatype and is a more technical term for a collection of items. For example, a list of integers: [1, 2, 3].

You mostly come across this term in Home Assistant when working with YAML. Synonyms for lists are arrays and sequences. Although, a sequence in Home Assistant mostly refers to a list of actions.

Lists can be written in YAML in two ways. One is the square bracket syntax, like ["one", "two", "three"]. The other method is the hyphen syntax, like - "one" (which is the same as ["one"]). Having each item (prefix with a hyphen) on a new line. The latter is generally recommended; it is more expressive but improves readability. For example:

brackets: ["one", "two", "three"]
newlines:
  - "one"
  - "two"
  - "three"
My Home Assistant
My Home Assistant is a web service by the Home Assistant project that allows documentation and websites to link you to specific pages in your own Home Assistant instance. Learn more about it in the My Home Assistant FAQ.
Repairs
The repairs dashboard in Home Assistant is a place where detected issues with your Home Assistant instance are listed. It is recommended to check this dashboard regularly to ensure your Home Assistant instance is running smoothly. The provided issues are often accompanied with integrations or a link to the documentation to help you resolve the issue.
Learn more in the official Home Assistant documentation
Scene
A scene in Home Assistant is a collection of entities and their states. Scenes are used to set a predefined state for a group of entities. For example, a scene can be used to set the lights in your living room to a specific color and brightness or to set your media player’s volume to a specific level and all restored to that stored state when the scene is activated.
Scenes are probably (one of) the most underused features of Home Assistant, but they are actually really useful and can help a lot to reduce the complexity of your automations.
Learn more in the official Home Assistant documentation
Script
A script in Home Assistant is a sequence of actions that are executed when the script is started or called via start using a service call. Scripts are similar to automations but are not automatically executed when a trigger fires. Scripts are a great way to group a sequence of actions together that can be executed on demand and reused in multiple automations.
Learn more in the official Home Assistant documentation
Service
A service in Home Assistant is a method that can be called to perform an action. Services are, for example, used to control devices and entities. For example, the light.turn_on service is used to turn on a light and the media_player.play_media service plays a media file on a media player entity.
Services are not limited to controlling devices and entities. They can also be used to perform other actions, like sending a notification, to start a script, or to query a service for information responding with data back.
Learn more in the official Home Assistant documentation
Service call
A service call is the action to execute a service. Service calls can be made from, for example, as an action in automation or as part of a script sequence.
Service calls are targeted toward specific devices, entities, or areas. For example, the calling the light.turn_off service to turn off all the lights in the living room area.
Learn more in the official Home Assistant documentation
Service name
A service name is the name of a service that can be called to perform an action. For example, the light.turn_on service is used to turn on a light and the media_player.play_media service plays a media file on a media player entity.
Learn more in the official Home Assistant documentation
Service response
A service response is a response that is returned by a service when it is called. The response can contain data that is returned by the service. There are three types of services: one that will return no response (the most common), one that has an optional response, and one that always has a response. This is important to know, as for the ones without response, you are not allowed to set the response_variable option, while for the optional, that is allowed, and for the ones that always have a response, it is required.
Service targets
Service targets are the devices, entities, or areas that are targeted by a service call. The target service call parameters are used for that. For example, calling the light.turn_off with the living room as a target to turn off all the lights in the living room area. Home Assistant will figure out which entities it needs to turn off based on the area that is targeted.
Not all services work with targets.
Sequence
A sequence in Home Assistant is a list of actions that are executed in order. Sequences are used in automations and scripts to perform multiple actions in a specific order.
Learn more in the official Home Assistant documentation
String
A string is a datatype that consists of a sequence of characters. Essentially, a string is a more technical term for: text.
You mostly come across this term in Home Assistant when working with YAML. In YAML, the best practice for using strings (text) is by always surrounding them using quotes. For example, "Hello World". This is not required, but it is a good practice to follow as it prevents you from running into issues with some special cases in YAML (for example, the text off without using quotes will not be considered a string but a boolean value).
Influence of Spook
A term to indicate/describe the Spook’s part in a particular feature of Home Assistant. In some cases, Spook adds completely new, previously non-existing features; in other cases, it might modify, extend, or improve existing features. Spook documents his influence, so you can easily see what features are available because of him.
Template
Templating is an advanced feature of Home Assistant that allows you to dynamically generate values using the Jinja2 template engine. The syntax used for templating comes very close to the concept of programming languages and will enable you to perform complex operations on data.
Learn more in the official Home Assistant documentation
Template engine
The template engine in Home Assistant is a Jinja2 template engine, enrichted with an Home Assistant-specific extension. The engine is used to take a template, process it, and return the resulting value from it.
Learn more in the official Home Assistant documentation
Template filter function
Filters are a special type of template function that can be used to modify the output of a template. For example, the lower filter can be used to convert a string to lowercase. For the syntax of filters, inspiration was probably taken from UNIX. The the idea is that you “pipe” a value, by adding a pipe character |, through some filters to do something with it. For example, {{ "SPOOK" | lower }} will output spook. You can also chain filters, for example, {{ "SPOOK" | lower | capitalize }} will output Spook.
Most template functions can be used used as a filter as well.
Learn more in the official Home Assistant documentation
Learn more in the Jinja2 documentation
Template function
A template function is a function that can be used in a template. Template functions are used to perform operations on data. For example, the now() function returns the current date and time, and the is_state() function checks if an entity is in a specific state.
Learn more in the official Home Assistant documentation
Template function return type
When a template function is used/called, it returns a value. The returned value can be of different types. For example, if it returns a numeric value, its return type might be a float. If it returns a true or false result, that would be a boolean value. There are many different types of values that can be returned.
Learn more in the official Home Assistant documentation
Template function return value
A template function return value is the value that is returned by a template function when it was called/used. The return value can next be used in a next step, for example, to use as an in put for another template function. For example, the now() function returns the current date and time, and the is_state() function returns a boolean value indicating if an entity is in a specific state.
Learn more in the official Home Assistant documentation
Template test function
Test functions are a special type of template function that can be used to check if a condition is true or false. Inside a template they use the is operator. For example 3 is odd will return True and 3 is even will return False.
Learn more in the official Home Assistant documentation
Learn more in the Jinja2 documentation
YAML
The complex definition would be: YAML is a human-readable data-serialization language. But a more simplified explanation would be: It is a structure in which we can write configuration files that are readable for both humans and machines.
It is the format Home Assistant uses to store its configuration and data. Opinions are divided on whether YAML is a good or bad format or hard or easy to use. The fact remains, is that Home Assistant uses it a lot, and it definitly worth while learning it. YAML itself really isn’t that complex, but it does have some quirks that you need to be aware of. The most complex part of using YAML with Home Assistant is not YAML itself but all the things you can do with it in Home Assistant.
Don’t let it scare you. You’ll get the hang of it quickly.
Read a tutorial on YAML