mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-04-25 13:57:37 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
5237cd6912
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v7.0.0
|
||||
- uses: actions/stale@v8.0.0
|
||||
if: ${{ github.repository_owner == 'home-assistant' }}
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
4
.github/workflows/test.yml
vendored
4
.github/workflows/test.yml
vendored
@ -8,7 +8,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out files from GitHub
|
||||
uses: actions/checkout@v3.3.0
|
||||
uses: actions/checkout@v3.5.0
|
||||
- name: Setting up Node.js
|
||||
uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
@ -25,7 +25,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out files from GitHub
|
||||
uses: actions/checkout@v3.3.0
|
||||
uses: actions/checkout@v3.5.0
|
||||
- name: Setting up Node.js
|
||||
uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
|
@ -28,7 +28,6 @@ GEM
|
||||
ffi (1.15.5-x64-mingw32)
|
||||
forwardable-extended (2.6.0)
|
||||
google-protobuf (3.22.2)
|
||||
google-protobuf (3.22.2-x64-mingw32)
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.12.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
@ -82,7 +81,7 @@ GEM
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (5.0.1)
|
||||
racc (1.6.2)
|
||||
rack (2.2.6.3)
|
||||
rack (2.2.6.4)
|
||||
rack-protection (3.0.5)
|
||||
rack
|
||||
rake (13.0.6)
|
||||
@ -94,10 +93,10 @@ GEM
|
||||
ruby2_keywords (0.0.5)
|
||||
safe_yaml (1.0.5)
|
||||
sass (3.4.25)
|
||||
sass-embedded (1.59.2)
|
||||
sass-embedded (1.60.0)
|
||||
google-protobuf (~> 3.21)
|
||||
rake (>= 10.0.0)
|
||||
sass-embedded (1.59.2-x64-mingw32)
|
||||
sass-embedded (1.60.0-x64-mingw32)
|
||||
google-protobuf (~> 3.21)
|
||||
sass-globbing (1.1.5)
|
||||
sass (>= 3.1)
|
||||
@ -116,7 +115,7 @@ GEM
|
||||
tilt (2.1.0)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
tzinfo-data (1.2022.7)
|
||||
tzinfo-data (1.2023.1)
|
||||
tzinfo (>= 1.0.0)
|
||||
unicode-display_width (2.4.2)
|
||||
webrick (1.8.1)
|
||||
|
137
Rakefile
137
Rakefile
@ -4,16 +4,9 @@ require "stringex"
|
||||
require 'net/http'
|
||||
require 'json'
|
||||
|
||||
|
||||
## -- Misc Configs -- ##
|
||||
public_dir = "public/" # compiled site directory
|
||||
source_dir = "source" # source file directory
|
||||
blog_index_dir = 'source/blog' # directory for your blog's index page (if you put your index in source/blog/index.html, set this to 'source/blog')
|
||||
stash_dir = "_stash" # directory to stash posts for speedy generation
|
||||
integrations_dir = "_integrations" # directory for component files
|
||||
posts_dir = "_posts" # directory for blog files
|
||||
new_post_ext = "markdown" # default new post file extension when using the new_post task
|
||||
new_page_ext = "markdown" # default new page file extension when using the new_page task
|
||||
server_port = "4000" # port for preview server eg. localhost:4000
|
||||
|
||||
if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
|
||||
@ -27,7 +20,7 @@ end
|
||||
|
||||
desc "Generate jekyll site"
|
||||
task :generate do
|
||||
raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
|
||||
raise "### You haven't set anything up yet. First run `rake install`." unless File.directory?(source_dir)
|
||||
puts "## Generating Site with Jekyll"
|
||||
success = system "compass compile --css-dir #{source_dir}/stylesheets"
|
||||
abort("Generating CSS failed") unless success
|
||||
@ -52,7 +45,7 @@ end
|
||||
|
||||
desc "Watch the site and regenerate when it changes"
|
||||
task :watch do
|
||||
raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
|
||||
raise "### You haven't set anything up yet. First run `rake install`." unless File.directory?(source_dir)
|
||||
puts "Starting to watch source with Jekyll and Compass."
|
||||
system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css")
|
||||
jekyllPid = Process.spawn({"OCTOPRESS_ENV"=>"preview"}, "jekyll build --watch --incremental")
|
||||
@ -70,7 +63,7 @@ desc "preview the site in a web browser"
|
||||
task :preview, :listen do |t, args|
|
||||
listen_addr = args[:listen] || '127.0.0.1'
|
||||
listen_addr = '0.0.0.0' unless ENV['DEVCONTAINER'].nil?
|
||||
raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
|
||||
raise "### You haven't set anything up yet. First run `rake install`." unless File.directory?(source_dir)
|
||||
puts "Starting to watch source with Jekyll and Compass."
|
||||
puts "Now listening on http://localhost:#{server_port}"
|
||||
system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css")
|
||||
@ -90,99 +83,6 @@ task :preview, :listen do |t, args|
|
||||
[jekyllPid, compassPid, rackupPid].each { |pid| Process.wait(pid) }
|
||||
end
|
||||
|
||||
# usage rake new_post[my-new-post] or rake new_post['my new post'] or rake new_post (defaults to "new-post")
|
||||
desc "Begin a new post in #{source_dir}/#{posts_dir}"
|
||||
task :new_post, :title do |t, args|
|
||||
if args.title
|
||||
title = args.title
|
||||
else
|
||||
title = get_stdin("Enter a title for your post: ")
|
||||
end
|
||||
raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
|
||||
mkdir_p "#{source_dir}/#{posts_dir}"
|
||||
filename = "#{source_dir}/#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.#{new_post_ext}"
|
||||
if File.exist?(filename)
|
||||
abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
|
||||
end
|
||||
puts "Creating new post: #{filename}"
|
||||
open(filename, 'w') do |post|
|
||||
post.puts "---"
|
||||
post.puts "layout: post"
|
||||
post.puts "title: \"#{title.gsub(/&/,'&')}\""
|
||||
post.puts "date: #{Time.now.strftime('%Y-%m-%d %H:%M:%S %z')}"
|
||||
post.puts "comments: true"
|
||||
post.puts "categories: "
|
||||
post.puts "---"
|
||||
end
|
||||
end
|
||||
|
||||
# usage rake new_page[my-new-page] or rake new_page[my-new-page.html] or rake new_page (defaults to "new-page.markdown")
|
||||
desc "Create a new page in #{source_dir}/(filename)/index.#{new_page_ext}"
|
||||
task :new_page, :filename do |t, args|
|
||||
raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
|
||||
args.with_defaults(:filename => 'new-page')
|
||||
page_dir = [source_dir]
|
||||
if args.filename.downcase =~ /(^.+\/)?(.+)/
|
||||
filename, dot, extension = $2.rpartition('.').reject(&:empty?) # Get filename and extension
|
||||
title = filename
|
||||
page_dir.concat($1.downcase.sub(/^\//, '').split('/')) unless $1.nil? # Add path to page_dir Array
|
||||
if extension.nil?
|
||||
page_dir << filename
|
||||
filename = "index"
|
||||
end
|
||||
extension ||= new_page_ext
|
||||
page_dir = page_dir.map! { |d| d = d.to_url }.join('/') # Sanitize path
|
||||
filename = filename.downcase.to_url
|
||||
|
||||
mkdir_p page_dir
|
||||
file = "#{page_dir}/#{filename}.#{extension}"
|
||||
if File.exist?(file)
|
||||
abort("rake aborted!") if ask("#{file} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
|
||||
end
|
||||
puts "Creating new page: #{file}"
|
||||
open(file, 'w') do |page|
|
||||
page.puts "---"
|
||||
page.puts "layout: page"
|
||||
page.puts "title: \"#{title}\""
|
||||
page.puts "date: #{Time.now.strftime('%Y-%m-%d %H:%M')}"
|
||||
page.puts "comments: true"
|
||||
page.puts "sharing: true"
|
||||
page.puts "footer: true"
|
||||
page.puts "---"
|
||||
end
|
||||
else
|
||||
puts "Syntax error: #{args.filename} contains unsupported characters"
|
||||
end
|
||||
end
|
||||
|
||||
# usage rake isolate[my-post]
|
||||
desc "Move all other components and posts than the one currently being worked on to a temporary stash location (stash) so regenerating the site happens much more quickly."
|
||||
task :isolate, :filename do |t, args|
|
||||
stash_dir = "#{source_dir}/#{stash_dir}"
|
||||
s_posts_dir = "#{stash_dir}/#{posts_dir}"
|
||||
s_integrations_dir = "#{stash_dir}/#{integrations_dir}"
|
||||
FileUtils.mkdir(stash_dir) unless File.exist?(stash_dir)
|
||||
FileUtils.mkdir(s_posts_dir) unless File.exist?(s_posts_dir)
|
||||
FileUtils.mkdir(s_integrations_dir) unless File.exist?(s_integrations_dir)
|
||||
Dir.glob("#{source_dir}/#{posts_dir}/*.*") do |post|
|
||||
FileUtils.mv post, s_posts_dir unless post.include?(args.filename)
|
||||
end
|
||||
Dir.glob("#{source_dir}/#{integrations_dir}/*.*") do |component|
|
||||
FileUtils.mv component, s_integrations_dir unless component.include?(args.filename)
|
||||
end
|
||||
end
|
||||
|
||||
desc "Move all stashed posts back into the posts directory, ready for site generation."
|
||||
task :integrate do
|
||||
FileUtils.mv Dir.glob("#{source_dir}/#{stash_dir}/#{posts_dir}/*.*"), "#{source_dir}/#{posts_dir}/"
|
||||
FileUtils.mv Dir.glob("#{source_dir}/#{stash_dir}/#{integrations_dir}/*.*"), "#{source_dir}/#{integrations_dir}/"
|
||||
end
|
||||
|
||||
desc "Clean out caches: .pygments-cache, .gist-cache, .sass-cache"
|
||||
task :clean do
|
||||
rm_rf [Dir.glob(".pygments-cache/**"), Dir.glob(".gist-cache/**"), Dir.glob(".sass-cache/**"), "source/stylesheets/screen.css"]
|
||||
end
|
||||
|
||||
desc "Download data from analytics.home-assistant.io"
|
||||
task :analytics_data do
|
||||
uri = URI('https://analytics.home-assistant.io/data.json')
|
||||
@ -194,7 +94,6 @@ task :analytics_data do
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
desc "Download data from alerts.home-assistant.io"
|
||||
task :alerts_data do
|
||||
uri = URI('https://alerts.home-assistant.io/alerts.json')
|
||||
@ -228,33 +127,3 @@ task :blueprint_exchange_data do
|
||||
file.write(JSON.generate(remote_data['topic_list']['topics']))
|
||||
end
|
||||
end
|
||||
|
||||
def get_stdin(message)
|
||||
print message
|
||||
STDIN.gets.chomp
|
||||
end
|
||||
|
||||
def ask(message, valid_options)
|
||||
if valid_options
|
||||
answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer)
|
||||
else
|
||||
answer = get_stdin(message)
|
||||
end
|
||||
answer
|
||||
end
|
||||
|
||||
def blog_url(user, project)
|
||||
url = if File.exists?('source/CNAME')
|
||||
"http://#{IO.read('source/CNAME').strip}"
|
||||
else
|
||||
"http://#{user.downcase}.github.io"
|
||||
end
|
||||
url += "/#{project}" unless project == ''
|
||||
url
|
||||
end
|
||||
|
||||
desc "list tasks"
|
||||
task :list do
|
||||
puts "Tasks: #{(Rake::Task.tasks - [Rake::Task[:list]]).join(', ')}"
|
||||
puts "(type rake -T for more detail)\n\n"
|
||||
end
|
||||
|
17
_config.yml
17
_config.yml
@ -110,8 +110,8 @@ social:
|
||||
# Home Assistant release details
|
||||
current_major_version: 2023
|
||||
current_minor_version: 3
|
||||
current_patch_version: 3
|
||||
date_released: 2023-03-09
|
||||
current_patch_version: 6
|
||||
date_released: 2023-03-22
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
@ -165,6 +165,19 @@ defaults:
|
||||
path: "hassio/*"
|
||||
values:
|
||||
toc: true
|
||||
# Remove some resources from sitemap
|
||||
- scope:
|
||||
path: "google*.html"
|
||||
values:
|
||||
sitemap: false
|
||||
- scope:
|
||||
path: "static/fonts/**/*.html"
|
||||
values:
|
||||
sitemap: false
|
||||
- scope:
|
||||
path: "static/mdi-demo.html"
|
||||
values:
|
||||
sitemap: false
|
||||
|
||||
# Support for files Jekyll will normally exclude
|
||||
include:
|
||||
|
@ -39,11 +39,6 @@ hours_to_show:
|
||||
description: Hours to show in graph. Minimum is 1 hour. Big values can result in delayed rendering, especially if the selected entities have a lot of state changes.
|
||||
type: integer
|
||||
default: 24
|
||||
refresh_interval:
|
||||
required: false
|
||||
description: Refresh interval in seconds.
|
||||
type: integer
|
||||
default: 0
|
||||
title:
|
||||
required: false
|
||||
description: The card title.
|
||||
|
@ -9,7 +9,7 @@
|
||||
#
|
||||
|
||||
- term: Action
|
||||
definition: >
|
||||
definition: >-
|
||||
An action is an command that can be fired. For example, turning on a light.
|
||||
Actions used in many places, most notably in automations and scripts.
|
||||
aliases:
|
||||
@ -17,7 +17,7 @@
|
||||
link: /docs/automation/action/
|
||||
|
||||
- term: Add-on
|
||||
definition: >
|
||||
definition: >-
|
||||
Add-ons are additional standalone third-party software packages that can be
|
||||
installed on Home Assistant OS. Most of these, add-on provided, applications
|
||||
can be integrated into Home Assistant using integrations. Examples of
|
||||
@ -27,14 +27,14 @@
|
||||
installed on Home Assistant OS.
|
||||
|
||||
- term: Automation
|
||||
definition: >
|
||||
definition: >-
|
||||
Automations connect one or more triggers to one or more actions in a
|
||||
'when trigger then do action' fashion with additional optional conditions.
|
||||
For example, an automation might connect the trigger 'sunset' to the action
|
||||
'turn the lights on' but only if the condition 'someone is home' is met.
|
||||
Pre-made automations for common use-cases are available via
|
||||
[the blueprints feature](/docs/automation/using_blueprints/).
|
||||
excerpt: >
|
||||
excerpt: >-
|
||||
Automations in Home Assistant allow you to automatically respond to things
|
||||
that happen in and around your home.
|
||||
link: /docs/automation/
|
||||
@ -42,45 +42,48 @@
|
||||
- automations
|
||||
|
||||
- term: Binary sensor
|
||||
definition: >
|
||||
definition: >-
|
||||
A binary sensor returns information about things that only have two states -
|
||||
such as on or off.
|
||||
link: /integrations/binary_sensor
|
||||
|
||||
- term: Component
|
||||
definition: >
|
||||
definition: >-
|
||||
Better known as: Integrations. Integrations used to be known as components.
|
||||
|
||||
- term: Condition
|
||||
definition: >
|
||||
definition: >-
|
||||
Conditions are an optional part of an automation that will prevent an
|
||||
action from firing if they are not met.
|
||||
link: /docs/scripts/conditions/
|
||||
|
||||
- term: Cover
|
||||
definition: >
|
||||
definition: >-
|
||||
Covers are devices such as blinds, garage doors, etc that can be opened
|
||||
and closed and optionally set to a specific position.
|
||||
link: /integrations/cover
|
||||
|
||||
- term: Customize
|
||||
definition: >
|
||||
definition: >-
|
||||
Customization allows you to overwrite the default parameters of your
|
||||
devices in the configuration.
|
||||
|
||||
- term: Device
|
||||
definition: >
|
||||
A device is a named collection of entities that all represent the same
|
||||
physical/logical unit, which can do or observe something. An example,
|
||||
for a device would be a smart plug named 'Coffee Machine' which provides
|
||||
a `switch` entity plus one or more `sensor` entities for power monitoring
|
||||
or similar.
|
||||
definition: |-
|
||||
A device is a model representing a physical or logical unit that contains entities.
|
||||
|
||||
**Example for a device as a physical unit**
|
||||
A smart plug named 'Coffee machine' which provides 2 entities: a `switch` entity to turn power on or off ('Coffee machine power switch') and a `sensor` entity for power monitoring ('Coffee machine power sensor').
|
||||
|
||||
**Example for a device as a logical unit**
|
||||
An ecobee thermostat with 4 room sensors. This thermostat is seen as 5 devices in Home Assistant: 1 device for the thermostat with 4 sensors, and 1 device for each room sensor. Each device can be in a different area and may have more than one input or output within that area.
|
||||
|
||||
Devices have properties such as ID, manufacturer, name, model, hardware version, firmware version, connections, etc.
|
||||
excerpt: >
|
||||
A device is a named collection of entities that all represent the same
|
||||
physical/logical unit, which can do or observe something.
|
||||
A device is a model representing a physical or logical unit that contains entities.
|
||||
|
||||
- term: Device tracker
|
||||
definition: >
|
||||
definition: >-
|
||||
Device trackers are used to track the presence, or location, of a device.
|
||||
link: /integrations/device_tracker
|
||||
|
||||
@ -90,7 +93,7 @@
|
||||
they are discovered.
|
||||
|
||||
- term: Domain
|
||||
definition: >
|
||||
definition: >-
|
||||
Each integration in Home Assistant has a unique identifier:
|
||||
a domain. All of the entities and services available in Home Assistant
|
||||
are provided by integrations and thus belong to such a domain. The first
|
||||
@ -104,47 +107,56 @@
|
||||
It is often shown as the first part (before the dot) of entity IDs.
|
||||
|
||||
- term: Entity
|
||||
definition: >
|
||||
An entity is the representation of a single control or data point of a
|
||||
device or service inside Home Assistant. A single device or service can
|
||||
thus provide multiple entities to be able to monitor and control all
|
||||
features a device provides. For example, a combined temperature and
|
||||
humidity sensor, in general, provides two `sensor` entities. One for the
|
||||
temperature (e.g., `sensor.temperature` with state `21.0` and unit `°C`)
|
||||
and one for the humity
|
||||
(e.g., `sensor.humidity` with state `65.4` and unit `%`).
|
||||
definition: |-
|
||||
An entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. Entities have states.
|
||||
|
||||
**Example for entities as part of a device**
|
||||
A combined temperature and humidity sensor device provides two sensor entities. One for temperature (e.g. `sensor.temperature` with state `21.0` and unit `°C`) and one for humidity
|
||||
(e.g. `sensor.humidity` with state `65.4` and unit `%`).
|
||||
|
||||
**Example for entities as part of a service**
|
||||
A weather service that provides 3 entities: wind speed, air pressure, and ozon level.
|
||||
|
||||
**Example of an entity used for control**
|
||||
A fan that is turned on when the temperature exceeds 30 °C.
|
||||
|
||||
There are standardized types of entities for common integrations such as light, switch, camera, sensor, fan, or vacuum.
|
||||
|
||||
Some entities are not part of a device or service. Examples of standalone entities are automation, script, scene entities, and helper entities (e.g. input helpers).
|
||||
|
||||
Most properties of entities are related to the state. Entities have optional attributes such as friendly name, unit of measurement, and an icon or picture that can be displayed in the frontend.
|
||||
link: /docs/configuration/state_object/
|
||||
excerpt: >
|
||||
An entity is the representation of a single control or data point of a
|
||||
device or service inside Home Assistant.
|
||||
An entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service.
|
||||
|
||||
- term: Event
|
||||
definition: >
|
||||
definition: >-
|
||||
An event is when something happens.
|
||||
link: /docs/configuration/events/
|
||||
|
||||
- term: Frontend
|
||||
definition: >
|
||||
definition: >-
|
||||
The frontend is a necessary component for the UI, it is also where you
|
||||
can define your themes.
|
||||
link: /integrations/frontend/
|
||||
|
||||
- term: Group
|
||||
definition: >
|
||||
definition: >-
|
||||
Groups are a way to organize your entities into a single unit.
|
||||
link: /integrations/group/
|
||||
|
||||
- term: HASS
|
||||
definition: >
|
||||
definition: >-
|
||||
HASS or [hass](/docs/tools/hass/) is often used as an abbreviation for
|
||||
Home Assistant. It is also the command-line tool.
|
||||
|
||||
- term: HassOS
|
||||
definition: >
|
||||
definition: >-
|
||||
Another name for Home Assistant Operating System
|
||||
link: /hassio/installation/
|
||||
|
||||
- term: Home Assistant Core
|
||||
definition: >
|
||||
definition: >-
|
||||
Home Assistant Core is a Python program. It can be run on various operating
|
||||
systems and is the basis for Home Assistant. When people are talking about
|
||||
Home Assistant Core they usually refer to a standalone installation method
|
||||
@ -155,7 +167,7 @@
|
||||
program that powers every installation type, but can be installed standalone.
|
||||
|
||||
- term: Home Assistant Supervised
|
||||
definition: >
|
||||
definition: >-
|
||||
Home Assistant Supervised is a full UI managed home automation ecosystem that
|
||||
runs Home Assistant, the Home Assistant Supervisor and add-ons. It comes
|
||||
pre-installed on Home Assistant OS, but can be installed on any Linux system.
|
||||
@ -165,13 +177,13 @@
|
||||
Home Assistant Operating System.
|
||||
|
||||
- term: Home Assistant Supervisor
|
||||
definition: >
|
||||
definition: >-
|
||||
The Home Assistant Supervisor is a program that manages a Home Assistant
|
||||
installation, taking care of installing and updating Home Assistant,
|
||||
add-ons, itself and, if used, updating the Home Assistant Operating System.
|
||||
|
||||
- term: Home Assistant Operating System
|
||||
definition: >
|
||||
definition: >-
|
||||
Home Assistant OS, the Home Assistant Operating System, is an embedded,
|
||||
minimalistic, operating system designed to run the Home Assistant ecosystem
|
||||
on single board computers (like the Raspberry Pi) or Virtual Machines.
|
||||
@ -182,7 +194,7 @@
|
||||
minimalistic, operating system designed to run the Home Assistant ecosystem.
|
||||
|
||||
- term: Integration
|
||||
definition: >
|
||||
definition: >-
|
||||
Integrations connect and integrates Home Assistant with devices, services,
|
||||
and more. Such an integration contains all the logic that takes care of
|
||||
vendor- and device-specific implementations such as authentication or
|
||||
@ -196,18 +208,18 @@
|
||||
link: /integrations/
|
||||
|
||||
- term: Lovelace
|
||||
definition: >
|
||||
definition: >-
|
||||
Lovelace is the original code name of the UI that is now known as
|
||||
[Home Assistant dashboards](/dashboards).
|
||||
|
||||
- term: Light
|
||||
definition: >
|
||||
definition: >-
|
||||
A light has a brightness you can control, and optionally color temperature
|
||||
or RGB color control.
|
||||
link: /integrations/light
|
||||
|
||||
- term: Notification
|
||||
definition: >
|
||||
definition: >-
|
||||
You can use notifications to send messages, pictures, and more, to devices.
|
||||
link: /integrations/#notifications
|
||||
|
||||
@ -217,7 +229,7 @@
|
||||
link: /docs/configuration/packages/
|
||||
|
||||
- term: Platform
|
||||
definition: >
|
||||
definition: >-
|
||||
Platforms are building blocks provided by some integrations to be used by
|
||||
other integrations. For example, the [Light](/integrations/light)
|
||||
integration provides the `light platform` that is utilized by all
|
||||
@ -229,7 +241,7 @@
|
||||
link: /docs/configuration/platform_options/
|
||||
|
||||
- term: Scene
|
||||
definition: >
|
||||
definition: >-
|
||||
Scenes capture the states you want certain entities to be. For example,
|
||||
a scene can specify that light A should be turned on and light B should
|
||||
be bright red.
|
||||
@ -242,13 +254,13 @@
|
||||
link: /docs/scripts/
|
||||
|
||||
- term: Sensor
|
||||
definition: >
|
||||
definition: >-
|
||||
Sensors return information about a thing, for instance the level of water
|
||||
in a tank.
|
||||
link: /integrations/sensor/
|
||||
|
||||
- term: Selectors
|
||||
definition: >
|
||||
definition: >-
|
||||
Selectors are components for the user interface. Some selectors can,
|
||||
for example, show a toggle button to turn something on or off, while another
|
||||
select can filter a list of devices to show only devices that have
|
||||
@ -259,41 +271,68 @@
|
||||
link: /docs/blueprint/selectors/
|
||||
|
||||
- term: Service
|
||||
definition: >
|
||||
Services are called to perform actions.
|
||||
definition: |-
|
||||
The term service has 2 meanings in Home Assistant:
|
||||
|
||||
**The information service**
|
||||
For example, the municipal waste management service that provides entities for organic, paper, and packaging waste. In terms of functionality, the information service is like a device. It is called *service* to avoid confusion, as it does not come with a piece of hardware.
|
||||
|
||||
**The software function that interacts with targets to make something happen**
|
||||
A service carries out one specific task, for example: turning on the light in the living room or sending a notification to a mobile phone.
|
||||
|
||||
A service has targets and data. Service targets are: areas, devices, and entities. Service data carries the information required to define the desired state change in the target. For example, the target, together with brightness 150 and RGB color `[255,0,0]`, or the message “Your coffee is ready”.
|
||||
|
||||
Services can be used in, for example, automation, scripts, dashboards, or voice commands to control your home.
|
||||
|
||||
Home Assistant provides a series of predefined services, such as `homeassistant.turn_on`, `homeassistant.toggle`, or `homeassistant.reload`.
|
||||
excerpt: >
|
||||
A service carries out one specific task, for example: turn on the light in the
|
||||
living room. A service has targets and data and can be called by actions, a
|
||||
dashboard, or via voice command.
|
||||
|
||||
link: /docs/scripts/service-calls/
|
||||
|
||||
- term: State
|
||||
definition: |-
|
||||
The state holds the information of interest of an entity. For example, if a light is on or off, the current temperature, or the amount of energy used. The data type of state is `string` (a textual value). Entities store 2 timestamps related to the state: `last_updated` and `last_changed`. Each entity has exactly one state and the state only holds one value at a time. However, entities can store attributes related to that state. For example, the state of a light is _on_, and the related state attributes could be its current brightness and color values.
|
||||
|
||||
State changes can be used as the source of triggers. The current state can be used in conditions.
|
||||
|
||||
link: /docs/scripts/configuration/state_object/
|
||||
excerpt: >
|
||||
The state holds the information of interest of an entity, for example, if a light is on or off. Each entity has exactly one state and the state only holds one value at a time. However, entities can store attributes related to that state such as brightness, color, or a unit of measurement.
|
||||
|
||||
- term: Switch
|
||||
definition: >
|
||||
definition: >-
|
||||
Switches are things that have two states you can select between, such as
|
||||
turning on or off a socket.
|
||||
link: /integrations/switch/
|
||||
|
||||
- term: Template
|
||||
definition: >
|
||||
definition: >-
|
||||
A template is an automation definition that can include variables for the
|
||||
service or data from the trigger values. This allows automations to generate
|
||||
dynamic actions.
|
||||
link: /docs/automation/templating/
|
||||
|
||||
- term: Trigger
|
||||
definition: >
|
||||
definition: >-
|
||||
A trigger is a set of values or conditions of a platform that are defined
|
||||
to cause an automation to run.
|
||||
link: /docs/automation/trigger/
|
||||
|
||||
- term: TTS
|
||||
definition: >
|
||||
definition: >-
|
||||
TTS (text to speech) allows Home Assistant to talk to you.
|
||||
link: /integrations/tts/
|
||||
|
||||
- term: Variables
|
||||
definition: >
|
||||
definition: >-
|
||||
Variables are used to store values in memory that can be processed
|
||||
e.g. in a script.
|
||||
for example, in a script.
|
||||
link: /docs/scripts/#variables
|
||||
|
||||
- term: Zone
|
||||
definition: >
|
||||
definition: >-
|
||||
Zones are areas that can be used for presence detection.
|
||||
link: /integrations/zone/
|
||||
|
@ -3,15 +3,15 @@ title: "Automation Editor"
|
||||
description: "Instructions on how to use the automation editor."
|
||||
---
|
||||
|
||||
The automation editor is an easy way of creating and editing automations from the UI. This page uses the [Random sensor](/integrations/random#sensor) as an example, though any other sensor with a numeric value, can be used as well.
|
||||
The automation editor is an easy way of creating and editing automations from the UI. This page uses the [Random sensor](/integrations/random#sensor) as an example, though any other sensor with a numeric value can be used as well.
|
||||
|
||||
From the UI choose **{% my config %}** which is located in the sidebar, then click on **{% my automations %}** to go to the automation editor. Press the **Create Automation** button in the lower right corner to get started. You can create an automation based on a [blueprint](/docs/automation/using_blueprints/) or start from scratch.
|
||||
From the UI, choose **{% my config %}** which is located in the sidebar, then click on **{% my automations %}** to go to the automation editor. Press the **Create Automation** button in the lower right corner to get started. You can create an automation based on a [blueprint](/docs/automation/using_blueprints/) or start from scratch.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/docs/automation-editor/create-automation.png' />
|
||||
</p>
|
||||
|
||||
Select "Start with an empty automation" and choose a meaningful name for your new automation.
|
||||
Select **Start with an empty automation** and choose a meaningful name for your new automation.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/docs/automation-editor/new-automation.png' />
|
||||
|
@ -571,7 +571,7 @@ For example, if you wanted to select a field from `trigger` in an automation bas
|
||||
- `as_datetime()` converts a string containing a timestamp, or valid UNIX timestamp, to a datetime object.
|
||||
- `as_timestamp(value, default)` converts datetime object or string to UNIX timestamp. If that fails, returns the `default` value, or if omitted raises an error. This function can also be used as a filter.
|
||||
- `as_local()` converts datetime object to local time. This function can also be used as a filter.
|
||||
- `strptime(string, format)` parses a string based on a [format](https://docs.python.org/3.8/library/datetime.html#strftime-and-strptime-behavior) and returns a datetime object. If that fails, returns the `default` value, or if omitted raises an error.
|
||||
- `strptime(string, format, default)` parses a string based on a [format](https://docs.python.org/3.10/library/datetime.html#strftime-and-strptime-behavior) and returns a datetime object. If that fails, it returns the `default` value or, if omitted, raises an error.
|
||||
- `relative_time` converts datetime object to its human-friendly "age" string. The age can be in second, minute, hour, day, month or year (but only the biggest unit is considered, e.g., if it's 2 days and 3 hours, "2 days" will be returned). Note that it only works for dates _in the past_.
|
||||
- `timedelta` returns a timedelta object and accepts the same arguments as the Python `datetime.timedelta` function -- days, seconds, microseconds, milliseconds, minutes, hours, weeks.
|
||||
|
||||
|
31
source/_docs/glossary.html
Normal file
31
source/_docs/glossary.html
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
title: "Glossary"
|
||||
description: "Home Assistant's Glossary."
|
||||
---
|
||||
|
||||
{% assign entries = site.data.glossary | sort: 'term' %}
|
||||
|
||||
The glossary covers terms which are used around Home Assistant.
|
||||
|
||||
<div class="config-vars basic">
|
||||
|
||||
{% for entry in entries %}
|
||||
|
||||
<div class="config-vars-item">
|
||||
<div class="config-vars-label">
|
||||
<a name="{{ entry.term | slugify }}" class="title-link" href="#{{ entry.term | slugify }}"></a>
|
||||
<span class="config-vars-label-name">{{ entry.term }}</span>
|
||||
</div>
|
||||
<div class="config-vars-description-and-children">
|
||||
<span class="config-vars-description">
|
||||
{{ entry.definition | markdownify | newline_to_br }}
|
||||
{%- if entry.link -%}
|
||||
<a href="{{ entry.link }}">Read more about: {{ entry.term }}</a>
|
||||
{%- endif -%}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
@ -1,18 +0,0 @@
|
||||
---
|
||||
title: "Glossary"
|
||||
description: "Home Assistant's Glossary."
|
||||
---
|
||||
|
||||
{% assign entries = site.data.glossary | sort: 'term' %}
|
||||
|
||||
The glossary covers terms which are used around Home Assistant.
|
||||
|
||||
{% configuration_basic %}
|
||||
|
||||
{% for entry in entries %}
|
||||
"{{ entry.term }}":
|
||||
description: "{{ entry.definition }}
|
||||
{% if entry.link %}<br />[Read more about: {{ entry.term }}]({{ entry.link }}){% endif %}"
|
||||
{% endfor %}
|
||||
|
||||
{% endconfiguration_basic %}
|
@ -5,7 +5,7 @@ toc: true
|
||||
no_toc: true
|
||||
---
|
||||
|
||||
Scripts are a sequence of {% term actions %} that Home Assistant will execute. Scripts are available as an entity through the standalone [Script component] but can also be embedded in {% term automations %} and [Alexa/Amazon Echo] configurations.
|
||||
Scripts are a sequence of {% term actions %} that Home Assistant will execute. Scripts are available as an entity through the standalone [Script integration] but can also be embedded in {% term automations %} and [Alexa/Amazon Echo] configurations.
|
||||
|
||||
When the script is executed within an automation the `trigger` variable is available. See [Available-Trigger-Data](/docs/automation/templating/#available-trigger-data).
|
||||
|
||||
@ -210,7 +210,7 @@ These actions allow a script to wait for entities in the system to be in a certa
|
||||
|
||||
This action evaluates the template, and if true, the script will continue. If not, then it will wait until it is true.
|
||||
|
||||
The template is re-evaluated whenever an entity ID that it references changes state. If you use non-deterministic functions like `now()` in the template it will not be continuously re-evaluated, but only when an entity ID that is referenced is changed. If you need to periodically re-evaluate the template, reference a sensor from the [Time and Date](/integrations/time_date/) component that will update minutely or daily.
|
||||
The template is re-evaluated whenever an entity ID that it references changes state. If you use non-deterministic functions like `now()` in the template it will not be continuously re-evaluated, but only when an entity ID that is referenced is changed. If you need to periodically re-evaluate the template, reference a sensor from the [Time and Date](/integrations/time_date/) integration that will update minutely or daily.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -892,22 +892,22 @@ script:
|
||||
# This action will not run, as it is disabled.
|
||||
# The message will not be sent.
|
||||
- enabled: false
|
||||
alias: "Notify that ceiling light is being turned on"
|
||||
alias: "Notify that the ceiling light is being turned on"
|
||||
service: notify.notify
|
||||
data:
|
||||
message: "Turning on the ceiling light!"
|
||||
|
||||
# This action will run, as it is not disabled
|
||||
- alias: "Turn on ceiling light"
|
||||
- alias: "Turn on the ceiling light"
|
||||
service: light.turn_on
|
||||
target:
|
||||
entity_id: light.ceiling
|
||||
```
|
||||
|
||||
[Script component]: /integrations/script/
|
||||
[automations]: /getting-started/automation-action/
|
||||
[Script integration]: /integrations/script/
|
||||
[automations]: /docs/automation/action/
|
||||
[Alexa/Amazon Echo]: /integrations/alexa/
|
||||
[service calls page]: /getting-started/scripts-service-calls/
|
||||
[conditions page]: /getting-started/scripts-conditions/
|
||||
[service calls page]: /docs/scripts/service-calls/
|
||||
[conditions page]: /docs/scripts/conditions/
|
||||
[shorthand-template]: /docs/scripts/conditions/#template-condition-shorthand-notation
|
||||
[script variables]: /integrations/script/#configuration-variables
|
||||
|
@ -57,7 +57,7 @@ data:
|
||||
rgb_color: [255, 0, 0]
|
||||
```
|
||||
|
||||
A full list of the parameters for a service can be found on the documentation page of each component, in the same way as it's done for the `light.turn_on` [service](/integrations/light/#service-lightturn_on).
|
||||
A full list of the parameters for a service can be found on the documentation page of each integration, in the same way as it's done for the `light.turn_on` [service](/integrations/light/#service-lightturn_on).
|
||||
|
||||
### Use templates to decide which service to call
|
||||
|
||||
|
@ -21,12 +21,9 @@ Users should upgrade the firmware on all 700 series controllers to version 7.17.
|
||||
</div>
|
||||
|
||||
- 700 series controllers
|
||||
- Aeotec Z-Stick 7 USB stick (ZWA010)
|
||||
- Aeotec Z-Pi 7 Raspberry Pi HAT/Shield (ZWA025)
|
||||
- Aeotec Z-Stick 7 USB stick (ZWA010) (the EU version is not recommended due to RF performance issues)
|
||||
- Silicon Labs UZB-7 USB Stick (Silabs SLUSB7000A / SLUSB001A)
|
||||
- Zooz S2 Stick 700 (ZST10 700)
|
||||
- Z-Wave.Me RaZberry 7 (ZME_RAZBERRY7)
|
||||
- Z-Wave.Me RaZberry 7 Pro (ZMEERAZBERRY7_ANT or ZMEURAZBERRY7_ANT)
|
||||
|
||||
- 500 series controllers
|
||||
- Aeotec Z-Stick Gen5 (see note below)
|
||||
@ -36,13 +33,13 @@ Users should upgrade the firmware on all 700 series controllers to version 7.17.
|
||||
- Vision USB stick - Gen5
|
||||
- Z-Wave.Me UZB1 stick
|
||||
|
||||
- Rasberry Pi Modules
|
||||
- Aeotec Z-Pi 7 (700 series)
|
||||
- Z-Wave.Me RaZberry 7 (700 series)
|
||||
- Z-Wave.Me RaZberry 7 Pro (700 series)
|
||||
- Raspberry Pi modules
|
||||
- Aeotec Z-Pi 7 Raspberry Pi HAT/Shield (ZWA025, 700 series)
|
||||
- Z-Wave.Me RaZberry 7 (ZME_RAZBERRY7, 700 series)
|
||||
- Z-Wave.Me RaZberry 7 Pro (ZMEERAZBERRY7_PRO or ZMEURAZBERRY7_PRO, 700 series)
|
||||
- Z-Wave.Me Razberry 2 (500 series)
|
||||
|
||||
If you are just starting out, we recommend that you purchase a 700 series controller.
|
||||
If you are just starting out, we recommend that you purchase a 700 series controller or a Raspberry Pi module.
|
||||
|
||||
<div class='note'>
|
||||
If you're using Home Assistant OS, Supervised, or Container, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through.
|
||||
|
@ -281,6 +281,29 @@ _All these can be extended if your usage calls for more resources._
|
||||
```bash
|
||||
virt-install --name hass --description "Home Assistant OS" --os-variant=generic --ram=2048 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=sata --graphics none --boot uefi
|
||||
```
|
||||
<div class="note info">
|
||||
If you have a USB dongle to attach, you need to add the option `--hostdev busID.deviceId`. You can discover these IDs via the `lsusb` command.
|
||||
As example, if `lsusb` output is:
|
||||
|
||||
```bash
|
||||
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
|
||||
Bus 003 Device 004: ID 30c9:0052 Luxvisions Innotech Limited Integrated RGB Camera
|
||||
Bus 003 Device 003: ID 1a86:55d4 QinHeng Electronics SONOFF Zigbee 3.0 USB Dongle Plus V2
|
||||
Bus 003 Device 002: ID 06cb:00fc Synaptics, Inc.
|
||||
Bus 003 Device 005: ID 8087:0033 Intel Corp.
|
||||
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
|
||||
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
```
|
||||
|
||||
You can recognize the Sonoff dongle at `Bus 003 Device 003`. So the command to install the VM will become:
|
||||
|
||||
```bash
|
||||
virt-install --name hass --description "Home Assistant OS" --os-variant=generic --ram=2048 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=sata --graphics none --boot uefi --hostdev 003.003
|
||||
```
|
||||
Note that this configuration (bus 003, device 003) is just an example, your dongle could be on another bus and/or with another device ID.
|
||||
Please check the correct IDs of your USB dongle with `lsusb`.
|
||||
</div>
|
||||
|
||||
{% if page.installation_type == 'windows' or page.installation_type == 'linux' %}
|
||||
|
||||
|
@ -143,7 +143,7 @@ The tvOS apps themselves decide what commands they support and when they support
|
||||
them. Likely, the app you are using does not support the action you are trying
|
||||
to perform. Before writing an issue about this, verify if the same action is possible with the
|
||||
Remote app in iOS. If that is the case, please write a bug in
|
||||
[pyatv](https://github.com/postlund/pyatv/issues/new?assignees=&labels=bug&template=bug_report.md&title=)
|
||||
[pyatv](https://github.com/postlund/pyatv/issues/new?assignees=&labels=bug&template=bug_report.yml)
|
||||
and include logs (see Debugging below).
|
||||
|
||||
### I'm trying to play a stream via AirPlay, but it doesn't work
|
||||
|
@ -72,6 +72,7 @@ Known supported devices:
|
||||
- Marantz AV7702
|
||||
- Marantz AV7703
|
||||
- Marantz AV7704
|
||||
- Marantz CINEMA 50
|
||||
- Marantz M-CR510
|
||||
- Marantz M-CR511
|
||||
- Marantz M-CR603
|
||||
@ -80,6 +81,7 @@ Known supported devices:
|
||||
- Marantz SR5006
|
||||
- Marantz SR5008
|
||||
- Marantz SR5011
|
||||
- Marantz SR5015
|
||||
- Marantz SR6007 - SR6012
|
||||
- Marantz SR7007
|
||||
- Marantz SR7012
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Fibaro
|
||||
description: Instructions on how to setup Fibaro Z-Wave hubs (HCL and HC2) and configure devices within Home Assistant.
|
||||
description: Instructions on how to setup Fibaro Home Center and Yubii Home within Home Assistant.
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
- Climate
|
||||
@ -29,29 +29,34 @@ ha_config_flow: true
|
||||
ha_integration_type: hub
|
||||
---
|
||||
|
||||
The [Fibaro](https://fibaro.com/) hub is a controller mainly connecting to Z-Wave devices.
|
||||
The Fibaro integration allows you to connect Home Assistant to a Fibaro Home Center or a Yubii Home hub so that you can control and monitor the connected devices and run scenes. Home Assistant uses a local connection to connect to the Fibaro hub.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
## Supported hub models
|
||||
|
||||
- Binary Sensor
|
||||
- Cover
|
||||
- Climate
|
||||
- Light
|
||||
- Lock
|
||||
- Sensor
|
||||
- Scene
|
||||
- Switch
|
||||
Fibaro Home Center 2, Home Center Lite, Home Center 3, Home Center 3 Lite, and Yubii Home.
|
||||
|
||||
They will be automatically added when the `fibaro` hub is connected to Home Assistant.
|
||||
## Features
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
1. Control devices connected to the hub and synchronize the state of the devices (see platforms for supported devices and capabilities).
|
||||
2. Entities are automatically added when configuring the Fibaro integration and upon restart of Home Assistant when changed in the Fibaro hub.
|
||||
3. Support for multiple hubs.
|
||||
4. Activate scenes defined in the Fibaro hub.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
<div class='note'>
|
||||
|
||||
It is recommended to assign a static IP address to your Fibaro controller. This ensures that it won't change its IP address, so you won't have to change the `url` if the controller reboots and comes up with a different IP address. See your router's manual for details on how to set this up. If you need the MAC address of your Fibaro, check the label on the bottom.
|
||||
It is recommended to assign a static IP address to your Fibaro controller. This ensures that it won't change its IP address, so you won't have to change the `url` if the controller reboots and comes up with a different IP address. See your router's manual for details on how to set this up. If you need the MAC address of your Fibaro, check the label on the bottom.
|
||||
|
||||
</div>
|
||||
|
||||
### Using Z-Wave devices in automation
|
||||
## Supported platforms
|
||||
|
||||
If you want to use a Z-Wave device from the Fibaro controller in Home Assistant automation, you'll need the entity id. In the Home Assistant UI you'll find all entities listed under **Developer Tools** -> **States**. Look for entities that contain 'fibaro_id' in their attributes, and you'll find the entity id on the left.
|
||||
- Binary Sensor
|
||||
- Climate
|
||||
- Cover
|
||||
- Light
|
||||
- Lock
|
||||
- Scene
|
||||
- Sensor
|
||||
- Switch
|
||||
|
@ -65,8 +65,31 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
|
||||
<img src='/images/integrations/google_assistant/accountlinking.png' alt='Screenshot: Account linking'>
|
||||
|
||||
3. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App. If you don't see this option, go to the `Test` tab instead, click on the `Settings` button in the top right below the header, and ensure `On device testing` is enabled (if it isn't, enable it).
|
||||
4. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#yaml-configuration) below.
|
||||
5. Add services in the Google Home App (Note that app versions may be slightly different.)
|
||||
|
||||
4. Go to [Google Cloud Platform](https://console.cloud.google.com/).
|
||||
1. Go to `Select a project`.
|
||||
2. In the window that popped up, select your newly created project from step 1.
|
||||
3. Go to the menu and select `APIs and Services`and next `Credentials`.
|
||||
4. In the Credentials view, select `Create credentials` and next `Service account`.
|
||||
1. `Service account name`: Give your account a self-selected name.
|
||||
2. Click `Create`.
|
||||
3. `Select a role`: `Service Accounts` and `Service Account Token Creator`.
|
||||
4. Click `Continue`.
|
||||
5. Click on `Done`.
|
||||
5. Under `Service Accounts` there should now be an account called [name from 4.1]@[projectname].iam.gserviceaccount.com.
|
||||
6. Click on the pencil button of that service account.
|
||||
7. Go to `Keys` and `ADD KEY`.
|
||||
8. Create a private key, make sure it is in JSON format.
|
||||
9. This will start a download of a JSON file.
|
||||
1. Rename the file to `SERVICE_ACCOUNT.JSON`.
|
||||
2. Add this file to your config-folder. This will be the same folder as your `configuration.yaml`.
|
||||
12. Go back to [Google Cloud Platform](https://console.cloud.google.com/) and click `Close`.
|
||||
13. Then click `SAVE`.
|
||||
14. Go to the `Search products and resources` and search for `Homegraph API` and select it.
|
||||
15. Enable the HomeGraph API.
|
||||
|
||||
5. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#yaml-configuration) below.
|
||||
6. Add services in the Google Home App (note that app versions may be slightly different).
|
||||
1. Open the Google Home app.
|
||||
2. Click the `+` button on the top left corner, click `Set up device`, in the "Set up a device" screen click "Works with Google". You should have `[test] <Action Name>` listed under 'Add new'. Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms and nicknames for your devices if you wish.
|
||||
|
||||
|
@ -20,7 +20,7 @@ To configure GPSLogger, you must set it up via the integrations panel in the con
|
||||
|
||||
## Setup on your smartphone
|
||||
|
||||
Install GPSLogger for Android from [GitHub](https://github.com/mendhak/gpslogger/releases) or [F-Droid](https://f-droid.org/en/packages/com.mendhak.gpslogger/) on your device.
|
||||
Install GPSLogger for Android from [GitHub](https://github.com/mendhak/gpslogger/releases) or [F-Droid](https://f-droid.org/packages/com.mendhak.gpslogger/) on your device.
|
||||
|
||||
After the launch, go to **General Options**. Enable **Start on bootup** and **Start on app launch**.
|
||||
|
||||
|
@ -20,14 +20,14 @@ ha_integration_type: integration
|
||||
ha_quality_scale: platinum
|
||||
---
|
||||
|
||||
Integration for the [HomeWizard Energy](https://www.homewizard.nl/energy) platform. It can collect data locally from the HomeWizard Energy products and create them as sensors in Home Assistant.
|
||||
Integration for the [HomeWizard Energy](https://www.homewizard.com) platform. It can collect data locally from the HomeWizard Energy products and create them as sensors in Home Assistant.
|
||||
|
||||
**Supported devices**
|
||||
|
||||
- [Wi-Fi P1 Meter](https://www.homewizard.nl/p1-meter): Sensors for power import/export, energy consumption (single or three phases). information about your smart meter and gas. (Model: `HWE-P1`)
|
||||
- [Wi-Fi Energy Socket](https://www.homewizard.nl/energy-socket): Sensors for power import/export and energy consumption and switches for controlling the outlet (model: `HWE-SKT`)
|
||||
- [Wi-Fi P1 Meter](https://www.homewizard.com/p1-meter): Sensors for power import/export, energy consumption (single or three phases). information about your smart meter and gas. (Model: `HWE-P1`)
|
||||
- [Wi-Fi Energy Socket](https://www.homewizard.com/energy-socket): Sensors for power import/export and energy consumption and switches for controlling the outlet (model: `HWE-SKT`)
|
||||
- [Wi-Fi Watermeter](https://www.homewizard.com/watermeter): Sensors for active and total water usage (model: `HWE-WTR`)
|
||||
- [Wi-Fi kWh Meter](https://www.homewizard.nl/kwh-meter): Sensors for power import/export and energy consumption. (Models: `SDM230-wifi`, `SDM630-wifi`)
|
||||
- [Wi-Fi kWh Meter](https://www.homewizard.com/kwh-meter): Sensors for power import/export and energy consumption. (Models: `SDM230-wifi`, `SDM630-wifi`)
|
||||
|
||||
<div class='note'>
|
||||
|
||||
|
@ -15,7 +15,7 @@ The `html5` notification platform enables you to receive push notifications to C
|
||||
|
||||
<div class='note'>
|
||||
|
||||
HTML5 push notifications **do not** work on iOS.
|
||||
HTML5 push notifications **do not** work on iOS versions below 16.4.
|
||||
|
||||
</div>
|
||||
|
||||
@ -51,7 +51,7 @@ vapid_email:
|
||||
|
||||
The `html5` platform can only function if all of the following requirements are met:
|
||||
|
||||
* You are using Chrome and/or Firefox on any desktop platform, ChromeOS or Android.
|
||||
* You are using Chrome and/or Firefox on any desktop platform, ChromeOS or Android. Or you added your Home Assistant instance to your home screen on iOS 16.4 or higher.
|
||||
* Your Home Assistant instance is accessible from outside your network over HTTPS or can perform an alternative [Domain Name Verification Method](https://support.google.com/webmasters/answer/9008080#domain_name_verification) on the domain used by Home Assistant.
|
||||
* If using a proxy, HTTP basic authentication must be off for registering or unregistering for push notifications. It can be re-enabled afterwards.
|
||||
* If you don't run Hass.io: `pywebpush` must be installed. `libffi-dev`, `libpython-dev` and `libssl-dev` must be installed prior to `pywebpush` (i.e., `pywebpush` probably won't automatically install).
|
||||
@ -74,7 +74,7 @@ Assuming you have already configured the platform:
|
||||
|
||||
{% my profile badge %}
|
||||
|
||||
1. Open Home Assistant in Chrome or Firefox and load profile page by clicking the My button above or by clicking on the badge next to the Home Assistant title in the sidebar. Assuming you have met all the [requirements](#requirements) above then you should see a new slider for Push Notifications. If the slider is greyed out, ensure you are viewing Home Assistant via its external HTTPS address (and that you have configured the `notify` HTML5 integration in Home Assistant). If the slider is not visible, ensure you are not in the user configuration (Sidebar, Configuration, Users, View User).
|
||||
1. Open Home Assistant in Chrome, Firefox or the webapp in iOS and load the profile page by clicking the My button above or by clicking on the badge next to the Home Assistant title in the sidebar. Assuming you have met all the [requirements](#requirements) above then you should see a new slider for Push Notifications. If the slider is greyed out, ensure you are viewing Home Assistant via its external HTTPS address (and that you have configured the `notify` HTML5 integration in Home Assistant). If the slider is not visible, ensure you are not in the user configuration (Sidebar, Configuration, Users, View User).
|
||||
2. Turn on the slider, and name the device you're using in the alert that appears.
|
||||
3. Within a few seconds you should be prompted to allow notifications from Home Assistant.
|
||||
4. Assuming you accept, that's all there is to it!
|
||||
|
@ -96,7 +96,7 @@ configuration without restarting Home Assistant itself.
|
||||
|
||||
### Restore State
|
||||
|
||||
If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping.
|
||||
If you set a valid value for `initial` this integration will start with the state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping. Please note that `initial` is only available in a YAML configuration and not via the Home Assistant user interface.
|
||||
|
||||
### Scenes
|
||||
|
||||
|
@ -24,10 +24,10 @@ ha_integration_type: integration
|
||||
|
||||
Integrates LOOKin devices into Home Assistant.
|
||||
|
||||
[LOOKin](https://look-in.club/en/devices) focuses on providing devices that integrate with a local api and can be used internet free.
|
||||
[LOOKin](https://look-in.club/devices) focuses on providing devices that integrate with a local api and can be used internet free.
|
||||
|
||||
### Supported devices
|
||||
|
||||
LOOKin Remote2: internet free Wi-Fi+IR Smart Home Control
|
||||
[LOOKin Remote2](https://look-in.club/store/remote2): internet free Wi-Fi+IR Smart Home Control
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
@ -39,7 +39,7 @@ Both the Matter standard itself and its implementation within Home Assistant are
|
||||
|
||||
One of the great features of Matter is the so called _Multi Fabric_ feature: you can join the same device to multiple controllers. For example: add it to Google Home, Apple Home, and Home Assistant at the same time.
|
||||
|
||||
For devices where Home Assistant provides an native integration (with local API), Matter may not be the best option. Matter, being a universal standard, might not have the nitty-gritty features that come with a product specific protocol. A good example is Philips Hue: the communication over Matter only provides the basic controls over lights, the official integration brings all Hue unique features like (dynamic) scenes, entertainment mode, etc.
|
||||
For devices where Home Assistant provides a native integration (with local API), Matter may not be the best option. Matter, being a universal standard, might not have the nitty-gritty features that come with a product specific protocol. A good example is Philips Hue: the communication over Matter only provides the basic controls over lights, the official integration brings all Hue unique features like (dynamic) scenes, entertainment mode, etc.
|
||||
|
||||
<p class='note'>
|
||||
The Matter protocol relies on (local) IPv6 and mDNS (multicast traffic) which should be able to travel freely in your network. Matter devices (and any Thread Border routers) must be on the same LAN/VLAN as Home Assistant. Implementations like mDNS reflectors usually do more harm than good.
|
||||
|
@ -65,7 +65,7 @@ If everything is working fine you can disable the pure `api` service in RouterOS
|
||||
To use this device tracker you need restricted privileges only. To enhance the security of your MikroTik device create a "read only" user who is able to connect to API and perform ping test only:
|
||||
|
||||
```bash
|
||||
/user group add name=homeassistant policy=read,api,!local,!telnet,!ssh,!ftp,!reboot,!write,!policy,test,!winbox,!password,!web,!sniff,!sensitive,!romon,!dude,!tikapp
|
||||
/user group add name=homeassistant policy=read,api,test,!local,!telnet,!ssh,!ftp,!reboot,!write,!policy,!winbox,!password,!web,!sniff,!sensitive,!romon,!dude,!tikapp
|
||||
/user add group=homeassistant name=homeassistant
|
||||
/user set password="YOUR_PASSWORD" homeassistant
|
||||
```
|
||||
|
@ -261,7 +261,7 @@ scan_interval:
|
||||
description: Defines the update interval of the entity in seconds, if scan_interval = 0 polling is stopped. Entities are unavailable until the first response is received, except for entities with scan_interval = 0, these entities are available from startup.
|
||||
required: false
|
||||
type: integer
|
||||
default: 10
|
||||
default: 15
|
||||
slave:
|
||||
description: The number of the slave.
|
||||
required: false
|
||||
|
@ -13,7 +13,7 @@ ha_integration_type: system
|
||||
|
||||
This integration handles redirects from the [My Home Assistant](https://my.home-assistant.io) service.
|
||||
|
||||
My Home Assistant allows the documentation to link you to specific pages in your Home Assistant instance. See the [My Home Assistant FAQ](https://my.home-assistant.io/faq.html) for more information.
|
||||
My Home Assistant allows the documentation to link you to specific pages in your Home Assistant instance. See the [My Home Assistant FAQ](https://my.home-assistant.io/faq/) for more information.
|
||||
|
||||
## Configuration
|
||||
|
||||
|
@ -19,7 +19,7 @@ ha_platforms:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `onvif` camera platform allows you to use an [ONVIF](https://www.onvif.org/) Profile S conformant device in Home Assistant. This requires the [`ffmpeg` component](/integrations/ffmpeg/) to be already configured.
|
||||
The `onvif` camera platform allows you to use an [ONVIF](https://www.onvif.org/) Profile S conformant device in Home Assistant. This requires the [`ffmpeg` integration](/integrations/ffmpeg/) to be already configured.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
@ -42,14 +42,14 @@ You can configure specific FFmpeg options through the integration options flow b
|
||||
| Option | Description |
|
||||
| -------| ----------- |
|
||||
| RTSP transport mechanism | RTSP transport protocols. The possible options are: `tcp`, `udp`, `udp_multicast`, `http`. |
|
||||
| Extra FFmpeg arguments | Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [`ffmpeg` component](/integrations/ffmpeg). |
|
||||
| Extra FFmpeg arguments | Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [`ffmpeg` integration](/integrations/ffmpeg). |
|
||||
| Use wallclock as timestamps | ([Advanced Mode](/blog/2019/07/17/release-96/#advanced-mode) only) Rewrite the camera timestamps. This may help with playback or crashing issues from Wi-Fi cameras or cameras of certain brands (e.g., EZVIZ). |
|
||||
|
||||
### Supported Sensors
|
||||
|
||||
This integration uses the ONVIF pullpoint subscription API to process events into sensors that will be automatically added to Home Assistant. Below is a list of currently supported event topics along with the entities they create.
|
||||
|
||||
To help with development of this component, enable `info` level logging for `homeassistant.components.onvif` and create an issue on GitHub for any messages that show _"No registered handler for event"_.
|
||||
To help with development of this integration, enable `info` level logging for `homeassistant.components.onvif` and create an issue on GitHub for any messages that show _"No registered handler for event"_.
|
||||
|
||||
| Topic(s) | Entity Type | Device Class | Description |
|
||||
|----------|-------------|--------------|-------------|
|
||||
|
@ -21,7 +21,7 @@ This integration is only available on Home Assistant Core installation types. Un
|
||||
|
||||
This media player uses the [Pianobar command-line Pandora client](https://github.com/PromyLOPh/pianobar), which you have to install separately. This can be done on a Raspberry Pi 2/3 with Raspbian Jessie as follows . _(Note: Other platforms may have different installation processes)_
|
||||
|
||||
The version of pianobar that comes with Jessie has a bug, so you have to build a more recent version. The latest version depends on a recent version of libraries associated with FFmpeg, so you should make sure you go through the backport process documented in [The FFmpeg component](/integrations/ffmpeg/) before doing this. Install the following basic dependencies:
|
||||
The version of pianobar that comes with Jessie has a bug, so you have to build a more recent version. The latest version depends on a recent version of libraries associated with FFmpeg, so you should make sure you go through the backport process documented in [The FFmpeg integration](/integrations/ffmpeg/) before doing this. Install the following basic dependencies:
|
||||
|
||||
```bash
|
||||
sudo apt-get install git libao-dev libgcrypt11-dev libfaad-dev libmad0-dev libjson-c-dev make pkg-config libcurl4-openssl-dev
|
||||
|
@ -13,7 +13,7 @@ ha_integration_type: integration
|
||||
|
||||
The `proximity` integration allows you to monitor the proximity of devices or persons to a particular [zone](/integrations/zone/) and the direction of travel. The result is an entity created in Home Assistant which maintains the proximity data.
|
||||
|
||||
This integration is useful to reduce the number of automation rules required when wanting to perform automations based on locations outside a particular zone. The [zone](/getting-started/automation-trigger/#zone-trigger) and [state](/getting-started/automation-trigger/#state-trigger) based triggers allow similar control but the number of rules grows exponentially when factors such as direction of travel need to be taken into account.
|
||||
This integration is useful to reduce the number of automation rules required when wanting to perform automations based on locations outside a particular zone. The [zone](/docs/automation/trigger#zone-trigger) and [state](/docs/automation/trigger#state-trigger) based triggers allow similar control but the number of rules grows exponentially when factors such as direction of travel need to be taken into account.
|
||||
|
||||
Some examples of its use include:
|
||||
|
||||
|
@ -17,7 +17,7 @@ ha_platforms:
|
||||
ha_dhcp: true
|
||||
---
|
||||
|
||||
The PrusaLink integration allows you to monitor your [Prusa 3D printer](https://www.prusa3d.com) and its progress with your Home Assistant installation.
|
||||
The PrusaLink integration allows you to monitor your [Prusa 3D printer](https://www.prusa3d.com) and its progress with your Home Assistant installation. This integration is currently limited to the Prusa Mini.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
|
@ -248,6 +248,14 @@ Call the service `recorder.enable` to start again saving events and states to th
|
||||
|
||||
## Custom database engines
|
||||
|
||||
<div class='note'>
|
||||
|
||||
SQLite is the most tested, and newer version of Home Assistant are highly optimized to perform well when using SQLite.
|
||||
|
||||
When choosing another option, you should be comfortable in the role of the database administrator, including making backups of the external database.
|
||||
|
||||
</div>
|
||||
|
||||
Here are examples to use with the [`db_url`](#db_url) configuration option.
|
||||
|
||||
{% configuration_basic %}
|
||||
|
@ -50,6 +50,7 @@ Depending on the supported features of the camera binary sensors are added for:
|
||||
|
||||
These sensors are polled every 60 seconds and receive ONVIF push events for immediate updates.
|
||||
Not all camera models generate ONVIF push events for all event types, some binary sensors might, therefore, only be polled.
|
||||
For list of Reolink products that support ONVIF see the [Reolink Support Site](https://support.reolink.com/hc/en-us/articles/900000617826).
|
||||
|
||||
## Number entities
|
||||
|
||||
|
@ -53,7 +53,7 @@ We recommend using `unicast` for communication. To enable this, enter the local
|
||||
|
||||
## Shelly device configuration (generation 2)
|
||||
|
||||
Generation 2 devices use the `RPC` protocol to communicate with the integration. Battery powered devices need manual outbound websocket configuration, Navigate to the local IP address of your Shelly device, **Networks** >> **Outbound websocket** and check the box **Enable**, under server enter the following address:
|
||||
Generation 2 devices use the `RPC` protocol to communicate with the integration. Battery powered devices need manual outbound websocket configuration, Navigate to the local IP address of your Shelly device, **Settings** >> **Connectivity** >> **Outbound websocket** and check the box **Enable Outbound Websocket**, under server enter the following address:
|
||||
|
||||
`ws://` + `Home_Assistant_local_ip_address:Port` + `/api/shelly/ws` (for example: `ws://192.168.1.100:8123/api/shelly/ws`), click **Apply** to save the settings.
|
||||
|
||||
|
@ -275,7 +275,7 @@ intent_script:
|
||||
|
||||
##### Weather
|
||||
|
||||
So now you can open and close your garage door, let's check the weather. Add the Weather by Snips Skill to your assistant. Create a weather sensor, in this example [Dark Sk](/integrations/darksky) and the `api_key` in the `secrets.yaml` file.
|
||||
So now you can open and close your garage door, let's check the weather. Add the Weather by Snips Skill to your assistant. Create a weather sensor, in this example [Dark Sky](/integrations/darksky) and the `api_key` in the `secrets.yaml` file.
|
||||
|
||||
```yaml
|
||||
- platform: darksky
|
||||
|
@ -26,19 +26,3 @@ The SolarEdge Monitoring API has a daily rate limit of 300 requests. In order to
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Additional template sensor
|
||||
|
||||
In case you would like to convert the values for example to kWh instead of the default Wh, you can use the [template platform](/integrations/template).
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for template platform
|
||||
template:
|
||||
- sensor:
|
||||
- name: solaredge_energy_this_year_template
|
||||
unit_of_measurement: kWh
|
||||
state: "{{ (states('sensor.solaredge_energy_this_year') | float / 1000) | round(2) }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -63,19 +63,3 @@ sensor:
|
||||
name: SolarEdge
|
||||
ip_address: 192.168.1.123
|
||||
```
|
||||
|
||||
In case you would like to convert the values for example to kWh instead of the default Wh, you can use the [template platform](/integrations/template).
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for sensor template platform
|
||||
template:
|
||||
- sensor:
|
||||
- name: solaredge_energy_this_year_template
|
||||
state: "{{ (states('sensor.solaredge_energy_this_year') | float / 1000) | round(2) }}"
|
||||
unit_of_measurement: "KWh"
|
||||
icon: "mdi:solar-power"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -37,7 +37,7 @@ provide you with the Spotify application credentials Home Assistant needs
|
||||
to allow you to log in with your Spotify account.
|
||||
|
||||
1. If Spotify was previously integrated with your Home Assistant with _outdated_ credentials, it might be required to remove these old Spotify account credentials using the {% my application_credentials title="Home Assistant Application Credentials dashboard" %}.
|
||||
2. Log in to the [Spotify Developer](https://developer.spotify.com) Dashboard.
|
||||
2. Log in to the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard).
|
||||
3. Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page.
|
||||
4. Click the **CREATE AN APP** button in the top right. Enter a name and
|
||||
description; feel free to use any name and description you like.
|
||||
|
@ -8,7 +8,6 @@ ha_iot_class: Local Polling
|
||||
ha_release: '0.30'
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@fabaff'
|
||||
- '@ThomDietrich'
|
||||
ha_domain: statistics
|
||||
ha_platforms:
|
||||
@ -30,11 +29,11 @@ The `statistics` integration is different to [Long-term Statistics](https://deve
|
||||
|
||||
## Characteristics
|
||||
|
||||
The following statistical characteristics are available. Pay close attention to the right configuration of `sampling_size` and/or `max_age`, as most characteristics are directly influenced by these settings.
|
||||
The following options for the configuration parameter `state_characteristic` are available as staticical characteristics. Pay close attention to the correct configuration of `sampling_size` and/or `max_age`, as most characteristics are directly influenced by these settings.
|
||||
|
||||
### Numeric Source Sensor
|
||||
|
||||
The following characteristics are supported for `sensor` source sensors:
|
||||
The following are supported for `sensor` source sensors `state_characteristic`:
|
||||
|
||||
| State Characteristic | Description |
|
||||
| -------------------- | ----------- |
|
||||
@ -67,7 +66,7 @@ The following characteristics are supported for `sensor` source sensors:
|
||||
|
||||
### Binary Source Sensor
|
||||
|
||||
The following characteristic are supported for `binary_sensor` source sensors:
|
||||
The following are supported for `binary_sensor` source sensors `state_characteristic`:
|
||||
|
||||
| State Characteristic | Description |
|
||||
| -------------------- | ----------- |
|
||||
@ -129,7 +128,7 @@ name:
|
||||
default: Stats
|
||||
type: string
|
||||
state_characteristic:
|
||||
description: The characteristic that should be used as the state of the statistics sensor (see table above).
|
||||
description: The characteristic that should be used as the state of the statistics sensor (see tables above).
|
||||
required: true
|
||||
type: string
|
||||
sampling_size:
|
||||
|
@ -35,7 +35,7 @@ The SwitchBot integration allows you to control SwitchBot [devices](https://www.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
In order to use this integration, it is required to have working Bluetooth set up on the device running Home Assistant. A [SwitchBot Hub](https://switch-bot.com/pages/switchbot-hub-mini) is not required for this integration.
|
||||
In order to use this integration, it is required to have working [Bluetooth](/integrations/bluetooth) set up on the device running Home Assistant. A [SwitchBot Hub](https://switch-bot.com/pages/switchbot-hub-mini) is not required for this integration.
|
||||
|
||||
If you have multiple devices of the same type, you need to get the BTLE MAC address of your device to tell your devices apart. You can find the address for your device using the following steps:
|
||||
|
||||
@ -50,17 +50,17 @@ Please note, device names configured in the SwitchBot app are not transferred in
|
||||
|
||||
## Supported Devices
|
||||
|
||||
- Color Bulb (WoBulb)
|
||||
- Bot (WoHand)
|
||||
- Contact Sensor (WoContact)
|
||||
- Curtain (WoCurtain)
|
||||
- Humidifier (WoHumi)
|
||||
- [Color Bulb (WoBulb)](https://switch-bot.com/pages/switchbot-color-bulb)
|
||||
- [Bot (WoHand)](https://switch-bot.com/pages/switchbot-bot)
|
||||
- [Contact Sensor (WoContact)](https://switch-bot.com/pages/switchbot-contact-sensor)
|
||||
- [Curtain (WoCurtain)](https://switch-bot.com/pages/switchbot-curtain)
|
||||
- [Humidifier (WoHumi)](https://eu.switch-bot.com/products/switchbot-smart-humidifier)
|
||||
- Light Strip (WoStrip)
|
||||
- Meter/Meter Plus 70BB (WoSensorTH)
|
||||
- Motion Sensor (WoPresence)
|
||||
- [Meter](https://switch-bot.com/pages/switchbot-meter)/[Meter Plus 70BB](https://switch-bot.com/pages/switchbot-meter-plus) (WoSensorTH)
|
||||
- [Motion Sensor (WoPresence)](https://switch-bot.com/pages/switchbot-motion-sensor)
|
||||
- Plug Mini (WoPlug), both the original (model W1901400) and HomeKit-enabled (model W1901401)
|
||||
- Lock (WoLock)
|
||||
- Blind Tilt (WoBlindTilt)
|
||||
- [Lock (WoLock)](https://switch-bot.com/pages/switchbot-lock)
|
||||
- [Blind Tilt (WoBlindTilt)](https://switch-bot.com/pages/switchbot-blind-tilt)
|
||||
|
||||
## SwitchBot Entity
|
||||
|
||||
|
@ -251,7 +251,7 @@ button:
|
||||
required: false
|
||||
type: template
|
||||
availability:
|
||||
description: Defines a template to get the `available` state of the entity. If the template either fails to render or returns `True`, `"1"`, `"true"`, `"yes"`, `"on"`, `"enable"`, or a non-zero number, the entity will be `available`. If the template returns any other value, the entity will be `unavailable`. If not configured, the entity will always be `available`. Note that the string comparison not case sensitive; `"TrUe"` and `"yEs"` are allowed.
|
||||
description: Defines a template to get the `available` state of the entity. If the template either fails to render or returns `True`, `"1"`, `"true"`, `"yes"`, `"on"`, `"enable"`, or a non-zero number, the entity will be `available`. If the template returns any other value, the entity will be `unavailable`. If not configured, the entity will always be `available`. Note that the string comparison is not case sensitive; `"TrUe"` and `"yEs"` are allowed.
|
||||
required: false
|
||||
type: template
|
||||
default: true
|
||||
|
@ -54,7 +54,7 @@ All Home Assistant platforms are supported by the Tuya integration, except the l
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Your devices need first to be added in the [Tuya Smart or Smart Life app](https://developer.tuya.com/en/docs/iot/tuya-smart-app-smart-life-app-advantages?id=K989rqa49rluq#title-1-Download).
|
||||
- Your devices need first to be added in the [Tuya Smart or Smart Life app](https://developer.tuya.com/docs/iot/tuya-smart-app-smart-life-app-advantages?id=K989rqa49rluq#title-1-Download).
|
||||
- You will also need to create an account in the [Tuya IoT Platform](https://iot.tuya.com/).
|
||||
This is a separate account from the one you made for the app. You cannot log in with your app's credentials.
|
||||
|
||||
@ -130,7 +130,7 @@ If no devices show up in Home Assistant:
|
||||
|
||||
"1106: permission deny":
|
||||
description: >
|
||||
- App account not linked with cloud project: On the [Tuya IoT Platform](https://iot.tuya.com/cloud/), you have linked devices by using Tuya Smart or Smart Life app in your cloud project. For more information, see [Link devices by app account](https://developer.tuya.com/en/docs/iot/Platform_Configuration_smarthome?id=Kamcgamwoevrx&_source=7a356dd493196a01bb9021b7680a2a45#title-3-Link%20devices%20by%20app%20account).
|
||||
- App account not linked with cloud project: On the [Tuya IoT Platform](https://iot.tuya.com/cloud/), you have linked devices by using Tuya Smart or Smart Life app in your cloud project. For more information, see [Link devices by app account](https://developer.tuya.com/docs/iot/Platform_Configuration_smarthome?id=Kamcgamwoevrx#title-3-Link%20devices%20by%20app%20account).
|
||||
|
||||
- Incorrect username or password: Enter the correct account and password of the Tuya Smart or Smart Life app in the **Account** and **Password** fields (social login, which the Tuya Smart app allows, may not work, and thus should be avoided for use with the Home Assistant integration). Note that the app account depends on which app (Tuya Smart or Smart Life) you used to link devices on the [Tuya IoT Platform](https://iot.tuya.com/cloud/).
|
||||
|
||||
@ -149,7 +149,7 @@ If no devices show up in Home Assistant:
|
||||
|
||||
"28841105: No permissions. This project is not authorized to call this API":
|
||||
description: >
|
||||
Some APIs are not authorized, please [Subscribe](https://developer.tuya.com/en/docs/iot/applying-for-api-group-permissions?id=Ka6vf012u6q76#title-2-Subscribe%20to%20cloud%20products) then [Authorize](https://developer.tuya.com/en/docs/iot/applying-for-api-group-permissions?id=Ka6vf012u6q76#title-3-Authorize%20projects%20to%20call%20the%20cloud%20product). The following APIs must be subscribed for this tutorial:
|
||||
Some APIs are not authorized, please [Subscribe](https://developer.tuya.com/docs/iot/applying-for-api-group-permissions?id=Ka6vf012u6q76#title-2-Subscribe%20to%20APIs) then [Authorize](https://developer.tuya.com/docs/iot/applying-for-api-group-permissions?id=Ka6vf012u6q76#title-3-Grant%20a%20project%20access%20to%20API%20calls). The following APIs must be subscribed for this tutorial:
|
||||
|
||||
- Device Status Notification
|
||||
|
||||
|
@ -24,14 +24,14 @@ ha_codeowners:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `wemo` integration is the main integration to integrate various [Belkin WeMo](https://www.belkin.com/us/c/wemo/) devices with Home Assistant.
|
||||
The `wemo` integration is the main integration to integrate various [Belkin WeMo](https://www.belkin.com/products/wemo-smart-home/) devices with Home Assistant.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Binary Sensor (Belkin WeMo Motion Sensor)
|
||||
- Fan (Belkin WeMo (Holmes) Smart Humidifier)
|
||||
- Light (Belkin WeMo LED lights and Smart Dimmer Switch)
|
||||
- Switch ([Belkin WeMo Switches](https://www.belkin.com/us/smart-home/c/wemo/) and includes support for WeMo enabled [Mr. Coffee](https://www.mrcoffee.com/) smart coffee makers.)
|
||||
- Switch ([Belkin WeMo Switches](https://www.belkin.com/products/wemo-smart-home/) and includes support for WeMo enabled [Mr. Coffee](https://www.mrcoffee.com/) smart coffee makers.)
|
||||
|
||||
## Configuration
|
||||
|
||||
|
@ -141,7 +141,7 @@ zabbix:
|
||||
The `zabbix` sensor platform let you monitor the current count of active triggers for your [Zabbix](https://www.zabbix.com/) monitoring instance.
|
||||
|
||||
<div class='note'>
|
||||
You must have the <a href="#configuration">Zabbix component</a> configured to use those sensors.
|
||||
You must have the <a href="#configuration">Zabbix integration</a> configured to use those sensors.
|
||||
</div>
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
@ -14,7 +14,7 @@ ha_integration_type: system
|
||||
|
||||
The `zeroconf` integration will scan the network for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the configuration panel. It will also make Home Assistant discoverable for other services in the network. Zeroconf is also sometimes known as Bonjour, Rendezvous, and Avahi.
|
||||
|
||||
Integrations can opt-in to be found by adding either [a Zeroconf section](https://developers.home-assistant.io/docs/en/next/creating_integration_manifest.html#zeroconf) or [a HomeKit section](https://developers.home-assistant.io/docs/en/next/creating_integration_manifest.html#homekit) to their `manifest.json`.
|
||||
Integrations can opt-in to be found by adding either [a Zeroconf section](https://developers.home-assistant.io/docs/creating_integration_manifest/#zeroconf) or [a HomeKit section](https://developers.home-assistant.io/docs/creating_integration_manifest/#homekit) to their `manifest.json`.
|
||||
|
||||
## Configuration
|
||||
|
||||
|
@ -51,6 +51,9 @@ Enjoy the release!
|
||||
- [Release 2023.3.1 - March 2](#release-202331---march-2)
|
||||
- [Release 2023.3.2 - March 8](#release-202332---march-8)
|
||||
- [Release 2023.3.3 - March 9](#release-202333---march-9)
|
||||
- [Release 2023.3.4 - March 13](#release-202334---march-13)
|
||||
- [Release 2023.3.5 - March 16](#release-202335---march-16)
|
||||
- [Release 2023.3.6 - March 22](#release-202336---march-22)
|
||||
- [Need help? Join the community!](#need-help-join-the-community)
|
||||
- [Breaking Changes](#breaking-changes)
|
||||
- [All changes](#all-changes)
|
||||
@ -500,6 +503,186 @@ We welcome the following new integrations in this release:
|
||||
[sensor docs]: /integrations/sensor/
|
||||
[tibber docs]: /integrations/tibber/
|
||||
|
||||
## Release 2023.3.4 - March 13
|
||||
|
||||
- Recode Home Assistant instance name to ascii for Jellyfin ([@j-stienstra] - [#87368]) ([jellyfin docs])
|
||||
- Fix gtfs with 2023.3 (sqlachemy update) ([@vingerha] - [#89175]) ([gtfs docs])
|
||||
- Reconnect on any ScreenLogic exception ([@dieselrabbit] - [#89269]) ([screenlogic docs])
|
||||
- Fix data migration never finishing when database has invalid datetimes ([@bdraco] - [#89474]) ([recorder docs])
|
||||
- Fix bug in fibaro cover ([@rappenze] - [#89502]) ([fibaro docs])
|
||||
- Bump pydeconz to v110 ([@Kane610] - [#89527]) ([deconz docs])
|
||||
- Fix get_significant_states_with_session query looking at legacy columns ([@bdraco] - [#89558]) ([recorder docs])
|
||||
- Bump aiopvpc to 4.1.0 ([@azogue] - [#89593]) ([pvpc_hourly_pricing docs])
|
||||
- Increase maximum aiohttp connections to 4096 ([@bdraco] - [#89611])
|
||||
- Rename modules named repairs.py which are not repairs platforms ([@emontnemery] - [#89618]) ([hassio docs]) ([bayesian docs])
|
||||
- Improved "ON" state check for `Use room sensor for cooling` ([@tomrennen] - [#89634]) ([nibe_heatpump docs])
|
||||
- Bump SQLAlchemy to 2.0.6 ([@balloob] - [#89650]) ([recorder docs]) ([sql docs])
|
||||
- Bump ZHA dependencies ([@puddly] - [#89667]) ([zha docs])
|
||||
|
||||
[@puddly]: https://github.com/puddly
|
||||
[#89667]: https://github.com/home-assistant/core/pull/89667
|
||||
[zha docs]: /integrations/zha/
|
||||
[#89650]: https://github.com/home-assistant/core/pull/89650
|
||||
[sql docs]: /integrations/sql/
|
||||
[recorder docs]: /integrations/recorder/
|
||||
[#87368]: https://github.com/home-assistant/core/pull/87368
|
||||
[#88979]: https://github.com/home-assistant/core/pull/88979
|
||||
[#89059]: https://github.com/home-assistant/core/pull/89059
|
||||
[#89175]: https://github.com/home-assistant/core/pull/89175
|
||||
[#89269]: https://github.com/home-assistant/core/pull/89269
|
||||
[#89381]: https://github.com/home-assistant/core/pull/89381
|
||||
[#89459]: https://github.com/home-assistant/core/pull/89459
|
||||
[#89474]: https://github.com/home-assistant/core/pull/89474
|
||||
[#89502]: https://github.com/home-assistant/core/pull/89502
|
||||
[#89527]: https://github.com/home-assistant/core/pull/89527
|
||||
[#89558]: https://github.com/home-assistant/core/pull/89558
|
||||
[#89593]: https://github.com/home-assistant/core/pull/89593
|
||||
[#89611]: https://github.com/home-assistant/core/pull/89611
|
||||
[#89618]: https://github.com/home-assistant/core/pull/89618
|
||||
[#89634]: https://github.com/home-assistant/core/pull/89634
|
||||
[@Kane610]: https://github.com/Kane610
|
||||
[@azogue]: https://github.com/azogue
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bdraco]: https://github.com/bdraco
|
||||
[@dieselrabbit]: https://github.com/dieselrabbit
|
||||
[@emontnemery]: https://github.com/emontnemery
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@j-stienstra]: https://github.com/j-stienstra
|
||||
[@rappenze]: https://github.com/rappenze
|
||||
[@tomrennen]: https://github.com/tomrennen
|
||||
[@vingerha]: https://github.com/vingerha
|
||||
[abode docs]: /integrations/abode/
|
||||
[bayesian docs]: /integrations/bayesian/
|
||||
[deconz docs]: /integrations/deconz/
|
||||
[dormakaba_dkey docs]: /integrations/dormakaba_dkey/
|
||||
[fibaro docs]: /integrations/fibaro/
|
||||
[frontend docs]: /integrations/frontend/
|
||||
[gtfs docs]: /integrations/gtfs/
|
||||
[hassio docs]: /integrations/hassio/
|
||||
[jellyfin docs]: /integrations/jellyfin/
|
||||
[knx docs]: /integrations/knx/
|
||||
[nibe_heatpump docs]: /integrations/nibe_heatpump/
|
||||
[pvpc_hourly_pricing docs]: /integrations/pvpc_hourly_pricing/
|
||||
[recorder docs]: /integrations/recorder/
|
||||
[screenlogic docs]: /integrations/screenlogic/
|
||||
[sensor docs]: /integrations/sensor/
|
||||
[tibber docs]: /integrations/tibber/
|
||||
|
||||
## Release 2023.3.5 - March 16
|
||||
|
||||
- ArestData does not have available ([@zhangsheng377] - [#88631]) ([arest docs])
|
||||
- Bump aioesphomeapi to 13.5.0 ([@bdraco] - [#89262]) ([esphome docs]) (dependency)
|
||||
- Handle int or mapping for off case in nibe cooling ([@elupus] - [#89680]) ([nibe_heatpump docs])
|
||||
- Secure modbus hub_collect remains valid ([@janiversen] - [#89684]) ([modbus docs])
|
||||
- Update to nibe 2.1.4 ([@elupus] - [#89686]) ([nibe_heatpump docs]) (dependency)
|
||||
- Bump bond-async to 0.1.23 ([@marciogranzotto] - [#89697]) ([bond docs]) (dependency)
|
||||
- Correct modbus serial method parameter ([@janiversen] - [#89738]) ([modbus docs])
|
||||
- Fix imap server push holding HA startup ([@jbouwh] - [#89750]) ([imap docs])
|
||||
- Bump aioesphomeapi to 13.5.1 ([@bdraco] - [#89777]) ([esphome docs]) (dependency)
|
||||
- Update frontend to 20230309.1 ([@bramkragten] - [#89802]) ([frontend docs])
|
||||
|
||||
[#88631]: https://github.com/home-assistant/core/pull/88631
|
||||
[#88979]: https://github.com/home-assistant/core/pull/88979
|
||||
[#89059]: https://github.com/home-assistant/core/pull/89059
|
||||
[#89262]: https://github.com/home-assistant/core/pull/89262
|
||||
[#89381]: https://github.com/home-assistant/core/pull/89381
|
||||
[#89459]: https://github.com/home-assistant/core/pull/89459
|
||||
[#89647]: https://github.com/home-assistant/core/pull/89647
|
||||
[#89680]: https://github.com/home-assistant/core/pull/89680
|
||||
[#89684]: https://github.com/home-assistant/core/pull/89684
|
||||
[#89686]: https://github.com/home-assistant/core/pull/89686
|
||||
[#89697]: https://github.com/home-assistant/core/pull/89697
|
||||
[#89738]: https://github.com/home-assistant/core/pull/89738
|
||||
[#89750]: https://github.com/home-assistant/core/pull/89750
|
||||
[#89777]: https://github.com/home-assistant/core/pull/89777
|
||||
[#89802]: https://github.com/home-assistant/core/pull/89802
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bdraco]: https://github.com/bdraco
|
||||
[@bramkragten]: https://github.com/bramkragten
|
||||
[@elupus]: https://github.com/elupus
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@janiversen]: https://github.com/janiversen
|
||||
[@jbouwh]: https://github.com/jbouwh
|
||||
[@marciogranzotto]: https://github.com/marciogranzotto
|
||||
[@zhangsheng377]: https://github.com/zhangsheng377
|
||||
[abode docs]: /integrations/abode/
|
||||
[arest docs]: /integrations/arest/
|
||||
[bond docs]: /integrations/bond/
|
||||
[dormakaba_dkey docs]: /integrations/dormakaba_dkey/
|
||||
[esphome docs]: /integrations/esphome/
|
||||
[frontend docs]: /integrations/frontend/
|
||||
[imap docs]: /integrations/imap/
|
||||
[knx docs]: /integrations/knx/
|
||||
[modbus docs]: /integrations/modbus/
|
||||
[nibe_heatpump docs]: /integrations/nibe_heatpump/
|
||||
[sensor docs]: /integrations/sensor/
|
||||
[tibber docs]: /integrations/tibber
|
||||
|
||||
## Release 2023.3.6 - March 22
|
||||
|
||||
- Fix imap_email_content unknown status and replaying stale states ([@jbouwh] - [#89563]) ([imap_email_content docs])
|
||||
- Bump aioharmony to 0.2.10 ([@bdraco] - [#89831]) ([harmony docs])
|
||||
- Correct missing wordswap for S series nibe ([@elupus] - [#89866]) ([nibe_heatpump docs])
|
||||
- Fix blocking MQTT entry unload ([@jbouwh] - [#89922]) ([mqtt docs])
|
||||
- Remove async_block_till_done in freebox ([@bdraco] - [#89928]) ([freebox docs])
|
||||
- Bump aiomusiccast to 0.14.8 ([@micha91] - [#89978]) ([yamaha_musiccast docs])
|
||||
- Handle cancelation of wait_for_ble_connections_free in esphome bluetooth ([@bdraco] - [#90014]) ([esphome docs])
|
||||
- Bump yalexs_ble to 2.1.0 ([@bdraco] - [#89772]) ([august docs]) ([yalexs_ble docs])
|
||||
- Bump yalexs-ble to 2.1.1 ([@bdraco] - [#90015]) ([yalexs_ble docs])
|
||||
- Bump easyEnergy to v0.2.1 ([@klaasnicolaas] - [#89630]) ([easyenergy docs])
|
||||
- Bump easyEnergy to v0.2.2 ([@klaasnicolaas] - [#90080]) ([easyenergy docs])
|
||||
- Bump to oralb-ble 0.17.6 ([@Lash-L] - [#90081]) ([oralb docs])
|
||||
- Bump PySwitchbot to 0.37.4 ([@bdraco] - [#90146]) ([switchbot docs])
|
||||
- Always enforce URL param ordering for signed URLs ([@balloob] - [#90148]) ([http docs])
|
||||
|
||||
[#88979]: https://github.com/home-assistant/core/pull/88979
|
||||
[#89059]: https://github.com/home-assistant/core/pull/89059
|
||||
[#89381]: https://github.com/home-assistant/core/pull/89381
|
||||
[#89459]: https://github.com/home-assistant/core/pull/89459
|
||||
[#89563]: https://github.com/home-assistant/core/pull/89563
|
||||
[#89630]: https://github.com/home-assistant/core/pull/89630
|
||||
[#89647]: https://github.com/home-assistant/core/pull/89647
|
||||
[#89772]: https://github.com/home-assistant/core/pull/89772
|
||||
[#89814]: https://github.com/home-assistant/core/pull/89814
|
||||
[#89831]: https://github.com/home-assistant/core/pull/89831
|
||||
[#89866]: https://github.com/home-assistant/core/pull/89866
|
||||
[#89922]: https://github.com/home-assistant/core/pull/89922
|
||||
[#89928]: https://github.com/home-assistant/core/pull/89928
|
||||
[#89978]: https://github.com/home-assistant/core/pull/89978
|
||||
[#90014]: https://github.com/home-assistant/core/pull/90014
|
||||
[#90015]: https://github.com/home-assistant/core/pull/90015
|
||||
[#90080]: https://github.com/home-assistant/core/pull/90080
|
||||
[#90081]: https://github.com/home-assistant/core/pull/90081
|
||||
[#90146]: https://github.com/home-assistant/core/pull/90146
|
||||
[#90148]: https://github.com/home-assistant/core/pull/90148
|
||||
[@Lash-L]: https://github.com/Lash-L
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bdraco]: https://github.com/bdraco
|
||||
[@elupus]: https://github.com/elupus
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@jbouwh]: https://github.com/jbouwh
|
||||
[@klaasnicolaas]: https://github.com/klaasnicolaas
|
||||
[@micha91]: https://github.com/micha91
|
||||
[abode docs]: /integrations/abode/
|
||||
[august docs]: /integrations/august/
|
||||
[dormakaba_dkey docs]: /integrations/dormakaba_dkey/
|
||||
[easyenergy docs]: /integrations/easyenergy/
|
||||
[esphome docs]: /integrations/esphome/
|
||||
[freebox docs]: /integrations/freebox/
|
||||
[frontend docs]: /integrations/frontend/
|
||||
[harmony docs]: /integrations/harmony/
|
||||
[http docs]: /integrations/http/
|
||||
[imap_email_content docs]: /integrations/imap_email_content/
|
||||
[knx docs]: /integrations/knx/
|
||||
[mqtt docs]: /integrations/mqtt/
|
||||
[nibe_heatpump docs]: /integrations/nibe_heatpump/
|
||||
[oralb docs]: /integrations/oralb/
|
||||
[sensor docs]: /integrations/sensor/
|
||||
[switchbot docs]: /integrations/switchbot/
|
||||
[tibber docs]: /integrations/tibber/
|
||||
[yalexs_ble docs]: /integrations/yalexs_ble/
|
||||
[yamaha_musiccast docs]: /integrations/yamaha_musiccast/
|
||||
|
||||
## Need help? Join the community!
|
||||
|
||||
Home Assistant has a great community of users who are all more than willing
|
||||
|
@ -16,6 +16,8 @@ Assist is available to use on most platforms that can interface with Home Assist
|
||||
|
||||
Did Assist not understand your sentence? [Contribute them.](https://developers.home-assistant.io/docs/voice/intent-recognition/)
|
||||
|
||||
The Assist icon doesn't show up? Make sure the [conversation](/integrations/conversation/) integration is enabled. If you use YAML for configuration and have removed `default_config:`, the conversation integration may not be included in the config file.
|
||||
|
||||
_Assist was introduced in Home Assistant 2023.2._
|
||||
|
||||
<lite-youtube videoid="sQ7X7jz1SrA" videotitle="Assist on Apple HomePod"></lite-youtube>
|
||||
|
@ -3,16 +3,16 @@ title: "Automating Home Assistant"
|
||||
description: "A quick intro on getting your first automation going."
|
||||
---
|
||||
|
||||
Once your devices are set up, it's time to put the cherry on the pie: automation. In this guide we're going to create a simple automation rule to **turn on the lights when the sun sets**. Of course, this assumes that you have set up an integration that provides a light at this point.
|
||||
Once your devices are set up, it's time to put the cherry on the pie: automation. In this guide we're going to create a simple automation rule to turn on the lights when the sun sets. Of course, this assumes that you have set up an integration that provides a light at this point.
|
||||
|
||||
In the user interface, click Settings in the sidebar, then click Automations & Scenes. You will now see the automation screen from which you can manage all the automations in Home Assistant.
|
||||
In the user interface, click **Settings** in the sidebar, then click **Automations & Scenes**. You will now see the automation screen from which you can manage all the automations in Home Assistant.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/getting-started/automation-editor.png'>
|
||||
The automation editor.
|
||||
</p>
|
||||
|
||||
Click the blue button at the bottom right to create a new automation. A dialog will appear. Choose "Start with an empty automation". You are presented with a blank automation screen.
|
||||
Click the blue button at the bottom right to create a new automation. A dialog will appear. Choose **Start with an empty automation**. You are presented with a blank automation screen.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/getting-started/new-automation.png'>
|
||||
@ -23,14 +23,14 @@ The first thing we will do is set a name. Enter "Turn Lights On at Sunset".
|
||||
|
||||
The second step is defining what should trigger our automation to run. In this case, we want to use the event of the sun setting to trigger our automation. However, if we would turn on the lights when the sun actually sets, it would be too late as it already gets quite dark while it's setting. So we're going to add an offset.
|
||||
|
||||
In the trigger section, click on the dropdown menu and change the trigger type to "Sun." It allows us to choose sunrise or sunset, so go ahead and pick sunset. As we discussed, we want our automation to be triggered a little before the sun actually sets, so let's add `-00:30` as the offset. This indicates that the automation will be triggered 30 minutes before the sun actually sets. Neat!
|
||||
In the trigger section, click on the dropdown menu and change the trigger type to **Sun**. It allows us to choose sunrise or sunset, so go ahead and pick **Sunset**. As we discussed, we want our automation to be triggered a little before the sun actually sets, so let's add `-00:30` as the offset. This indicates that the automation will be triggered 30 minutes before the sun actually sets. Neat!
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/getting-started/new-trigger.png'>
|
||||
A new automation with a sun trigger filled in.
|
||||
</p>
|
||||
|
||||
Once we have defined our trigger, scroll down to the action section. Make sure the action type is set to "Call service," and change the service to `light.turn_on`. For this automation we're going to turn on all lights, so let's change the service data to:
|
||||
Once we have defined our trigger, scroll down to the action section. Make sure the action type is set to **Call service** and change the service to `light.turn_on`. For this automation we're going to turn on all lights, so let's change the service data to:
|
||||
|
||||
```yaml
|
||||
entity_id: all
|
||||
@ -45,12 +45,12 @@ Click the orange button to save the automation. Now wait till it's 30 minutes un
|
||||
|
||||
{% include getting-started/next_step.html step="Presence detection" link="/getting-started/presence-detection/" %}
|
||||
|
||||
If after completing this getting started, you are interested in reading more
|
||||
about automations, we recommend the following page.
|
||||
If after completing this getting started you are interested in reading more
|
||||
about automations, we recommend the following pages:
|
||||
|
||||
- [Triggers](/docs/automation/trigger/)
|
||||
- [Conditions](/docs/automation/condition/)
|
||||
- [Actions](/docs/automation/action/)
|
||||
|
||||
Please note, these pages require a bit more experience with Home Assistant
|
||||
Please note, these pages may require a bit more experience with Home Assistant
|
||||
than you probably have at this point of this tutorial.
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 247 KiB |
BIN
source/images/installation/yellow-docs.png
Normal file
BIN
source/images/installation/yellow-docs.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 89 KiB |
BIN
source/images/installation/yellow-logo-square.png
Normal file
BIN
source/images/installation/yellow-logo-square.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.9 KiB |
BIN
source/images/installation/yellow-logo.png
Normal file
BIN
source/images/installation/yellow-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.3 KiB |
@ -37,7 +37,23 @@ toc: true
|
||||
</div>
|
||||
|
||||
<div class="installations">
|
||||
|
||||
<h2>Home Assistant Yellow</h2>
|
||||
<a href="/installation/yellow" class="installations-card">
|
||||
<div class="material-card text">
|
||||
<div class="content-container">
|
||||
<div>
|
||||
<img src="/images/installation/yellow-logo-square.png">
|
||||
</div>
|
||||
<div>
|
||||
<b>Home Assistant Yellow</b>
|
||||
<ul>
|
||||
<li>Home Assistant Operating System</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% include assets/chevron_right.html %}
|
||||
</div>
|
||||
</a>
|
||||
<h2>Raspberry Pi</h2>
|
||||
<a href="/installation/raspberrypi" class="installations-card">
|
||||
<div class="material-card text">
|
||||
|
47
source/installation/yellow.html
Normal file
47
source/installation/yellow.html
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
title: "Home Assistant Yellow"
|
||||
description: "Install Home Assistant on a Yellow"
|
||||
installation_type: yellow
|
||||
---
|
||||
{% comment %}
|
||||
Included sections for this page is located under source/_includes/installation
|
||||
{% endcomment %}
|
||||
|
||||
{% assign board = "Yellow" %}
|
||||
<article class="page">
|
||||
<div class="installations">
|
||||
<div>
|
||||
<div class="material-card text">
|
||||
<div class="content-container">
|
||||
<div>
|
||||
<img src="/images/installation/yellow-logo.png" style="margin-bottom: 24px;">
|
||||
</div>
|
||||
<div>
|
||||
<p>Our take on Home Automation.</p>
|
||||
<p><img src="/images/installation/home-assistant-yellow-exploded-and-labeled.png"
|
||||
style="margin-bottom: 16px;"> </a>
|
||||
</p>
|
||||
<p>Don't have the hardware yet? </br>
|
||||
Visit the <a href="/yellow">Home Assistant Yellow product page</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 72px;">
|
||||
<div>
|
||||
<h1>Installation instructions</h1>
|
||||
</div>
|
||||
<div class="material-card text" style="margin-bottom: 72px;">
|
||||
<div class="content-container">
|
||||
<div>
|
||||
<p>Already have the hardware?</p>
|
||||
<p>For installation instructions, check out the <a
|
||||
href="/yellow">Home Assistant Yellow documentation</a></p>
|
||||
<p><img src="/images/installation/yellow-docs.png" style="margin-bottom: 16px;"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
<div> </div>
|
Loading…
x
Reference in New Issue
Block a user