mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-29 12:17:01 +00:00
Merge current into next (#40176)
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: ecspiegel <87676266+ecspiegel@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Co-authored-by: alawadhi3000 <5523980+alawadhi3000@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Franck Nijhof <git@frenck.dev> Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com> Co-authored-by: staticdev <staticdev-support@proton.me> Co-authored-by: tronikos <tronikos@users.noreply.github.com> Co-authored-by: AlCalzone <dominic.griesel@nabucasa.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: essys <essys@users.noreply.github.com> Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com> Co-authored-by: Gord <31004434+googanhiem@users.noreply.github.com> Co-authored-by: Darren Griffin <darren.griffin@live.co.uk> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: hanwg <han.wuguang@gmail.com> Co-authored-by: Adam W <35391288+A-damW@users.noreply.github.com> Co-authored-by: Hessel <hesselonline@users.noreply.github.com> Co-authored-by: Damien Sorel <mistic@strangeplanet.fr> Co-authored-by: Tempura San <tempura.san@gmail.com> Co-authored-by: Manu <4445816+tr4nt0r@users.noreply.github.com> Co-authored-by: J. Diego Rodríguez Royo <jdrr1998@hotmail.com> Co-authored-by: lexitus <38081592+lexitus@users.noreply.github.com> Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com> Co-authored-by: Evgeny Sureev <u@litka.ru> Co-authored-by: Stefan Agner <stefan@agner.ch> Co-authored-by: TomArm <TomArm@users.noreply.github.com> Co-authored-by: starkillerOG <starkiller.og@gmail.com> Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com> Co-authored-by: Guillaume Rischard <github@stereo.lu> Co-authored-by: Geoff <85890024+Thulrus@users.noreply.github.com> Co-authored-by: GhoweVege <85890024+GhoweVege@users.noreply.github.com> Co-authored-by: Logan Rosen <loganrosen@gmail.com> Co-authored-by: Robert Resch <robert@resch.dev> Co-authored-by: RanTheLab <RanTheLab@users.noreply.github.com> Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com> Co-authored-by: John Hess <john@h3ss.com> Co-authored-by: Marco <cdrfun@cdrfun.eu> Co-authored-by: robthebold <38596885+robthebold@users.noreply.github.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Co-authored-by: Pieter Rautenbach <parautenbach@gmail.com> Co-authored-by: Tsvi Mostovicz <ttmost@gmail.com> Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Co-authored-by: Galorhallen <12990764+Galorhallen@users.noreply.github.com> Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me> Co-authored-by: Jan Čermák <sairon@users.noreply.github.com> Co-authored-by: Norbert Rittel <norbert@rittel.de> Co-authored-by: Mr. Snyds <41122989+mrsnyds@users.noreply.github.com> Co-authored-by: Allen Porter <allen.porter@gmail.com> Co-authored-by: Ludovic BOUÉ <lboue@users.noreply.github.com> Co-authored-by: threatdisplay <ajbriones@gmail.com> Co-authored-by: Kamil Breguła <mik-laj@users.noreply.github.com> Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com> Co-authored-by: Timothy <6560631+TimoPtr@users.noreply.github.com> Co-authored-by: Joris Pelgröm <jpelgrom@users.noreply.github.com> Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com> Co-authored-by: Arie Catsman <120491684+catsmanac@users.noreply.github.com> Co-authored-by: Marko Dimjašević <marko@dimjasevic.net> Co-authored-by: karwosts <32912880+karwosts@users.noreply.github.com> Co-authored-by: Guido Schmitz <Shutgun@users.noreply.github.com>
This commit is contained in:
parent
7caa7f718d
commit
630f456aed
54
.github/ISSUE_TEMPLATE/task.yml
vendored
Normal file
54
.github/ISSUE_TEMPLATE/task.yml
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
name: Task
|
||||
description: For staff only - Create a task
|
||||
type: Task
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
## ⚠️ RESTRICTED ACCESS
|
||||
|
||||
**This form is restricted to Open Home Foundation staff, authorized contributors, and integration code owners only.**
|
||||
|
||||
If you are a community member wanting to contribute, please:
|
||||
- For bug reports: Use the [bug report form](https://github.com/home-assistant/core/issues/new?template=bug_report.yml)
|
||||
- For feedback: Use the [feedback form](https://github.com/home-assistant/home-assistant.io/issues/new?template=feedback.yml)
|
||||
- For feature requests: Submit to [Feature Requests](https://github.com/orgs/home-assistant/discussions)
|
||||
|
||||
---
|
||||
|
||||
### For authorized contributors
|
||||
|
||||
Use this form to create tasks for development work, improvements, or other actionable items that need to be tracked.
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: |
|
||||
Provide a clear and detailed description of the task that needs to be accomplished.
|
||||
|
||||
Be specific about what needs to be done, why it's important, and any constraints or requirements.
|
||||
placeholder: |
|
||||
Describe the task, including:
|
||||
- What needs to be done
|
||||
- Why this task is needed
|
||||
- Expected outcome
|
||||
- Any constraints or requirements
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: |
|
||||
Any additional information, links, research, or context that would be helpful.
|
||||
|
||||
Include links to related issues, research, prototypes, roadmap opportunities etc.
|
||||
placeholder: |
|
||||
- Roadmap opportunity: [link]
|
||||
- Epic: [link]
|
||||
- Feature request: [link]
|
||||
- Technical design documents: [link]
|
||||
- Prototype/mockup: [link]
|
||||
- Dependencies: [links]
|
||||
validations:
|
||||
required: false
|
85
.github/workflows/restrict-task-creation.yml
vendored
Normal file
85
.github/workflows/restrict-task-creation.yml
vendored
Normal file
@ -0,0 +1,85 @@
|
||||
name: Restrict task creation
|
||||
|
||||
# yamllint disable-line rule:truthy
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
check-authorization:
|
||||
runs-on: ubuntu-latest
|
||||
# Only run if this is a Task issue type (from the issue form)
|
||||
if: github.event.issue.issue_type == 'Task'
|
||||
steps:
|
||||
- name: Check if user is authorized
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const issueAuthor = context.payload.issue.user.login;
|
||||
|
||||
// First check if user is an organization member
|
||||
try {
|
||||
await github.rest.orgs.checkMembershipForUser({
|
||||
org: 'home-assistant',
|
||||
username: issueAuthor
|
||||
});
|
||||
console.log(`✅ ${issueAuthor} is an organization member`);
|
||||
return; // Authorized, no need to check further
|
||||
} catch (error) {
|
||||
console.log(`ℹ️ ${issueAuthor} is not an organization member, checking codeowners...`);
|
||||
}
|
||||
|
||||
// If not an org member, check if they're a codeowner
|
||||
try {
|
||||
// Fetch CODEOWNERS file from the repository
|
||||
const { data: codeownersFile } = await github.rest.repos.getContent({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
path: 'CODEOWNERS',
|
||||
ref: 'dev'
|
||||
});
|
||||
|
||||
// Decode the content (it's base64 encoded)
|
||||
const codeownersContent = Buffer.from(codeownersFile.content, 'base64').toString('utf-8');
|
||||
|
||||
// Check if the issue author is mentioned in CODEOWNERS
|
||||
// GitHub usernames in CODEOWNERS are prefixed with @
|
||||
if (codeownersContent.includes(`@${issueAuthor}`)) {
|
||||
console.log(`✅ ${issueAuthor} is an integration code owner`);
|
||||
return; // Authorized
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error checking CODEOWNERS:', error);
|
||||
}
|
||||
|
||||
// If we reach here, user is not authorized
|
||||
console.log(`❌ ${issueAuthor} is not authorized to create Task issues`);
|
||||
|
||||
// Close the issue with a comment
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: context.issue.number,
|
||||
body: `Hi @${issueAuthor}, thank you for your contribution!\n\n` +
|
||||
`Task issues are restricted to Open Home Foundation staff, authorized contributors, and integration code owners.\n\n` +
|
||||
`If you would like to:\n` +
|
||||
`- Report a bug: Please use the [bug report form](https://github.com/home-assistant/core/issues/new?template=bug_report.yml)\n` +
|
||||
`- For feedback: Use the [feedback form](https://github.com/home-assistant/home-assistant.io/issues/new?template=feedback.yml)\n` +
|
||||
`- Request a feature: Please submit to [Feature Requests](https://github.com/orgs/home-assistant/discussions)\n\n` +
|
||||
`If you believe you should have access to create Task issues, please contact the maintainers.`
|
||||
});
|
||||
|
||||
await github.rest.issues.update({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: context.issue.number,
|
||||
state: 'closed'
|
||||
});
|
||||
|
||||
// Add a label to indicate this was auto-closed
|
||||
await github.rest.issues.addLabels({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: context.issue.number,
|
||||
labels: ['auto-closed']
|
||||
});
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,6 +8,7 @@ source/_data/analytics_data.json
|
||||
source/_data/blueprint_exchange_data.json
|
||||
source/_data/version_data.json
|
||||
source/_data/alerts_data.json
|
||||
source/_data/language_scores.json
|
||||
source/_stash
|
||||
source/stylesheets/screen.css
|
||||
source/.jekyll-cache/
|
||||
|
6
Gemfile
6
Gemfile
@ -11,8 +11,8 @@ group :development do
|
||||
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
|
||||
gem 'sassc', '2.1.0'
|
||||
gem 'sass-embedded', '1.89.2'
|
||||
gem 'rubocop', '1.77.0'
|
||||
gem 'ruby-lsp', '0.24.2'
|
||||
gem 'rubocop', '1.79.0'
|
||||
gem 'ruby-lsp', '0.26.1'
|
||||
gem 'rackup', '2.2.1'
|
||||
end
|
||||
|
||||
@ -24,7 +24,7 @@ group :jekyll_plugins do
|
||||
end
|
||||
|
||||
gem 'sinatra', '4.1.1'
|
||||
gem 'nokogiri', '1.18.8'
|
||||
gem 'nokogiri', '1.18.9'
|
||||
|
||||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
# and associated library
|
||||
|
32
Gemfile.lock
32
Gemfile.lock
@ -70,7 +70,7 @@ GEM
|
||||
nokogiri (~> 1.12)
|
||||
jekyll-watch (2.2.1)
|
||||
listen (~> 3.0)
|
||||
json (2.12.2)
|
||||
json (2.13.1)
|
||||
kramdown (2.5.1)
|
||||
rexml (>= 3.3.9)
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
@ -83,15 +83,15 @@ GEM
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
logger (1.7.0)
|
||||
mercenary (0.4.0)
|
||||
multi_json (1.15.0)
|
||||
multi_json (1.17.0)
|
||||
mustermann (3.0.3)
|
||||
ruby2_keywords (~> 0.0.1)
|
||||
nokogiri (1.18.8-arm64-darwin)
|
||||
nokogiri (1.18.9-arm64-darwin)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.18.8-x86_64-linux-gnu)
|
||||
nokogiri (1.18.9-x86_64-linux-gnu)
|
||||
racc (~> 1.4)
|
||||
parallel (1.27.0)
|
||||
parser (3.3.8.0)
|
||||
parser (3.3.9.0)
|
||||
ast (~> 2.4.1)
|
||||
racc
|
||||
pathutil (0.16.2)
|
||||
@ -118,8 +118,8 @@ GEM
|
||||
logger
|
||||
regexp_parser (2.10.0)
|
||||
rexml (3.4.1)
|
||||
rouge (4.5.2)
|
||||
rubocop (1.77.0)
|
||||
rouge (4.6.0)
|
||||
rubocop (1.79.0)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (~> 3.17.0.2)
|
||||
lint_roller (~> 1.1.0)
|
||||
@ -127,17 +127,17 @@ GEM
|
||||
parser (>= 3.3.0.2)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 2.9.3, < 3.0)
|
||||
rubocop-ast (>= 1.45.1, < 2.0)
|
||||
rubocop-ast (>= 1.46.0, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
tsort (>= 0.2.0)
|
||||
unicode-display_width (>= 2.4.0, < 4.0)
|
||||
rubocop-ast (1.45.1)
|
||||
rubocop-ast (1.46.0)
|
||||
parser (>= 3.3.7.2)
|
||||
prism (~> 1.4)
|
||||
ruby-lsp (0.24.2)
|
||||
ruby-lsp (0.26.1)
|
||||
language_server-protocol (~> 3.17.0)
|
||||
prism (>= 1.2, < 2.0)
|
||||
rbs (>= 3, < 5)
|
||||
sorbet-runtime (>= 0.5.10782)
|
||||
ruby-progressbar (1.13.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
safe_yaml (1.0.5)
|
||||
@ -159,11 +159,11 @@ GEM
|
||||
rack-protection (= 4.1.1)
|
||||
rack-session (>= 2.0.0, < 3)
|
||||
tilt (~> 2.0)
|
||||
sorbet-runtime (0.5.12216)
|
||||
stringex (2.8.6)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
tilt (2.6.0)
|
||||
tilt (2.6.1)
|
||||
tsort (0.2.0)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
tzinfo-data (1.2025.2)
|
||||
@ -182,11 +182,11 @@ DEPENDENCIES
|
||||
jekyll-paginate (= 1.1.0)
|
||||
jekyll-sitemap (= 1.4.0)
|
||||
jekyll-toc (= 0.19.0)
|
||||
nokogiri (= 1.18.8)
|
||||
nokogiri (= 1.18.9)
|
||||
rackup (= 2.2.1)
|
||||
rake (= 13.3.0)
|
||||
rubocop (= 1.77.0)
|
||||
ruby-lsp (= 0.24.2)
|
||||
rubocop (= 1.79.0)
|
||||
ruby-lsp (= 0.26.1)
|
||||
sass-embedded (= 1.89.2)
|
||||
sass-globbing (= 1.1.5)
|
||||
sassc (= 2.1.0)
|
||||
|
14
Rakefile
14
Rakefile
@ -30,6 +30,8 @@ task :generate do
|
||||
abort("Generating alerts data failed") unless success
|
||||
success = system "rake version_data"
|
||||
abort("Generating version data failed") unless success
|
||||
success = system "rake language_scores_data"
|
||||
abort("Generating language scores data failed") unless success
|
||||
success = system "jekyll build"
|
||||
abort("Generating site failed") unless success
|
||||
if ENV["CONTEXT"] != 'production'
|
||||
@ -67,6 +69,7 @@ task :preview, :listen do |t, args|
|
||||
system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css")
|
||||
system "rake analytics_data"
|
||||
system "rake version_data"
|
||||
system "rake language_scores_data"
|
||||
system "rake alerts_data"
|
||||
jekyllPid = Process.spawn({"OCTOPRESS_ENV"=>"preview"}, "jekyll build -t --watch --incremental")
|
||||
compassPid = Process.spawn("compass watch")
|
||||
@ -113,3 +116,14 @@ task :version_data do
|
||||
file.write(JSON.generate(remote_data))
|
||||
end
|
||||
end
|
||||
|
||||
desc "Download supported language data from ohf-voice.github.io"
|
||||
task :language_scores_data do
|
||||
uri = URI('https://ohf-voice.github.io/intents/language_scores.json')
|
||||
|
||||
remote_data = JSON.parse(Net::HTTP.get(uri))
|
||||
|
||||
File.open("#{source_dir}/_data/language_scores.json", "w") do |file|
|
||||
file.write(JSON.generate(remote_data))
|
||||
end
|
||||
end
|
||||
|
@ -108,8 +108,8 @@ social:
|
||||
# Home Assistant release details
|
||||
current_major_version: 2025
|
||||
current_minor_version: 7
|
||||
current_patch_version: 0
|
||||
date_released: 2025-07-02
|
||||
current_patch_version: 4
|
||||
date_released: 2025-07-28
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
427
package-lock.json
generated
427
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -15,11 +15,11 @@
|
||||
"remark-lint-prohibited-strings": "^4.0.0",
|
||||
"remark-lint-unordered-list-marker-style": "^4.0.1",
|
||||
"remark-stringify": "^11.0.0",
|
||||
"textlint": "^15.1.0",
|
||||
"textlint": "^15.2.1",
|
||||
"textlint-filter-rule-allowlist": "^4.0.0",
|
||||
"textlint-filter-rule-comments": "^1.2.2",
|
||||
"textlint-rule-common-misspellings": "^1.0.1",
|
||||
"textlint-rule-terminology": "^5.2.13"
|
||||
"textlint-rule-terminology": "^5.2.14"
|
||||
},
|
||||
"resolutions": {
|
||||
"minimist": ">=1.2.5"
|
||||
|
@ -166,10 +166,16 @@ module Jekyll
|
||||
|
||||
vars = SafeYAML.load(contents)
|
||||
|
||||
linkId = [component, platform, 'configuration-variables']
|
||||
.compact
|
||||
.reject(&:empty?)
|
||||
.join('-')
|
||||
|
||||
|
||||
<<~MARKUP
|
||||
<div class="config-vars">
|
||||
<h4>
|
||||
Configuration Variables <a class="title-link" name="configuration-variables" href="#configuration-variables"></a>
|
||||
Configuration Variables <a class="title-link" name="#{linkId}" href="##{linkId}"></a>
|
||||
</h4>
|
||||
<div class="configuration-link">
|
||||
<a href="/docs/configuration/" target="_blank">Looking for your configuration file?</a>
|
||||
|
@ -41,15 +41,28 @@ module Jekyll
|
||||
link.set_attribute('rel', rel.join(' ').strip)
|
||||
end
|
||||
|
||||
# Find all headers, make them linkable
|
||||
# Find all headers, make them linkable with unique slug names
|
||||
used_slugs = {}
|
||||
|
||||
dom.css('h2,h3,h4,h5,h6,h7,h8').each do |header|
|
||||
# Skip linked headers
|
||||
next if header.at_css('a')
|
||||
|
||||
# Skip linked headers
|
||||
next if header.at_css('a')
|
||||
|
||||
title = header.content
|
||||
slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
|
||||
header.children = "#{title} <a class='title-link' name='#{slug}' href='\##{slug}'></a>"
|
||||
title = header.content
|
||||
|
||||
# Clean the title to create a slug
|
||||
base_slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
|
||||
|
||||
# Make slug unique by adding counter if needed
|
||||
if used_slugs[base_slug]
|
||||
used_slugs[base_slug] += 1
|
||||
slug = "#{base_slug}-#{used_slugs[base_slug] - 1}"
|
||||
else
|
||||
used_slugs[base_slug] = 1
|
||||
slug = base_slug
|
||||
end
|
||||
|
||||
header.children = "#{title} <a class='title-link' name='#{slug}' href='\##{slug}'></a>"
|
||||
end
|
||||
|
||||
dom.to_s
|
||||
|
@ -636,3 +636,7 @@
|
||||
link: /integrations/zone/
|
||||
aliases:
|
||||
- zones
|
||||
- term: Long-term statistics
|
||||
definition: >-
|
||||
Home Assistant saves long-term statistics for a sensor if the entity has a state_class of measurement, total, or total_increasing. For short-term statistics, a snapshot is taken every 5 minutes. For long-term statistics, an hourly aggregate is stored of the short-term statistics. Short-term statistics are automatically purged after a predefined period (default is 10 days). Long-term statistics are never purged.
|
||||
link: /blog/2021/08/04/release-20218/#long-term-statistics
|
||||
|
@ -96,4 +96,8 @@ Annika Schulz:
|
||||
|
||||
Miranda Bishop:
|
||||
name: Miranda Bishop
|
||||
github: miranda-gb
|
||||
github: miranda-gb
|
||||
|
||||
Timothy Nibeaudeau:
|
||||
name: Timothy Nibeaudeau
|
||||
github: timoPtr
|
||||
|
@ -75,7 +75,7 @@ The quickest way to get these changes, is by re-importing the blueprint. This wi
|
||||
### To re-import a blueprint
|
||||
|
||||
1. Go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**.
|
||||
2. On the blueprint that you want to re-import, select the three-dot menu, and select **Re-import blueprint**.
|
||||
2. On the blueprint that you want to re-import, select the three dots {% icon "mdi:dots-vertical" %} menu, and select **Re-import blueprint**.
|
||||
|
||||
## Updating an imported blueprint in YAML
|
||||
|
||||
|
@ -1203,8 +1203,8 @@ When used with a `schema`, the selector will force the object to be in this form
|
||||
|
||||
```yaml
|
||||
object:
|
||||
label_key: name
|
||||
description_key: percentage
|
||||
label_field: name
|
||||
description_field: percentage
|
||||
multiple: true
|
||||
fields:
|
||||
name:
|
||||
@ -1437,7 +1437,7 @@ For example: `heat_cool`.
|
||||
## Statistic selector
|
||||
|
||||
The statistic selector selects the statistic ID of an entity that records
|
||||
long-term statistics. It may resemble an entity ID (like `sensor.temperature`),
|
||||
{% term "Long-term statistics" %}. It may resemble an entity ID (like `sensor.temperature`),
|
||||
or an external statistic ID (like `external:temperature`).
|
||||
|
||||

|
||||
|
@ -127,7 +127,7 @@ Once you enable debug logging, you ideally need to make the error happen. Run yo
|
||||
|
||||
### Download diagnostics
|
||||
|
||||
After you download logs, you will also want to download the diagnostics for the integration giving you trouble. If the integration provides diagnostics, it will appear in the three dot menu next to the integration configuration.
|
||||
After you download logs, you will also want to download the diagnostics for the integration giving you trouble. If the integration provides diagnostics, it will appear in the three dots {% icon "mdi:dots-vertical" %} menu next to the integration configuration.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/docs/configuration/download-diagnostics.png' alt='Example of Download Diagnostics'>
|
||||
|
@ -93,7 +93,7 @@ Follow these steps to delete an area. It will be removed from all the floors it
|
||||
If you used this area in automations or script as targets, or with voice assistant, these will no longer work.
|
||||
|
||||
1. Go to {% my areas title="**Settings** > **Areas, labels & zones**" %} and select the area card.
|
||||
2. In the top right corner, select the three dot menu. Then, select **Delete**.
|
||||
2. In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu. Then, select **Delete**.
|
||||
|
||||

|
||||
|
||||
|
@ -52,7 +52,7 @@ To rename or delete a category, follow these steps:
|
||||
2. In the top left, select the **Filters** button.
|
||||
|
||||

|
||||
3. In the list, find the category you want to edit and select the three dot menu next to it.
|
||||
3. In the list, find the category you want to edit and select the three dots {% icon "mdi:dots-vertical" %} menu next to it.
|
||||
4. Select **Edit category** or **Delete category**.
|
||||
|
||||

|
||||
|
@ -28,7 +28,7 @@ The Developer Tools is meant for **all** (not just for the developers) to quickl
|
||||
|
||||
The YAML tab provides buttons to trigger a check of configuration files and to reload the configuration. Reloading is needed to apply changes that you've made to the configuration.
|
||||
|
||||
It is almost the same as the option under **Settings** > three dot menu (top right) > **Restart Home Assistant** > **Quick reload**. The only difference is that **Quick reload** reloads all the configuration, whereas this YAML tab allows you to only reload one specific configuration at a time.
|
||||
It is almost the same as the option under **Settings** > three dots {% icon "mdi:dots-vertical" %} menu (top right) > **Restart Home Assistant** > **Quick reload**. The only difference is that **Quick reload** reloads all the configuration, whereas this YAML tab allows you to only reload one specific configuration at a time.
|
||||
|
||||
### Reloading the YAML configuration
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
</li>
|
||||
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
|
||||
<li><a class="external-link" href='https://demo.home-assistant.io'>Try the online demo {% icon "tabler:external-link" %}</a></li>
|
||||
<li><a class="external-link" href='https://building.open-home.io/#/portal'>Sign up for our newsletter {% icon "tabler:external-link" %}</a></li>
|
||||
<li><a class="external-link" href='https://newsletter.openhomefoundation.org/#/portal'>Sign up for our newsletter {% icon "tabler:external-link" %}</a></li>
|
||||
<li><a class="external-link" href="https://twitter.com/Home_Assistant">Follow Home Assistant on X {% icon "tabler:external-link" %}</a></li>
|
||||
{% comment %}
|
||||
<li>
|
||||
|
@ -10,7 +10,7 @@ If you would like to test next release before anyone else, you can install the b
|
||||
content: |
|
||||
|
||||
1. In Home Assistant, go to {% my updates title="**System** > **Updates**" %}.
|
||||
2. In the top-right corner, select the three-dots menu.
|
||||
2. In the top-right corner, select the three dots {% icon "mdi:dots-vertical" %} menu.
|
||||
3. Select **Join beta**.
|
||||
4. Go to the {% my configuration title="**Configuration**" %} panel.
|
||||
5. Install the update that is presented to you.
|
||||
|
@ -13,5 +13,6 @@ To add the automation:
|
||||
- Define any trigger and condition you like.
|
||||
- Select **Add action**, then, select **Other actions**.
|
||||
- Select **Perform action**, and from the list, select the [`homeassistant.update_entity` action](/integrations/homeassistant/#action-homeassistantupdate_entity).
|
||||
- Choose your targets by selecting the **Choose area**, **Choose device**, **Choose entity**, or **Choose label** buttons.
|
||||

|
||||
4. Save your new automation to poll for data.
|
||||
|
@ -12,7 +12,7 @@ In the event that a Home Assistant Core version doesn't play well with your hard
|
||||
|
||||
{% if page.installation == "os"%}
|
||||
|
||||
To upgrade to a specific version, you can use the CLI. The example below shows how to upgrade to `{{current_version}}`.
|
||||
To upgrade to a specific version, you can use the command line (CLI). The example below shows how to upgrade to `{{current_version}}`. To learn how to get started with the command line in Home Assistant, refer to the [SSH add-on setup instructions](/common-tasks/os/#installing-and-using-the-ssh-add-on).
|
||||
|
||||
```bash
|
||||
ha core update --version {{current_version}} --backup
|
||||
|
@ -1,6 +1,6 @@
|
||||
Current transformer (CT) clamp sensors measure your energy usage by looking at the current passing through an electrical wire. This makes it possible to calculate the energy usage. In Home Assistant we have support for off-the-shelf CT clamp sensors or you can build your own.
|
||||
|
||||
- The off-the-shelf solution that we advise is the [Shelly EM](https://www.shelly.com/en/products/shop/shelly-em-120a/shelly-em-50a?tracking=A7FsiPIfUWsFpnfKHa8SRyUYLXjr2hPq). The device has a local API, updates are pushed to Home Assistant and it has a high quality [integration](/integrations/shelly/).
|
||||
- The off-the-shelf solution that we advise is the [Shelly EM](https://www.shelly.com/products/shelly-em-50a-clamp-1?tracking=A7FsiPIfUWsFpnfKHa8SRyUYLXjr2hPq). The device has a local API, updates are pushed to Home Assistant and it has a high quality [integration](/integrations/shelly/).
|
||||
- You can build your own using ESPHome's [CT Clamp Current sensor](https://esphome.io/components/sensor/ct_clamp.html) or energy meter sensors like the [ATM90E32](https://esphome.io/components/sensor/atm90e32.html). For the DIY route, check out [this video by digiblur](https://www.youtube.com/watch?v=n2XZzciz0s4) to get started.
|
||||
- Using a Raspberry Pi, you can use a CT clamp HAT from LeChacal called [RPICT hats](https://lechacal.com/docs/RPICT/Raspberrypi_Current_and_Temperature_Sensor_Adaptor/). They can be stacked to expand the number of lines to monitor. They also provide Active, Apparent, and Reactive power and power factor for single-phase and three-phase installations. They integrate with Home Assistant using MQTT.
|
||||
|
||||
|
@ -134,6 +134,8 @@ To write the HAOS image to the boot medium on your x86-64 hardware, there are 2
|
||||
- If you are getting an **Error unmounting filesystem** error message, stating that the **target is busy**:
|
||||
- Most likely, you are running Ubuntu on your internal disk. Instead, you need to run it on your stick.
|
||||
- Go back to step 3 and during start up, make sure you select **Try Ubuntu** (and NOT **Install Ubuntu**).
|
||||
- Another issue may be that live Ubuntu is using the Swap partition of an existing Linux installation.
|
||||
- If you see "Swap" listed as a partition on the drive you're going to install HAOS, just select the Swap partition, then press the stop button to unmount it and try the restore operation again.
|
||||
6. In the partitions overview, you should now see the restore operation in progress.
|
||||
- The Home Assistant Operating System is now being installed on your system.
|
||||

|
||||
|
@ -1,3 +1,3 @@
|
||||
1. Go to {% my integrations title="**Settings** > **Devices & services**" %} and select the integration card.
|
||||
2. From the list of devices, select the integration instance you want to remove.
|
||||
3. Next to the entry, select the three-dot {% icon "mdi:dots-vertical" %} menu. Then, select **Delete**.
|
||||
3. Next to the entry, select the three dots {% icon "mdi:dots-vertical" %} menu. Then, select **Delete**.
|
||||
|
@ -66,7 +66,7 @@
|
||||
<div class="socials grid__item one-quarter lap-one-half palm-one-whole">
|
||||
|
||||
<h3>Follow us</h3>
|
||||
<p><a class="external-link" href='https://building.open-home.io/#/portal'>Sign up for our newsletter {% icon "tabler:external-link" %}</a></p>
|
||||
<p><a class="external-link" href='https://newsletter.openhomefoundation.org/#/portal'>Sign up for our newsletter {% icon "tabler:external-link" %}</a></p>
|
||||
<div class="icons">
|
||||
<a
|
||||
rel="me"
|
||||
@ -128,7 +128,7 @@
|
||||
|
||||
<div class="web-notice">
|
||||
<p>
|
||||
Contact us <a href="mailto:hello@home-assistant.io">here</a> for media and partnership inquiries. (No technical support!)
|
||||
For partnership inquiries please check out <a href="https://works-with.home-assistant.io/">Works With Home Assistant</a>. For media, get in touch <a href="mailto:media@openhomefoundation.org">here</a>. For other questions, you can contact us <a href="mailto:hello@home-assistant.io">here</a> (No technical support!)
|
||||
</p>
|
||||
<p>
|
||||
Website powered by <a href="https://jekyllrb.com/">Jekyll</a><br />
|
||||
|
@ -20,7 +20,7 @@ ha_integration_type: integration
|
||||
|
||||
Integrates Airthings BLE {% term sensors %} into Home Assistant.
|
||||
|
||||
[Airthings](https://www.airthings.com/) provide different {% term devices %} for measuring the air quality. Initially focusing on radon gas sensors, each device provides a number of different sensors to monitor typical contaminants that's presence contributes to bad air quality in the home.
|
||||
[Airthings](https://www.airthings.com/) provide different {% term devices %} for measuring the air quality. Initially focusing on radon gas sensors, each device provides a number of different sensors to monitor typical contaminants whose presence contributes to bad air quality in the home.
|
||||
|
||||
Requires Airthings hardware and a compatible Bluetooth dongle.
|
||||
|
||||
|
@ -30,7 +30,7 @@ The {% term integration %} can control your Alarm Panel by publishing to the `co
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this {% term integration %}, add the following lines to your {% term "`configuration.yaml`" %} file.
|
||||
To use an MQTT alarm control panel in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
@ -41,6 +41,8 @@ mqtt:
|
||||
command_topic: "home/alarm/set"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -38,11 +38,11 @@ There is support for the following device families within Home Assistant:
|
||||
- **Amazon Fire TV Stick**
|
||||
- **Amazon Fire Tablet**
|
||||
|
||||
and all 3rd party that has Alexa capabilities built-in
|
||||
- **Third-party devices** with built-in Alexa capabilities.
|
||||
|
||||
{% warning %}
|
||||
|
||||
Currently, only MFA-protected Amazon accounts via the authenticator app are supported.
|
||||
This integration requires multifactor authentication using an authentication app (such as Microsoft Authenticator, for example). To enable MFA, in your Amazon account settings select **Login & Security** > **2-step verification** > **Backup methods** > **Add new app**. See [Amazon's documentation](https://www.amazon.com/gp/help/customer/display.html?nodeId=G9MX9LXNWXFKMJYU) for more information.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
@ -98,6 +98,32 @@ The **Alexa Devices** {% term integration %} provides the following entities:
|
||||
- Sensor - temperature and illuminance sensors
|
||||
- Switch - Do not disturb
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Can’t set up the integration
|
||||
|
||||
#### Symptom: "Wrong Country"
|
||||
|
||||
When trying to set up the integration, the form shows the message "Wrong Country".
|
||||
|
||||
##### Description
|
||||
|
||||
This means that the settings in your Amazon account are not aligned to the country you specified.
|
||||
To fix it, please go to <https://www.amazon.XX/hz/mycd/preferences/myx#/home/settings/payment> (replace XX with your country domain. For example **co.uk**):
|
||||
|
||||
- "Kindle payment": check your default address is in your country
|
||||
- "Country/Region": check your country
|
||||
|
||||
#### Symptom: "Not found"
|
||||
|
||||
When trying to set up the integration, the form shows the message "Not found".
|
||||
|
||||
##### Description
|
||||
|
||||
This appears to indicate that your Alexa devices aren't owned by you, but are connected through Amazon Family.
|
||||
This setup isn't supported by the Alexa Mobile app, so it's not supported by this integration.
|
||||
Move the devices to your primary account.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
This integration follows standard integration removal. No extra steps are required.
|
||||
|
@ -31,6 +31,8 @@ For a quick introduction on how to get started with Android TV Remote, check out
|
||||
{% configuration_basic %}
|
||||
Configure Applications List:
|
||||
description: Here you can define applications where the keys are app IDs and the values are app names and icons that will be displayed in the UI.
|
||||
Enable IME:
|
||||
description: Enable this option to be able to get the current app name and send text as keyboard input. Disable it for devices that show 'Use keyboard on mobile device screen' instead of the on-screen keyboard.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Media player
|
||||
@ -581,3 +583,8 @@ cards:
|
||||
- If you are not able to connect to the Android TV device, or are asked to pair it again and again, try force-stopping the Android TV Remote Service and clearing its storage. On the Android TV device, go to **Settings** > **Apps** > **Show system apps**. Then, select **Android TV Remote Service** > **Storage** > **Clear storage**. You will have to pair again.
|
||||
- Some onscreen keyboards enabled by TV manufacturers do not support concurrent virtual and onscreen keyboard use. This presents whenever a text field is selected, such as "search" where a constant **use the keyboard on your mobile device** will show, preventing you from opening the onscreen keyboard to type. This can be overcome by either disabling your 3rd party keyboard and using the default Gboard keyboard or by deselecting **Enable IME** in the **Configure** page of the integration.
|
||||
- If you can't turn on your Nvidia Shield device, go to **Settings** > **Remotes & accessories** > **Simplified wake buttons** and disable the following options: **SHIELD 2019 Remote: Wake on power and Netflix buttons only** and **Controllers: Wake on NVIDIA or logo buttons only**.
|
||||
|
||||
|
||||
## Removing the integration
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
@ -26,7 +26,7 @@ Both [Anthem]'s current and last generation of <abbr title="Audio & video">A/V</
|
||||
|
||||
### A/V Processor
|
||||
|
||||
- [AVM 60](https://www.anthemav.com/products-current/model=avm-60/page=overview)
|
||||
- [AVM 60](https://www.anthemav.com/products-current/model=avm-60/page=overview), [AVM 70](https://www.anthemav.com/products-current/model=avm-70/page=overview)
|
||||
|
||||
### Distribution solution
|
||||
|
||||
|
@ -49,6 +49,6 @@ To delete an application credential, for example because you created a new one,
|
||||

|
||||
|
||||
2. In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Application credentials**.
|
||||
3. Select the credential from the list, select the three-dots menu and select **Delete**.
|
||||
3. Select the credential from the list, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Delete**.
|
||||
|
||||

|
||||
|
@ -20,16 +20,18 @@ Stateless devices such as buttons, remote controls etc are better represented by
|
||||
|
||||
The `mqtt` binary sensor platform optionally supports a list of `availability` topics to receive online and offline messages (birth and LWT messages) from the MQTT device. During normal operation, if the MQTT sensor device goes offline (i.e., publishes `payload_not_available` to an `availability` topic), Home Assistant will display the binary sensor as `unavailable`. If these messages are published with the `retain` flag set, the binary sensor will receive an instant update after subscription and Home Assistant will display the correct availability state of the binary sensor when Home Assistant starts up. If the `retain` flag is not set, Home Assistant will display the binary sensor as `unavailable` when Home Assistant starts up. If no `availability` topic is defined, Home Assistant will consider the MQTT device to be `available` and will display its state.
|
||||
|
||||
To use an MQTT binary sensor in your installation,
|
||||
add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT binary sensor in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mqtt:
|
||||
- binary_sensor:
|
||||
state_topic: "home-assistant/window/contact"
|
||||
state_topic: "basement/window/contact"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
@ -245,10 +247,10 @@ The example below shows a full configuration for a binary sensor:
|
||||
mqtt:
|
||||
- binary_sensor:
|
||||
name: "Window Contact Sensor"
|
||||
state_topic: "home-assistant/window/contact"
|
||||
state_topic: "bedroom/window/contact"
|
||||
payload_on: "ON"
|
||||
availability:
|
||||
- topic: "home-assistant/window/availability"
|
||||
- topic: "bedroom/window/availability"
|
||||
payload_available: "online"
|
||||
payload_not_available: "offline"
|
||||
qos: 0
|
||||
|
@ -373,3 +373,52 @@ For example, unshielded USB 3 port and their cables are especially infamously kn
|
||||
- While Bluetooth is designed to coexist with Wi-Fi, its stronger signal can interfere.
|
||||
- To play it safe, try to place your Bluetooth adapter away from Wi-Fi access points.
|
||||
- Place Bluetooth adapters far away from electrical/power wires/cables, power supplies, and household appliances.
|
||||
|
||||
## Discovered integrations
|
||||
|
||||
The following integrations are automatically discovered by the Bluetooth integration:
|
||||
|
||||
- [Acaia](/integrations/acaia/)
|
||||
- [Airthings BLE](/integrations/airthings_ble/)
|
||||
- [Aranet](/integrations/aranet/)
|
||||
- [BlueMaestro](/integrations/bluemaestro/)
|
||||
- [BTHome](/integrations/bthome/)
|
||||
- [Dormakaba dKey](/integrations/dormakaba_dkey/)
|
||||
- [eQ-3 Bluetooth Smart Thermostats](/integrations/eq3btsmart/)
|
||||
- [EufyLife](/integrations/eufylife_ble/)
|
||||
- [Fjäråskupan](/integrations/fjaraskupan/)
|
||||
- [Gardena Bluetooth](/integrations/gardena_bluetooth/)
|
||||
- [Govee Bluetooth](/integrations/govee_ble/)
|
||||
- [HomeKit Device](/integrations/homekit_controller/)
|
||||
- [Husqvarna Automower BLE](/integrations/husqvarna_automower_ble/)
|
||||
- [iBeacon Tracker](/integrations/ibeacon/)
|
||||
- [IKEA Idasen Desk](/integrations/idasen_desk/)
|
||||
- [Improv via BLE](/integrations/improv_ble/)
|
||||
- [INKBIRD](/integrations/inkbird/)
|
||||
- [IronOS](/integrations/iron_os/)
|
||||
- [Kegtron](/integrations/kegtron/)
|
||||
- [Keymitt MicroBot Push](/integrations/keymitt_ble/)
|
||||
- [Kuler Sky](/integrations/kulersky/)
|
||||
- [La Marzocco](/integrations/lamarzocco/)
|
||||
- [LD2410 BLE](/integrations/ld2410_ble/)
|
||||
- [LED BLE](/integrations/led_ble/)
|
||||
- [Medcom Bluetooth](/integrations/medcom_ble/)
|
||||
- [Melnor Bluetooth](/integrations/melnor/)
|
||||
- [Moat](/integrations/moat/)
|
||||
- [Mopeka](/integrations/mopeka/)
|
||||
- [Motionblinds Bluetooth](/integrations/motionblinds_ble/)
|
||||
- [Oral-B](/integrations/oralb/)
|
||||
- [Probe Plus](/integrations/probe_plus/)
|
||||
- [Qingping](/integrations/qingping/)
|
||||
- [RAPT Bluetooth](/integrations/rapt_ble/)
|
||||
- [RuuviTag BLE](/integrations/ruuvitag_ble/)
|
||||
- [Sensirion BLE](/integrations/sensirion_ble/)
|
||||
- [SensorPro](/integrations/sensorpro/)
|
||||
- [SensorPush](/integrations/sensorpush/)
|
||||
- [Snooz](/integrations/snooz/)
|
||||
- [SwitchBot Bluetooth](/integrations/switchbot/)
|
||||
- [ThermoBeacon](/integrations/thermobeacon/)
|
||||
- [ThermoPro](/integrations/thermopro/)
|
||||
- [Tilt Hydrometer BLE](/integrations/tilt_ble/)
|
||||
- [Xiaomi BLE](/integrations/xiaomi_ble/)
|
||||
- [Yale Access Bluetooth](/integrations/yalexs_ble/)
|
||||
|
@ -10,6 +10,9 @@ ha_domain: mqtt
|
||||
|
||||
The `mqtt` button platform lets you send an MQTT message when the button is pressed in the frontend or the button press action is called. This can be used to expose some service of a remote device, for example reboot.
|
||||
|
||||
To use an MQTT button in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
## Configuration
|
||||
|
||||
```yaml
|
||||
@ -19,6 +22,8 @@ mqtt:
|
||||
command_topic: "home/bedroom/switch1/reboot"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -14,7 +14,8 @@ This can be used with an application or a service capable of sending images thro
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this camera in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT camera in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -23,6 +24,8 @@ mqtt:
|
||||
topic: zanzito/shared_locations/my-device
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
The sample configuration above can be tested by publishing an image to the topic from the console:
|
||||
|
||||
```shell
|
||||
|
@ -213,7 +213,7 @@ Set swing operation mode for climate device
|
||||
| Data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
|
||||
| `swing_mode` | no | New value of swing mode
|
||||
| `swing_mode` | no | New value of swing mode: `off`, `horizontal`, `vertical` or `both`.
|
||||
|
||||
#### Automation example
|
||||
|
||||
@ -227,7 +227,7 @@ automation:
|
||||
target:
|
||||
entity_id: climate.kitchen
|
||||
data:
|
||||
swing_mode: 1
|
||||
swing_mode: both
|
||||
```
|
||||
|
||||
### Action `climate.set_swing_horizontal_mode`
|
||||
|
@ -12,7 +12,7 @@ The `mqtt` climate platform lets you control your MQTT enabled HVAC devices.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this climate platform in your installation, first add the following to your {% term "`configuration.yaml`" %} file.
|
||||
To use an MQTT climate in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
@ -23,6 +23,8 @@ mqtt:
|
||||
mode_command_topic: "study/ac/mode/set"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
action_template:
|
||||
description: A template to render the value received on the `action_topic` with.
|
||||
|
@ -18,14 +18,190 @@ ha_codeowners:
|
||||
- '@VIKTORVAV99'
|
||||
---
|
||||
|
||||
The `Electricity Maps` sensor platform (formerly known as CO2Signal) queries the [Electricity Maps](https://www.electricitymaps.com/) API for the CO2 intensity of a specific region. Data can be collected for your home by using the latitude/longitude or a country code. This API uses the same data as <https://app.electricitymaps.com>. Not all countries/regions in the world are supported, so please consult the app to check local availability.
|
||||
The **Electricity Maps** {% term integration %} (formerly known as CO2Signal) queries the [Electricity Maps](https://www.electricitymaps.com/) API for the CO2 intensity of a specific region.
|
||||
Data can be collected for your home by using the home location, latitude/longitude, or a country code.
|
||||
|
||||
This API uses the same data as shown on the [Electricity Maps app](https://app.electricitymaps.com).
|
||||
Not all countries/regions in the world are supported, so please check the app to verify local availability before setting up the integration.
|
||||
|
||||
## Use case
|
||||
|
||||
The Electricity Maps integration helps you understand the carbon intensity of your electricity grid in real-time. This information can be valuable for:
|
||||
|
||||
- Timing energy-intensive tasks (like charging electric vehicles or running appliances) during periods of lower carbon intensity.
|
||||
- Creating automations that respond to changing grid conditions.
|
||||
- Visualizing your region's progress towards cleaner energy.
|
||||
- Understanding how weather conditions affect renewable energy availability in your area.
|
||||
- Tracking the carbon impact of your home's energy usage in the {% my energy title="**Energy Dashboard**" %}.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To configure and use this integration, you need to obtain a free API key from Electricity Maps by signing up to the Free Tier product on the [Electricity Maps API Portal](https://electricitymaps.com/free-tier).
|
||||
Please be aware that the Free Tier API is limited to one location (called a zone). You need to specify the zone for your home location when creating your account.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Sensor types
|
||||
The integration provides the following configuration options when setting it up:
|
||||
|
||||
When configured, the platform will create two sensors for each configured location: the carbon intensity expressed in `gCO2eq/kWh` and a percentage of how much the grid relies on fossil fuels for production.
|
||||
{% configuration_basic %}
|
||||
Location:
|
||||
description: Choose between using your Home Assistant's configured home location, a specific country code, or custom latitude/longitude coordinates.
|
||||
API key:
|
||||
description: The API key obtained from the Electricity Maps API Portal.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
When configuring the location based on latitude/longitude, you will be prompted to enter the following:
|
||||
|
||||
{% configuration_basic %}
|
||||
Latitude:
|
||||
description: The latitude of your home location.
|
||||
Longitude:
|
||||
description: The longitude of your home location.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
When configuring the location based on a country code, you will be prompted to enter the following:
|
||||
|
||||
{% configuration_basic %}
|
||||
Country code:
|
||||
description: The two-letter ISO 3166-1 alpha-2 country code for your home location (e.g., "US" for the United States, "DE" for Germany).
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Supported functionality
|
||||
|
||||
### Sensors
|
||||
|
||||
The integration creates two sensors for each configured location:
|
||||
|
||||
- **Carbon intensity**: Shows the carbon intensity of electricity production in your area, measured in gCO2eq/kWh (grams of CO2 equivalent per kilowatt-hour).
|
||||
- **Fossil fuel percentage**: Shows what percentage of the electricity grid currently relies on fossil fuels for production.
|
||||
|
||||
## Examples
|
||||
|
||||
### Creating a dashboard card
|
||||
|
||||
You can create a gauge card to visualize the carbon intensity of your electricity:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
type: gauge
|
||||
entity: sensor.electricity_maps_carbon_intensity
|
||||
name: Carbon Intensity
|
||||
min: 0
|
||||
max: 500
|
||||
severity:
|
||||
green: 0
|
||||
yellow: 150
|
||||
red: 300
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Automation example: Run appliances when carbon intensity is low
|
||||
|
||||
This automation starts your dishwasher when the carbon intensity drops below a specific threshold:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
alias: "Run Dishwasher at Low Carbon Intensity"
|
||||
description: "Starts the dishwasher when carbon intensity is low"
|
||||
trigger:
|
||||
- platform: numeric_state
|
||||
entity_id: sensor.electricity_maps_carbon_intensity
|
||||
below: 100
|
||||
for:
|
||||
minutes: 10
|
||||
condition:
|
||||
- condition: time
|
||||
after: "22:00:00"
|
||||
before: "06:00:00"
|
||||
- condition: state
|
||||
entity_id: binary_sensor.dishwasher_ready
|
||||
state: "on"
|
||||
action:
|
||||
- service: switch.turn_on
|
||||
target:
|
||||
entity_id: switch.dishwasher
|
||||
- service: notify.mobile_app
|
||||
data:
|
||||
message: "Dishwasher started during low carbon intensity period ({{ states('sensor.electricity_maps_carbon_intensity') }} gCO2eq/kWh)"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Creating a history graph to track changes
|
||||
|
||||
Add this to your dashboard to track how carbon intensity changes throughout the day:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
type: history-graph
|
||||
entities:
|
||||
- entity: sensor.electricity_maps_carbon_intensity
|
||||
name: Carbon Intensity
|
||||
hours_to_show: 24
|
||||
refresh_interval: 60
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Energy Dashboard integration
|
||||
|
||||
The Electricity Maps integration is automatically used on the Energy Dashboard when set up. The carbon intensity data appears in the Energy Dashboard as a real-time gauge showing the carbon footprint of your household electricity usage.
|
||||
|
||||
You don't need to manually configure anything - the integration is automatically detected and used by the Energy Dashboard to calculate and display your home's carbon emissions based on your energy consumption and the current grid carbon intensity.
|
||||
|
||||
To view this information:
|
||||
1. Navigate to the {% my energy title="**Energy Dashboard**" %}.
|
||||
2. Look for the carbon intensity gauge in the dashboard.
|
||||
|
||||
If you don't see the carbon information in your Energy Dashboard:
|
||||
1. Make sure the Electricity Maps integration is properly set up and working.
|
||||
2. Verify that you have energy monitoring configured in Home Assistant.
|
||||
|
||||
## Data updates
|
||||
|
||||
The integration {% term polling polls %} data from the Electricity Maps API every 15 minutes by default. The actual update frequency may be limited by your API tier's rate limits.
|
||||
|
||||
## Known limitations
|
||||
|
||||
- The Free Tier API is limited to one location. You need to specify the country when creating your account.
|
||||
- The Free Tier API has a limit of 50 requests per hour, but the integration is designed to poll at a rate that won't exceed this limit.
|
||||
- Not all geographic regions are supported by Electricity Maps. Check their app to see if your region has coverage.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Integration fails to set up
|
||||
|
||||
#### Symptom: "The given token is invalid" during setup
|
||||
|
||||
If you see an invalid token error during setup, your API key may be invalid or expired.
|
||||
|
||||
##### Resolution
|
||||
|
||||
1. Verify that you've correctly copied the API key from the Electricity Maps API portal.
|
||||
2. Check if your API key is still active in the Electricity Maps API portal.
|
||||
3. Try generating a new API key if the issue persists.
|
||||
|
||||
#### Symptom: "No data available for selected location" during setup
|
||||
|
||||
If you receive a "No data available for selected location" error, the coordinates or country code you provided might not be supported by Electricity Maps.
|
||||
|
||||
##### Resolution
|
||||
|
||||
1. Check the [Electricity Maps app](https://app.electricitymaps.com) to verify coverage for your location.
|
||||
2. Try using a country code instead of coordinates, or vice versa.
|
||||
3. If your exact location isn't supported, try using the nearest supported location.
|
||||
|
||||
### Sensors show "unavailable"
|
||||
|
||||
If your sensors show as "unavailable" after successful setup, there might be issues with the API connection.
|
||||
|
||||
#### Resolution
|
||||
|
||||
1. Check your internet connection.
|
||||
2. Verify that your API key still has available quota for the day.
|
||||
3. Check if the Electricity Maps service is experiencing downtime.
|
||||
4. Restart Home Assistant if the issue persists.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
This integration follows standard integration removal. No extra steps are required.
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
@ -27,7 +27,8 @@ Optimistic mode can be forced, even if a `state_topic` / `position_topic` is def
|
||||
|
||||
The `mqtt` cover platform optionally supports a list of `availability` topics to receive online and offline messages (birth and LWT messages) from the MQTT cover device. During normal operation, if the MQTT cover device goes offline (i.e., publishes a matching `payload_not_available` to any `availability` topic), Home Assistant will display the cover as "unavailable". If these messages are published with the `retain` flag set, the cover will receive an instant update after subscription and Home Assistant will display correct availability state of the cover when Home Assistant starts up. If the `retain` flag is not set, Home Assistant will display the cover as "unavailable" when Home Assistant starts up.
|
||||
|
||||
To use your MQTT cover in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT cover in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -36,6 +37,8 @@ mqtt:
|
||||
command_topic: "living-room-cover/set"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: "A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`."
|
||||
|
@ -16,7 +16,8 @@ The `mqtt` device tracker {% term integration %} allows you to define new device
|
||||
|
||||
## Configuration
|
||||
|
||||
To use this device tracker in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT device tracker in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -29,6 +30,8 @@ mqtt:
|
||||
state_topic: "location/paulus"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -101,6 +101,7 @@ Currently, the following entities within Home Assistant are supported.
|
||||
|
||||
The list of supported devolo devices depends on the device firmware and the device features. The following devices were tested running firmware 5.6.0:
|
||||
|
||||
- Magic 2 WiFi 6 next
|
||||
- Magic 2 WiFi 6
|
||||
- Magic 2 WiFi next
|
||||
- Magic 2 WiFi 2-1
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: inexogy
|
||||
description: Instructions on how to integrate inexogy within Home Assistant.
|
||||
description: Instructions on how to integrate inexogy smart meters within Home Assistant.
|
||||
ha_category:
|
||||
- Energy
|
||||
- Sensor
|
||||
@ -20,7 +20,7 @@ ha_quality_scale: silver
|
||||
The **inexogy** {% term integration %} allows users to integrate their [inexogy](https://inexogy.com/) smart meters into Home Assistant.
|
||||
The integration is using the [official REST API](https://api.inexogy.com/docs/#/) by inexogy.
|
||||
|
||||
The integration supports the following meters within Home Assistant:
|
||||
The integration supports the following meter types within Home Assistant:
|
||||
|
||||
- [Electricity meter](#electricity-meter)
|
||||
- [Gas meter](#gas-meter)
|
||||
@ -40,14 +40,116 @@ Password:
|
||||
## Electricity meter
|
||||
|
||||
Sensor {% term entities %} are being added for current active power usage and the all-time total consumption.
|
||||
By default, the sensors for phase-specific current active power usage are disabled.
|
||||
By default, the sensors for phase-specific current active power usage are disabled but can be enabled in the entity settings.
|
||||
|
||||
In case you have a combined meter for consumption and production, the all-time total production is added as well.
|
||||
In case you have a bidirectional meter for consumption and production, the all-time total production is added as well.
|
||||
|
||||
## Gas meter
|
||||
|
||||
A Sensor {% term entity %} is being added for total gas consumption.
|
||||
|
||||
## Provided sensors
|
||||
|
||||
Depending on your meter type, different sensors are available:
|
||||
|
||||
### Electricity - Main sensors
|
||||
- `sensor.electricity_<street>_<number>_total_power`: Current power consumption in watts
|
||||
- `sensor.electricity_<street>_<number>_total_consumption`: Total energy consumption in kWh
|
||||
- `sensor.electricity_<street>_<number>_total_production`: Total energy production in kWh (bidirectional meters only)
|
||||
|
||||
### Electricity - Optional sensors (disabled by default)
|
||||
- `sensor.electricity_<street>_<number>_phase_1_power`: Power consumption phase 1 in watts
|
||||
- `sensor.electricity_<street>_<number>_phase_2_power`: Power consumption phase 2 in watts
|
||||
- `sensor.electricity_<street>_<number>_phase_3_power`: Power consumption phase 3 in watts
|
||||
- `sensor.electricity_<street>_<number>_phase_1_voltage`: Voltage phase 1 in volts
|
||||
- `sensor.electricity_<street>_<number>_phase_2_voltage`: Voltage phase 2 in volts
|
||||
- `sensor.electricity_<street>_<number>_phase_3_voltage`: Voltage phase 3 in volts
|
||||
|
||||
### Gas
|
||||
- `sensor.gas_<street>_<number>_total_gas_consumption`: Total gas consumption in cubic meters
|
||||
|
||||
## Data update
|
||||
|
||||
The sensors are updated every 30 seconds. This pulls the latest data available from the inexogy API.
|
||||
Note that this doesn't mean the meter data itself is new every 30 seconds. The frequency at which your meter sends new data to inexogy depends on your meter model and measurement concept.
|
||||
|
||||
## Use cases and examples
|
||||
|
||||
### Energy dashboard
|
||||
|
||||
The total consumption and production sensors provided by this integration are fully compatible with the [Home Assistant Energy Dashboard](/docs/energy/).
|
||||
|
||||
- `sensor.electricity_example_street_11_total_consumption` (total consumption) can be added to the "Grid consumption" field.
|
||||
- `sensor.electricity_example_street_11_total_production` (total production) can be added to the "Return to grid" field.
|
||||
|
||||
### Automations
|
||||
|
||||
You can use the current power sensor (`sensor.electricity_example_street_11_total_power`) to trigger automations based on your electricity usage.
|
||||
|
||||
Example: Send a notification when power consumption exceeds 3000 W for 5 minutes.
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: High Power Consumption Detected
|
||||
trigger:
|
||||
- platform: numeric_state
|
||||
entity_id: sensor.electricity_example_street_11_total_power
|
||||
above: 3000
|
||||
for:
|
||||
minutes: 5
|
||||
action:
|
||||
- service: notify.mobile_app_your_device
|
||||
data:
|
||||
message: "High power consumption detected: {{ states('sensor.electricity_example_street_11_total_power') }} W"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
Example: Turn off high-power devices when photovoltaic production is insufficient (for bidirectional meters).
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Consumption Control Based on PV Output
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.electricity_example_street_11_total_power
|
||||
condition:
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.electricity_example_street_11_total_power
|
||||
above: 0 # Positive value means grid consumption
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
target:
|
||||
entity_id: switch.high_power_device
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### No data or stale sensors
|
||||
|
||||
If your sensors are not showing data or values are stale, check the following:
|
||||
|
||||
1. **inexogy Portal**: Log in to the [inexogy web portal](https://my.inexogy.com/) and check if it shows current data from your meter. If not, there might be an issue with your meter or connection to inexogy.
|
||||
|
||||
2. **Home Assistant Logs**: Check the Home Assistant logs for error messages related to the `inexogy` integration. Authentication errors (`Authentication failed`) mean your email address or password is incorrect.
|
||||
|
||||
3. **API Rate Limits**: The inexogy API has rate limits. Although the integration is designed to stay within these limits, frequent Home Assistant restarts or other tools using the API might lead to temporary blocks.
|
||||
|
||||
### Missing sensors
|
||||
|
||||
- **Production sensors**: The electricity production sensor is only available for bidirectional meters. If you have such a meter but don't see it, check your data in the inexogy portal.
|
||||
- **Phase sensors**: Per-phase power and voltage sensors are disabled by default and not available for all meters. You can enable them on the integration page under "Entities".
|
||||
|
||||
### Network issues
|
||||
|
||||
If you see connection errors, ensure that Home Assistant has a stable internet connection. The integration needs access to `api.inexogy.com` over HTTPS (port 443).
|
||||
|
||||
## Removing the integration
|
||||
|
||||
This integration follows standard integration removal. No extra steps are required.
|
||||
|
@ -19,7 +19,7 @@ The DLNA Digital Media Server integration allows you to browse and play media fr
|
||||
|
||||
## Renaming
|
||||
|
||||
The name/title of the DMS device is the same as the title of the config entry. It can be changed on the Integrations Configuration page from the three-dot menu.
|
||||
The name/title of the DMS device is the same as the title of the config entry. It can be changed on the Integrations Configuration page from the three dots {% icon "mdi:dots-vertical" %} menu.
|
||||
|
||||
## Media source URIs
|
||||
|
||||
|
@ -40,16 +40,22 @@ Host:
|
||||
type: string
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Data updates
|
||||
|
||||
The integration connects locally via WebSocket to the EHEIM Digital main device and requests data updates for all devices every 15 seconds by default.
|
||||
|
||||
## How you can use this integration
|
||||
|
||||
You can use this integration to control and monitor your EHEIM Digital aquarium devices directly from Home Assistant. This includes adjusting settings such as temperature, light brightness, and filter speed, as well as monitoring the status of your devices.
|
||||
|
||||
- **Receive notifications**: Get notified about important events, such as when the filter needs servicing or if there is an error with the device.
|
||||
- **More flexible day/night cycles**: Use Home Assistant's automation and scripting capabilities to create more complex day/night cycles for your aquarium devices than the native EHEIM Digital interface allows.
|
||||
- **Integrate with other devices**: While EHEIM Digital devices can interact with each other in a limited sense (for example, the EHEIM autofeeder can pause the filter pump after feeding), this integration allows you to automate and control your EHEIM Digital devices in conjunction with other smart home devices.
|
||||
|
||||
## Supported devices and entities
|
||||
|
||||
Currently, the following devices and entities are supported:
|
||||
|
||||
### All devices
|
||||
|
||||
#### Number
|
||||
|
||||
- **System LED brightness**: Controlling the brightness of the system LED
|
||||
|
||||
### [EHEIM classicLEDcontrol+e](https://eheim.com/en_GB/aquatics/technology/lighting-control/classicledcontrol-e/classicledcontrol-e)
|
||||
|
||||
#### Lights
|
||||
@ -104,7 +110,48 @@ Currently, the following devices and entities are supported:
|
||||
- **Day start time**: Setting the start time for the day pump speed in Bio mode
|
||||
- **Night start time**: Setting the start time for the night pump speed in Bio mode
|
||||
|
||||
Support for additional EHEIM Digital devices and entities will be added in future updates.
|
||||
### All supported devices
|
||||
|
||||
#### Number
|
||||
|
||||
- **System LED brightness**: Controlling the brightness of the system LED
|
||||
|
||||
## Automations
|
||||
|
||||
### Send a notification when the filter has an error
|
||||
|
||||
You can set up an automation to notify you when the filter has an error. This example uses the `notify.notify` service to send a notification:
|
||||
|
||||
{% details "Example automation to notify about filter errors" %}
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
alias: Notify about filter error
|
||||
description: "This automation sends a notification when the filter has an error."
|
||||
mode: single
|
||||
triggers:
|
||||
- trigger: state
|
||||
entity_id:
|
||||
- sensor.aquarienfilter_error_code
|
||||
to:
|
||||
- rotor_stuck
|
||||
- air_in_filter
|
||||
conditions: []
|
||||
actions:
|
||||
- action: notify.notify
|
||||
metadata: {}
|
||||
data:
|
||||
title: The filter has a problem!
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
## Known limitations
|
||||
|
||||
- The integration does not support other EHEIM Digital devices than those listed above. More devices will be added in future updates. It is, however, supported to have an unsupported device as the main device and supported devices as sub-devices, even though the unsupported device will not have any entities shown in Home Assistant.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
|
@ -144,6 +144,10 @@ Based on the Envoy firmware version, the Envoy may provide inverter device data
|
||||
- **Inverter <abbr title="micro-inverter serial number">SN</abbr> Lifetime energy**: Total energy produced during inverter lifetime (Wh).
|
||||
- **Inverter <abbr title="micro-inverter serial number">SN</abbr> Report duration**: Time in seconds covered by the last report data.
|
||||
|
||||
{% note %}
|
||||
Due to a limitation in the Envoy firmware, the inverter device data is only available when 49 or fewer inverters are configured. When more than 49 inverters are configured, only the 3 power production entities are available for each inverter.
|
||||
{% endnote %}
|
||||
|
||||
<figure>
|
||||
<img src="/images/integrations/enphase_envoy/enphase_envoy_inverter_device.png" alt="micro-inverter device">
|
||||
<figcaption>Micro-inverter device with solar production entities.</figcaption>
|
||||
@ -700,7 +704,9 @@ When using Envoy Metered with <abbr title="current transformers">CT</abbr>
|
||||
|
||||
- not all firmware versions report `Energy production today` and/or `Energy consumption today` correctly. Zero data and unexpected spikes have been reported. In this case, best use a utility meter with the `Lifetime energy production` or `Lifetime energy consumption` entity for daily reporting.
|
||||
- not all firmware versions report `Energy production last seven days` and/or `Energy consumption last seven days` correctly. Zero and unexpected values have been reported.
|
||||
- `Energy production today` has been reported not to reset to zero at the start of the day. Instead, it resets to a non-zero value that gradually increases over time. This issue has also been reported as starting suddenly overnight. For daily reporting, it is recommended to use a utility meter with the `Lifetime energy production` entity.
|
||||
- `Energy production today` and `Energy consumption today` have been reported not to reset to zero at the start of the day. Instead, it resets to a non-zero value that seems to gradually increase over time, although other values have been reported as well. This issue has also been reported as starting suddenly overnight. For daily reporting, it is recommended to use a utility meter with the `Lifetime energy production` or `Lifetime energy consumption` entity.
|
||||
|
||||
- `Energy production today`, `Energy consumption today`, `Energy production last seven days` and `Energy consumption last seven days` have been reported not to reset to zero at the start of the day. Instead, it resets to zero at a later time, often 1 am. This seems to be daylight savings time change related.
|
||||
|
||||
{% details "History examples for Today's energy production value not resetting to zero" %}
|
||||
|
||||
@ -730,7 +736,7 @@ Envoy Metered without installed CT, running older firmware versions, reportedly
|
||||
|
||||
### Lifetime energy production decreases by 1.2 MWh
|
||||
|
||||
Envoy Standard (not Metered), running firmware 8.2.4264, reportedly decreases the **Lifetime energy production** value by 1.2 MWh at irregular times. The current hypothesis is that the step change occurs when one of the inverters exceeds a lifetime value of 1.2 MWh and resets to zero. This leads to the decrease with 1.2 MWh in the aggregated value for all inverters. It's not clear if this also happens for the metered Envoy.
|
||||
Envoy Standard (not Metered), running firmware 8.2.4264, reportedly decreases the **Lifetime energy production** value by 1.2 MWh at irregular times. The current hypothesis is that the step change occurs when one of the inverters exceeds an internal lifetime joules counter of 32 bit, which is 1.19 MWh, and resets to zero. This leads to a decrease of 1.2 MWh in the aggregated value for all inverters. It's not clear if this also happens for the metered Envoy.
|
||||
|
||||
{% details "History example for Envoy Lifetime energy production value decrease" %}
|
||||
|
||||
@ -742,6 +748,14 @@ The example below shows decreases when multiple inverters reach a 1.2 MWh lifeti
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
### Missing inverter data
|
||||
|
||||
If you are not seeing all your installed [inverters](#sensor-entities), and you have more than 49 inverters installed, and you are running HA 2025.7, 2025.7.1, or 2025.7.2, then upgrade HA to 2025.7.3 or newer. Due to a limitation in the Envoy firmware. Only the inverter details for 49 inverters are available. In the mentioned releases, any more inverters got dropped. The 2025.7.3 version fixed this by only using the inverter base data, which does not have this limitation.
|
||||
|
||||
### Missing inverter details
|
||||
|
||||
If you are not seeing [inverters](#sensor-entities) detail data, verify if you have more than 49 inverters installed. Due to a limitation in the Envoy firmware, the inverter device detail data is only available when 49 or fewer inverters are configured. When more than 49 inverters are configured, only the 3 power production entities are available for each inverter.
|
||||
|
||||
### Summed Voltage
|
||||
|
||||
The Envoy Metered in multiphase setup, sums the voltages of the phases measured on the CT for the aggregated data. This may be valid for split-phase, but for 3-phase systems, use the individual phases rather than the summed value.
|
||||
|
@ -12,6 +12,9 @@ The `mqtt` event platform allows you to process event info from an MQTT message.
|
||||
|
||||
## Configuration
|
||||
|
||||
To use an MQTT event entity in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mqtt:
|
||||
@ -21,6 +24,8 @@ mqtt:
|
||||
- press
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -18,7 +18,7 @@ When a `state_topic` is not available, the fan will work in optimistic mode. In
|
||||
|
||||
Optimistic mode can be forced even if a `state_topic` is available. Try to enable it if you are experiencing incorrect fan operation.
|
||||
|
||||
To enable MQTT fans in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
To use an MQTT fan in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
@ -28,6 +28,8 @@ mqtt:
|
||||
command_topic: "bedroom_fan/on/set"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -28,30 +28,38 @@ ha_codeowners:
|
||||
ha_integration_type: hub
|
||||
---
|
||||
|
||||
The AVM FRITZ!SmartHome integration for Home Assistant allows you to integrate [AVM Smart Home](https://en.avm.de/products/smart-home/) (_former AVM FRITZ!DECT_) devices like plugs, thermostats or shutter drivers as also trigger so called smart home templates (_contains settings for Smart Home devices of the same type_).
|
||||
The AVM FRITZ!SmartHome integration for Home Assistant allows you to integrate [AVM Smart Home](https://en.fritz.com/products/smart-home/) (_former AVM FRITZ!DECT_) devices like plugs, thermostats or shutter drivers as also trigger so called smart home templates (_contains settings for Smart Home devices of the same type_).
|
||||
|
||||
#### Tested devices
|
||||
|
||||
- [FRITZ!Box 5590 Fiber][fritzbox_5590_fiber]
|
||||
- FRITZ!Box 6490 Cable
|
||||
- [FRITZ!Box 6591 Cable][fritzbox_6591_cable]
|
||||
- [FRITZ!Box 7590][fritzbox_7590]
|
||||
- [FRITZ!Box 7590 AX][fritzbox_7590_ax]
|
||||
- [FRITZ!Box 7530 AX][fritzbox_7530_ax]
|
||||
- FRITZ!Box 7490
|
||||
- FRITZ!Box 7430
|
||||
- [FRITZ!DECT 200][fritzdect_200]
|
||||
- [FRITZ!DECT 210][fritzdect_210]
|
||||
- [FRITZ!DECT 301][fritzdect_301]
|
||||
- [FRITZ!DECT 302][fritzdect_302]
|
||||
- [FRITZ!DECT 500][fritzdect_500]
|
||||
- [Eurotronic Comet DECT][eurotronic_comet_dect]
|
||||
- [Magenta SmartHome LED E27 Color][magenta_led_e27_color]
|
||||
- Magenta SmartHome LED E27 warmwhite
|
||||
- [Rademacher RolloTron DECT 1213][rademacher_rollotron_dect_1213]
|
||||
- FRITZ!Box routers
|
||||
- [FRITZ!Box 5590 Fiber][fritzbox_5590_fiber]
|
||||
- FRITZ!Box 6490 Cable
|
||||
- FRITZ!Box 6591 Cable
|
||||
- FRITZ!Box 7590
|
||||
- FRITZ!Box 7490
|
||||
- FRITZ!Box 7430
|
||||
- [FRITZ!Box 7590 AX][fritzbox_7590_ax]
|
||||
- [FRITZ!Box 7530 AX][fritzbox_7530_ax]
|
||||
- [FRITZ!Smart Gateway][fritz_smart_gateway]
|
||||
- FRITZ!SmartHome devices
|
||||
- [FRITZ!Smart Energy 200][fritzdect_200] (_former FRITZ!DECT 200_)
|
||||
- [FRITZ!Smart Energy 210][fritzdect_210] (_former FRITZ!DECT 210_)
|
||||
- FRITZ!Smart Thermo 301 (_former FRITZ!DECT 301_)
|
||||
- [FRITZ!Smart Thermo 302][fritzdect_302] (_former FRITZ!DECT 302_)
|
||||
- FRITZ!DECT 500
|
||||
- Smart home devices from other vendors
|
||||
- Eurotronic Comet DECT
|
||||
- Magenta SmartHome LED E27 Color
|
||||
- Magenta SmartHome LED E27 warmwhite
|
||||
- [Homepilot RolloTron DECT 1213][rademacher_rollotron_dect_1213] (_former Rademacher RolloTron DECT 1213_)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Please note that in a [mesh](https://en.fritz.com/service/knowledge-base/dok/FRITZ-Box-7590/3329_Mesh-with-FRITZ/) setup, only the FRITZ!Box with the mesh master role should be added with the AVM FRITZ!SmartHome integration.
|
||||
|
||||
### Username
|
||||
|
||||
It is recommended to create a separate user to connect Home Assistant to your FRITZ!Box. To create a user, in the FRITZ!Box go to **System** > **FRITZ!Box Users** > **Users** > **Add User**. Make sure the user has the **Smart Home** permission.
|
||||
|
||||
{% note %}
|
||||
@ -64,28 +72,28 @@ If you still want to use the predefined user, please note that as of FRITZ!OS 7.
|
||||
Host:
|
||||
description: "The hostname or IP address of your FRITZ!Box router."
|
||||
Username:
|
||||
description: "Name of the user to connect Home Assistant to your FRITZ!Box (_see [prerequisites](#prerequisites)_)"
|
||||
description: "Name of the user to connect Home Assistant to your FRITZ!Box (_see [Username](#username)_)"
|
||||
Password:
|
||||
description: "Password for the user to connect Home Assistant to your FRITZ!Box (_see [prerequisites](#prerequisites)_)"
|
||||
description: "Password for the user to connect Home Assistant to your FRITZ!Box (_see [Username](#username)_)"
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Data fetching and limitations
|
||||
|
||||
Since the API of the FRITZ!Box does not provide a push mechanism, this integration polls the data every 30 seconds from the FRITZ!Box. Because of this, the integration can't support the main features of event-based devices like the [FRITZ!DECT 350][fritzdect_350] door/window contact sensors or the [FRITZ!DECT 440][fritzdect_440] buttons (_see the [other devices](#other-devices) section for details_).
|
||||
Since the API of the FRITZ!Box does not provide a push mechanism, this integration polls the data every 30 seconds from the FRITZ!Box. Because of this, the integration can't support the main features of event-based devices like the [FRITZ!Smart Control 350][fritzdect_350] door/window contact sensors or the [FRITZ!Smart Control 440][fritzdect_440] buttons (_see the [other devices](#other-devices) section for details_).
|
||||
|
||||
## Devices
|
||||
|
||||
### Light bulbs
|
||||
|
||||
Light bulbs like the [FRITZ!DECT 500][fritzdect_500] or [Magenta SmartHome LED E27 Color][magenta_led_e27_color] will be integrated as {% term light %} entities.
|
||||
Light bulbs like the FRITZ!DECT 500 or Magenta SmartHome LED E27 Color will be integrated as {% term light %} entities.
|
||||
|
||||
{% note %}
|
||||
The [FRITZ!DECT 500][fritzdect_500] light bulb supports only 36 colors. When a color is picked in Home Assistant that is not supported by the device, a color that comes close will be activated.
|
||||
The FRITZ!DECT 500 light bulb supports only 36 colors. When a color is picked in Home Assistant that is not supported by the device, a color that comes close will be activated.
|
||||
{% endnote %}
|
||||
|
||||
### Plugs
|
||||
|
||||
Plugs like the [FRITZ!DECT 200][fritzdect_200] or [FRITZ!DECT 210][fritzdect_210] will be integrated as {% term switch %} entities.
|
||||
Plugs like the [FRITZ!Smart Energy 200][fritzdect_200] or [FRITZ!Smart Energy 210][fritzdect_210] will be integrated as {% term switch %} entities.
|
||||
|
||||
Further there are additional {% term sensor %} and {% term binary_sensor "binary sensor" %} entities created for each device, based on its capabilities:
|
||||
|
||||
@ -99,15 +107,15 @@ Further there are additional {% term sensor %} and {% term binary_sensor "binary
|
||||
|
||||
### Shutter drivers
|
||||
|
||||
Shutter drivers like the [Rademacher RolloTron DECT 1213][rademacher_rollotron_dect_1213] will be integrated as {% term cover %} entities.
|
||||
Shutter drivers like the [Homepilot RolloTron DECT 1213][rademacher_rollotron_dect_1213] will be integrated as {% term cover %} entities.
|
||||
|
||||
### Templates
|
||||
|
||||
Self defined [templates](https://en.avm.de/guide/three-smart-home-templates-that-will-make-your-life-easier) within the FRITZ!Box smart home configuration menu, will be integrated as {% term button %} entities and those can be triggered from within Home Assistant.
|
||||
Self defined [templates](https://en.fritz.com/guide/three-smart-home-templates-that-will-make-your-life-easier) within the FRITZ!Box smart home configuration menu, will be integrated as {% term button %} entities and those can be triggered from within Home Assistant.
|
||||
|
||||
### Thermostats
|
||||
|
||||
Thermostats like the [FRITZ!DECT 301][fritzdect_301], [FRITZ!DECT 302][fritzdect_302] or [Eurotronic Comet DECT][eurotronic_comet_dect] will be integrated as {% term climate %} entities.
|
||||
Thermostats like the FRITZ!Smart Thermo series or Eurotronic Comet DECT will be integrated as {% term climate %} entities.
|
||||
|
||||
Further there are additional {% term sensor %} and {% term binary_sensor "binary sensor" %} entities created for each device which can be useful for {% term automations %} and {% term templates %}, based on its capabilities:
|
||||
|
||||
@ -127,7 +135,7 @@ Further there are additional {% term sensor %} and {% term binary_sensor "binary
|
||||
|
||||
### Other devices
|
||||
|
||||
Some devices like the [FRITZ!DECT 350][fritzdect_350] or the [FRITZ!DECT 440][fritzdect_440] can't be controlled via this integration, but its sensors can still be integrated.
|
||||
Event based devices like motion detection sensors or window/door contacts or buttons (_for example, [FRITZ!Smart Control 350][fritzdect_350] or the [FRITZ!Smart Control 440][fritzdect_440]_) cannot be controlled or used via this integration, but their sensors can still be integrated.
|
||||
|
||||
The availability of these {% term sensor %} and {% term binary_sensor "binary sensor" %} entities depends on the features and capabilities of the connected device and can be one or multiple of:
|
||||
|
||||
@ -139,20 +147,15 @@ The availability of these {% term sensor %} and {% term binary_sensor "binary se
|
||||
- Open window detected
|
||||
- Temperature
|
||||
|
||||
[fritzbox_5590_fiber]: https://en.avm.de/products/fritzbox/fritzbox-5590-fiber
|
||||
[fritzbox_6591_cable]: https://en.avm.de/products/fritzbox/fritzbox-6591-cable
|
||||
[fritzbox_7590]: https://en.avm.de/products/fritzbox/fritzbox-7590
|
||||
[fritzbox_7590_ax]: https://en.avm.de/products/fritzbox/fritzbox-7590-ax
|
||||
[fritzbox_7530_ax]: https://en.avm.de/products/fritzbox/fritzbox-7530-ax
|
||||
[fritzdect_200]: https://en.avm.de/products/smart-home/fritzdect-200
|
||||
[fritzdect_210]: https://en.avm.de/products/smart-home/fritzdect-210
|
||||
[fritzdect_301]: https://en.avm.de/products/smart-home/fritzdect-301
|
||||
[fritzdect_302]: https://en.avm.de/products/smart-home/fritzdect-302
|
||||
[fritzdect_350]: https://en.avm.de/products/smart-home/fritzdect-350
|
||||
[fritzdect_440]: https://en.avm.de/products/smart-home/fritzdect-440
|
||||
[fritzdect_500]: https://en.avm.de/products/smart-home/fritzdect-500
|
||||
[eurotronic_comet_dect]: https://eurotronic.org/produkte/dect-ule-heizkoerperthermostat/comet-dect
|
||||
[magenta_led_e27_color]: https://www.smarthome.de/geraete/smarthome-led-lampe-e27-farbig-weiss
|
||||
[fritzbox_5590_fiber]: https://en.fritz.com/products/fritzbox/fritzbox-5590-fiber
|
||||
[fritzbox_7590_ax]: https://en.fritz.com/products/fritzbox/fritzbox-7590-ax
|
||||
[fritzbox_7530_ax]: https://en.fritz.com/products/fritzbox/fritzbox-7530-ax
|
||||
[fritzdect_200]: https://en.fritz.com/products/smart-home/fritzsmart-energy-200
|
||||
[fritzdect_210]: https://en.fritz.com/products/smart-home/fritzsmart-energy-210
|
||||
[fritzdect_302]: https://en.fritz.com/products/smart-home/fritzsmart-thermo-302
|
||||
[fritzdect_350]: https://en.fritz.com/products/smart-home/fritzsmart-control-350
|
||||
[fritzdect_440]: https://en.fritz.com/products/smart-home/fritzsmart-control-440
|
||||
[fritz_smart_gateway]: https://en.fritz.com/products/smart-home/fritzsmart-gateway
|
||||
[rademacher_rollotron_dect_1213]: https://www.rademacher.de/shop/rollladen-sonnenschutz/elektrischer-gurtwickler/rollotron-dect-1213
|
||||
|
||||
## Troubleshooting
|
||||
|
@ -246,3 +246,8 @@ Then you can converse with Google Assistant by tapping the Assist icon at the to
|
||||
Or by calling the `conversation.process` action.
|
||||
|
||||
Note: due to a bug in the Google Assistant API, not all responses contain text, especially for home control commands, like turn on the lights. These will be shown as `<empty response>`. For those, Google Assistant responds with HTML and Home Assistant integrations are [not allowed](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md) to parse HTML.
|
||||
|
||||
|
||||
## Removing the integration
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
@ -243,3 +243,7 @@ logger:
|
||||
homeassistant.components.conversation.chat_log: debug
|
||||
homeassistant.components.google_generative_ai_conversation: debug
|
||||
```
|
||||
|
||||
## Removing the integration
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
@ -22,7 +22,6 @@ To enable local control on your Govee device, refer to the instructions availabl
|
||||
|
||||
## Supported devices
|
||||
|
||||
H6008,
|
||||
H6022,
|
||||
H6042,
|
||||
H6046,
|
||||
|
@ -40,6 +40,7 @@ Any Gree Smart device working with the Gree+ app should be supported, including
|
||||
- Heiwa
|
||||
- Ekokai
|
||||
- Lessar
|
||||
- Tosot
|
||||
|
||||
## Climate
|
||||
|
||||
|
@ -25,10 +25,6 @@ It required that `hddtemp` is started or running in daemon mode on a local or re
|
||||
hddtemp -dF
|
||||
```
|
||||
|
||||
{% important %}
|
||||
You can't use this sensor in a container (only Home Assistant Core is supported) as it requires access to `hddtemp` which is not available in a container-based setup.
|
||||
{% endimportant %}
|
||||
|
||||
## Configuration
|
||||
|
||||
To setup a HDDTemp to your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
|
@ -70,7 +70,7 @@ Password:
|
||||
Once setup, the host name or IP address used to access the HEOS System can be changed by reconfiguring the integration.
|
||||
|
||||
1. Go to **{% my integrations icon title="Settings > Devices & Services" %}**.
|
||||
2. Select **Denon HEOS**. Click the three-dot {% icon "mdi:dots-vertical" %} menu and then select **Reconfigure**.
|
||||
2. Select **Denon HEOS**. Click the three dots {% icon "mdi:dots-vertical" %} menu and then select **Reconfigure**.
|
||||
3. Enter a new [host name or IP address](/integrations/heos/#host).
|
||||
4. Click Submit to complete the reconfiguration.
|
||||
|
||||
@ -79,7 +79,7 @@ Once setup, the host name or IP address used to access the HEOS System can be ch
|
||||
This integration follows standard integration removal. No extra steps are required.
|
||||
|
||||
1. Go to **{% my integrations icon title="Settings > Devices & Services" %}**.
|
||||
2. Select **Denon HEOS**. Click the three-dot {% icon "mdi:dots-vertical" %} menu and then select **Delete**.
|
||||
2. Select **Denon HEOS**. Click the three dots {% icon "mdi:dots-vertical" %} menu and then select **Delete**.
|
||||
|
||||
## Actions
|
||||
|
||||
|
@ -121,7 +121,7 @@ Depending on the sensor type you choose, the `history_stats` integration can sho
|
||||
|
||||
- **time**: The default value, which is the tracked time, in hours
|
||||
- **ratio**: The tracked time divided by the length of your period, as a percentage
|
||||
- **count**: How many times the tracked entity matched the configured state during the time period. This will count states (for example, how many times a light was in the `on` state during the time period), as opposed to counting state transitions (for example, how many times a light was *turned* `on`). The difference is if the entity was already in the desired state at the start of the time period, that scenario will be counted with this sensor type.
|
||||
- **count**: How many times the tracked entity matched the configured state during the time period. This will count states (for example, how many times a light was in the `on` state during the time period), as opposed to counting state transitions (for example, how many times a light was *turned* `on`). The difference is if the entity was already in the desired state at the start of the time period, that scenario will be counted with this sensor type. If a list of states is provided to the state option, transitions between defined states are considered all part of a single event and do not increment the count.
|
||||
|
||||
{% note %}
|
||||
For a **time** or **count** sensor that uses a time period that does not slide (such as one that resets upon each hour, as opposed to one which considers the trailing 60 minutes), consider using [customization](/docs/configuration/customizing-devices/#customizing-an-entity-in-yaml) to change the `state_class` to `total_increasing` to generate statistics that track the `sum`. This is useful when emulating the behavior of a `utility_meter` helper that has a defined reset cycle. Without intervention, the `state_class` of any `history_stats` sensor will be `measurement` and will therefore generate `average`, `min`, and `max` statistics.
|
||||
|
@ -1130,9 +1130,7 @@ actions:
|
||||
device_id: "your_device_id"
|
||||
affects_to: "active_program"
|
||||
program: "dishcare_dishwasher_program_eco_50"
|
||||
options:
|
||||
- key: "dishcare_dishwasher_option_silence_on_demand"
|
||||
value: true
|
||||
dishcare_dishwasher_option_silence_on_demand: true
|
||||
else:
|
||||
- service: home_connect.set_program_and_options
|
||||
data:
|
||||
|
@ -100,7 +100,7 @@ This integration supports reconfiguration, allowing you to change the IP address
|
||||
|
||||
1. Go to {% my integrations title="**Settings** > **Devices & services**" %} and select the homee integration card.
|
||||
2. From the list of hubs, select the one you want to reconfigure.
|
||||
3. Next to the entry, select the three-dot {% icon "mdi:dots-vertical" %} menu. Then, select **Reconfigure**.
|
||||
3. Next to the entry, select the three dots {% icon "mdi:dots-vertical" %} menu. Then, select **Reconfigure**.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
|
@ -18,7 +18,8 @@ When a `state_topic` is not available, the humidifier will work in optimistic mo
|
||||
|
||||
Optimistic mode can be forced even if a `state_topic` is available. Try to enable it if you are experiencing incorrect humidifier operation.
|
||||
|
||||
To enable MQTT humidifiers in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT humidifier in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -28,6 +29,8 @@ mqtt:
|
||||
target_humidity_command_topic: "bedroom_humidifier/humidity/set"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
action_template:
|
||||
description: A template to render the value received on the `action_topic` with.
|
||||
|
@ -18,7 +18,8 @@ An alternative setup is to use the `url_topic` option to receive an image URL fo
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this image in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT image entity in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -27,6 +28,8 @@ mqtt:
|
||||
url_topic: mynas/status/url
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -26,6 +26,10 @@ This integration allows adding an [Immich](https://immich.app/) user account to
|
||||
|
||||
You need to [obtain the API key](https://immich.app/docs/features/command-line-interface#obtain-the-api-key) for your user account in your Immich instance.
|
||||
|
||||
### API key permissions
|
||||
|
||||
For full functionality, enable the `album.read` permission when creating your API key. Without this permission, the media source integration will not work, but all monitoring sensors will continue to function normally.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
{% configuration_basic %}
|
||||
|
@ -16,32 +16,30 @@ ha_integration_type: integration
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
The Jewish Calendar (`jewish_calendar`) {% term integration %} displays various information related to the Jewish Calendar as various sensors.
|
||||
The Jewish Calendar {% term integration %} exposes Jewish calendar information through multiple sensors.
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
{% configuration_basic %}
|
||||
|
||||
### Language
|
||||
Language:
|
||||
description: The language to be used for textual sensors in Hebrew (א' תשרי תשע"ט) or English characters (1 Tishrei 5779). Valid options are `english` and `hebrew`. Default value is `english`.
|
||||
|
||||
Default: English
|
||||
Whether to represent the sensors in Hebrew (א' תשרי תשע"ט) or English characters (1 Tishrei 5779). Valid options are 'english' and 'hebrew'.
|
||||
Diaspora:
|
||||
description: Consider the location as diaspora (חוץ לארץ) for calculation of the weekly portion and holidays. By default it will consider the location as Israel (One day Yom Tov), setting it to true will show a second day Yom Tov.
|
||||
|
||||
### Diaspora
|
||||
Latitude, Longitude, Time Zone and Elevation:
|
||||
description: Allows you to override the default location information provided by Home Assistant for the calculations.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
Default: False
|
||||
Consider the location as diaspora (חוץ לארץ) for calculation of the weekly portion and holidays. By default it will consider the location as Israel (One day Yom Tov), setting it to true will show a second day Yom Tov.
|
||||
## Advanced Options
|
||||
|
||||
### Minutes before sunset for candle lighting
|
||||
{% configuration_basic %}
|
||||
Minutes before sunset for candle lighting:
|
||||
description: How many minutes before sunset is considered candle-lighting time. In Israel, this is usually 20, 30, or 40 minutes depending on your location. Outside of Israel, it's customary to use either 18 or 24. *The default is set to 18 minutes.*
|
||||
|
||||
Default: 18 minutes
|
||||
This defines how many minutes before sunset is considered candle-lighting time. In Israel, this is usually 20/30/40 depending on your location. Outside of Israel, you probably want to use 18/24.
|
||||
|
||||
### Minutes after sunset for Havdalah
|
||||
|
||||
By default havdalah time is considered the moment the sun is 8.5 degrees below the horizon. By specifying this offset, havdalah time will be calculated as a static offset past the time of sunset.
|
||||
|
||||
### Latitude, Longitude, Time Zone and Elevation
|
||||
|
||||
Allows you to override the default location information provided by Home Assistant for the calculations.
|
||||
Minutes after sunset for Havdalah:
|
||||
description: By default havdalah time is considered the moment the sun is 8.5 degrees below the horizon. By specifying this offset, havdalah time will be calculated as a static time offset relative to sunset.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Sensor list
|
||||
|
||||
|
@ -12,7 +12,8 @@ The `mqtt` `lawn_mower` platform allows controlling a lawn mower over MQTT.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable MQTT lawn mower in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT lawn mower in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -22,6 +23,8 @@ mqtt:
|
||||
name: "Test Lawn Mower"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
activity_state_topic:
|
||||
description: The MQTT topic subscribed to receive an update of the activity. Valid activities are `mowing`, `paused`, `docked`, and `error`. Use `value_template` to extract the activity state from a custom payload. When payload `none` is received, the activity state will be reset to `unknown`.
|
||||
|
@ -42,6 +42,9 @@ Optimistic mode can be forced, even if the `state_topic` is available. Try to en
|
||||
Home Assistant internally assumes that a light's state corresponds to a defined `color_mode`.
|
||||
The state of MQTT lights with default schema and support for both color and color temperature will set the `color_mode` according to the last received valid color or color temperature. Optionally, a `color_mode_state_topic` can be configured for explicit control of the `color_mode`.
|
||||
|
||||
To use an MQTT basic light in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mqtt:
|
||||
@ -49,6 +52,8 @@ mqtt:
|
||||
command_topic: "office/rgb1/light/switch"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
@ -542,6 +547,9 @@ When a state topic is not available, the light will work in optimistic mode. In
|
||||
|
||||
Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly.
|
||||
|
||||
To use an MQTT JSON light in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mqtt:
|
||||
@ -550,6 +558,8 @@ mqtt:
|
||||
command_topic: "home/rgb1/set"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
@ -948,6 +958,9 @@ When a state topic is not available, the light will work in optimistic mode. In
|
||||
|
||||
Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly.
|
||||
|
||||
To use an MQTT template light in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mqtt:
|
||||
@ -958,6 +971,8 @@ mqtt:
|
||||
command_off_template: "off"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -21,7 +21,9 @@ Optimistic mode can be forced, even if state topic is available. Try to enable i
|
||||
It's mandatory for locks to support `lock` and `unlock`. A lock may optionally support `open`, (e.g. to open the bolt in addition to the latch), in this case, `payload_open` is required in the configuration. If the lock is in optimistic mode, it will change states to `unlocked` when handling the `open` command.
|
||||
|
||||
An MQTT lock can also report the intermediate states `unlocking`, `locking` or `jammed` if the motor reports a jammed state.
|
||||
To enable MQTT locks in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
|
||||
To use an MQTT lock in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -30,6 +32,8 @@ mqtt:
|
||||
command_topic: "home/frontdoor/set"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -313,11 +313,11 @@ Follow these steps if you want to remove a device from a particular Matter contr
|
||||
|
||||
1. Go to {% my integrations title="**Settings** > **Devices & services**" %} and on the **Matter** integration card, select **Devices**.
|
||||
2. From the list of devices, select the device you want to remove from a controller.
|
||||
3. In the **Device info** section, next to **Share device**, select the three-dot menu. Then, select **Manage fabrics**.
|
||||
3. In the **Device info** section, next to **Share device**, select the three dots {% icon "mdi:dots-vertical" %} menu. Then, select **Manage fabrics**.
|
||||
4. From the list, remove the controller of interest.
|
||||
- If you want to remove Apple Home, also remove the Apple Keychain entry.
|
||||

|
||||
5. If you want to remove the device from Home Assistant itself, select the three-dot menu and select **Delete**.
|
||||
5. If you want to remove the device from Home Assistant itself, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Delete**.
|
||||
|
||||
## About Matter device information
|
||||
|
||||
|
@ -16,7 +16,7 @@ related:
|
||||
ha_quality_scale: silver
|
||||
---
|
||||
|
||||
The [Model Context Protocol](https://modelcontextprotocol.io) is an open protocol that standardizes how applications provide context to <abbr title="Large Language Models">LLMs</abbr>. The **Model Context Protocol Server** (MCP) integration enables using Home Assistant to provide context for <abbr title="Model Context Protocol">MCP</abbr> LLM Client Applications. For example, you can expose your Google Tasks To-do list as a tool for Claude Desktop.
|
||||
The [Model Context Protocol](https://modelcontextprotocol.io) is an open protocol that standardizes how applications provide context to <abbr title="Large Language Models">LLMs</abbr>. The **Model Context Protocol Server** (MCP) integration enables using Home Assistant to provide context for <abbr title="Model Context Protocol">MCP</abbr> LLM Client Applications. For example, you can control your lights from Claude Desktop, or expose your Google Tasks to-do list as a tool.
|
||||
|
||||
Controlling Home Assistant is done by providing <abbr title="Model Context Protocol">MCP</abbr> clients access to the Assist API of Home Assistant. You can control what devices and entities it can access from the {% my voice_assistants title="exposed entities page" %}.
|
||||
|
||||
@ -186,7 +186,6 @@ subset of MCP features:
|
||||
| Sampling | ❌ |
|
||||
| Notifications | ❌ |
|
||||
|
||||
Home Assistant does not yet provide built-in tools that can fetch device state.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
|
@ -41,9 +41,9 @@ The **Monzo** {% term integration %} allows you to connect your Monzo bank accou
|
||||
### Adding a second account
|
||||
|
||||
1. To add a second Monzo account in Home Assistant, repeat the above process for creating an OAuth client.
|
||||
2. Then, in Home Assistant, add the new credentials *before* trying to add the new entry.
|
||||
- In the top right of **Devices & services** page, select the three dot menu, open **Application Credentials**, and select **Add application credentials**
|
||||
- It is recommended to include the person's name in the *Name* field so you can distinguish it later.
|
||||
2. Then, in Home Assistant, add the new credentials *before* trying to add the new entry.
|
||||
- In the top right of **Devices & services** page, select the three dots {% icon "mdi:dots-vertical" %} menu, open **Application Credentials**, and select **Add application credentials**
|
||||
- It is recommended to include the person's name in the *Name* field so you can distinguish it later.
|
||||
3. Once added, you can return to **Devices & services** > **Monzo** > **Add Entry** to proceed with authentication.
|
||||
|
||||
## Sensor
|
||||
|
@ -173,7 +173,7 @@ Add the MQTT integration, then provide your broker's hostname (or IP address) an
|
||||
2. Select the MQTT integration.
|
||||
3. Reconfigure the MQTT broker settings via {% my integrations title="**Settings** > **Devices & services**" %}, click {% icon "mdi:dots-vertical" %} and select **Reconfigure**.
|
||||
|
||||
MQTT subentries can also be reconfigured. Additional entities can be added, or an entity can bve removed from the sub entry. Each MQTT subentry holds one MQTT device. The MQTT device must have at least one entity.
|
||||
MQTT subentries can also be reconfigured. Additional entities can be added, or an entity can be removed from the sub entry. Each MQTT subentry holds one MQTT device. The MQTT device must have at least one entity.
|
||||
|
||||
{% important %}
|
||||
If you experience an error message like `Failed to connect due to exception: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed`, then turn on `Advanced options` and set [Broker certificate validation](/integrations/mqtt/#broker-certificate-validation) to `Auto`.
|
||||
|
@ -20,8 +20,10 @@ The **Music Assistant** (MA) {% term integration %} allows you to connect Home A
|
||||
|
||||
There is currently support for the following Home Assistant Platforms:
|
||||
|
||||
- [Media player](#media-player)
|
||||
- [Media player](#media-player-entities)
|
||||
- [Button](#favorite-current-song-button)
|
||||
|
||||
|
||||
All of the Home Assistant [Media Player Control Actions](https://www.home-assistant.io/integrations/media_player/#media-control-actions) are supported.
|
||||
|
||||
The `media_content_id` payload for `media_player.play_media` can be any of the following:
|
||||
@ -51,7 +53,7 @@ The Music Assistant integration creates media player entities for all players an
|
||||
|
||||
### Favorite current song button
|
||||
|
||||
The Music Assistant integration creates a button entity for each player to favorite the current song. Pressing this button (manually or by automation) adds the current song to your Music Assistant favorites. This works for local playing songs and tracks from streaming providers. It also works with remote content such as Spotify Connect, AirPlay, or a radio station, as long as the external source provides an artist and title combination (and optionally the album). Note that the button will be marked as unavailable if there is no content playable that could be favorited.
|
||||
The Music Assistant integration creates a button entity for each player to favorite the current song. Pressing this button (manually or by automation) adds the current song to your Music Assistant favorites. This works for songs stored locally as well as for tracks from streaming providers. It also works with remote content such as Spotify Connect, AirPlay, or a radio station, as long as the external source provides an artist and title combination (and optionally the album).
|
||||
|
||||
|
||||
## Actions
|
||||
|
@ -25,3 +25,17 @@ NextDNS is a DNS service that protects from all kinds of security threats, block
|
||||
To obtain API key go to the NextDNS site >> [Account section](https://my.nextdns.io/account).
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
{% configuration_basic %}
|
||||
API Key:
|
||||
description: "The API key for your NextDNS account."
|
||||
Profile:
|
||||
description: "The NextDNS configuration profile you want to integrate."
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Removing the integration
|
||||
|
||||
This integration follows standard integration removal, no extra steps are required.
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
||||
|
@ -75,7 +75,7 @@ To test the entity platform action, select the `notify.send_message` action, and
|
||||
|
||||
### Example with the entity platform notify action
|
||||
|
||||
Under {% my developer_services title="**Developer Tools** > **Actions**" %}, select the **Notifications: Send a notification message** action. Select some target entity's using the entity selectors, enter a message and test sending it.
|
||||
Under {% my developer_services title="**Developer Tools** > **Actions**" %}, select the **Notifications: Send a notification message** action. Select some target entities using the entity selectors, enter a message and test sending it.
|
||||
|
||||
If you switch to view the YAML data under **Developer Tools**, it will appear as below. The same {% term action %} can be chosen in {% term automation %}. The YAML will appear the same:
|
||||
|
||||
|
@ -12,6 +12,12 @@ The **MQTT notify** platform lets you send an MQTT message when the `send_messag
|
||||
|
||||
## Configuration
|
||||
|
||||
To use an MQTT notify entity in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
To use an MQTT notify entity in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mqtt:
|
||||
@ -19,6 +25,8 @@ mqtt:
|
||||
command_topic: "home/living_room/status_screen/notifications"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -44,7 +44,7 @@ The ntfy integration can be used to send push notifications from automations and
|
||||
|
||||
3. **Adding a topic**
|
||||
|
||||
To set up topics for notifications, select the three-dot {% icon "mdi:dots-vertical" %} menu next to the entry of the previously configured ntfy service, then click **{% icon "mdi:plus" %} Add topic**.
|
||||
To set up topics for notifications, select the three dots {% icon "mdi:dots-vertical" %} menu next to the entry of the previously configured ntfy service, then click **{% icon "mdi:plus" %} Add topic**.
|
||||
|
||||
You can now choose one of the following options:
|
||||
|
||||
|
@ -14,12 +14,16 @@ ha_iot_class: Local Push
|
||||
ha_integration_type: virtual
|
||||
ha_iot_standard:
|
||||
- matter
|
||||
works_with:
|
||||
- matter
|
||||
---
|
||||
|
||||
[Nuki](https://nuki.io) is committed to making sure their products are up-to-date and ready to use in Home Assistant.
|
||||
{% include integrations/wwha.md url="https://nuki.io" name="Nuki" %}
|
||||
|
||||
Nuki Matter devices work locally and integrate seamlessly with the Matter integration in Home Assistant. As all connectivity is happening locally, status updates and controlling your devices happen instantly in Home Assistant.
|
||||
## Supported devices
|
||||
|
||||
{% my add_matter_device badge domain=page.ha_domain %}
|
||||
The following devices are supported:
|
||||
|
||||
[Learn more about Matter in Home Assistant.](/integrations/matter/)
|
||||
- [Nuki Smart Lock Go](https://nuki.io/en-uk/products/smart-lock-go)
|
||||
- [Nuki Smart Lock Pro](https://nuki.io/en-uk/products/smart-lock-pro-5th-gen)
|
||||
- [Nuki Smart Lock Ultra](https://nuki.io/en-uk/products/smart-lock-ultra)
|
||||
|
@ -12,7 +12,8 @@ The `mqtt` Number platform allows you to integrate devices that might expose con
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable MQTT Number in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT number entity in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -21,6 +22,8 @@ mqtt:
|
||||
command_topic: my-device/threshold
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -54,7 +54,7 @@ Think before responding:
|
||||
|
||||
## Controlling Home Assistant
|
||||
|
||||
If you want to experiment with local LLMs using Home Assistant, we currently recommend using the `llama3.1:8b` model and exposing fewer than 25 entities. Note that smaller models are more likely to make mistakes than larger models.
|
||||
If you want to experiment with local LLMs using Home Assistant, we recommend exposing fewer than 25 entities. Note that smaller models are more likely to make mistakes than larger models.
|
||||
|
||||
Only models that support [Tools](https://ollama.com/search?c=tools) may control Home Assistant.
|
||||
|
||||
|
@ -32,7 +32,7 @@ Listening modes:
|
||||
description: List of listening modes supported by the receiver.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
The above settings can also be adjusted later. To change **Host** or **Volume Resolution**, select the three-dot menu on the integration entry and select **Reconfigure**.
|
||||
The above settings can also be adjusted later. To change **Host** or **Volume Resolution**, select the three dots {% icon "mdi:dots-vertical" %} menu on the integration entry and select **Reconfigure**.
|
||||
|
||||
{% include integrations/option_flow.md %}
|
||||
|
||||
|
@ -170,3 +170,10 @@ With the above changes your (**{% my config_energy title="Settings > Dashboards
|
||||
|
||||
- Before opening an issue, ensure you can access the energy usage section/dashboard on your utility website and verify that the data is up-to-date there.
|
||||
- In your energy dashboard in Home Assistant, make sure you use the statistics and not the sensors.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
||||
If you remove the integration, the statistics are not automatically deleted.
|
||||
You can find and delete the statistics in {% my developer_statistics title="**Developer Tools** > **Statistics**"%} and search for "opower".
|
||||
|
@ -145,6 +145,10 @@ For the group to access the VMs we need to grant it the auditor role
|
||||
|
||||
Creating a dedicated user for Home Assistant, limited to only to the access just created is the most secure method. These instructions use the `pve` realm for the user. This allows a connection, but ensures that the user is not authenticated for SSH connections. If you use the `pve` realm, just be sure to add `realm: pve` to your configuration.
|
||||
|
||||
{% important %}
|
||||
The Home Assistant user you create must already exist on the Linux system.
|
||||
{% endimportant %}
|
||||
|
||||
1. Click `Datacenter`
|
||||
2. Open `Permissions` and click `Users`
|
||||
3. Click `Add`
|
||||
|
@ -104,7 +104,7 @@ See details of RainMachine API here:
|
||||
| `minrh` | no | Min Relative Humidity (%RH) |
|
||||
| `maxrh` | no | Max Relative Humidity (%RH) |
|
||||
| `condition` | no | Current weather condition code (WNUM). See [here][wnum reference] for options. |
|
||||
| `pressure` | no | Barametric Pressure (kPa) |
|
||||
| `pressure` | no | Barometric Pressure (kPa) |
|
||||
| `dewpoint` | no | Dew Point (°C) |
|
||||
|
||||
### `rainmachine.restrict_watering`
|
||||
|
@ -258,7 +258,7 @@ Perform the action `recorder.enable` to start again saving events and states to
|
||||
Perform the action `recorder.get_statistics` to retrieve statistics for one or more entities from the recorder database. This action is useful for automations or scripts that need to access historical statistics, such as mean, min, max, or sum values, for supported entities like sensors.
|
||||
|
||||
{% note %}
|
||||
Statistics are only available for entities that store [Long-term Statistics](https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics). More details can be found in the [2021.8.0 release notes](/blog/2021/08/04/release-20218/#long-term-statistics).
|
||||
Statistics are only available for entities that store {% term "Long-term statistics" %}
|
||||
{% endnote %}
|
||||
|
||||
| Data attribute | Optional | Description |
|
||||
|
@ -98,7 +98,7 @@ Dual lens cameras provide additional streams for the second lens.
|
||||
|
||||
### Binary sensors
|
||||
|
||||
Depending on the supported features of the camera, binary sensors are added for:
|
||||
Depending on the supported features of the camera ([see specifications of the camera model on Reolink.com](#tested-models)), binary sensors are added for:
|
||||
|
||||
- Motion detection++
|
||||
- Visitor++ (Doorbell presses)
|
||||
@ -131,7 +131,7 @@ For the **crossline**, **intrusion**, **linger**, **item forgotten**, and **item
|
||||
|
||||
### Number entities
|
||||
|
||||
Depending on the supported features of the camera, number entities are added for:
|
||||
Depending on the supported features of the camera ([see specifications of the camera model on Reolink.com](#tested-models)), number entities are added for:
|
||||
|
||||
- Optical zoom control
|
||||
- Focus control
|
||||
@ -192,7 +192,7 @@ If the **Auto tracking** switch entity is enabled, and a object disappears from
|
||||
|
||||
### Button entities
|
||||
|
||||
Depending on the supported features of the camera, button entities are added for:
|
||||
Depending on the supported features of the camera ([see specifications of the camera model on Reolink.com](#tested-models)), button entities are added for:
|
||||
|
||||
- <abbr title="pan, tilt, and zoom">PTZ</abbr> stop
|
||||
- PTZ left
|
||||
@ -221,7 +221,7 @@ Some Reolink <abbr title="pan, tilt, and zoom">PTZ</abbr> cameras can move at di
|
||||
|
||||
### Select entities
|
||||
|
||||
Depending on the supported features of the camera, select entities are added for:
|
||||
Depending on the supported features of the camera ([see specifications of the camera model on Reolink.com](#tested-models)), select entities are added for:
|
||||
|
||||
- Floodlight mode (Off, Auto, Schedule)
|
||||
- Day night mode+ (Auto, Color, Black&White)
|
||||
@ -271,7 +271,7 @@ In some camera models, there is a delay of up to 5 seconds between the turn-off
|
||||
|
||||
### Switch entities
|
||||
|
||||
Depending on the supported features of the camera, switch entities are added for:
|
||||
Depending on the supported features of the camera ([see specifications of the camera model on Reolink.com](#tested-models)), switch entities are added for:
|
||||
|
||||
- Infrared lights in night mode
|
||||
- Record audio
|
||||
@ -318,7 +318,7 @@ Polling the status of the **Hardwired chime enabled** switch can make the hardwi
|
||||
|
||||
### Light entities
|
||||
|
||||
Depending on the supported features of the camera, light entities are added for:
|
||||
Depending on the supported features of the camera ([see specifications of the camera model on Reolink.com](#tested-models)), light entities are added for:
|
||||
|
||||
- Floodlight+
|
||||
- Status LED
|
||||
@ -327,7 +327,7 @@ When the **floodlight** entity is ON always ON, when OFF controlled based on the
|
||||
|
||||
### Sensor entities
|
||||
|
||||
Depending on the supported features of the camera, the following sensor entities are added:
|
||||
Depending on the supported features of the camera ([see specifications of the camera model on Reolink.com](#tested-models)), the following sensor entities are added:
|
||||
|
||||
- PTZ pan position
|
||||
- PTZ tilt position
|
||||
@ -347,7 +347,7 @@ Therefore the update entity in Home Assistant can find and install a firmware up
|
||||
|
||||
### Media browser for playback of recordings
|
||||
|
||||
Depending on the support of the camera, the Reolink integration will provide a media browser through which recorded videos of the camera can be accessed.
|
||||
If the camera supports recording to an SD card or NVR/Hub ([see specifications of the camera model on Reolink.com](#tested-models)), the Reolink integration will provide a media browser through which recorded videos of the camera can be accessed.
|
||||
In the sidebar, select "Media" > "Reolink" and select the **camera** of which you want to see recordings. Optionally, select if you want a high or low **resolution** stream and select the recording **date**. Here, all available video files of that day will be shown.
|
||||
Recordings up to 1 month old can be viewed in Home Assistant.
|
||||
|
||||
@ -368,6 +368,7 @@ The following models have been tested and confirmed to work with a direct link t
|
||||
- [E1 Outdoor](https://reolink.com/product/e1-outdoor/)
|
||||
- [E1 Outdoor PoE](https://reolink.com/product/e1-outdoor-poe/)
|
||||
- [E1 Outdoor Pro](https://reolink.com/product/e1-outdoor-pro/)
|
||||
- [Elite Floodlight WiFi](https://reolink.com/product/elite-floodlight-wifi/)
|
||||
- [Lumus Pro](https://reolink.com/product/lumus-pro/)
|
||||
- RLC-410*
|
||||
- [RLC-410W](https://reolink.com/product/rlc-410w/)
|
||||
@ -406,6 +407,7 @@ The following models have been tested and confirmed to work with a direct link t
|
||||
- [Reolink Duo 2 WiFi](https://reolink.com/product/reolink-duo-wifi/)
|
||||
- **[Reolink Duo 3 PoE](https://reolink.com/product/reolink-duo-3-poe/)**
|
||||
- Reolink Duo Floodlight ([PoE](https://reolink.com/product/reolink-duo-floodlight-poe/) and [Wi-Fi](https://reolink.com/product/reolink-duo-floodlight-wifi/))
|
||||
- [Reolink Elite WiFi](https://reolink.com/product/elite-wifi/)
|
||||
- [Reolink Floodlight PoE and Wi-Fi*](https://reolink.com/product/reolink-floodlight/)
|
||||
- [Reolink Home Hub](https://reolink.com/product/reolink-home-hub/)
|
||||
- [Reolink Home Hub Pro](https://reolink.com/product/reolink-home-hub-pro/)
|
||||
@ -438,6 +440,8 @@ The following battery-powered models have been tested and confirmed to work thro
|
||||
- [Argus Eco Ultra](https://reolink.com/product/argus-eco-ultra/)
|
||||
- [Argus PT](https://reolink.com/product/argus-pt/)
|
||||
- **[Argus Track](https://reolink.com/product/argus-track/)**
|
||||
- [Reolink Altas](https://reolink.com/product/reolink-altas/)
|
||||
- [Reolink Altas PT Ultra](https://reolink.com/product/altas-pt-ultra/)
|
||||
- **[Reolink Doorbell Battery](https://reolink.com/roadmap/)**
|
||||
|
||||
Reolink provides [this larger list of battery camera models](https://support.reolink.com/hc/en-us/articles/32379509281561-Reolink-Home-Hub-Compatibility/) which are compatible with the Home Hub and should work with Home Assistant.
|
||||
@ -534,7 +538,7 @@ Removing a camera from a NVR/Home Hub can be done by deleting the device followi
|
||||
3. Go to {% my integrations title="**Settings** > **Devices & services**" %} and select the integration card.
|
||||
4. From the list of integration entries, select the **x devices** underneath the integration instance of the NVR/Home Hub from which you want to remove a camera.
|
||||
5. Select the camera you want to remove from the list of devices
|
||||
6. Underneath the **Device info**, select the three-dot {% icon "mdi:dots-vertical" %} menu. Then, select **Delete**.
|
||||
6. Underneath the **Device info**, select the three dots {% icon "mdi:dots-vertical" %} menu. Then, select **Delete**.
|
||||
|
||||
### Removing a chime
|
||||
|
||||
@ -543,7 +547,7 @@ Removing a chime from a doorbell can be done by deleting the chime following the
|
||||
1. Go to {% my integrations title="**Settings** > **Devices & services**" %} and select the integration card.
|
||||
2. From the list of integration entries, select the **x devices** underneath the integration instance of the Doorbell/NVR/Home Hub from which you want to remove a chime.
|
||||
3. Select the chime you want to remove from the list of devices
|
||||
4. Underneath the **Device info**, select the three-dot {% icon "mdi:dots-vertical" %} menu. Then, select **Delete**.
|
||||
4. Underneath the **Device info**, select the three dots {% icon "mdi:dots-vertical" %} menu. Then, select **Delete**.
|
||||
|
||||
This will also decouple the chime from the doorbell in the Reolink app/client. Therefore, the chime will no longer ring when the doorbell is pressed.
|
||||
|
||||
|
@ -28,7 +28,7 @@ The **Roomba** {% term integrations %} allows you to control your [iRobot Roomba
|
||||
</p>
|
||||
|
||||
{% note %}
|
||||
This {% term integrations %} has been tested and confirmed to be working with the iRobot Roomba s9+, Roomba 980, Roomba 960, Roomba 890, and Braava jet m6 models, but should also work fine with any Wi-Fi enabled Roomba or Braava like the 690. For auto-discovery, you will need to initiate a Roomba reboot. For example, by holding the clean button for up to 20 seconds on an i7 or 980. [More information about rebooting your robot](https://homesupport.irobot.com/s/article/9087).
|
||||
This {% term integrations %} has been tested and confirmed to be working with the iRobot Roomba s9+, Roomba 980, Roomba 960, Roomba 890, and Braava jet m6 models, but should also work fine with any of the older Wi-Fi enabled Roomba or Braava like the 690. It currently does NOT work with the newer x05 Wi-Fi models, such as Roomba 105, 405, and 505. For auto-discovery, you will need to initiate a Roomba reboot. For example, by holding the clean button for up to 20 seconds on an i7 or 980. [More information about rebooting your robot](https://homesupport.irobot.com/s/article/9087).
|
||||
{% endnote %}
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
@ -15,7 +15,7 @@ related:
|
||||
ha_quality_scale: legacy
|
||||
---
|
||||
|
||||
The `rpi_camera` {% term integration %} allows you to integrate the Raspberry Pi camera into Home Assistant. This integration uses the application [`raspistill`](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md) to store the image from camera.
|
||||
The `rpi_camera` {% term integration %} allows you to integrate the Raspberry Pi camera into Home Assistant. This integration uses the application [`rpicam-still`](https://www.raspberrypi.com/documentation/computers/camera_software.html#rpicam-still) to store the image from camera.
|
||||
|
||||
{% important %}
|
||||
This integration is only available on Home Assistant Core installation types. Unfortunately, it cannot be used with Home Assistant OS, Supervised or Container.
|
||||
@ -31,7 +31,7 @@ To enable this camera in your installation, add the following to your {% term "`
|
||||
rpi_camera:
|
||||
```
|
||||
|
||||
The whole set of configuration variables is documented here [`Raspberry Pi Camera Module - Raspberry Pi Documentation`](https://www.raspberrypi.org/documentation/raspbian/applications/camera.md).
|
||||
The whole set of configuration variables is documented in the [Raspberry Pi documentation of the camera software](https://www.raspberrypi.com/documentation/computers/camera_software.html#rpicam-still).
|
||||
They are not all wrapped by this `rpi_camera` platform.
|
||||
|
||||
{% configuration %}
|
||||
|
@ -20,54 +20,231 @@ ha_integration_type: integration
|
||||
ha_quality_scale: bronze
|
||||
---
|
||||
|
||||
The SABnzbd integration will allow you to monitor and control your downloads with [SABnzbd](https://sabnzbd.org) from within Home Assistant and setup automations based on the information.
|
||||
The **SABnzbd** {% term integration %} allows you to monitor and control your downloads with [SABnzbd](https://sabnzbd.org) from within Home Assistant and set up automations based on download status and activity.
|
||||
|
||||
SABnzbd is a popular newsgroup binary downloader that automates the downloading, verification, repairing, and extraction of files from Usenet. With this integration, you can create smart home automations that respond to your download activity, monitor disk space, and control your downloads remotely.
|
||||
|
||||
## Use cases
|
||||
|
||||
Here are some practical ways you can use the SABnzbd integration:
|
||||
|
||||
- Download completion notifications: Get notified on your phone or smart display when downloads finish.
|
||||
- Bandwidth management: Automatically pause downloads during peak internet usage hours or when streaming services are active.
|
||||
- Disk space monitoring: Set up alerts when your download drive is running low on space.
|
||||
- Smart scheduling: Automatically start downloads during off-peak hours when internet is faster or cheaper.
|
||||
- Home theater integration: Pause downloads when movie night starts to ensure smooth streaming.
|
||||
- Security monitoring: Get alerted if SABnzbd goes offline or becomes unreachable.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You need to grab your API key from your SABnzbd instance in order to configure this integration:
|
||||
|
||||
- Navigate to your SABnzbd.
|
||||
- Click "Config", then click "General".
|
||||
- Copy your API key under "Security".
|
||||
1. Navigate to your SABnzbd web interface.
|
||||
2. Select *Config** {% icon "mdi:settings" %}, then **General**.
|
||||
3. Copy your API key under **Security**.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
{% configuration_basic %}
|
||||
URL:
|
||||
description: "The full URL, including port, of your SABnzbd server. Example: `http://localhost:8080` or `http://a02368d7-sabnzbd:8080`, if you are using the add-on."
|
||||
API key:
|
||||
description: "The API key of your SABnzbd server. You can find this in the SABnzbd web interface under **Config cog** (top right) > **General** > **Security**."
|
||||
description: "The API key of your SABnzbd server. You can find this in the SABnzbd web interface under **Config** {% icon "mdi:settings" %} (top right) > **General** > **Security**."
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Sensor
|
||||
## Supported functionality
|
||||
|
||||
This integration will create these sensors:
|
||||
### Binary sensors
|
||||
|
||||
- `status`: The current status of SABnzbd. (Idle, Paused, etc.)
|
||||
- `speed`: The current download speed.
|
||||
- `queue`: The total size of the download queue.
|
||||
- `left`: The remaining size of the download queue.
|
||||
- `disk`: The total disk size at SABnzbd's download location.
|
||||
- `disk_free`: The available disk space at SABnzbd's download location.
|
||||
- `queue_count`: The number of items in the download queue.
|
||||
- `total`: Total GB downloaded.
|
||||
- `daily_total`: GB downloaded today. (disabled by default)
|
||||
- `weekly_size`: GB downloaded this week. (disabled by default)
|
||||
- `monthly_total`: GB downloaded this month. (disabled by default)
|
||||
- **Warnings**: Indicates if SABnzbd has any warnings (for example, disk space low, download errors)
|
||||
|
||||
## Binary sensor
|
||||
### Buttons
|
||||
|
||||
This integration will create a binary sensor to indicate if SABnzbd has recorded any warnings or errors.
|
||||
- **Pause**: Pause all downloads
|
||||
- **Resume**: Resume paused downloads
|
||||
|
||||
## Button
|
||||
### Sensors
|
||||
|
||||
This integration will create two buttons:
|
||||
This integration creates the following sensors to monitor your SABnzbd instance:
|
||||
|
||||
- Pause the download queue.
|
||||
- Resume the download queue.
|
||||
- **Status**: The current status of SABnzbd (Idle, Downloading, Paused, etc.)
|
||||
- **Speed**: The current download speed in MB/s
|
||||
- **Queue**: The total size of the download queue in GB
|
||||
- **Left**: The remaining size of the download queue in GB
|
||||
- **Disk**: The total disk size at SABnzbd's download location in GB
|
||||
- **Disk free**: The available disk space at SABnzbd's download location in GB
|
||||
- **Queue count**: The number of items in the download queue
|
||||
- **Total**: Total GB downloaded since SABnzbd was last restarted
|
||||
|
||||
## Number
|
||||
### Numbers
|
||||
|
||||
This integration will create a number entity to set the download queue speed limit in percentage.
|
||||
- **Speed limit**: Set the download speed limit (as a percentage of your configured maximum speed).
|
||||
|
||||
## Examples
|
||||
|
||||
### Basic download monitoring automation
|
||||
|
||||
This automation sends a notification when a download completes:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
- alias: "SABnzbd download complete"
|
||||
triggers:
|
||||
- trigger: state
|
||||
entity_id: sensor.sabnzbd_status
|
||||
to: "Idle"
|
||||
from: "Downloading"
|
||||
actions:
|
||||
- action: notify.mobile_app_your_phone
|
||||
data:
|
||||
title: "Download Complete"
|
||||
message: "SABnzbd has finished downloading and extracting files"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Disk space warning
|
||||
|
||||
Get notified when your download drive is running low on space:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
- alias: "SABnzbd low disk space warning"
|
||||
triggers:
|
||||
- trigger: numeric_state
|
||||
entity_id: sensor.sabnzbd_disk_free
|
||||
below: 10
|
||||
actions:
|
||||
- action: notify.mobile_app_your_phone
|
||||
data:
|
||||
title: "Low Disk Space"
|
||||
message: "Download drive has less than {{ states('sensor.sabnzbd_disk_free') }} GB free"
|
||||
data:
|
||||
priority: high
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Bandwidth management during streaming
|
||||
|
||||
Automatically pause downloads when your media players are active:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
- alias: "Pause downloads during movie time"
|
||||
triggers:
|
||||
- trigger: state
|
||||
entity_id: media_player.living_room_tv
|
||||
to: "playing"
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: sensor.sabnzbd_status
|
||||
state: "Downloading"
|
||||
actions:
|
||||
- action: button.press
|
||||
target:
|
||||
entity_id: button.sabnzbd_pause
|
||||
- action: notify.mobile_app_your_phone
|
||||
data:
|
||||
message: "Downloads paused for movie time"
|
||||
|
||||
- alias: "Resume downloads after movie time"
|
||||
triggers:
|
||||
- trigger: state
|
||||
entity_id: media_player.living_room_tv
|
||||
from: "playing"
|
||||
for: "00:05:00"
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: sensor.sabnzbd_status
|
||||
state: "Paused"
|
||||
actions:
|
||||
- action: button.press
|
||||
target:
|
||||
entity_id: button.sabnzbd_resume
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Smart scheduling with speed limits
|
||||
|
||||
Reduce download speed during peak hours and increase it during off-peak hours:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
- alias: "SABnzbd peak hours speed limit"
|
||||
triggers:
|
||||
- trigger: time
|
||||
at: "18:00:00"
|
||||
actions:
|
||||
- action: number.set_value
|
||||
target:
|
||||
entity_id: number.sabnzbd_speed_limit
|
||||
data:
|
||||
value: 30
|
||||
|
||||
- alias: "SABnzbd off-peak full speed"
|
||||
triggers:
|
||||
- trigger: time
|
||||
at: "23:00:00"
|
||||
actions:
|
||||
- action: number.set_value
|
||||
target:
|
||||
entity_id: number.sabnzbd_speed_limit
|
||||
data:
|
||||
value: 100
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Dashboard card example
|
||||
|
||||
Create a comprehensive SABnzbd monitoring card for your dashboard:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
type: entities
|
||||
title: SABnzbd Downloads
|
||||
entities:
|
||||
- entity: sensor.sabnzbd_status
|
||||
name: Status
|
||||
- entity: sensor.sabnzbd_speed
|
||||
name: Download speed
|
||||
- entity: sensor.sabnzbd_queue_count
|
||||
name: Items in queue
|
||||
- entity: sensor.sabnzbd_left
|
||||
name: Remaining
|
||||
- type: divider
|
||||
- entity: button.sabnzbd_pause
|
||||
name: Pause downloads
|
||||
- entity: button.sabnzbd_resume
|
||||
name: Resume downloads
|
||||
- type: divider
|
||||
- entity: sensor.sabnzbd_disk_free
|
||||
name: Free space
|
||||
- entity: number.sabnzbd_speed_limit
|
||||
name: Speed limit
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Data updates
|
||||
|
||||
The SABnzbd integration {% term polling polls %} data from your SABnzbd server every 30 seconds by default. This provides near real-time updates of download progress, queue status, and system information without putting excessive load on your SABnzbd instance.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### SABnzbd not found or unreachable
|
||||
|
||||
1. Verify SABnzbd is running: Check that SABnzbd is running and accessible via its web interface.
|
||||
2. Check the URL: Ensure you're using the correct URL format including the port (typically `http://localhost:8080`).
|
||||
3. Test API key: Verify your API key is correct by comparing it in the SABnzbd web interface.
|
||||
4. Network connectivity: If SABnzbd is on another device, ensure Home Assistant can reach it over the network
|
||||
5. Firewall settings: Check that your firewall allows connections to SABnzbd's port.
|
||||
6. Enable debug logging: Temporarily enable [debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics) for the SABnzbd integration to get more detailed error messages.
|
||||
|
||||
### SABnzbd add-on specific issues
|
||||
|
||||
If you're using the SABnzbd Home Assistant add-on:
|
||||
|
||||
1. Use internal URL: Use `http://a02368d7-sabnzbd:8080` instead of `localhost`.
|
||||
2. Check add-on logs: Review the SABnzbd add-on logs for any error messages.
|
||||
3. Add-on configuration: Ensure the add-on is properly configured and started.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
|
@ -12,7 +12,8 @@ The `mqtt` scene platform lets you control your MQTT enabled scenes.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable a MQTT scene in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT scene entity in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -21,6 +22,8 @@ mqtt:
|
||||
command_topic: zigbee2mqtt/living_room_group/set
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -12,7 +12,8 @@ The `mqtt` Select platform allows you to integrate devices that might expose con
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable MQTT Select in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT select entity in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -25,6 +26,8 @@ mqtt:
|
||||
- "Option 2"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -12,7 +12,9 @@ This `mqtt` sensor platform uses the MQTT message payload as the sensor value. I
|
||||
|
||||
## Configuration
|
||||
|
||||
To use your MQTT sensor in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
|
||||
To use an MQTT sensor in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -22,6 +24,8 @@ mqtt:
|
||||
state_topic: "home/bedroom/temperature"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
@ -201,7 +205,7 @@ state_class:
|
||||
required: false
|
||||
type: string
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive sensor values. If `device_class`, `state_class`, `unit_of_measurement` or `suggested_display_precision` is set, and a numeric value is expected, an empty value `''` will be ignored and will not update the state, a `'None'` value will set the sensor to an `unknown` state. If a `value_template` is used to parse a JSON payload, a `null` value in the JSON [will be rendered as]((/docs/configuration/templating/#using-value-templates-with-mqtt)) `'None'`. Note that the `device_class` can be `null`.
|
||||
description: The MQTT topic subscribed to receive sensor values. If `device_class`, `state_class`, `unit_of_measurement` or `suggested_display_precision` is set, and a numeric value is expected, an empty value `''` will be ignored and will not update the state, a `'None'` value will set the sensor to an `unknown` state. If a `value_template` is used to parse a JSON payload, a `null` value in the JSON [will be rendered as](/docs/configuration/templating/#using-value-templates-with-mqtt) `'None'`. Note that the `device_class` can be `null`.
|
||||
required: true
|
||||
type: string
|
||||
unique_id:
|
||||
|
@ -64,6 +64,11 @@ device_class:
|
||||
description: Sets the [class of the device](/integrations/sensor#device-class), changing the device state and icon that is displayed on the frontend.
|
||||
required: false
|
||||
type: string
|
||||
encoding:
|
||||
description: The character encoding to use if none provided in the header of the shared data.
|
||||
required: false
|
||||
type: string
|
||||
default: UTF-8
|
||||
force_update:
|
||||
description: Sends update events even if the value hasn't changed. Useful if you want to have meaningful value graphs in history.
|
||||
required: false
|
||||
|
@ -18,7 +18,8 @@ When a `state_topic` is not available, the siren will work in optimistic mode. I
|
||||
|
||||
Optimistic mode can be forced, even if the `state_topic` is available. Try to enable it, if experiencing incorrect operation.
|
||||
|
||||
To enable this siren in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT siren in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -27,6 +28,8 @@ mqtt:
|
||||
command_topic: "home/bedroom/siren/set"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -36,30 +36,43 @@ To open the SSDP/UPnP Browser, go to:
|
||||
|
||||
The following integrations are automatically discovered by the SSDP integration:
|
||||
|
||||
- [Arcam FMJ Receivers](/integrations/arcam_fmj/)
|
||||
- [AVM FRITZ!Box Tools](/integrations/fritz/)
|
||||
- [AVM FRITZ!SmartHome](/integrations/fritzbox/)
|
||||
- [Axis](/integrations/axis/)
|
||||
- [Belkin WeMo](/integrations/wemo/)
|
||||
- [Control4](/integrations/control4/)
|
||||
- [deCONZ](/integrations/deconz/)
|
||||
- [Denon AVR](/integrations/denonavr/)
|
||||
- [Denon AVR Network Receivers](/integrations/denonavr/)
|
||||
- [Denon HEOS](/integrations/heos/)
|
||||
- [DirecTV](/integrations/directv/)
|
||||
- [DLNA Digital Media Renderer](/integrations/dlna_dmr/)
|
||||
- [DLNA Digital Media Server](/integrations/dlna_dms/)
|
||||
- [Frontier Silicon](/integrations/frontier_silicon/)
|
||||
- [Huawei LTE](/integrations/huawei_lte/)
|
||||
- [Hyperion](/integrations/hyperion/)
|
||||
- [Imeon Inverter](/integrations/imeon_inverter/)
|
||||
- [Kaleidescape](/integrations/kaleidescape/)
|
||||
- [Keenetic NDMS2 Router](/integrations/keenetic_ndms2/)
|
||||
- [Konnected.io](/integrations/konnected/)
|
||||
- [LaMetric](/integrations/lametric/)
|
||||
- [LG webOS TV](/integrations/webostv/)
|
||||
- [Logitech Harmony](/integrations/harmony/)
|
||||
- [Lutron Caséta](/integrations/lutron_caseta/)
|
||||
- [Linn / OpenHome](/integrations/openhome/)
|
||||
- [Logitech Harmony Hub](/integrations/harmony/)
|
||||
- [MusicCast](/integrations/yamaha_musiccast/)
|
||||
- [Nanoleaf](/integrations/nanoleaf/)
|
||||
- [NETGEAR](/integrations/netgear/)
|
||||
- [OctoPrint](/integrations/octoprint/)
|
||||
- [Onkyo](/integrations/onkyo/)
|
||||
- [Philips Hue](/integrations/hue/)
|
||||
- [Roku](/integrations/roku/)
|
||||
- [Samsung Smart TV](/integrations/samsungtv/)
|
||||
- [Samsung SyncThru Printer](/integrations/syncthru/)
|
||||
- [Samsung TV](/integrations/samsungtv/)
|
||||
- [Sonos](/integrations/sonos/)
|
||||
- [Sony Bravia TV](/integrations/braviatv/)
|
||||
- [Sony Songpal](/integrations/songpal/)
|
||||
- [Synology DSM](/integrations/synology_dsm/)
|
||||
- [Ubiquiti UniFi](/integrations/unifi/)
|
||||
- [UniFi Network](/integrations/unifi/)
|
||||
- [UniFi Protect](/integrations/unifiprotect/)
|
||||
- [Universal Devices ISY/IoX](/integrations/isy994/)
|
||||
- [UPnP](/integrations/upnp/)
|
||||
- [WiLight](/integrations/wilight/)
|
||||
- [UPnP/IGD](/integrations/upnp/)
|
||||
- [WiLight](/integrations/wilight/)
|
@ -25,7 +25,7 @@ The statistics sensor can use either the numeric sensor or binary_sensor as its
|
||||
Assuming the [`recorder`](/integrations/recorder/) integration is running, historical sensor data is read from the database on startup and is available immediately after a restart of the platform. If the [`recorder`](/integrations/recorder/) integration is *not* running, it can take some time for the sensor to start reporting data because some characteristics calculations require more than one source sensor value.
|
||||
|
||||
{% tip %}
|
||||
The statistics integration is different from [Long-term Statistics](https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics). More details on the differences can be found in the [2021.8.0 release notes](/blog/2021/08/04/release-20218/#long-term-statistics).
|
||||
The statistics integration is different from {% term "Long-term statistics" %}.
|
||||
{% endtip %}
|
||||
|
||||
The statistics sensor has an internal buffer that stores the values it needs for the computation of the various functions (for example, average step). The sensor is updated whenever new values are added to the buffer or when elements are removed. This is triggered either by a change of the source sensor (which may or may not change its actual value) or by values expiring (in cases where max age was specified). This means that the buffer can hold a sequence of identical values in cases where values are not changing over time.
|
||||
|
@ -20,7 +20,16 @@ The stream integration provides a way to proxy live streams through Home Assista
|
||||
|
||||
## Configuration
|
||||
|
||||
The `stream` integration is automatically loaded by `default_config` and enabled by the `camera` platforms that support it. If `default_config` is used, no separate {% term "`configuration.yaml`" %} entry is necessary. However, there are some extra options you can configure.
|
||||
The `stream` integration is automatically loaded by `default_config` and enabled by camera platforms that support it. If `default_config` is used, no separate {% term "`configuration.yaml`" %} entry is necessary. If `default_config` is **not** used, add the `stream` integration to {% term "`configuration.yaml`" %} to enable it.
|
||||
|
||||
Example configuration:
|
||||
|
||||
```yaml
|
||||
# Enables the stream integration when not using the default configuration
|
||||
stream:
|
||||
```
|
||||
|
||||
Some extra options can be configured. If specified, these options will be used whenever the stream integration is loaded.
|
||||
|
||||
{% configuration %}
|
||||
ll_hls:
|
||||
@ -63,6 +72,6 @@ The integration currently supports proxying H.264 and H.265 source streams to th
|
||||
|
||||
Note that while H.265 works on Android and iOS, it does not work in many browsers. This is a browser limitation and not a Home Assistant issue. Safari has native H.265 support, and H.265 also works in Edge on Windows when "HEVC Video Extensions" is installed. Chrome versions >= 104 may also work when started with the `--enable-features=PlatformHEVCDecoderSupport` option.
|
||||
|
||||
For testing HEVC browser support, do not rely on the https://www.caniuse.com charts or the https://html5test.com site. They are inaccurate. You can instead use the ["Unprefixed tests" from caniuse.com](https://tests.caniuse.com/?feat=hevc) or the [hls.js demo app with an HEVC HLS stream](https://hls-js.netlify.app/demo/?src=https%3A%2F%2Fbitmovin-a.akamaihd.net%2Fcontent%2Fdataset%2Fmulti-codec%2Fhevc%2Fstream_fmp4.m3u8). The videos there should play if your browser supports H.265.
|
||||
For testing HEVC browser support, use the ["Unprefixed tests" from caniuse.com](https://tests.caniuse.com/?feat=hevc) or the [hls.js demo app with an HEVC HLS stream](https://hls-js.netlify.app/demo/?src=https%3A%2F%2Fbitmovin-a.akamaihd.net%2Fcontent%2Fdataset%2Fmulti-codec%2Fhevc%2Fstream_fmp4.m3u8). The videos there should play if your browser supports H.265. Do not rely on the [https://www.caniuse.com](https://www.caniuse.com) charts or the [https://html5test.com](https://html5test.com) site. They are inaccurate.
|
||||
|
||||
The `stream` integration supports AAC and MP3 audio. PCM codecs (e.g. G.711/G.723/G.726/G.729) are not supported.
|
||||
|
@ -18,7 +18,8 @@ When a `state_topic` is not available, the switch will work in optimistic mode.
|
||||
|
||||
Optimistic mode can be forced, even if the `state_topic` is available. Try to enable it, if experiencing incorrect switch operation.
|
||||
|
||||
To enable this switch in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT switch in your installation, [add a MQTT device as a subentry](/integrations/mqtt/#configuration), or add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -27,6 +28,8 @@ mqtt:
|
||||
command_topic: "home/bedroom/switch1/set"
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
@ -31,6 +31,7 @@ SwitchBot also has Matter devices that are certified for use via one of their Ma
|
||||
### Via a Matter Hub
|
||||
|
||||
- [SwitchBot Lock Ultra](https://www.switch-bot.com/products/switchbot-lock_ultra)
|
||||
- [SwitchBot Motion Sensor](https://www.switch-bot.com/products/motion-sensor)
|
||||
- [SwitchBot Meter](https://www.switch-bot.com/products/switchbot-meter)
|
||||
- [SwitchBot Meter Pro](https://www.switch-bot.com/products/switchbot-meter-pro)
|
||||
- [SwitchBot Meter Pro CO2](https://www.switch-bot.com/products/switchbot-meter-pro-co2-monitor)
|
||||
|
@ -41,8 +41,25 @@ This implementation allows Telegram to push updates directly to your server and
|
||||
|
||||
Create your Telegram bot and [retrieve the API key](/integrations/telegram). The `api_key` will be used for adding the bot to Home Assistant during integration setup.
|
||||
|
||||
### Allow Telegram bot to access your Home Assistant files (Optional)
|
||||
|
||||
To enable Telegram bot to send local files, you must grant access to it by adding the file's folder to [`allowlist_external_dirs`](/integrations/homeassistant/#allowlist_external_dirs).
|
||||
|
||||
Example `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
homeassistant:
|
||||
allowlist_external_dirs:
|
||||
- "/media"
|
||||
```
|
||||
|
||||
### Allow Telegram to connect to your Home Assistant (Webhooks platform only)
|
||||
|
||||
{% note %}
|
||||
This integration currently does not support self-signed certificates for HTTPS.
|
||||
If you are using the *Reverse proxy* or *Direct* method, please ensure that your certificates are signed by a public Certificate Authority (CA).
|
||||
{% endnote %}
|
||||
|
||||
If you plan to use the `Webhooks` platform, you will need to allow Telegram to connect to your Home Assistant using one of the following methods:
|
||||
|
||||
#### Home Assistant Cloud
|
||||
@ -57,7 +74,16 @@ If your Home Assistant is behind a publicly accessible reverse proxy (for exampl
|
||||
2. Configure the [HTTP integration](/integrations/http) to allow Home Assistant to accept connections from your reverse proxy:
|
||||
- Set `use_x_forwarded_for` to `true`.
|
||||
- Add the IP address of the reverse proxy to `trusted_proxies`.
|
||||
|
||||
|
||||
Example `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
http:
|
||||
use_x_forwarded_for: true
|
||||
trusted_proxies:
|
||||
- 192.168.0.0/16
|
||||
```
|
||||
|
||||
#### Direct
|
||||
|
||||
If your Home Assistant is publicly accessible, do the following:
|
||||
@ -82,12 +108,16 @@ Proxy URL:
|
||||
|
||||
### Webhooks configuration
|
||||
|
||||
{% note %}
|
||||
If you are using Home Assistant Cloud, you must include `127.0.0.1` in the **Trusted networks** field as IP address of incoming requests are not forwarded to your Home Assistant.
|
||||
{% endnote %}
|
||||
|
||||
If you have selected the `Webhooks` Telegram bot type, the integration setup will continue with the webhooks configuration step.
|
||||
{% configuration_basic %}
|
||||
URL:
|
||||
description: Allow to overwrite the external URL from the Home Assistant [configuration](/integrations/homeassistant/#editing-the-general-settings-in-yaml) for different setups (`https://<public_url>:<port>`).
|
||||
Trusted networks:
|
||||
description: Telegram server access ACL as list.
|
||||
description: Telegram server access ACL as list. Default is `149.154.160.0/20, 91.108.4.0/22`.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
{% include integrations/option_flow.md %}
|
||||
@ -96,7 +126,7 @@ The integration can be configured to use a default parse mode for messages.
|
||||
|
||||
{% configuration_basic %}
|
||||
Parse mode:
|
||||
description: Default parser for messages if not explicit in message data, either `markdown` (legacy), `markdownv2` or `html`. Refer to Telegram's [formatting options](https://core.telegram.org/bots/api#formatting-options) for more information.
|
||||
description: Default parser for messages if not explicit in message data, either `markdown` (legacy), `markdownv2`, `html` or `plain_text`. Refer to Telegram's [formatting options](https://core.telegram.org/bots/api#formatting-options) for more information.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Allowlisting chat IDs via Subentries
|
||||
@ -107,7 +137,7 @@ To allowlist the chat ID, [retrieve the chat ID](/integrations/telegram#methods-
|
||||
|
||||
1. Go to **{% my integrations title="Settings > Devices & services" %}**.
|
||||
2. Select the Telegram bot integration.
|
||||
3. Next to the entry, select the three-dot {% icon "mdi:dots-vertical" %} menu. Then, select **Add allowed chat ID**.
|
||||
3. Next to the entry, select the three dots {% icon "mdi:dots-vertical" %} menu. Then, select **Add allowed chat ID**.
|
||||
|
||||
{% configuration_basic %}
|
||||
Chat ID:
|
||||
|
@ -140,7 +140,7 @@ template:
|
||||
|
||||
### Configuration reference
|
||||
|
||||
{% configuration %}
|
||||
{% configuration trigger-based %}
|
||||
actions:
|
||||
description: Define actions to be executed when the trigger fires (for trigger-based entities only). Optional. Variables set by the action script are available when evaluating entity templates. This can be used to interact with anything using actions, in particular actions with [response data](/docs/scripts/perform-actions#use-templates-to-handle-response-data). [See action documentation](/docs/automation/action).
|
||||
required: false
|
||||
@ -193,7 +193,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration device %}
|
||||
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 is not case sensitive; `"TrUe"` and `"yEs"` are allowed.
|
||||
required: false
|
||||
@ -268,7 +268,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration alarm_control_panel %}
|
||||
alarm_control_panel:
|
||||
description: List of alarm control panels
|
||||
required: true
|
||||
@ -349,7 +349,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration binary-sensor %}
|
||||
binary_sensor:
|
||||
description: List of binary sensors
|
||||
required: true
|
||||
@ -536,7 +536,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration button %}
|
||||
button:
|
||||
description: List of buttons
|
||||
required: true
|
||||
@ -591,7 +591,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration cover %}
|
||||
cover:
|
||||
description: Characteristics of a cover
|
||||
type: map
|
||||
@ -822,7 +822,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration fan %}
|
||||
fan:
|
||||
description: List of fans
|
||||
required: true
|
||||
@ -1028,7 +1028,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration image %}
|
||||
image:
|
||||
description: List of images
|
||||
required: true
|
||||
@ -1055,7 +1055,7 @@ Light entities can only be created from YAML.
|
||||
|
||||
```yaml
|
||||
# Example state-based configuration.yaml entry
|
||||
light:
|
||||
template:
|
||||
- light:
|
||||
- name: "Theater Lights"
|
||||
level: "{{ state_attr('sensor.theater_brightness', 'lux')|int }}"
|
||||
@ -1161,7 +1161,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration light %}
|
||||
light:
|
||||
description: List of your lights.
|
||||
required: true
|
||||
@ -1421,7 +1421,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration lock %}
|
||||
lock:
|
||||
description: List of locks
|
||||
required: true
|
||||
@ -1609,7 +1609,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration number %}
|
||||
number:
|
||||
description: List of numbers
|
||||
required: true
|
||||
@ -1717,7 +1717,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration select %}
|
||||
select:
|
||||
description: List of selects
|
||||
required: true
|
||||
@ -1809,7 +1809,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration sensor %}
|
||||
sensor:
|
||||
description: List of sensors
|
||||
required: true
|
||||
@ -1834,7 +1834,7 @@ sensor:
|
||||
required: true
|
||||
type: template
|
||||
state_class:
|
||||
description: "The [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes) of the sensor. This will also display the value based on the user profile Number Format setting and influence the graphical presentation in the history visualization as a continuous value. If you desire to include the sensor in long-term statistics, include this key and assign it the appropriate value"
|
||||
description: "The [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes) of the sensor. This will also display the value based on the user profile Number Format setting and influence the graphical presentation in the history visualization as a continuous value. If you desire to include the sensor in {% term "Long-term statistics" %}, include this key and assign it the appropriate value"
|
||||
required: false
|
||||
type: string
|
||||
default: None
|
||||
@ -1972,7 +1972,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration switch %}
|
||||
switch:
|
||||
description: List of switches
|
||||
required: true
|
||||
@ -2118,7 +2118,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration vacuum %}
|
||||
vacuum:
|
||||
description: List of vacuum entities
|
||||
required: true
|
||||
@ -2278,7 +2278,7 @@ template:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration weather %}
|
||||
weather:
|
||||
description: List of weather entities
|
||||
required: true
|
||||
@ -2652,7 +2652,7 @@ alarm_control_panel:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_alarm_control_panel %}
|
||||
panels:
|
||||
description: List of your panels.
|
||||
required: true
|
||||
@ -2736,7 +2736,7 @@ binary_sensor:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_binary_sensor %}
|
||||
sensors:
|
||||
description: List of your sensors.
|
||||
required: true
|
||||
@ -2823,7 +2823,7 @@ cover:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_cover %}
|
||||
covers:
|
||||
description: List of your covers.
|
||||
required: true
|
||||
@ -2947,7 +2947,7 @@ fan:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_fan %}
|
||||
fans:
|
||||
description: List of your fans.
|
||||
required: true
|
||||
@ -3083,7 +3083,7 @@ light:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_light %}
|
||||
lights:
|
||||
description: List of your lights.
|
||||
required: true
|
||||
@ -3230,7 +3230,7 @@ lock:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_lock %}
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
@ -3297,7 +3297,7 @@ sensor:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_sensor %}
|
||||
sensors:
|
||||
description: Map of your sensors.
|
||||
required: true
|
||||
@ -3380,7 +3380,7 @@ switch:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_switch %}
|
||||
switches:
|
||||
description: List of your switches.
|
||||
required: true
|
||||
@ -3442,7 +3442,7 @@ vacuum:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_vacuum %}
|
||||
vacuums:
|
||||
description: List of your vacuums.
|
||||
required: true
|
||||
@ -3538,7 +3538,7 @@ weather:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
{% configuration legacy_weather %}
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: true
|
||||
|
@ -12,7 +12,8 @@ The `mqtt` Text platform allows you to integrate devices that show text that can
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable MQTT text platform in your installation, add the following to your {% term "`configuration.yaml`" %} file:
|
||||
To use an MQTT text entity in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
||||
{% include integrations/restart_ha_after_config_inclusion.md %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -21,6 +22,8 @@ mqtt:
|
||||
command_topic: command-topic
|
||||
```
|
||||
|
||||
Alternatively, a more advanced approach is to set it up via [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
|
||||
|
||||
{% configuration %}
|
||||
availability:
|
||||
description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user