mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-10 02:46:53 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
c0e76c2c17
4
.vscode/cSpell.json
vendored
4
.vscode/cSpell.json
vendored
@ -18,8 +18,8 @@
|
||||
"geizhals",
|
||||
"Harman",
|
||||
"hass",
|
||||
"hass.io",
|
||||
"hassos",
|
||||
"Hass.io",
|
||||
"HassOS",
|
||||
"hcitool",
|
||||
"heos",
|
||||
"hikvision",
|
||||
|
241
Rakefile
241
Rakefile
@ -2,28 +2,13 @@ require "rubygems"
|
||||
require "bundler/setup"
|
||||
require "stringex"
|
||||
|
||||
## -- Rsync Deploy config -- ##
|
||||
# Be sure your public key is listed in your server's ~/.ssh/authorized_keys file
|
||||
ssh_user = "user@domain.com"
|
||||
ssh_port = "22"
|
||||
document_root = "~/website.com/"
|
||||
rsync_delete = false
|
||||
rsync_args = "" # Any extra arguments to pass to rsync
|
||||
deploy_default = "push"
|
||||
|
||||
# This will be configured for you when you run config_deploy
|
||||
deploy_branch = "master"
|
||||
|
||||
## -- 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')
|
||||
deploy_dir = "_deploy" # deploy directory (for Github pages deployment)
|
||||
stash_dir = "_stash" # directory to stash posts for speedy generation
|
||||
components_dir = "_components" # directory for component files
|
||||
posts_dir = "_posts" # directory for blog files
|
||||
themes_dir = ".themes" # 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
|
||||
@ -33,22 +18,6 @@ if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
|
||||
`chcp 65001`
|
||||
end
|
||||
|
||||
desc "Initial setup for Octopress: copies the default theme into the path of Jekyll's generator. Rake install defaults to rake install[classic] to install a different theme run rake install[some_theme_name]"
|
||||
task :install, :theme do |t, args|
|
||||
if File.directory?(source_dir) || File.directory?("sass")
|
||||
abort("rake aborted!") if ask("A theme is already installed, proceeding will overwrite existing files. Are you sure?", ['y', 'n']) == 'n'
|
||||
end
|
||||
# copy theme into working Jekyll directories
|
||||
theme = args.theme || 'classic'
|
||||
puts "## Copying "+theme+" theme into ./#{source_dir} and ./sass"
|
||||
mkdir_p source_dir
|
||||
cp_r "#{themes_dir}/#{theme}/source/.", source_dir
|
||||
mkdir_p "sass"
|
||||
cp_r "#{themes_dir}/#{theme}/sass/.", "sass"
|
||||
mkdir_p "#{source_dir}/#{posts_dir}"
|
||||
mkdir_p public_dir
|
||||
end
|
||||
|
||||
#######################
|
||||
# Working with Jekyll #
|
||||
#######################
|
||||
@ -198,216 +167,6 @@ task :clean do
|
||||
rm_rf [Dir.glob(".pygments-cache/**"), Dir.glob(".gist-cache/**"), Dir.glob(".sass-cache/**"), "source/stylesheets/screen.css"]
|
||||
end
|
||||
|
||||
desc "Move sass to sass.old, install sass theme updates, replace sass/custom with sass.old/custom"
|
||||
task :update_style, :theme do |t, args|
|
||||
theme = args.theme || 'classic'
|
||||
if File.directory?("sass.old")
|
||||
puts "removed existing sass.old directory"
|
||||
rm_r "sass.old", :secure=>true
|
||||
end
|
||||
mv "sass", "sass.old"
|
||||
puts "## Moved styles into sass.old/"
|
||||
cp_r "#{themes_dir}/"+theme+"/sass/", "sass", :remove_destination=>true
|
||||
cp_r "sass.old/custom/.", "sass/custom/", :remove_destination=>true
|
||||
puts "## Updated Sass ##"
|
||||
end
|
||||
|
||||
desc "Move source to source.old, install source theme updates, replace source/_includes/navigation.html with source.old's navigation"
|
||||
task :update_source, :theme do |t, args|
|
||||
theme = args.theme || 'classic'
|
||||
if File.directory?("#{source_dir}.old")
|
||||
puts "## Removed existing #{source_dir}.old directory"
|
||||
rm_r "#{source_dir}.old", :secure=>true
|
||||
end
|
||||
mkdir "#{source_dir}.old"
|
||||
cp_r "#{source_dir}/.", "#{source_dir}.old"
|
||||
puts "## Copied #{source_dir} into #{source_dir}.old/"
|
||||
cp_r "#{themes_dir}/"+theme+"/source/.", source_dir, :remove_destination=>true
|
||||
cp_r "#{source_dir}.old/_includes/custom/.", "#{source_dir}/_includes/custom/", :remove_destination=>true
|
||||
cp "#{source_dir}.old/favicon.png", source_dir
|
||||
mv "#{source_dir}/index.html", "#{blog_index_dir}", :force=>true if blog_index_dir != source_dir
|
||||
cp "#{source_dir}.old/index.html", source_dir if blog_index_dir != source_dir && File.exists?("#{source_dir}.old/index.html")
|
||||
puts "## Updated #{source_dir} ##"
|
||||
end
|
||||
|
||||
##############
|
||||
# Deploying #
|
||||
##############
|
||||
|
||||
desc "Default deploy task"
|
||||
task :deploy do
|
||||
# Check if preview posts exist, which should not be published
|
||||
if File.exists?(".preview-mode")
|
||||
puts "## Found posts in preview mode, regenerating files ..."
|
||||
File.delete(".preview-mode")
|
||||
Rake::Task[:generate].execute
|
||||
end
|
||||
|
||||
Rake::Task[:copydot].invoke(source_dir, public_dir)
|
||||
Rake::Task["#{deploy_default}"].execute
|
||||
end
|
||||
|
||||
desc "Generate website and deploy"
|
||||
task :gen_deploy => [:integrate, :generate, :deploy] do
|
||||
end
|
||||
|
||||
desc "copy dot files for deployment"
|
||||
task :copydot, :source, :dest do |t, args|
|
||||
FileList["#{args.source}/**/.*"].exclude("**/.", "**/..", "**/.DS_Store", "**/._*").each do |file|
|
||||
cp_r file, file.gsub(/#{args.source}/, "#{args.dest}") unless File.directory?(file)
|
||||
end
|
||||
end
|
||||
|
||||
desc "Deploy website via rsync"
|
||||
task :rsync do
|
||||
exclude = ""
|
||||
if File.exists?('./rsync-exclude')
|
||||
exclude = "--exclude-from '#{File.expand_path('./rsync-exclude')}'"
|
||||
end
|
||||
puts "## Deploying website via Rsync"
|
||||
ok_failed system("rsync -avze 'ssh -p #{ssh_port}' #{exclude} #{rsync_args} #{"--delete" unless rsync_delete == false} #{public_dir}/ #{ssh_user}:#{document_root}")
|
||||
end
|
||||
|
||||
desc "deploy public directory to github pages"
|
||||
multitask :push do
|
||||
puts "## Deploying branch to Github Pages "
|
||||
puts "## Pulling any updates from Github Pages "
|
||||
cd "#{deploy_dir}" do
|
||||
system "git checkout #{deploy_branch}"
|
||||
end
|
||||
(Dir["#{deploy_dir}/*"]).each { |f| rm_rf(f) }
|
||||
Rake::Task[:copydot].invoke(public_dir, deploy_dir)
|
||||
puts "\n## Copying #{public_dir} to #{deploy_dir}"
|
||||
cp_r "#{public_dir}/.", deploy_dir
|
||||
cd "#{deploy_dir}" do
|
||||
if ENV["TRAVIS"] == 'true'
|
||||
system 'git config user.name "Travis CI"'
|
||||
system 'git config user.email "balloob+bot@gmail.com"'
|
||||
end
|
||||
|
||||
system "git add -A"
|
||||
message = "Site updated at #{Time.now.utc}"
|
||||
puts "\n## Committing: #{message}"
|
||||
system "git commit -m \"#{message}\""
|
||||
|
||||
puts "\n## Pushing generated #{deploy_dir} website"
|
||||
if ENV["GH_TOKEN"].nil?
|
||||
Bundler.with_clean_env { system "git push origin #{deploy_branch}" }
|
||||
else
|
||||
puts "## Using GH_TOKEN"
|
||||
new_origin = `git remote -v | grep origin | grep push | awk '{print $2}'`.chomp.sub('//', "//#{ENV['GH_TOKEN']}@")
|
||||
system "git remote add origin-auth #{new_origin} > /dev/null 2>&1"
|
||||
system "git push --quiet origin-auth #{deploy_branch} > /dev/null 2>&1"
|
||||
end
|
||||
|
||||
puts "\n## Github Pages deploy complete"
|
||||
end
|
||||
end
|
||||
|
||||
desc "Update configurations to support publishing to root or sub directory"
|
||||
task :set_root_dir, :dir do |t, args|
|
||||
puts ">>> !! Please provide a directory, eg. rake config_dir[publishing/subdirectory]" unless args.dir
|
||||
if args.dir
|
||||
if args.dir == "/"
|
||||
dir = ""
|
||||
else
|
||||
dir = "/" + args.dir.sub(/(\/*)(.+)/, "\\2").sub(/\/$/, '');
|
||||
end
|
||||
rakefile = IO.read(__FILE__)
|
||||
rakefile.sub!(/public_dir(\s*)=(\s*)(["'])[\w\-\/]*["']/, "public_dir\\1=\\2\\3public#{dir}\\3")
|
||||
File.open(__FILE__, 'w') do |f|
|
||||
f.write rakefile
|
||||
end
|
||||
compass_config = IO.read('config.rb')
|
||||
compass_config.sub!(/http_path(\s*)=(\s*)(["'])[\w\-\/]*["']/, "http_path\\1=\\2\\3#{dir}/\\3")
|
||||
compass_config.sub!(/http_images_path(\s*)=(\s*)(["'])[\w\-\/]*["']/, "http_images_path\\1=\\2\\3#{dir}/images\\3")
|
||||
compass_config.sub!(/http_fonts_path(\s*)=(\s*)(["'])[\w\-\/]*["']/, "http_fonts_path\\1=\\2\\3#{dir}/fonts\\3")
|
||||
compass_config.sub!(/css_dir(\s*)=(\s*)(["'])[\w\-\/]*["']/, "css_dir\\1=\\2\\3public#{dir}/stylesheets\\3")
|
||||
File.open('config.rb', 'w') do |f|
|
||||
f.write compass_config
|
||||
end
|
||||
jekyll_config = IO.read('_config.yml')
|
||||
jekyll_config.sub!(/^destination:.+$/, "destination: public#{dir}")
|
||||
jekyll_config.sub!(/^subscribe_rss:\s*\/.+$/, "subscribe_rss: #{dir}/atom.xml")
|
||||
jekyll_config.sub!(/^root:.*$/, "root: /#{dir.sub(/^\//, '')}")
|
||||
File.open('_config.yml', 'w') do |f|
|
||||
f.write jekyll_config
|
||||
end
|
||||
rm_rf public_dir
|
||||
mkdir_p "#{public_dir}#{dir}"
|
||||
puts "## Site's root directory is now '/#{dir.sub(/^\//, '')}' ##"
|
||||
end
|
||||
end
|
||||
|
||||
desc "Set up _deploy folder and deploy branch for Github Pages deployment"
|
||||
task :setup_github_pages, :repo do |t, args|
|
||||
if args.repo
|
||||
repo_url = args.repo
|
||||
else
|
||||
puts "Enter the read/write url for your repository"
|
||||
puts "(For example, 'git@github.com:your_username/your_username.github.io.git)"
|
||||
puts " or 'https://github.com/your_username/your_username.github.io')"
|
||||
repo_url = get_stdin("Repository url: ")
|
||||
end
|
||||
protocol = (repo_url.match(/(^git)@/).nil?) ? 'https' : 'git'
|
||||
if protocol == 'git'
|
||||
user = repo_url.match(/:([^\/]+)/)[1]
|
||||
else
|
||||
user = repo_url.match(/github\.com\/([^\/]+)/)[1]
|
||||
end
|
||||
branch = (repo_url.match(/\/[\w-]+\.github\.(?:io|com)/).nil?) ? 'gh-pages' : 'master'
|
||||
project = (branch == 'gh-pages') ? repo_url.match(/\/([^\.]+)/)[1] : ''
|
||||
unless (`git remote -v` =~ /origin.+?octopress(?:\.git)?/).nil?
|
||||
# If octopress is still the origin remote (from cloning) rename it to octopress
|
||||
system "git remote rename origin octopress"
|
||||
if branch == 'master'
|
||||
# If this is a user/organization pages repository, add the correct origin remote
|
||||
# and checkout the source branch for committing changes to the blog source.
|
||||
system "git remote add origin #{repo_url}"
|
||||
puts "Added remote #{repo_url} as origin"
|
||||
system "git config branch.master.remote origin"
|
||||
puts "Set origin as default remote"
|
||||
system "git branch -m master source"
|
||||
puts "Master branch renamed to 'source' for committing your blog source files"
|
||||
else
|
||||
unless !public_dir.match("#{project}").nil?
|
||||
system "rake set_root_dir[#{project}]"
|
||||
end
|
||||
end
|
||||
end
|
||||
url = blog_url(user, project)
|
||||
jekyll_config = IO.read('_config.yml')
|
||||
jekyll_config.sub!(/^url:.*$/, "url: #{url}")
|
||||
File.open('_config.yml', 'w') do |f|
|
||||
f.write jekyll_config
|
||||
end
|
||||
rm_rf deploy_dir
|
||||
mkdir deploy_dir
|
||||
cd "#{deploy_dir}" do
|
||||
system "git init"
|
||||
system 'echo "My Octopress Page is coming soon …" > index.html'
|
||||
system "git add ."
|
||||
system "git commit -m \"Octopress init\""
|
||||
system "git branch -m gh-pages" unless branch == 'master'
|
||||
system "git remote add origin #{repo_url}"
|
||||
rakefile = IO.read(__FILE__)
|
||||
rakefile.sub!(/deploy_branch(\s*)=(\s*)(["'])[\w-]*["']/, "deploy_branch\\1=\\2\\3#{branch}\\3")
|
||||
rakefile.sub!(/deploy_default(\s*)=(\s*)(["'])[\w-]*["']/, "deploy_default\\1=\\2\\3push\\3")
|
||||
File.open(__FILE__, 'w') do |f|
|
||||
f.write rakefile
|
||||
end
|
||||
end
|
||||
puts "\n---\n## Now you can deploy to #{repo_url} with `rake deploy` ##"
|
||||
end
|
||||
|
||||
def ok_failed(condition)
|
||||
if (condition)
|
||||
puts "OK"
|
||||
else
|
||||
puts "FAILED"
|
||||
end
|
||||
end
|
||||
|
||||
def get_stdin(message)
|
||||
print message
|
||||
STDIN.gets.chomp
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "HASS Configurator"
|
||||
title: "Configurator"
|
||||
description: "Browser-based configuration file editor for Home Assistant."
|
||||
featured: true
|
||||
og_image: /images/hassio/screenshots/addon-hass-configurator.png
|
||||
@ -11,7 +11,7 @@ More information and a standalone version for regular Home Assistant installatio
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/hassio/screenshots/addon-hass-configurator.png'>
|
||||
Screenshot of the HASS Configurator.
|
||||
Screenshot of the Configurator.
|
||||
</p>
|
||||
|
||||
### Feature list
|
||||
|
@ -6,56 +6,65 @@ featured: true
|
||||
|
||||
<div class='note'>
|
||||
|
||||
If you want to integrate your Google Home or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](/integrations/google_assistant/).
|
||||
If you want to integrate your Google Home or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component][AssistantIntergration].
|
||||
|
||||
</div>
|
||||
|
||||
[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interact via the [DialogFlow][comp] integration with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.
|
||||
[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interacts via the [DialogFlow][comp] integration or the [Google Assistant component][AssistantIntergration] with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.
|
||||
|
||||
To enable access to the Google Assistant API, do the following:
|
||||
1. Go to the [Google Actions Console][GActionsConsole] and create a new project.
|
||||
1. After you created the project on the bottom of the page click "Device registration". Keep this tab open for later use.
|
||||
1. Enable the Google Assistant API on the new project through [this][enableAPI] link. Make sure you have the right project selected (shown in the middle of the screen in the top bar). If you can't select the right project, it may help to open the link in an incognito window.
|
||||
1. Configure the [OAuth consent screen][OAuthConcent]. Also again check that you have the right project and don't forget to hit "Save" at the bottom of the page. You only have to fill in a project name and your e-mail.
|
||||
1. You back to you device registration tab and click "Device registration". Or open you project in the [Google Actions Console][GActionsConsole] start the Quick setup, and in the left bar click "Device registration".
|
||||
1. Give you project a name, think of a nice manufacturer and for device type select "speaker".
|
||||
1. Edit you "model id", if you want to and copy it for later use.
|
||||
1. Download the credentials.
|
||||
1. Click "Next" and click "Skip".
|
||||
1. Upload your credentials as "google_assistant.json" to the "hassio/share" folder, for example by using the [Samba] add-on.
|
||||
1. In the Add-on configuration field fill-in you "project id" and your "model-id" and hit "Save". Your project id can be found in the Google Actions console by clicking on the top right menu button and selecting "Project settings". This id may differ from the project name that you choose!
|
||||
1. Below the "Config" window select the microphone and speaker that you want to use. On a Raspberry Pi 3, ALSA device 0 is the built-in headset port and ALSA device 1 is the HDMI port. Also don't forget to click "Save".
|
||||
1. Start the add-on. Check the log and click refresh till it says: "ENGINE Bus STARTED".
|
||||
1. Now click "Open Web UI" and follow the authentication process. You will get an empty response after you have send your token.
|
||||
|
||||
1. In the [Cloud Platform Console][project], go to the Projects page. Select an existing project or create a new project
|
||||
1. Open the project. In the top of the page search for Google Assistant API or use [this link][API] and enable it.
|
||||
1. Create an [OAuth Client ID][oauthclient], pick type "Other", click "Create" and download the JSON file by clicking the Download JSON button on the right side.
|
||||
1. Upload your "google_assistant.json" file to the "hassio/share" folder, for example by using the [Samba] add-on.
|
||||
1. In the config window, fill in your "project-id", which can be found in your "google_assistant.json" file or in on the [Cloud Platform Resource Manager][cloudConsole]. Also choose a "model_id".
|
||||
1. Below the "Config" window select the microphone and speaker that you want to use. On a Raspberry Pi 3, card 0 - device 0 is the built-in headset port, card 0 - device 1 is the HDMI port.
|
||||
|
||||
You are now ready to start the add-on. The next step is to authenticate your Google account with Google Assistant. After starting the add-on and click on the "OPEN WEB UI" button to start authentication.
|
||||
That's it. You should no be able to use the Google Voice assistant.
|
||||
|
||||
### Add-on configuration
|
||||
|
||||
Configuration example that uses the USB microphone and the built-in headset audio output on the Raspberry Pi. Note that card and device numbers can differ on your device.
|
||||
|
||||
```json
|
||||
{
|
||||
"client_secrets": "google_assistant.json",
|
||||
"project_id": null,
|
||||
"model_id": null
|
||||
"project_id": "you-project-id",
|
||||
"model_id": "your-model-id"
|
||||
}
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
client_secrets:
|
||||
description: The file downloaded from the Google Cloud Platform Console - Google Assistant API page. By default the add-on look in the "hassio/share" folder.
|
||||
description: The file downloaded from the [Google Actions Console][GActionsConsole], you can redownload them under the "Develop - Device registration" tab. By default the add-on look in the "hassio/share" folder.
|
||||
required: true
|
||||
type: string
|
||||
project_id:
|
||||
description: The project id can be found in your "google_assistant.json" file.
|
||||
description: The project id can be found in your "google_assistant.json" file or under project settings in the [Google Actions Console][GActionsConsole].
|
||||
required: true
|
||||
type: string
|
||||
model_id:
|
||||
description: A chosen model_id.
|
||||
description: The model id can also be found under the "Develop - Device registration tab" in the [Google Actions Console][GActionsConsole].
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### Home Assistant configuration
|
||||
|
||||
Use the Home Assistant [DialogFlow component][comp] to integrate the add-on into Home Assistant.
|
||||
Use the Home Assistant [DialogFlow component][comp] to integrate the add-on into Home Assistant or combine it with the [Google Assistant component][AssistantIntergration].
|
||||
|
||||
[AssistantIntergration]: /integrations/google_assistant/
|
||||
[GoogleAssistant]: https://assistant.google.com/
|
||||
[GoogleActions]: https://actions.google.com/
|
||||
[GActionsConsole]: https://console.actions.google.com/
|
||||
[enableAPI]: https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview
|
||||
[OAuthConcent]: https://console.developers.google.com/apis/credentials/consent
|
||||
[Samba]: /addons/samba/
|
||||
[comp]: /integrations/dialogflow/
|
||||
[project]: https://console.cloud.google.com/project
|
||||
|
@ -77,7 +77,7 @@ There is an active [discord](https://discordapp.com/invite/3939Kqx) channel and
|
||||
|
||||
### Examples
|
||||
|
||||
So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba add-on.
|
||||
So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your Hass.io installation using the Samba add-on.
|
||||
|
||||
Next create a weather sensor, e.g., one for [Dark Sky](/integrations/darksky/), and put the `api_key` in your `secrets.yaml` file. For this example to work you will need to have a valid API key from [Dark Sky](https://darksky.net/dev).
|
||||
|
||||
@ -120,6 +120,6 @@ searchWeatherForecast:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
Now just restart HassIO and ask it what the weather is like.
|
||||
Now just restart Hass.io and ask it what the weather is like.
|
||||
|
||||
[their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Create-an-assistant-using-an-existing-bundle
|
||||
|
@ -1,5 +1,7 @@
|
||||
- topic: Action
|
||||
description: "[Actions](/docs/automation/action/) are events that fires once all triggers and conditions have been met."
|
||||
description: "An [Action](/docs/automation/action/) is an event that can be fired as a response to a trigger, once all conditions have been met."
|
||||
- topic: Add-on
|
||||
description: "Hass.io add-ons provide additional, standalone, applications that can run beside Home Assistant on a Hass.io installation. Most of these, add-on provided, applications can be integrated into Home Assistant using integrations. Examples of add-ons are: an MQTT broker, database service or a file server."
|
||||
- topic: Automation
|
||||
description: "[Automations](/docs/automation/) offer the capability to call a service based on a simple or complex trigger. Automation allows a condition such as a sunset to cause an event, such as a light turning on."
|
||||
- topic: Binary sensor
|
||||
@ -7,7 +9,7 @@
|
||||
- topic: Component
|
||||
description: "Integrations (see below) used to be known as components."
|
||||
- topic: Condition
|
||||
description: "[Conditions](/docs/scripts/conditions/) are an optional part of an automation that will prevent an action from firing if they are not met."
|
||||
description: "[Conditions](/docs/scripts/conditions/) are an optional part of an automation that will prevent an action from firing if they are not met."
|
||||
- topic: Cookbook
|
||||
description: "The [Cookbook](/cookbook/) contains a set of configuration examples of Home Assistant from the community."
|
||||
- topic: Cover
|
||||
@ -31,7 +33,11 @@
|
||||
- topic: hass
|
||||
description: "HASS or [hass](/docs/tools/hass/) is often used as an abbreviation for Home Assistant. It is also the command-line tool."
|
||||
- topic: Hass.io
|
||||
description: "[Hass.io](/hassio/) is an operating system that will take care of installing and updating Home Assistant, is managed from the Home Assistant UI, allows creating/restoring snapshots of your configuration, and can easily be extended."
|
||||
description: "[Hass.io](/hassio/) is a full UI managed home automation ecosystem that runs Home Assistant, the Hass.io Supervisor and add-ons. It comes pre-installed on HassOS, but can be installed on any Linux system. It leverages Docker, which is managed by the Hass.io Supervisor."
|
||||
- topic: Hass.io Supervisor
|
||||
description: "The Hass.io Supervisor is a program that manages a Hass.io installation, taking care of installing and updating Home Assistant, add-ons, itself and, if used, updating the HassOS operating system."
|
||||
- topic: HassOS
|
||||
description: "HassOS, the Home Assistant Operating System, is an embedded, minimalistic, operating system designed to run the Hass.io ecosystem on single board computers (like the Raspberry Pi) or Virtual Machines. The Hass.io Supervisor can keep it up to date, removing the need for you to manage an operating system."
|
||||
- topic: Integration
|
||||
description: "[Integrations](/integrations/) provide the core logic for the functionality in Home Assistant. Like `notify` provides sending notifications."
|
||||
- topic: Lovelace
|
||||
@ -45,7 +51,7 @@
|
||||
- topic: Platform
|
||||
description: "[Platforms](/docs/configuration/platform_options/) make the connection to a specific software or hardware platform. For example, the `pushbullet` platform works with the service pushbullet.com to send notifications."
|
||||
- topic: Scene
|
||||
description: "[Scenes](/integrations/scene/) 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."
|
||||
description: "[Scenes](/integrations/scene/) 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."
|
||||
- topic: Script
|
||||
description: "[Scripts](/docs/scripts/) are components that allow users to specify a sequence of actions to be executed by Home Assistant when turned on."
|
||||
- topic: Sensor
|
||||
|
@ -81,7 +81,7 @@ While you should hopefully be storing your passwords in a password manager, if y
|
||||
* `auth`
|
||||
* `auth_provider.homeassistant`
|
||||
* `onboarding`
|
||||
* `hassio` (for hassio users)
|
||||
* `hassio` (for Hass.io users)
|
||||
* `cloud` (for nabucasa users)
|
||||
|
||||
When you start Home Assistant next, you'll be required to set up authentication again.
|
||||
|
@ -330,7 +330,6 @@ Now edit your configuration.yaml file to reflect the SSL entries and your base U
|
||||
|
||||
```yaml
|
||||
http:
|
||||
api_password: YOUR_PASSWORD
|
||||
ssl_certificate: /etc/letsencrypt/live/examplehome.duckdns.org/fullchain.pem
|
||||
ssl_key: /etc/letsencrypt/live/examplehome.duckdns.org/privkey.pem
|
||||
base_url: examplehome.duckdns.org
|
||||
|
@ -40,7 +40,7 @@ http:
|
||||
ssl_key: /ssl/privkey.pem
|
||||
```
|
||||
|
||||
Non-hass.io:
|
||||
Non-Hass.io:
|
||||
|
||||
```yaml
|
||||
http:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "HASS Configurator"
|
||||
description: "Instructions on how to install and use the HASS Configurator"
|
||||
title: "Configurator"
|
||||
description: "Instructions on how to install and use the Configurator"
|
||||
redirect_from: /ecosystem/hass-configurator/
|
||||
---
|
||||
|
||||
@ -11,7 +11,7 @@ This is essentially a browser-based alternative to modifying your configuration
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/hassio/screenshots/addon-hass-configurator.png'>
|
||||
Screenshot of the HASS Configurator.
|
||||
Screenshot of the Configurator.
|
||||
</p>
|
||||
|
||||
### Feature list
|
||||
|
@ -13,22 +13,19 @@ Enter the Home Assistant jail. If you don't know which name you have given the j
|
||||
iocage exec HomeAssistant
|
||||
```
|
||||
|
||||
Create the user and group that Home Assistant will run as. The user/group ID of `8123` can be replaced if this is already in use in your environment.
|
||||
|
||||
```bash
|
||||
pw groupadd -n homeassistant -g 8123
|
||||
echo 'homeassistant:8123:8123::::::/bin/csh:' | adduser -f -
|
||||
```
|
||||
|
||||
Install the necessary Python packages and virtualenv:
|
||||
Install the suggested packages:
|
||||
|
||||
```bash
|
||||
pkg update
|
||||
pkg upgrade
|
||||
pkg install -y python37 py37-sqlite3 ca_root_nss
|
||||
python3.7 -m ensurepip
|
||||
pip3 install --upgrade pip
|
||||
pip3 install --upgrade virtualenv
|
||||
pkg install -y autoconf bash ca_root_nss gmake pkgconf python37 py37-sqlite3
|
||||
```
|
||||
|
||||
Create the user and group that Home Assistant will run as. The user/group ID of `8123` can be replaced if this is already in use in your environment.
|
||||
|
||||
```bash
|
||||
pw groupadd -n homeassistant -g 8123
|
||||
echo 'homeassistant:8123:8123::::::/usr/local/bin/bash:' | adduser -f -
|
||||
```
|
||||
|
||||
Create the installation directory:
|
||||
@ -38,13 +35,14 @@ mkdir -p /usr/local/share/homeassistant
|
||||
chown -R homeassistant:homeassistant /usr/local/share/homeassistant
|
||||
```
|
||||
|
||||
Install Home Assistant itself:
|
||||
Create the virtualenv and install Home Assistant itself:
|
||||
|
||||
```bash
|
||||
su homeassistant
|
||||
cd /usr/local/share/homeassistant
|
||||
virtualenv -p python3.7 .
|
||||
source ./bin/activate.csh
|
||||
python3.7 -m venv .
|
||||
source ./bin/activate
|
||||
pip3 install --upgrade pip
|
||||
pip3 install homeassistant
|
||||
```
|
||||
|
||||
@ -82,29 +80,37 @@ vi /usr/local/etc/rc.d/homeassistant
|
||||
```bash
|
||||
#!/bin/sh
|
||||
#
|
||||
# Based upon work by tprelog at https://www.ixsystems.com/community/resources/fn-11-2-iocage-home-assistant-jail-plugins-for-node-red-mosquitto-amazon-dash-tasmoadmin.102/
|
||||
# Based upon work by tprelog at https://github.com/tprelog/iocage-homeassistant/blob/11.3-RELEASE/overlay/usr/local/etc/rc.d/homeassistant
|
||||
#
|
||||
# PROVIDE: homeassistant
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# homeassistant_enable: Set to YES to enable the homeassistant service.
|
||||
# Default: NO
|
||||
# homeassistant_user: The user account used to run the homeassistant daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run as root.
|
||||
# Default: homeassistant
|
||||
# homeassistant_group: The group account used to run the homeassistant daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run with group wheel.
|
||||
# Default: homeassistant
|
||||
# homeassistant_config_dir: Directory where config files are located.
|
||||
# Default: /home/homeassistant/.homeassistant
|
||||
# homeassistant_install_dir: Directory where Home Assistant is installed.
|
||||
# Default: /usr/local/share/homeassistant
|
||||
# homeassistant_user: The user account used to run the homeassistant daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run as root.
|
||||
# Default: homeassistant
|
||||
# homeassistant_group: The group account used to run the homeassistant daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run with group wheel.
|
||||
# Default: homeassistant
|
||||
#
|
||||
# sysrc homeassistant_enable=yes
|
||||
# service homeassistant start
|
||||
# homeassistant_venv: Directory where homeassistant virtualenv is installed.
|
||||
# Default: "/usr/local/share/homeassistant"
|
||||
# Change: `sysrc homeassistant_venv="/srv/homeassistant"`
|
||||
# UnChange: `sysrc -x homeassistant_venv`
|
||||
#
|
||||
# homeassistant_config_dir: Directory where homeassistant config is located.
|
||||
# Default: "/home/homeassistant/.homeassistant"
|
||||
# Change: `sysrc homeassistant_config_dir="/home/hass/homeassistant"`
|
||||
# UnChange: `sysrc -x homeassistant_config_dir`
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Copy this file to '/usr/local/etc/rc.d/homeassistant'
|
||||
# `chmod +x /usr/local/etc/rc.d/homeassistant`
|
||||
# `sysrc homeassistant_enable=yes`
|
||||
# `service homeassistant start`
|
||||
# -------------------------------------------------------
|
||||
|
||||
. /etc/rc.subr
|
||||
name=homeassistant
|
||||
@ -118,37 +124,78 @@ load_rc_config ${name}
|
||||
: ${homeassistant_user:="homeassistant"}
|
||||
: ${homeassistant_group:="homeassistant"}
|
||||
: ${homeassistant_config_dir:="/home/homeassistant/.homeassistant"}
|
||||
: ${homeassistant_install_dir:="/usr/local/share/homeassistant"}
|
||||
: ${homeassistant_venv:="/usr/local/share/homeassistant"}
|
||||
|
||||
command="/usr/sbin/daemon"
|
||||
extra_commands="check_config restart test upgrade"
|
||||
|
||||
start_precmd=${name}_precmd
|
||||
homeassistant_precmd()
|
||||
{
|
||||
rc_flags="-f -P ${pidfile} -p ${pidfile_child} ${homeassistant_install_dir}/bin/hass --config ${homeassistant_config_dir} ${rc_flags}"
|
||||
|
||||
if [ ! -e "${pidfile_child}" ]; then
|
||||
install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${pidfile_child}";
|
||||
fi
|
||||
|
||||
if [ ! -e "${pidfile}" ]; then
|
||||
install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${pidfile}";
|
||||
fi
|
||||
|
||||
homeassistant_precmd() {
|
||||
rc_flags="-f -o ${logfile} -P ${pidfile} -p ${pidfile_child} ${homeassistant_venv}/bin/hass --config ${homeassistant_config_dir} ${rc_flags}"
|
||||
[ ! -e "${pidfile_child}" ] && install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${pidfile_child}"
|
||||
[ ! -e "${pidfile}" ] && install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${pidfile}"
|
||||
[ -e "${logfile}" ] && rm -f -- "${logfile}"
|
||||
install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${logfile}"
|
||||
if [ ! -d "${homeassistant_config_dir}" ]; then
|
||||
install -d -g ${homeassistant_group} -o ${homeassistant_user} -- "${homeassistant_config_dir}";
|
||||
install -d -g ${homeassistant_group} -o ${homeassistant_user} -m 775 -- "${homeassistant_config_dir}"
|
||||
fi
|
||||
|
||||
echo "Performing check on Home Assistant configuration:"
|
||||
eval "${homeassistant_install_dir}/bin/hass" --config "${homeassistant_config_dir}" --script check_config
|
||||
}
|
||||
|
||||
stop_postcmd=${name}_postcmd
|
||||
homeassistant_postcmd()
|
||||
{
|
||||
homeassistant_postcmd() {
|
||||
rm -f -- "${pidfile}"
|
||||
rm -f -- "${pidfile_child}"
|
||||
}
|
||||
|
||||
upgrade_cmd="${name}_upgrade"
|
||||
homeassistant_upgrade() {
|
||||
service ${name} stop
|
||||
su ${homeassistant_user} -c '
|
||||
source ${@}/bin/activate || exit 1
|
||||
pip3 install --upgrade homeassistant
|
||||
deactivate
|
||||
' _ ${homeassistant_venv} || exit 1
|
||||
[ $? == 0 ] && homeassistant_check_config && service ${name} start
|
||||
}
|
||||
|
||||
check_config_cmd="${name}_check_config"
|
||||
homeassistant_check_config() {
|
||||
[ ! -e "${homeassistant_config_dir}/configuration.yaml" ] && return 0
|
||||
echo "Performing check on Home Assistant configuration:"
|
||||
#eval "${homeassistant_venv}/bin/hass --config ${homeassistant_config_dir} --script check_config"
|
||||
su ${homeassistant_user} -c '
|
||||
source ${1}/bin/activate || exit 2
|
||||
hass --config ${2} --script check_config || exit 3
|
||||
deactivate
|
||||
' _ ${homeassistant_venv} ${homeassistant_config_dir}
|
||||
}
|
||||
|
||||
restart_cmd="${name}_restart"
|
||||
homeassistant_restart() {
|
||||
homeassistant_check_config || exit 1
|
||||
echo "Restarting Home Assistant"
|
||||
service ${name} stop
|
||||
service ${name} start
|
||||
}
|
||||
|
||||
test_cmd="${name}_test"
|
||||
homeassistant_test() {
|
||||
echo -e "\nTesting virtualenv...\n"
|
||||
[ ! -d "${homeassistant_venv}" ] && echo -e " NO DIRECTORY: ${homeassistant_venv}\n" && exit
|
||||
[ ! -f "${homeassistant_venv}/bin/activate" ] && echo -e " NO FILE: ${homeassistant_venv}/bin/activate\n" && exit
|
||||
|
||||
## switch users / activate virtualenv / get version
|
||||
su "${homeassistant_user}" -c '
|
||||
source ${1}/bin/activate || exit 2
|
||||
echo " $(python --version)" || exit 3
|
||||
echo " Home Assistant $(pip3 show homeassistant | grep Version | cut -d" " -f2)" || exit 4
|
||||
deactivate
|
||||
' _ ${homeassistant_venv}
|
||||
|
||||
[ $? != 0 ] && echo "exit $?"
|
||||
}
|
||||
|
||||
load_rc_config ${name}
|
||||
run_rc_command "$1"
|
||||
```
|
||||
|
||||
@ -204,8 +251,8 @@ vi /etc/devfs.rules
|
||||
|
||||
Add the following lines
|
||||
```bash
|
||||
[devfsrules_jail_allow_usb=7]
|
||||
add path 'cu\*' mode 0660 group 8123 unhide
|
||||
[devfsrules_jail_allow_usb=7]
|
||||
add path 'cu\*' mode 0660 group 8123 unhide
|
||||
```
|
||||
|
||||
Reload devfs
|
||||
@ -261,7 +308,7 @@ Then, enter the `venv`:
|
||||
```bash
|
||||
su homeassistant
|
||||
cd /usr/local/share/homeassistant
|
||||
source ./bin/activate.csh
|
||||
source ./bin/activate
|
||||
```
|
||||
|
||||
Upgrade Home Assistant:
|
||||
|
@ -9,7 +9,7 @@ The MQTT integration needs you to run an MQTT broker for Home Assistant to conne
|
||||
### Run your own
|
||||
|
||||
This is the most private option, but it requires a little bit of work to setup. There are multiple free and open-source brokers to pick from: e.g., [Mosquitto](http://mosquitto.org/), [EMQ](https://github.com/emqx/emqx) or [Mosca](http://www.mosca.io/).
|
||||
For hass.io users, the recommended setup method is to use the [Mosquitto MQTT broker addon](/addons/mosquitto).
|
||||
For Hass.io users, the recommended setup method is to use the [Mosquitto MQTT broker addon](/addons/mosquitto).
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -96,7 +96,10 @@ There are four `homeassistant` services that aren't tied to any single domain, t
|
||||
* `homeassistant.toggle` - Turns off an entity that is on, or turns on an entity that is off (that supports being turned on and off)
|
||||
* `homeassistant.update_entity` - Request the update of an entity, rather than waiting for the next scheduled update, for example [google travel time] sensor, a [template sensor], or a [light]
|
||||
|
||||
Complete service details and examples can be found on the [Home Assistant integration][homeassistant-integration-services] page.
|
||||
|
||||
[templating]: /topics/templating/
|
||||
[google travel time]: /integrations/google_travel_time/
|
||||
[template sensor]: /integrations/template/
|
||||
[light]: /integrations/light/
|
||||
[homeassistant-integration-services]: /integrations/homeassistant#services
|
||||
|
@ -24,7 +24,7 @@ There have [been reports](https://www.raspberrypi.org/forums/viewtopic.php?f=28&
|
||||
We recommend that you purchase a [Z-Wave Plus](https://z-wavealliance.org/z-wave_plus_certification/) controller, to take advantage of the improvements this provides. As OpenZWave doesn't support S2 or Smart Start, there's no need to buy one just for support of these features.
|
||||
|
||||
<div class='note'>
|
||||
If you're using Hass.io or running HASS in a Docker 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.
|
||||
If you're using Hass.io or running Home Assistant in a Docker 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.
|
||||
</div>
|
||||
|
||||
## Stick Alternatives
|
||||
|
@ -122,7 +122,7 @@ You can also check what hardware has been found using the [hassio command](/hass
|
||||
$ hassio hardware info
|
||||
```
|
||||
|
||||
If you did an alternative install of Hass.io on Linux (e.g. installing Ubuntu, then Docker, then Hass.io) then the `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled in the host OS. Failure to do so will result in random failures of those components, e.g. dead or unreachable Z-Wave nodes, most notably right after HomeAssistant restarts. Connect to your host OS via SSH, then you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager` (commands are for Debian/Ubuntu).
|
||||
If you did an alternative install of Hass.io on Linux (e.g. installing Ubuntu, then Docker, then Hass.io) then the `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled in the host OS. Failure to do so will result in random failures of those components, e.g. dead or unreachable Z-Wave nodes, most notably right after Home Assistant restarts. Connect to your host OS via SSH, then you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager` (commands are for Debian/Ubuntu).
|
||||
|
||||
### Docker
|
||||
|
||||
|
@ -349,7 +349,7 @@
|
||||
</li>
|
||||
<li>{% active_link /docs/ecosystem/synology/ Synology %}</li>
|
||||
<li>
|
||||
{% active_link /docs/ecosystem/hass-configurator/ HASS Configurator
|
||||
{% active_link /docs/ecosystem/hass-configurator/ Configurator
|
||||
%}
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -185,7 +185,9 @@ If the setup for your Android TV or Fire TV device fails, then there is probably
|
||||
|
||||
5. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to WiFi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well.
|
||||
|
||||
6. If you are using the [Python ADB implementation](#2-python-adb-implementation) approach, as mentioned above, there may be some issues with newer devices. In this case, you should use the [ADB server](#1-adb-server) approach instead.
|
||||
6. If your device drops off WiFi, breaking the ADB connection and causing the entity to become unavailable in Home Assistant, you could install a wake lock utility (such as [Wakelock](https://github.com/d4rken/wakelock-revamp)) to prevent this from happening. Some users have reported this problem with Xiaomi Mi Box devices.
|
||||
|
||||
7. If you are using the [Python ADB implementation](#2-python-adb-implementation) approach, as mentioned above, there may be some issues with newer devices. In this case, you should use the [ADB server](#1-adb-server) approach instead.
|
||||
|
||||
## Services
|
||||
|
||||
|
@ -47,7 +47,7 @@ port:
|
||||
|
||||
<div class='note'>
|
||||
|
||||
If you get `ConnectionRefusedError: Connection refused` errors in the Home assistant logs, ensure the [APCUPSd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addesses will not connect. This includes Hass.io running in Docker, even when hosted on the same machine or a virtual machine.
|
||||
If you get `ConnectionRefusedError: Connection refused` errors in the Home Assistant logs, ensure the [APCUPSd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addesses will not connect. This includes Hass.io running in Docker, even when hosted on the same machine or a virtual machine.
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -42,7 +42,7 @@ name:
|
||||
required: false
|
||||
type: string
|
||||
callback_url_override:
|
||||
description: Override the advertised callback URL. In case the home assistant instance is not directly reachable (e.g., running in a docker container without bridged-networking), advertise this callback URL for events.
|
||||
description: Override the advertised callback URL. In case the Home Assistant instance is not directly reachable (e.g., running in a docker container without bridged-networking), advertise this callback URL for events.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -19,13 +19,12 @@ There is currently support for the following device types within Home Assistant:
|
||||
|
||||
## Setup
|
||||
|
||||
It is recommended to set up a new account on your Doorbird for use with Home Assistant. This can be added via the Doorbird App by choosing Administration -> (User) Add. This user, needs specific permissions enabled, depending on what functionality you want:
|
||||
It is recommended to set up a new account on your Doorbird App for use with Home Assistant. This can be added via the Doorbird App by clicking settings (cog icon) -> Administration-> LOGIN (using your App Administration details). Under the "USER" section, choose "Add". This new user account requires specific permissions enabled (depending on what functionality you want). Permissions can be found under "Permissions". The following permissions are recommended:
|
||||
|
||||
- Live view -> Watch Always
|
||||
- Last motion -> Motion + History
|
||||
- Last ring -> History
|
||||
|
||||
In addition, the "API-Operator" permission needs to be enabled as well.
|
||||
- "Watch Always" (live view)
|
||||
- "History" (last motion)
|
||||
- "Motion" (last motion)
|
||||
- "API-Operator" (this needed to be enabled as a minimum)
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -144,20 +143,21 @@ The URLs on the event will be based on the configuration used to connect to your
|
||||
|
||||
#### Schedules
|
||||
|
||||
Once events have been registered on the DoorBird device, they must be attached to a schedule using the official DoorBird app on Android or iOS. Currently there are schedules available for doorbell, motion, relay, and RFID events (on supported devices).
|
||||
Once events have been registered on the DoorBird device, they must be attached to a schedule using the official DoorBird app on Android or iOS. Currently, there are schedules available for doorbell, motion, relay, and RFID events (on supported Doorbird devices).
|
||||
|
||||
For iOS, the schedules can be found by navigating to the following areas of the app:
|
||||
The schedules can be found by navigating to the following area of the Doorbird app (Android or IOS):
|
||||
|
||||
- Doorbell | Settings > Administration > Specific Device > Schedule for Doorbell
|
||||
- Motion | Settings > Administration > Specific Device > 3D Motion Sensor (Settings) > Schedule for Actions
|
||||
- Relay | Settings > Administration > Specific Device > Relays > Schedule
|
||||
- RFID | Settings > Administration > Specific Device > RFID Transponder > Settings > Select Transponder > Schedule
|
||||
Settings (cog icon) -> Administration -> LOGIN LOGIN (using your App Administration details) -> (under "EXPERT SETTINGS") Schedule for doorbell
|
||||
|
||||
Once you are on the desired schedule, click the dropdown button in the upper left to switch to the HTTP Calls view. Now if you click on the heading just above the schedule, you can select the event you would like to be called for the particular schedule that is being viewed.
|
||||
- `Push notification`
|
||||
- `Trigger Relay ("Relay 1" or "Relay 2")`
|
||||
- `HTTP(S) Calls (button, motion/movement, RFID)`
|
||||
|
||||
Click on the dropdown button in the top left and choose your specific "Schedule for actions" (listed above). Depending on your selection, you may have to click on the center title to see the sub-categories menu.
|
||||
|
||||
On the desired event, you should be able to specify blocks of time for when you would like the event to be sent to Home Assistant. If you want the event to always send, the square in the upper right can be used to populate the entire schedule. Events will be fired to Home Assistant for blocks of time that are blue.
|
||||
|
||||
Remember to complete the schedule assignment steps above for each event type that you registered.
|
||||
Note: Remember to complete the schedule assignment steps above for each event type that you registered.
|
||||
|
||||
### Automation Example
|
||||
|
||||
|
@ -55,7 +55,7 @@ password:
|
||||
required: false
|
||||
type: string
|
||||
prefix:
|
||||
description: The prefix to use, if any, for all the devices created for this controller. At most one host can omit the prefix, all others must have a unique prefix within the home assistant instance.
|
||||
description: The prefix to use, if any, for all the devices created for this controller. At most one host can omit the prefix, all others must have a unique prefix within the Home Assistant instance.
|
||||
require: false
|
||||
type: string
|
||||
temperature_unit:
|
||||
|
@ -3,6 +3,116 @@ title: "Core integration"
|
||||
description: "Description of the homeassistant integration."
|
||||
logo: home-assistant.png
|
||||
ha_release: 0.0
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
The Home Assistant integration provides generic implementations like the generic `homeassistant.turn_on`.
|
||||
|
||||
## Services
|
||||
|
||||
The `homeassistant` integration provides services for controlling Home Assistant itself, as well as generic controls for any entity.
|
||||
|
||||
### Service `homeassistant.check_config`
|
||||
|
||||
Reads the config files and checks them for correctness, but **does not** load them into Home Assistant. Creates a persistent notification and log entry if errors are found.
|
||||
|
||||
### Service `homeassistant.reload_core_config`
|
||||
|
||||
Loads the main config file (`configuration.yaml`) and all linked files. Once loaded the new configuration is applied.
|
||||
|
||||
### Service `homeassistant.restart`
|
||||
|
||||
Restarts the Home Assistant instance (also reloading the configuration on start).
|
||||
|
||||
### Service `homeassistant.stop`
|
||||
|
||||
Stops the Home Assistant instance. Home Assistant must be restarted from the Host device to run again.
|
||||
|
||||
### Service `homeassistant.set_location`
|
||||
|
||||
Update the location of the Home Assistant default zone (usually "Home").
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-------------------------------------------------------|
|
||||
| `latitude` | no | Latitude of your location. |
|
||||
| `longitude` | no | Longitude of your location. |
|
||||
|
||||
#### Example
|
||||
|
||||
```yaml
|
||||
action:
|
||||
service: homeassistant.set_location
|
||||
data:
|
||||
latitude: 32.87336
|
||||
longitude: 117.22743
|
||||
```
|
||||
|
||||
### Service `homeassistant.toggle`
|
||||
|
||||
Generic service to toggle devices on/off under any domain. Same usage as the light.turn_on, switch.turn_on, etc. services.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-------------------------------------------------------|
|
||||
| `entity_id` | yes | The entity_id of the device to toggle on/off. |
|
||||
|
||||
#### Example
|
||||
|
||||
```yaml
|
||||
action:
|
||||
service: homeassistant.toggle
|
||||
data:
|
||||
entity_id: light.living_room
|
||||
```
|
||||
|
||||
#### Service `homeassistant.turn_on`
|
||||
|
||||
Generic service to turn devices on under any domain. Same usage as the light.turn_on, switch.turn_on, etc. services.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-------------------------------------------------------|
|
||||
| `entity_id` | yes | The entity_id of the device to turn on. |
|
||||
|
||||
#### Example
|
||||
|
||||
```yaml
|
||||
action:
|
||||
service: homeassistant.turn_on
|
||||
data:
|
||||
entity_id: light.living_room
|
||||
```
|
||||
|
||||
### Service `homeassistant.turn_off`
|
||||
|
||||
Generic service to turn devices off under any domain. Same usage as the light.turn_on, switch.turn_on, etc. services.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-------------------------------------------------------|
|
||||
| `entity_id` | yes | The entity_id of the device to turn off. |
|
||||
|
||||
#### Example
|
||||
|
||||
```yaml
|
||||
action:
|
||||
service: homeassistant.turn_off
|
||||
data:
|
||||
entity_id: light.living_room
|
||||
```
|
||||
|
||||
### Service `homeassistant.update_entity`
|
||||
|
||||
Force one or more entities to update its data rather than wait for the next scheduled update.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-------------------------------------------------------|
|
||||
| `entity_id` | no | One or multiple entity_ids to update. It can be a list. |
|
||||
|
||||
#### Example
|
||||
|
||||
```yaml
|
||||
action:
|
||||
service: homeassistant.update_entity
|
||||
data:
|
||||
entity_id:
|
||||
- light.living_room
|
||||
- switch.coffe_pot
|
||||
```
|
||||
|
@ -491,7 +491,7 @@ The volume and play/pause controls will show up on the Remote app or Control Cen
|
||||
|
||||
#### Resetting accessories
|
||||
|
||||
On Home Assistant `0.97.x` or later, you may use the service `homekit.reset_accessory` with one or more entity_ids to reset accessories whose configuration may have changed. This can be useful when changing a media_player's device class to `tv`, linking a battery, or whenever HomeAssistant add supports for new HomeKit features to existing entities.
|
||||
On Home Assistant `0.97.x` or later, you may use the service `homekit.reset_accessory` with one or more entity_ids to reset accessories whose configuration may have changed. This can be useful when changing a media_player's device class to `tv`, linking a battery, or whenever Home Assistant adds support for new HomeKit features to existing entities.
|
||||
|
||||
On earlier versions of Home Assistant, you can reset accessories by removing the entity from HomeKit (via [filter](#configure-filter)) and then re-adding the accessory.
|
||||
|
||||
|
@ -9,7 +9,7 @@ ha_category:
|
||||
ha_release: 0.98
|
||||
---
|
||||
|
||||
The `keba` integrates your Keba charging station (wallbox) into your home assistant instance. It was tested with a BMW Wallbox but should also work with a Keba P20/P30 according to the developers [manual](https://www.keba.com/web/downloads/e-mobility/KeContact_P20_P30_UDP_ProgrGuide_en.pdf). The fetching interval to the charging station is set to 5 seconds, same as in the official mobile app.
|
||||
The `keba` integrates your Keba charging station (wallbox) into your Home Assistant instance. It was tested with a BMW Wallbox but should also work with a Keba P20/P30 according to the developers [manual](https://www.keba.com/web/downloads/e-mobility/KeContact_P20_P30_UDP_ProgrGuide_en.pdf). The fetching interval to the charging station is set to 5 seconds, same as in the official mobile app.
|
||||
|
||||
This component provides the following platforms:
|
||||
|
||||
@ -44,7 +44,7 @@ keba:
|
||||
type: string
|
||||
default: "00845500"
|
||||
failsafe:
|
||||
description: Enable failsafe mode at home assistant startup.
|
||||
description: Enable failsafe mode at Home Assistant startup.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
@ -208,7 +208,7 @@ automation:
|
||||
service: openuv.update_protection_data
|
||||
```
|
||||
|
||||
Another method (useful when monitoring locations other than the HASS latitude
|
||||
Another method (useful when monitoring locations other than the Home Assistant latitude
|
||||
and longitude, in locations where there is a large amount of sunlight per day,
|
||||
etc.) might be to simply query the API less often:
|
||||
|
||||
|
@ -33,7 +33,7 @@ In the OwnTracks app, open sidebar and click on preferences, then on connection.
|
||||
- Device ID: `<Device name>`
|
||||
- Tracker ID: `<xx>` Two character tracker ID. (can be left blank)
|
||||
|
||||
Your tracker device will be known in home assistant as `<Username>_<Device name>`. If you entered a Tracker ID the tid attribute will be set to that ID.
|
||||
Your tracker device will be known in Home Assistant as `<Username>_<Device name>`. If you entered a Tracker ID the tid attribute will be set to that ID.
|
||||
|
||||
### Configuring the app - iOS
|
||||
|
||||
|
@ -32,7 +32,7 @@ port:
|
||||
default: 5678
|
||||
type: integer
|
||||
wait:
|
||||
description: If true, wait for the debugger to connect before starting up home assistant.
|
||||
description: If true, wait for the debugger to connect before starting up Home Assistant.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
@ -40,9 +40,9 @@ wait:
|
||||
|
||||
### Security
|
||||
|
||||
Ensure if this is a public-facing server, that the port is secured. Anyone who is able to access the debugger port can *execute arbitrary code* on the home assistant server, which is very unsafe.
|
||||
Ensure if this is a public-facing server, that the port is secured. Anyone who is able to access the debugger port can *execute arbitrary code* on the Home Assistant server, which is very unsafe.
|
||||
|
||||
If the home assistant server is behind your firewall with only the http(s) port exposed, then this is safe from outside connections.
|
||||
If the Home Assistant server is behind your firewall with only the http(s) port exposed, then this is safe from outside connections.
|
||||
|
||||
Another way of securing the port is to set `host` to localhost and have a secured SSH TCP tunnel with a client certificate for access from the outside internet.
|
||||
|
||||
|
@ -12,7 +12,7 @@ The `recorder` integration is responsible for storing details in a database, whi
|
||||
|
||||
Home Assistant uses [SQLAlchemy](https://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/).
|
||||
|
||||
The default database engine is [SQLite](https://www.sqlite.org/) which doesn't require any configuration. The database is stored in your Home Assistant configuration directory (`.homeassistant` or '/config/' in HassIO) and called `home-assistant_v2.db`.
|
||||
The default database engine is [SQLite](https://www.sqlite.org/) which doesn't require any configuration. The database is stored in your Home Assistant configuration directory (`.homeassistant` or '/config/' in Hass.io) and called `home-assistant_v2.db`.
|
||||
|
||||
To change the defaults for the `recorder` integration in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -105,7 +105,7 @@ invert_logic:
|
||||
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
|
||||
|
||||
<div class='note warning'>
|
||||
Note that a pin managed by HASS is expected to be exclusive to HASS.
|
||||
Note that a pin managed by Home Assistant is expected to be exclusive to Home Assistant.
|
||||
</div>
|
||||
|
||||
A common question is what does port refer to, this number is the actual GPIO #, not the pin #.
|
||||
|
@ -57,7 +57,7 @@ Not all protocols as advertised are enabled on the initial setup of your transce
|
||||
|
||||
### ser2net
|
||||
|
||||
You can host your device on another computer by setting up ser2net and example configuration for ser2net looks like this and then using host/port in your home assistant config.
|
||||
You can host your device on another computer by setting up ser2net and example configuration for ser2net looks like this and then using host/port in your Home Assistant config.
|
||||
|
||||
```text
|
||||
50000:raw:0:/dev/ttyUSB0:38400 8DATABITS NONE 1STOPBIT
|
||||
|
@ -184,7 +184,7 @@ invert_logic:
|
||||
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#General_purpose_input-output_(GPIO)_connector) about the Raspberry Pi.
|
||||
|
||||
<div class='note warning'>
|
||||
Note that a pin managed by HASS is expected to be exclusive to HASS.
|
||||
Note that a pin managed by Home Assistant is expected to be exclusive to Home Assistant.
|
||||
</div>
|
||||
|
||||
A common question is what does Port refer to, this number is the actual GPIO #, not the pin #.
|
||||
|
@ -79,6 +79,7 @@ For example: for model `UN55NU7100`, the `UN55` would mean it's an LED, North Am
|
||||
- EH5600
|
||||
- ES5500
|
||||
- ES5700
|
||||
- ES6100
|
||||
- ES6300
|
||||
- ES6800
|
||||
- F4580
|
||||
|
@ -61,5 +61,5 @@ notify:
|
||||
service_plan_id: SINCH_SERVICE_PLAN_ID
|
||||
api_key: SINCH_API_KEY
|
||||
default_recipient: [PHONE_NO1, PHONE_NO2]
|
||||
sender: Home assistant
|
||||
sender: Home Assistant
|
||||
```
|
||||
|
@ -108,7 +108,7 @@ The integration will trigger an event when a device with the [button](https://sm
|
||||
| Attribute | Description
|
||||
|---------------------------|------------------------------------------------------------------|
|
||||
`component_id` | Describes which integration of the device triggered the event. `main` represents the parent device. For devices with child-devices, this attribute identifies the child that raised the event.
|
||||
`device_id` | The unique id of the device in SmartThings. This can be located in the HASS device registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/).
|
||||
`device_id` | The unique id of the device in SmartThings. This can be located in the Home Assistant device registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/).
|
||||
`location_id` | The unique id of the location the device is part of. This can be found in the config entry registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/).
|
||||
`value` | Describes the action taken on the button. See the [button](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Button) capability reference for a list of possible values (not all are supported by every device).
|
||||
`name` | The name given to the device in SmartThings.
|
||||
|
@ -105,9 +105,9 @@ switch:
|
||||
signal_repetitions: 2
|
||||
devices:
|
||||
0b1100ce3213c7f210010f70:
|
||||
name: Movment1
|
||||
name: Movement1
|
||||
0b11000a02ef2gf210010f50:
|
||||
name: Movment2
|
||||
name: Movement2
|
||||
0b1111e003af16aa10000060:
|
||||
name: Door
|
||||
fire_event: true
|
||||
|
@ -87,6 +87,10 @@ notify:
|
||||
chat_id: CHAT_ID_2
|
||||
```
|
||||
|
||||
Refer to the platforms mentioned in the
|
||||
[Telegram chatbot page](/integrations/telegram_chatbot/) for
|
||||
`telegram_bot` configuration.
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
|
||||
|
@ -10,7 +10,7 @@ ha_iot_class: Cloud Push
|
||||
|
||||
Use Telegram on your mobile or desktop device to send and receive messages or commands to/from your Home Assistant.
|
||||
|
||||
This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/integrations/telegram_polling) method or with the [webhooks](/integrations/telegram_webhooks) one, and trigger events when receiving messages.
|
||||
This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/integrations/telegram_polling) platform or with the [webhooks](/integrations/telegram_webhooks) one, and trigger events when receiving messages.
|
||||
|
||||
If you don't need to receive messages, you can use the [broadcast](/integrations/telegram_broadcast) platform instead.
|
||||
|
||||
|
@ -30,13 +30,14 @@ The following devices are known to work with this component.
|
||||
- HS100
|
||||
- HS103
|
||||
- HS105
|
||||
- HS110
|
||||
- HS110 (The only device capable or reporting energy usage data to template sensors)
|
||||
|
||||
### Multi-Plug Strips
|
||||
### Strip (Multi-Plug)
|
||||
|
||||
- HS107 (indoor 2-outlet)
|
||||
- HS300 (powerstrip 6-outlet)
|
||||
- KP400 (outdoor 2-outlet)
|
||||
- KP200 (indoor 2-outlet)
|
||||
|
||||
### Wall Switches
|
||||
|
||||
@ -128,7 +129,7 @@ tplink:
|
||||
|
||||
## Extracting Energy Sensor data
|
||||
|
||||
In order to get the power consumption readings from supported devices, you'll have to create a [template sensor](/integrations/switch.template/).
|
||||
In order to get the power consumption readings from a TP-Link HS110 device, you'll have to create a [template sensor](/integrations/switch.template/).
|
||||
In the example below, change all of the `my_tp_switch`'s to match your device's entity ID.
|
||||
|
||||
{% raw %}
|
||||
|
@ -13,7 +13,7 @@ ha_category:
|
||||
- Switch
|
||||
---
|
||||
|
||||
The `tradfri` integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified ZigBee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file.
|
||||
The `tradfri` integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified Zigbee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file.
|
||||
|
||||
You will be prompted to configure the gateway through the Home Assistant interface. The configuration process is very simple: when prompted, enter the security key printed on the sticker on the bottom of the IKEA Trådfri Gateway, then click *configure*.
|
||||
|
||||
|
@ -91,7 +91,7 @@ The Google cast devices (Google Home, Chromecast, etc.) present the following pr
|
||||
|
||||
* They do not work with URLs that contain hostnames established by local naming means. Let's say your Home Assistant instance is running on a machine made known locally as `ha`. All your machines on your local network are able to access it as `ha`. However, try as you may, your cast device won't download the media files from your `ha` machine. That's because your cast device ignores your local naming setup. In this example, the `say` service creates a URL like `http://ha/path/to/media.mp3` (or `https://...` if you are using SSL). Setting a `base_url` that contains the IP address of your server works around this issue. By using an IP address, the cast device does not have to resolve the hostname.
|
||||
|
||||
* An alternative way to force Google cast devices to use internal DNS is to block them from accessing Google DNS at the firewall/router level. This would be useful in the case, for example, where your internal IP of HASS is a private IP and you have your internal DNS server (quite often a split-brain DNS scenario). This method works on both Google Home Mini and Google Chromecasts.
|
||||
* An alternative way to force Google cast devices to use internal DNS is to block them from accessing Google DNS at the firewall/router level. This would be useful in the case, for example, where your internal IP of Home Assistant is a private IP and you have your internal DNS server (quite often a split-brain DNS scenario). This method works on both Google Home Mini and Google Chromecasts.
|
||||
|
||||
## Service say
|
||||
|
||||
|
@ -50,4 +50,4 @@ password:
|
||||
|
||||
## Light
|
||||
|
||||
The light panels output state and brightness are synchronized with home assistant.
|
||||
The light panels output state and brightness are synchronized with Home Assistant.
|
||||
|
@ -54,7 +54,7 @@ ports:
|
||||
description: Map of ports to map from internal to external. Pass 'hass' as internal port to use the port Home Assistant runs on. Note that you have to enable port_mapping if you wish to map ports.
|
||||
required: false
|
||||
type: map
|
||||
default: Open same port on external router as that HASS runs locally and forwards it.
|
||||
default: Open same port on external router as that Home Assistant runs locally and forwards it.
|
||||
{% endconfiguration %}
|
||||
|
||||
## Troubleshooting
|
||||
|
@ -16,7 +16,7 @@ From a user perspective, utility meters operate in cycles (usually monthly) for
|
||||
Some utility providers have different tariffs according to time/resource availability/etc. The utility meter enables you to define the various tariffs supported by your utility provider and accounts your consumptions in accordance. When tariffs are defined a new entity will show up indicating the current tariff. In order to change the tariff, the user must call a service, usually through an automation that can be based in time or other external source (eg. a REST sensor).
|
||||
|
||||
<div class='note'>
|
||||
Sensors created with this integration are persistent, so values are retained across restarts of home assistant. The first cycle for each sensor, will be incomplete; a sensor tracking daily usage, will start to be accurate the next day after the integration was activated. A sensor tracking monthly usage, will present accurate data starting the first of the next month after being added to home assistant.
|
||||
Sensors created with this integration are persistent, so values are retained across restarts of Home Assistant. The first cycle for each sensor, will be incomplete; a sensor tracking daily usage, will start to be accurate the next day after the integration was activated. A sensor tracking monthly usage, will present accurate data starting the first of the next month after being added to Home Assistant.
|
||||
</div>
|
||||
|
||||
## Configuration
|
||||
|
@ -149,6 +149,8 @@ vacuum:
|
||||
service: script.vacuum_locate_vacuum
|
||||
set_fan_speed:
|
||||
service: script.vacuum_set_fan_speed
|
||||
data_template:
|
||||
speed: "{{ fan_speed }}"
|
||||
fan_speeds:
|
||||
- Low
|
||||
- Medium
|
||||
|
@ -62,4 +62,4 @@ media_player:
|
||||
|
||||
##### Additional configuration for Rasperry Pi
|
||||
|
||||
You can run a VLC Media Player inside your Hassio installation using the [hassio-local-vlc add-on](https://github.com/rodripf/hassio-local-vlc). Using it you can play files on the local network, Internet or files and playlist locally saved to the /share folder of your Hassio installation.
|
||||
You can run a VLC Media Player inside your Hass.io installation using the [hassio-local-vlc add-on](https://github.com/rodripf/hassio-local-vlc). Using it you can play files on the local network, Internet or files and playlist locally saved to the /share folder of your Hass.io installation.
|
||||
|
@ -106,7 +106,7 @@ custom_effects:
|
||||
|
||||
#### Music mode
|
||||
Per default the bulb limits the amount of requests per minute to 60, a limitation which can be bypassed by enabling the music mode. In music mode the bulb is commanded to connect back to a socket provided by the integration and it tries to keep the connection open, which may not be wanted in all use-cases.
|
||||
**Also note that bulbs in music mode will not update their state to "unavailable" if they are disconnected, which can cause delays in Home Assistant. Bulbs in music mode may also not react to commands from HASS the first time if the connection is dropped. If you experience this issue, turn the light off and back on again in the frontend and everything will return to normal.**
|
||||
**Also note that bulbs in music mode will not update their state to "unavailable" if they are disconnected, which can cause delays in Home Assistant. Bulbs in music mode may also not react to commands from Home Assistant the first time if the connection is dropped. If you experience this issue, turn the light off and back on again in the frontend and everything will return to normal.**
|
||||
|
||||
### Initial setup
|
||||
|
||||
|
@ -122,7 +122,7 @@ Go to the **Configuration** page and select the **ZHA** integration that was add
|
||||
|
||||
Click on **ADD DEVICES** to start a scan for new devices.
|
||||
|
||||
Reset your ZigBee devices according to the device instructions provided by the manufacturer (e.g., turn on/off lights up to 10 times, switches usually have a reset button/pin).
|
||||
Reset your Zigbee devices according to the device instructions provided by the manufacturer (e.g., turn on/off lights up to 10 times, switches usually have a reset button/pin).
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
@ -145,7 +145,7 @@ Follow the instructions on [https://github.com/vanviegen/hue-thief/](https://git
|
||||
|
||||
### ZHA Start up issue with Home-Assistant Docker/Hass.io installs on linux hosts
|
||||
|
||||
On Linux hosts ZHA can fail to start during HA startup or restarts because the zigbee USB device is being claimed by the host's modemmanager service. To fix this disable the modemmanger on the host system.
|
||||
On Linux hosts ZHA can fail to start during HA startup or restarts because the Zigbee USB device is being claimed by the host's modemmanager service. To fix this disable the modemmanger on the host system.
|
||||
|
||||
To remove modemmanager from an Debian/Ubuntu host run this command:
|
||||
|
||||
|
@ -11,14 +11,14 @@ The steps below only apply if you've installed Home Assistant via Hass.io. If yo
|
||||
|
||||
</div>
|
||||
|
||||
We are going to help you make your first changes to `configuration.yaml`. To do this, we are going to install an add-on from the Hass.io add-on store: the HASS Configurator. To get to the add-on store, click on the menu icon in the top left, then click on Hass.io. On the new page, open the add-on store tab.
|
||||
We are going to help you make your first changes to `configuration.yaml`. To do this, we are going to install an add-on from the Hass.io add-on store: the Configurator. To get to the add-on store, click on the menu icon in the top left, then click on Hass.io. On the new page, open the add-on store tab.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/hassio/screenshots/main_panel_addon_store.png' />
|
||||
From the Hass.io main panel, open the add-on store.
|
||||
</p>
|
||||
|
||||
Under the "Core" section you will find HASS Configurator.
|
||||
Under the "Core" section you will find Configurator.
|
||||
|
||||
- Click on Configurator and click on INSTALL. When installation is complete, the UI will go to the add-on details page for the configurator.
|
||||
- Now start the add-on by clicking on START.
|
||||
|
@ -19,7 +19,7 @@ So here are guidelines:
|
||||
- Do not talk about YAML if it can be partially/fully done in UI.
|
||||
- Do not tell people about stuff they can do later. This can be added to a
|
||||
2nd tier guide.
|
||||
- The first page of the guide is for installation, hence hass.io specific.
|
||||
- The first page of the guide is for installation, hence Hass.io specific.
|
||||
Other pages should not refer to it except for the page introducing the last
|
||||
page that introduces `configuration.yaml`.
|
||||
|
||||
|
@ -39,7 +39,7 @@ The following will take you through the steps required to install Hass.io.
|
||||
|
||||
3. Optional - set up the WiFi or static IP. There are two possible places for that:
|
||||
- on a blank USB stick with a FAT32 partition having partition label `CONFIG`, while in its root directory, create the `network/my-network` file, or
|
||||
- on the Hassio SD card's first, bootable partition (labeled `hassio-boot`, might not be auto mounted in Linux) create the `CONFIG/network/my-network` file.
|
||||
- on the Hass.io SD card's first, bootable partition (labeled `hassio-boot`, might not be auto mounted in Linux) create the `CONFIG/network/my-network` file.
|
||||
|
||||
For the content of this file, follow the [HassOS howto][hassos-network].
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user