Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2024-06-18 11:55:10 +02:00
commit 8fe8b61762
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
175 changed files with 5349 additions and 657 deletions

View File

@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.1.6
uses: actions/checkout@v4.1.7
- name: Setting up Node.js
uses: actions/setup-node@v4.0.2
with:
@ -25,7 +25,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.1.6
uses: actions/checkout@v4.1.7
- name: Setting up Node.js
uses: actions/setup-node@v4.0.2
with:

View File

@ -21,6 +21,7 @@ source/_integrations/aep_ohio.markdown @tronikos
source/_integrations/aep_texas.markdown @tronikos
source/_integrations/agent_dvr.markdown @ispysoftware
source/_integrations/air_quality.markdown @home-assistant/core
source/_integrations/airgradient.markdown @airgradienthq @joostlek
source/_integrations/airly.markdown @bieniu
source/_integrations/airnow.markdown @asymworks
source/_integrations/airq.markdown @Sibgatulin @dl2080
@ -60,9 +61,11 @@ source/_integrations/application_credentials.markdown @home-assistant/core
source/_integrations/apprise.markdown @caronc
source/_integrations/aprilaire.markdown @chamberlain2007
source/_integrations/aprs.markdown @PhilRW
source/_integrations/aranet.markdown @aschmitz @thecode
source/_integrations/apsystems.markdown @mawoka-myblock @SonnenladenGmbH
source/_integrations/aranet.markdown @aschmitz @thecode @anrijs
source/_integrations/arcam_fmj.markdown @elupus
source/_integrations/arris_tg2492lg.markdown @vanbalken
source/_integrations/arve.markdown @ikalnyi
source/_integrations/aseko_pool_live.markdown @milanmeu
source/_integrations/assist_pipeline.markdown @balloob @synesthesiam
source/_integrations/asuswrt.markdown @kennedyshead @ollo69
@ -192,7 +195,7 @@ source/_integrations/downloader.markdown @erwindouna
source/_integrations/dremel_3d_printer.markdown @tkdrob
source/_integrations/drop_connect.markdown @ChandlerSystems @pfrazer
source/_integrations/dsmr.markdown @Robbie1221 @frenck
source/_integrations/dsmr_reader.markdown @sorted-bits @glodenox
source/_integrations/dsmr_reader.markdown @sorted-bits @glodenox @erwindouna
source/_integrations/duotecno.markdown @cereal2nd
source/_integrations/duquesne_light.markdown @tronikos
source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @andarotajo
@ -217,6 +220,7 @@ source/_integrations/emoncms.markdown @borpin
source/_integrations/emonitor.markdown @bdraco
source/_integrations/emulated_hue.markdown @bdraco @Tho85
source/_integrations/emulated_kasa.markdown @kbickar
source/_integrations/energenie_power_sockets.markdown @gnumpi
source/_integrations/energie_vanons.markdown @klaasnicolaas
source/_integrations/energy.markdown @home-assistant/core
source/_integrations/energyzero.markdown @klaasnicolaas
@ -311,9 +315,9 @@ source/_integrations/gree.markdown @cmroche
source/_integrations/greeneye_monitor.markdown @jkeljo
source/_integrations/group.markdown @home-assistant/core
source/_integrations/guardian.markdown @bachya
source/_integrations/habitica.markdown @ASMfreaK @leikoilja
source/_integrations/habitica.markdown @ASMfreaK @leikoilja @tr4nt0r
source/_integrations/hardware.markdown @home-assistant/core
source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan
source/_integrations/harmony.markdown @ehendrix23 @bdraco @mkeesey @Aohzan
source/_integrations/hassio.markdown @home-assistant/supervisor
source/_integrations/havana_shade.markdown @starkillerOG
source/_integrations/hdmi_cec.markdown @inytar
@ -368,6 +372,7 @@ source/_integrations/image.markdown @home-assistant/core
source/_integrations/image_processing.markdown @home-assistant/core
source/_integrations/image_upload.markdown @home-assistant/core
source/_integrations/imap.markdown @jbouwh
source/_integrations/imgw_pib.markdown @bieniu
source/_integrations/improv_ble.markdown @emontnemery
source/_integrations/incomfort.markdown @zxdavb
source/_integrations/indianamichiganpower.markdown @tronikos
@ -390,6 +395,7 @@ source/_integrations/iperf3.markdown @rohankapoorcom
source/_integrations/ipma.markdown @dgomes
source/_integrations/iqvia.markdown @bachya
source/_integrations/irish_rail_transport.markdown @ttroy50
source/_integrations/isal.markdown @bdraco
source/_integrations/islamic_prayer_times.markdown @engrbm87 @cpfair
source/_integrations/ismartwindow.markdown @starkillerOG
source/_integrations/iss.markdown @DurgNomis-drol
@ -491,6 +497,7 @@ source/_integrations/modern_forms.markdown @wonderslug
source/_integrations/moehlenhoff_alpha2.markdown @j-a-n
source/_integrations/monessen.markdown @jeeftor
source/_integrations/monoprice.markdown @etsinko @OnFreund
source/_integrations/monzo.markdown @jakemartin-icl
source/_integrations/moon.markdown @fabaff @frenck
source/_integrations/mopeka.markdown @bdraco
source/_integrations/motion_blinds.markdown @starkillerOG
@ -674,6 +681,7 @@ source/_integrations/sabnzbd.markdown @shaiu @jpbede
source/_integrations/saj.markdown @fredericvl
source/_integrations/samsam.markdown @klaasnicolaas
source/_integrations/samsungtv.markdown @chemelli74 @epenet
source/_integrations/sanix.markdown @tomaszsluszniak
source/_integrations/scene.markdown @home-assistant/core
source/_integrations/schedule.markdown @home-assistant/core
source/_integrations/schlage.markdown @dknowles2
@ -725,7 +733,6 @@ source/_integrations/smart_blinds.markdown @starkillerOG
source/_integrations/smart_home.markdown @starkillerOG
source/_integrations/smart_meter_texas.markdown @grahamwetzler
source/_integrations/smarther.markdown @cgtobi
source/_integrations/smartthings.markdown @andrewsayre
source/_integrations/smarttub.markdown @mdz
source/_integrations/smarty.markdown @z0mbieprocess
source/_integrations/smhi.markdown @gjohansson-ST
@ -775,7 +782,7 @@ source/_integrations/switch.markdown @home-assistant/core
source/_integrations/switch_as_x.markdown @home-assistant/core
source/_integrations/switchbee.markdown @jafar-atili
source/_integrations/switchbot.markdown @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
source/_integrations/switchbot_cloud.markdown @SeraphicRav
source/_integrations/switchbot_cloud.markdown @SeraphicRav @laurence-presland
source/_integrations/switcher_kis.markdown @thecode
source/_integrations/switchmate.markdown @danielhiversen @qiz-li
source/_integrations/symfonisk.markdown @jjlawren @peterager
@ -806,7 +813,7 @@ source/_integrations/tfiac.markdown @fredrike @mellado
source/_integrations/thermobeacon.markdown @bdraco
source/_integrations/thermoplus.markdown @bdraco
source/_integrations/thermopro.markdown @bdraco @h3ss
source/_integrations/thethingsnetwork.markdown @fabaff
source/_integrations/thethingsnetwork.markdown @angelnu
source/_integrations/thread.markdown @home-assistant/core
source/_integrations/tibber.markdown @danielhiversen
source/_integrations/tile.markdown @bachya

View File

@ -10,8 +10,8 @@ group :development do
gem 'stringex', '2.8.6'
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
gem 'sassc', '2.1.0'
gem 'rubocop', '1.64.0'
gem 'ruby-lsp', '0.16.7'
gem 'rubocop', '1.64.1'
gem 'ruby-lsp', '0.17.3'
gem 'rackup', '2.1.0'
end
@ -23,7 +23,7 @@ group :jekyll_plugins do
end
gem 'sinatra', '4.0.0'
gem 'nokogiri', '1.16.5'
gem 'nokogiri', '1.16.6'
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library

View File

@ -21,14 +21,14 @@ GEM
sass (>= 3.3.0, < 3.5)
compass-import-once (1.0.5)
sass (>= 3.2, < 3.5)
concurrent-ruby (1.2.3)
concurrent-ruby (1.3.3)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.16.3)
ffi (1.17.0-x86_64-linux-gnu)
forwardable-extended (2.6.0)
google-protobuf (4.27.0-x86_64-linux)
google-protobuf (4.27.1-x86_64-linux)
bigdecimal
rake (>= 13)
http_parser.rb (0.8.0)
@ -72,22 +72,23 @@ GEM
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.6.0)
mercenary (0.4.0)
multi_json (1.15.0)
mustermann (3.0.0)
ruby2_keywords (~> 0.0.1)
nokogiri (1.16.5-x86_64-linux)
nokogiri (1.16.6-x86_64-linux)
racc (~> 1.4)
parallel (1.24.0)
parser (3.3.1.0)
parallel (1.25.1)
parser (3.3.3.0)
ast (~> 2.4.1)
racc
pathutil (0.16.2)
forwardable-extended (~> 2.6)
prism (0.29.0)
public_suffix (5.0.5)
prism (0.30.0)
public_suffix (5.1.0)
racc (1.8.0)
rack (3.0.11)
rack (3.1.3)
rack-protection (4.0.0)
base64 (>= 0.1.0)
rack (>= 3.0.0, < 4)
@ -101,11 +102,13 @@ GEM
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rbs (3.5.1)
logger
regexp_parser (2.9.2)
rexml (3.2.8)
strscan (>= 3.0.9)
rouge (4.2.1)
rubocop (1.64.0)
rexml (3.3.0)
strscan
rouge (4.3.0)
rubocop (1.64.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
@ -118,15 +121,16 @@ GEM
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.31.3)
parser (>= 3.3.1.0)
ruby-lsp (0.16.7)
ruby-lsp (0.17.3)
language_server-protocol (~> 3.17.0)
prism (>= 0.29.0, < 0.30)
prism (>= 0.29.0, < 0.31)
rbs (>= 3, < 4)
sorbet-runtime (>= 0.5.10782)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sass (3.4.25)
sass-embedded (1.77.2-x86_64-linux-gnu)
sass-embedded (1.77.5-x86_64-linux-gnu)
google-protobuf (>= 3.25, < 5.0)
sass-globbing (1.1.5)
sass (>= 3.1)
@ -138,7 +142,7 @@ GEM
rack-protection (= 4.0.0)
rack-session (>= 2.0.0, < 3)
tilt (~> 2.0)
sorbet-runtime (0.5.11394)
sorbet-runtime (0.5.11435)
stringex (2.8.6)
strscan (3.1.0)
terminal-table (3.0.2)
@ -161,11 +165,11 @@ DEPENDENCIES
jekyll-paginate (= 1.1.0)
jekyll-sitemap (= 1.4.0)
jekyll-toc (= 0.19.0)
nokogiri (= 1.16.5)
nokogiri (= 1.16.6)
rackup (= 2.1.0)
rake (= 13.2.1)
rubocop (= 1.64.0)
ruby-lsp (= 0.16.7)
rubocop (= 1.64.1)
ruby-lsp (= 0.17.3)
sass-globbing (= 1.1.5)
sassc (= 2.1.0)
sinatra (= 4.0.0)

View File

@ -30,8 +30,6 @@ 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 blueprint_exchange_data"
abort("Generating blueprint exchange data failed") unless success
success = system "jekyll build"
abort("Generating site failed") unless success
if ENV["CONTEXT"] != 'production'
@ -70,7 +68,6 @@ task :preview, :listen do |t, args|
system "rake analytics_data"
system "rake version_data"
system "rake alerts_data"
system "rake blueprint_exchange_data"
jekyllPid = Process.spawn({"OCTOPRESS_ENV"=>"preview"}, "jekyll build -t --watch --incremental")
compassPid = Process.spawn("compass watch")
rackupPid = Process.spawn("rackup --port #{server_port} --host #{listen_addr}")
@ -116,14 +113,3 @@ task :version_data do
file.write(JSON.generate(remote_data))
end
end
desc "Download data from the blueprint exchange @ community.home-assistant.io"
task :blueprint_exchange_data do
uri = URI('https://community.home-assistant.io/c/blueprints-exchange/53/l/top.json?period=all')
remote_data = JSON.parse(Net::HTTP.get(uri))
File.open("#{source_dir}/_data/blueprint_exchange_data.json", "w") do |file|
file.write(JSON.generate(remote_data['topic_list']['topics']))
end
end

View File

@ -67,8 +67,6 @@ titlecase: true # Converts page and post titles to titlecase
collections:
integrations:
output: true
examples:
output: true
docs:
output: true
addons:
@ -109,9 +107,9 @@ social:
# Home Assistant release details
current_major_version: 2024
current_minor_version: 5
current_patch_version: 5
date_released: 2024-05-24
current_minor_version: 6
current_patch_version: 3
date_released: 2024-06-15
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

22
package-lock.json generated
View File

@ -23,7 +23,7 @@
"textlint": "^14.0.4",
"textlint-filter-rule-comments": "^1.2.2",
"textlint-rule-common-misspellings": "^1.0.1",
"textlint-rule-terminology": "^5.0.9"
"textlint-rule-terminology": "^5.0.13"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@ -1064,12 +1064,12 @@
}
},
"node_modules/braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"dependencies": {
"fill-range": "^7.0.1"
"fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
@ -1443,9 +1443,9 @@
}
},
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
@ -6113,9 +6113,9 @@
}
},
"node_modules/textlint-rule-terminology": {
"version": "5.0.9",
"resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-5.0.9.tgz",
"integrity": "sha512-+6z9J8plZEtJdnaWyj0qpPtQBKEW9dq+a9mfJzOA6ZseHycnvlQzD66toyLBgm4XoGUe8ZNabS0h/eVYvY7Yyw==",
"version": "5.0.13",
"resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-5.0.13.tgz",
"integrity": "sha512-1LONlbrn0fRhz/eCWPrnrxc5nz07NDjLLa4yiPm/hMtn/4Gi11R0lHbVgl+Ux6l8NC/a/NS5f6zQkJqqWy5bMw==",
"dev": true,
"dependencies": {
"lodash": "^4.17.15",

View File

@ -18,7 +18,7 @@
"textlint": "^14.0.4",
"textlint-filter-rule-comments": "^1.2.2",
"textlint-rule-common-misspellings": "^1.0.1",
"textlint-rule-terminology": "^5.0.9"
"textlint-rule-terminology": "^5.0.13"
},
"resolutions": {
"minimist": ">=1.2.5"
@ -26,6 +26,6 @@
"scripts": {
"markdown:lint": "remark --quiet --frail .",
"textlint:all": "textlint source",
"textlint": "textlint source/_examples source/_docs source/_faq source/_integrations source/_dashboards source/cloud source/getting-started source/hassio source/dashboards"
"textlint": "textlint source/_docs source/_faq source/_integrations source/_dashboards source/cloud source/getting-started source/hassio source/dashboards"
}
}

27
plugins/site_pages.rb Normal file
View File

@ -0,0 +1,27 @@
module Jekyll
class SitePagesGenerator < Jekyll::Generator
def generate(site)
all_pages = Array.new
site.collections.each do |name, collection|
all_pages.concat(collection.docs)
end
site.data["site_pages"] = all_pages
.concat(site.pages)
.concat(site.documents)
.map { |entry|
[
entry.url.to_s,
{
"title" => entry["title"],
"description" => entry["description"],
"url" => entry.url,
"relative_path" => entry.relative_path
}
]
}
.to_h
end
end
end

View File

@ -490,6 +490,10 @@ article.listing {
box-shadow: none;
}
video {
max-width: 100%;
}
&>table,
&>.entry-content>table {
background-color: #f3fcf5;

View File

@ -128,7 +128,12 @@ type: button
entity: light.living_room
```
Button card with a button name and a script that runs when card is tapped:
Button card with a button name and a [script](/docs/scripts/) that runs when card is tapped:
<p class='img'>
<img src='/images/dashboards/entity_button_complex_card.png' alt='Screenshot of the Button card with script service'>
Screenshot of the button card with script service.
</p>
```yaml
type: button
@ -141,7 +146,60 @@ tap_action:
entity_id: script.turn_off_lights
```
Example of 4 buttons on a vertical stack card:
<p class='img'>
<img src='/images/dashboards/entity_button_complex_card.png' alt='Screenshot of the Button card with script service'>
Screenshot of the button card with script service.
<img src='/images/dashboards/buttons_on_vertical_stack_card.png' alt='Screenshot of a vertical stack card with 4 buttons and an entity selector'>
Screenshot of a vertical stack card with 4 buttons and an entity selector.
</p>
The image shows a vertical stack card with 4 buttons arranged in a horizontal stack card and an entity selector. The buttons use the toggle action to run a script, for example, the Netflix script, which starts up the TV and opens Netflix. To learn how to create scripts, refer to [scripts](/docs/scripts/).
```yaml
cards:
- entities:
- entity: input_select.living_room_scene
name: Scene
show_header_toggle: false
type: entities
- type: horizontal-stack
cards:
- name: Watch Netflix
entity: script.netflix
type: button
tap_action:
action: toggle
hold_action:
action: more-info
show_name: true
show_icon: true
- name: Watch YouTube
entity: script.youtube
type: button
tap_action:
action: toggle
hold_action:
action: more-info
show_name: true
show_icon: true
- name: Wake PC
entity: script.wake_on_lan
type: button
tap_action:
action: toggle
icon: mdi:desktop-tower
show_name: true
show_icon: true
show_state: false
- name: Go to sleep
entity: script.sleep
type: button
tap_action:
action: toggle
icon: mdi:sleep
hold_action:
action: more-info
show_name: true
show_icon: true
type: vertical-stack
```

View File

@ -6,6 +6,8 @@ description: The Conditional card displays another card based on conditions.
related:
- docs: /dashboards/cards/
title: Dashboard cards
- docs: /dashboards/cards/#show-or-hide-a-card-conditionally
title: Conditional settings on the card's visibility tab
---
The conditional card displays another card based on conditions.
@ -15,6 +17,8 @@ The conditional card displays another card based on conditions.
{% include dashboard/edit_dashboard.md %}
Note that while editing the dashboard, the card will always be shown, so be sure to exit editing mode to test the conditions.
The conditional card can still be used. However, it is now possible to define a setting to show or hide a card conditionally directly on each card type, on its [Visibility](/dashboards/cards/#show-or-hide-a-card-conditionally) tab.
Most options for this card can be configured via the user interface.
## YAML configuration

View File

@ -562,7 +562,7 @@
uses its radio frequency (RF) radio to communicate with the Thread mesh
network. In case of Matter, the data that is forwarded is encrypted.
Examples of Thread border routers are the Nest Hub (2nd gen), the HomePod
mini, and the Home Assistant SkyConnect together with the OpenThread Border
mini, and the Home Assistant Connect&nbsp;ZBT-1 together with the OpenThread Border
Router add-on.
link: /integrations/thread/#about-thread-border-routers
aliases:

View File

@ -40,11 +40,11 @@ File access depends on your [installation method](/installation/#advanced-instal
- [Configure file access on the Operating System](/common-tasks/os/#configuring-access-to-files):
- If you are unsure which option to choose, install the [file editor add-on](/common-tasks/os/#installing-and-using-the-file-editor-add-on).
- Alternatively, use the [VS Code add-on](/common-tasks/os/#installing-and-using-the-visual-studio-code-vsc-add-on). This editor offers live syntax checking and auto-fill of various Home Assistant entities. But it looks more complex than the file editor.
- Alternatively, use the [Studio Code Server add-on](/common-tasks/os/#installing-and-using-the-visual-studio-code-vsc-add-on). This editor offers live syntax checking and auto-fill of various Home Assistant entities. But it looks more complex than the file editor.
- If you prefer to use a file editor on your computer, use the [Samba add-on](/common-tasks/os/#installing-and-using-the-samba-add-on).
- [Configure file access on Supervised](/common-tasks/supervised/#configuring-access-to-files):
- Using the [File editor add-on](/common-tasks/supervised/#installing-and-using-the-file-editor-add-on).
- Using the [VS Code add-on](/common-tasks/supervised/#installing-and-using-the-visual-studio-code-vsc-add-on).
- Using the [Studio Code Server add-on](/common-tasks/supervised/#installing-and-using-the-visual-studio-code-vsc-add-on).
- Using the [Samba add-on](/common-tasks/supervised/#installing-and-using-the-samba-add-on).
2. To look up the path to your configuration directory, go to {% my system_health title="**Settings** > **System** > **Repairs**" %}.
@ -87,4 +87,4 @@ For configuration changes to become effective, the configuration must be reloade
## Troubleshooting the configuration
If you run into trouble while configuring Home Assistant, refer to the [configuration troubleshooting page](/docs/configuration/troubleshooting/) and the [`configuration.yaml` examples](/examples/#example-configurationyaml).
If you run into trouble while configuring Home Assistant, refer to the [configuration troubleshooting page](/docs/configuration/troubleshooting/).

View File

@ -6,31 +6,35 @@ related:
- docs: /docs/configuration/
title: configuration.yaml file
- docs: /docs/configuration/troubleshooting/
- docs: /docs/organizing/labels/
---
## Changing entity name and entity ID
## Customizing an entity
After adding a new device, the entity may not have a name and the automatically assigned entity ID might look very technical. If you like, you can use your own naming concept for devices.
After adding a new device, you might find the automatically assigned entity ID too technical and the entity lacking a friendly name. You can personalize these elements to better fit your naming conventions or modify other attributes like the icon.
To change the entity ID and friendly name of supported entities, follow these steps:
To change entity attributes, follow these steps:
1. Go to {% my entities title="**Settings** > **Devices & services** > **Entities**" %} and select the entity from the list.
2. In the top right corner, select the cog icon.
![Entity dialog box with cog icon.](/images/docs/configuration/customizing-entity-dialog.png)
3. Enter the new name or the new entity ID.
- For example, the entity ID here could be `light.bedroom_lightstrip_3`.
- Do not change the domain of the entity - the part before the `.` (period).
- You can use lowercase letters, numbers, and underscores.
- The name must not start or end with an underscore.
3. Enter or edit the attributes:
- For example, the entity ID here could be shortened to `binary_sensor.living_room_motion_1`.
- Do not change the domain of the entity - the part before the `.` (binary_sensor, in this example).
- You can use lowercase letters, numbers, and underscores.
- The ID must not start or end with an underscore.
- Enter or edit the friendly name.
- If needed, from the **Shown as** menu, you can select a different [device class](/integrations/homeassistant/#device-class).
- If you like, add a [label](/docs/organizing/labels/).
![Settings for entity.](/images/docs/configuration/customizing-entity.png)
4. Select **Update**.
4. To apply the changes, select **Update**.
5. If you have used this entity in automations and scripts, you need to rename the entity ID there, too.
- Go to {% my automations title="**Settings** > **Automations & Scenes**" %} open the respective tab and find your automation or script.
![Edit entity ID in automation.](/images/docs/configuration/edit_entity-id_in_automation.png)
### Customizing an entity in YAML
If your entity is not supported, or you cannot customize what you need via this method, you need to edit the settings in your {% term "`configuration.yaml`" %} file. For a detailed description of the entity configuration variables and device class information, refer to the [Home Assistant Core integration documentation](/integrations/homeassistant/).
If your entity is not supported, or you could not customize what you need via the user interface, you need to edit the settings in your {% term "`configuration.yaml`" %} file. For a detailed description of the entity configuration variables and [device class](/integrations/homeassistant/#device-class) information, refer to the [Home Assistant Core integration documentation](/integrations/homeassistant/).

View File

@ -4,8 +4,6 @@ description: "Splitting the configuration.yaml into several files."
related:
- docs: /docs/configuration/
title: configuration.yaml file
- docs: /examples/#example-configurationyaml
title: Example configuration files by the community
- docs: /docs/configuration/packages
title: Using packages to organize configuration files
---
@ -14,7 +12,7 @@ So you've been using Home Assistant for a while now and your {% term "`configura
## Example configuration files for inspiration
First off, several community members have sanitized (read: without API keys/passwords) versions of their configurations available for viewing. You can see a [list of example files here](/examples/#example-configurationyaml).
First off, several community members have sanitized (read: without API keys/passwords) versions of their configurations available for viewing. You can see a [list of example configuration on GitHub](https://github.com/search?q=topic%3Ahome-assistant-config&type=Repositories).
As commenting code doesn't always happen, please read on to learn in detail how configuration files can be structured.

View File

@ -19,7 +19,3 @@ The frontend is built with [Polymer](https://www.polymer-project.org/).
## Icons
Home Assistant utilizes the community-driven [Material Design Icons](https://pictogrammers.com/library/mdi/) project for icons in the frontend. The [Icons section](/docs/frontend/icons/) has more information on how to use icons and suggest new ones.
## Examples
The [User Interface section](/examples/#user-interface) can give you some starting points to expand the frontend.

View File

@ -32,7 +32,7 @@ Recovery mode loads a minimum set of integrations to allow troubleshooting the c
You need to identify the issue in the configuration files and fix it there. The issue could be caused by something as simple as an invalid YAML file.
- If you are running {% term "Home Assistant Operating System" %}, you can install an add-on such as VS code to edit the configuration file if needed.
- If you are running {% term "Home Assistant Operating System" %}, you can install an add-on such as Studio Code Server to edit the configuration file if needed.
- If you are still logged in, you can [edit your configuration](/docs/configuration/#editing-configurationyaml).
- In the Home Assistant user interface, open the add-on you usually use and edit the configuration file.
- Restart Home Assistant.

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by DrJohnT"
description: "Velux windows, Drayton Wiser heating, Audio / Visual, lighting and humidity controlled fans"
ha_category: Example configuration.yaml
ha_external_link: https://github.com/DrJohnT/HomeAssistantPublicConfig
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by Alok Saboo"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/arsaboo/homeassistant-config
---

View File

@ -1,7 +0,0 @@
---
title: "Configuration.yaml by aneisch"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/aneisch/home-assistant-config/
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by Apocrathia"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/Apocrathia/home-assistant-config/
---

View File

@ -1,7 +0,0 @@
---
title: "Configuration.yaml by Carlo Costanzo"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/CCOSTAN/Home-AssistantConfig
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by cy1701"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/cy1701/Home-Assistant-Configuration
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by dannytsang"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/dannytsang/homeassistant-config
---

View File

@ -1,7 +0,0 @@
---
title: "Configuration.yaml by geekofweek"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/geekofweek/homeassistant
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by jimpower"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/JamesMcCarthy79/Home-Assistant-Config
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by Jonathan Adams"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/jonathanadams/Home-Assistant-Configuration
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by klaasnicolaas"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/klaasnicolaas/Student-homeassistant-config
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by mcaminiti"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/mcaminiti/homeassistant
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by ntalekt"
description: "Unifi, ZHA, Pentair, Tuya, Tasmota"
ha_category: Example configuration.yaml
ha_external_link: https://github.com/ntalekt/homeassistant
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by omerome83"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/omerome83/homeassistant
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by Shortbloke"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/shortbloke/home_assistant_config
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by Mahasri Kalavala (@skalavala)"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/skalavala/mysmarthome
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by Tinkerer"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/DubhAd/Home-AssistantConfig/
---

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by ubhits (HA 'Steroids' Config)"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/UbhiTS/ha-config-ataraxis
---

View File

@ -1,31 +0,0 @@
---
title: "Show Google Maps as a card"
description: "Example how to show a Google Map as a Google card."
ha_category: User Interface
---
Using the [generic camera platform] you can present any image on the internet as a camera. Starting release 0.27 these URLs can also be based on a template. This example uses this functionality to point a generic camera at the Google Maps static image API and pass in the location of a device.
As of June 2018, Google has changed the API limits for static maps. You now need to have a Google Maps API key. Instructions for registering a key can be found [here](https://github.com/googlemaps/google-maps-services-python#api-keys). Replace `YOUR_API_KEY` with the key you registered.
It also leverages the `limit_refetch_to_url_change` option to ensure that we do not make a lot of requests to the Google Maps API.
{% raw %}
```yaml
# Example configuration.yaml entry.
# Shows device_tracker.demo_paulus on a map.
camera:
name: Paulus
platform: generic
still_image_url: https://maps.googleapis.com/maps/api/staticmap?center={{ state_attr('device_tracker.demo_paulus', 'latitude') }},{{ state_attr('device_tracker.demo_paulus', 'longitude') }}&zoom=13&size=500x500&maptype=roadmap&markers=color:blue%7Clabel:P%7C{{ state_attr('device_tracker.demo_paulus', 'latitude') }},{{ state_attr('device_tracker.demo_paulus', 'longitude') }}&key=YOUR_API_KEY
limit_refetch_to_url_change: true
```
{% endraw %}
<p class='img'>
<img src='/images/integrations/camera/generic-google-maps.png' alt='Screenshot showing Google Maps integration in Home Assistant front end.'>
</p>
[generic camera platform]: /integrations/generic_ip_camera

View File

@ -12,7 +12,6 @@
<ul>
<li>{% active_link /installation Installation %}</li>
<li>{% active_link /getting-started Getting started & onboarding %}</li>
<li>{% active_link /dashboards Dashboards & views %}</li>
<li>{% active_link /common-tasks/os/ Common tasks %}</li>
<li>
{% active_link /docs/troubleshooting/ Troubleshooting installation
@ -26,7 +25,8 @@
<li>
<b>{% active_link /docs/frontend/ Frontend %}</b>
<ul>
<li>{% active_link /docs/organizing/ Organizing %}</li>
<li>{% active_link /dashboards Dashboards & views %}</li>
<li>{% active_link /docs/organizing/ Organizing: areas, floors, labels, categories, ... %}</li>
<li>{% active_link /docs/frontend/icons/ Icons%}</li>
</ul>
</li>
@ -181,7 +181,7 @@
<a href="https://yellow.home-assistant.io/">Home Assistant Yellow</a>
</li>
<li>
<a href="https://skyconnect.home-assistant.io/">Home Assistant SkyConnect</a>
<a href="https://connectzbt1.home-assistant.io/">Home Assistant Connect ZBT-1</a>
</li>
</ul>
</li>

View File

@ -22,7 +22,7 @@
<li>{% active_link /voice_control/custom_sentences/ Custom sentences %}</li>
<li>{% active_link /voice_control/aliases/ Using aliases %}</li>
<li>{% active_link /voice_control/using_tts_in_automation/ Using Piper TTS in automations %}</li>
<li>{% active_link /voice_control/assist_create_open_ai_personality/ Creating a personality with OpenAI %}</li>
<li>{% active_link /voice_control/assist_create_open_ai_personality/ Creating a personality with AI %}</li>
</ul>
</div>

View File

@ -103,7 +103,7 @@ You can use a backup during the onboarding process to restore your configuration
##### To restore a backup during onboarding
1. If you are migrating to a new device and you had controllers or radios connected (such as a Z-Wave stick or SkyConnect):
1. If you are migrating to a new device and you had controllers or radios connected (such as a Z-Wave stick or Connect&nbsp;ZBT-1):
- make sure to plug them into the new device.
2. After Home Assistant has been installed, on the welcome screen, select **Restore from backup**.
- Then, select **Upload backup**.

View File

@ -140,7 +140,9 @@ To write the HAOS image to the boot medium on your x86-64 hardware, there are 2
### Method 2: Installing HAOS directly from a boot medium
<div class='note warning'>
Use this method only if Method 1 does not work for you.
</div>
#### Required material
@ -205,15 +207,16 @@ Use this method only if Method 1 does not work for you.
*Select and copy the URL or use the "copy" button that appear when you hover it.*
5. Paste the URL into your browser to start the download.
6. Select **Flash from file** and select the image you just downloaded.
6. Extract the file you just downloaded.
7. Select **Flash from file** and select the image you just extracted.
- Do not use **Flash from URL**. It does not work on some systems.
![Screenshot of the Etcher software showing flash from URL selected.](/images/installation/etcher1_file.png)
7. **Select target**.
8. **Select target**.
![Screenshot of the Etcher software showing the select target button highlighted.](/images/installation/etcher3.png)
8. Select the boot medium ({{site.installation.types[page.installation_type].installation_media}}) you want to use for your installation.
9. Select the boot medium ({{site.installation.types[page.installation_type].installation_media}}) you want to use for your installation.
![Screenshot of the Etcher software showing the targets available.](/images/installation/etcher4.png)
9. Select **Flash!** to start writing the image.
10. Select **Flash!** to start writing the image.
- If the operation fails, decompress the .xz file and try again.
![Screenshot of the Etcher software showing the Flash button highlighted.](/images/installation/etcher5.png)
- When Balena Etcher has finished writing the image, you will see a confirmation.
@ -370,7 +373,7 @@ Minimum recommended assignments:
content: |
```bash
virt-install --name hass --description "Home Assistant OS" --os-variant=generic --ram=2048 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=sata --import --graphics none --boot uefi
virt-install --name haos --description "Home Assistant OS" --os-variant=generic --ram=4096 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=scsi --controller type=scsi,model=virtio-scsi --import --graphics none --boot uefi
```
<div class="note info">
@ -391,7 +394,7 @@ Minimum recommended assignments:
You can recognize the Sonoff dongle at `Bus 003 Device 003`. So the command to install the VM will become:
```bash
virt-install --name hass --description "Home Assistant OS" --os-variant=generic --ram=2048 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=sata --import --graphics none --boot uefi --hostdev 003.003
virt-install --name haos --description "Home Assistant OS" --os-variant=generic --ram=4096 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=scsi --controller type=scsi,model=virtio-scsi --import --graphics none --boot uefi --hostdev 003.003
```
Note that this configuration (bus 003, device 003) is just an example, your dongle could be on another bus and/or with another device ID.

View File

@ -11,23 +11,19 @@
<div class="text related-topics">
<h2><a class="title-link" href="#related-topics" name="related-topics"></a>Related topics</h2>
<ul>
{% assign site_part = "pages,documents" | split: "," %}
{%- for related in related_topics -%}
{%- for part in site_part -%}
{%- for entry in site[part] -%}
{% assign computed = related.docs | split: "#" %}
{% assign target_url = computed[0] %}
{% assign target_page = site.data["site_pages"][target_url] %}
{% unless target_page == null %}
{% assign link_target = computed[1] %}
{% assign suggested_title = related.title | default: link_target | split: "-" | join: " " | capitalize %}
{%- if computed[0] == entry.url -%}
<li>
<a href="{{ entry.url | relative_url }}{% if link_target %}#{{link_target}}{% endif %}" class="topic">
{{ suggested_title | default: entry.title}}
<a href="{{ target_page['url'] | relative_url }}{% if link_target %}#{{link_target}}{% endif %}" class="topic">
{{ suggested_title | default: target_page["title"]}}
</a>
</li>
{% break %}{% break %}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}
{% endunless %}
{%- endfor -%}
</ul>
</div>

View File

@ -45,7 +45,6 @@
</ul>
</li>
<li><a href="/integrations/">Integrations</a></li>
<li><a href="/examples/">Examples</a></li>
<li><a href="/blog/">Blog</a></li>
<li><a href="/help/">Need help?</a></li>
<li>

View File

@ -1,6 +1,6 @@
---
title: Airgradient
description: Instructions on how to setup Airgradient devices in Home Assistant.
title: AirGradient
description: Instructions on how to setup AirGradient devices in Home Assistant.
ha_category:
- Health
- Sensor
@ -13,12 +13,17 @@ ha_codeowners:
ha_domain: airgradient
ha_platforms:
- sensor
- select
ha_integration_type: integration
ha_integration_type: device
ha_zeroconf: true
---
The Airgradient integration will fetch data from your [Airgradient devices](https://www.airgradient.com/).
The AirGradient integration will fetch data from your [AirGradient devices](https://www.airgradient.com/).
<div class='note'>
In order for the device to be set up or discovered by Home Assistant, the firmware version should be at least 3.1.1.
</div>
<div class='note'>
@ -35,7 +40,7 @@ The integration will fetch data from each device. The following sensors are supp
- Carbon dioxide
- Humidity
- Nitrogen index
- PM0.03 count
- PM0.3 count
- PM1 density
- PM2.5 density
- PM10 density
@ -51,4 +56,4 @@ The integration provides a few configuration entities to customize the device ex
The settings are only applied to the device when the configuration source is set to local.
The following entities are supported:
- Display temperature unit
- Display temperature unit

View File

@ -13,7 +13,7 @@ ha_platforms:
- alarm_control_panel
- binary_sensor
- sensor
ha_integration_type: integration
ha_integration_type: device
---
The **AlarmDecoder** {% term integration %} will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad.

View File

@ -11,6 +11,9 @@ ha_platforms:
- sensor
- number
ha_integration_type: device
ha_codeowners:
- '@mawoka-myblock'
- '@SonnenladenGmbH'
---
The **APsystems** {% term integration %} allows you to read the data from your [APsystems EZ1](https://emea.apsystems.com/diy/ez1/) microinverter. It also allows you to set the output limit to any number between 30 and 800 watts.

View File

@ -9,6 +9,7 @@ ha_iot_class: Local Push
ha_codeowners:
- '@aschmitz'
- '@thecode'
- '@anrijs'
ha_domain: aranet
ha_config_flow: true
ha_platforms:

View File

@ -5,14 +5,15 @@ ha_category:
- Environment
- Health
- Sensor
ha_release: "2024.5"
ha_release: '2024.5'
ha_iot_class: Cloud Polling
ha_codeowners:
- "@ikalnyi"
- '@ikalnyi'
ha_domain: arve
ha_platforms:
- sensor
ha_integration_type: hub
ha_integration_type: integration
ha_config_flow: true
---
The **Arve** {% term integration %} provides the ability to monitor real-life air quality data, as measured by your [Arve](https://www.arveair.com) device.

View File

@ -12,7 +12,7 @@ ha_domain: aurora_abb_powerone
ha_platforms:
- sensor
ha_config_flow: true
ha_integration_type: integration
ha_integration_type: device
---
This implements a direct RS485 connection to a solar inverter in the

View File

@ -70,7 +70,7 @@ There are a few differences between the **PAYG** and **Free** versions:
.create table ['<name_to_be_replaced>'] (entity_id: string, state: string, attributes: dynamic, last_changed: datetime, last_updated: datetime, context: dynamic)
// Creat a mapping from the incoming JSON to the table and columns just created (replace the name with the table name from the previous step)
.create table ['<name_to_be_replaced>'] ingestion json mapping ['ha_json_mapping'] '[{"column":"entity_id","path":"$.entity_id"},{"column":"state","path":"$.state"},{"column":"attributes","path":"$.attributes"},{"column":"last_changed","path":"$.last_canged"},{"column":"last_updated","path":"$.last_updated"},{"column":"context","path":"$.context"}]'
.create table ['<name_to_be_replaced>'] ingestion json mapping 'ha_json_mapping' '[{"column":"entity_id","path":"$.entity_id"},{"column":"state","path":"$.state"},{"column":"attributes","path":"$.attributes"},{"column":"last_changed","path":"$.last_canged"},{"column":"last_updated","path":"$.last_updated"},{"column":"context","path":"$.context"}]'
```
This is an example with a free cluster for reference:
@ -82,7 +82,7 @@ This is an example with a free cluster for reference:
.create table ['raw'] (entity_id: string, state: string, attributes: dynamic, last_changed: datetime, last_updated: datetime, context: dynamic)
.create table ['raw'] ingestion json mapping ['ha_json_mapping'] '[{"column":"entity_id","path":"$.entity_id"},{"column":"state","path":"$.state"},{"column":"attributes","path":"$.attributes"},{"column":"last_changed","path":"$.last_canged"},{"column":"last_updated","path":"$.last_updated"},{"column":"context","path":"$.context"}]'
.create table ['raw'] ingestion json mapping 'ha_json_mapping' '[{"column":"entity_id","path":"$.entity_id"},{"column":"state","path":"$.state"},{"column":"attributes","path":"$.attributes"},{"column":"last_changed","path":"$.last_canged"},{"column":"last_updated","path":"$.last_updated"},{"column":"context","path":"$.context"}]'
```
{% include integrations/config_flow.md %}

View File

@ -63,7 +63,29 @@ This channel or a user ID has to be used as the target when calling the notifica
{% include integrations/config_flow.md %}
When adding the Discord integration you will be asked for an API Key. Enter the hidden **Token** of your bot to link your Discord integration to the bot you created and allow Home Assistant to send messages as that bot.
When adding the Discord integration, you will be asked for an API Key. Enter the hidden **Token** of your bot to link your Discord integration to the bot you created and allow Home Assistant to send messages as that bot.
## Set Message entry
The `message` field treats all input as literal text, including quotation marks.
For example: `message: Hello, world!` will appear exactly as is, while `message: "Hello, world!"` will include the quotation marks in the message.
## Set Channel IDs as necessary
The `target` field is for the channel IDs where the message should be sent. Accepted data type is `string` for a single channel or `string[]` for multiple channels.
For example: `"someChannelID"` or `["someChannelID", "anotherChannelID"]`
## Pinging users, roles, or linking to other channels in the same server
You can use standard Discord methods to ping users, roles, and channels within the server.
| Type | Format |
| --------- | -------------- |
| `User` | `<@userID>` |
| `Role` | `<@&roleID>` |
| `Channel` | `<#channelID>` |
## Discord service data

View File

@ -11,6 +11,7 @@ ha_release: 0.103
ha_codeowners:
- '@sorted-bits'
- '@glodenox'
- '@erwindouna'
ha_domain: dsmr_reader
ha_platforms:
- diagnostics

View File

@ -36,7 +36,7 @@ The **ecobee** {% term integration %} lets you control and view sensor data from
You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, your thermostat must be registered on ecobee's website (which you likely would have already done while installing your thermostat). Once you have done that, perform the following steps.
<div class='note warning'>
As of March 28th, 2024, ecobee is no longer accepting new developer subscriptions, and there is no ETA for when they will be allowed again. Existing developers are not affected.
As of March 28th, 2024, ecobee is no longer accepting new developer subscriptions, nor are existing developer accounts able to create new API keys. There is no ETA for when they will be allowed again. Existing API keys will continue to function.
</div>
1. Click on the **Become a developer** link on the [developer site](https://www.ecobee.com/home/developer/loginDeveloper.jsp).

View File

@ -1,5 +1,5 @@
---
title: Energenie Power-Sockets
title: Energenie Power Sockets
description: Instructions on how to integrate Energenie Power-Strip switches into Home Assistant.
ha_category:
- Switch
@ -10,7 +10,8 @@ ha_codeowners:
ha_domain: energenie_power_sockets
ha_platforms:
- switch
ha_integration_type: integration
ha_integration_type: device
ha_config_flow: true
---
The **Energenie Power-Sockets** {% term integration %} allows you to include [Energenie USB Power-Sockets](https://energenie.com/item.aspx?id=7556&lang=de) into your Home Assistant setup.

View File

@ -17,17 +17,19 @@ ha_integration_type: integration
related:
- docs: /docs/configuration/
title: Configuration file
ha_config_flow: true
---
The File integration allows to store notifications to a file or to set up a sensor based on a file's content.
The File integration allows storing notifications in a file or setting up a sensor based on a file's content.
{% include integrations/config_flow.md %}
## Notifications
Make sure that the file you want to use is added to the [allowlist_external_dirs](https://www.home-assistant.io/integrations/homeassistant/#allowlist_external_dirs). The file will be created if it doesn't exist. Add the path of your [configuration](/docs/configuration/) folder (e.g., `/config`) to save the file there. Setting the optional parameter `name` allows multiple notifiers to be created. Setting `timestamp` to `true` adds a timestamp to every entry.
Make sure that the file you want to use is added to the [allowlist_external_dirs](https://www.home-assistant.io/integrations/homeassistant/#allowlist_external_dirs). The file will be created if it doesn't exist, but make sure the folder exists. Add the path of your [configuration](/docs/configuration/) folder (for example, `/config/file_notifications`) to save the file there. Setting `timestamp` to `true` adds a timestamp to every logged entry.
After creating a config entry, you can change the entry name, the name of the notify entity, or the entity ID, if you prefer.
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
To use notifications in automations or scripts, see the [getting started with automation page](/getting-started/automation/).
Use the `notify.send_message` entity service to store notification messages.
@ -41,7 +43,7 @@ In this section you find some real-life examples of how to use this sensor.
#### Entries as JSON
Assuming that the log file contains multiple values formatted as JSON like shown below:
Assuming that the log file contains multiple values formatted as JSON as shown below:
```text
[...]
@ -49,7 +51,7 @@ Assuming that the log file contains multiple values formatted as JSON like shown
{"temperature": 22, "humidity": 36}
```
This would require the following settings extract the temperature:
This would require the following settings to extract the temperature:
- Name: `Temperature`
- File path: `/home/user/.homeassistant/sensor.json`
@ -58,7 +60,7 @@ This would require the following settings extract the temperature:
#### Entries as CSV
Assuming the log file contains multiple values formatted as CSV like shown below:
Assuming the log file contains multiple values formatted as CSV as shown below:
```text
timestamp,temperature,humidity

View File

@ -11,6 +11,7 @@ ha_config_flow: true
ha_domain: fronius
ha_iot_class: Local Polling
ha_platforms:
- diagnostics
- sensor
ha_quality_scale: platinum
ha_dhcp: true

View File

@ -10,8 +10,10 @@ ha_codeowners:
- '@dontinelli'
ha_domain: fyta
ha_platforms:
- diagnostics
- sensor
ha_integration_type: hub
ha_quality_scale: platinum
---
The **FYTA** {% term integration %} uses the open API of [FYTA](https://www.fyta.de) to obtain the data from your plant sensors and integrate these into Home Assistant.

View File

@ -12,7 +12,7 @@ ha_platforms:
ha_codeowners:
- '@davet2001'
ha_config_flow: true
ha_integration_type: integration
ha_integration_type: device
---
The `generic` camera platform allows you to integrate any IP camera or other URL into Home Assistant. Templates can be used to generate the URLs on the fly.

View File

@ -1,5 +1,5 @@
---
title: Google Generative AI Conversation
title: Google Generative AI
description: Instructions on how to integrate Google Generative AI as a conversation agent
ha_category:
- Voice
@ -10,6 +10,19 @@ ha_codeowners:
- '@tronikos'
ha_domain: google_generative_ai_conversation
ha_integration_type: service
ha_quality_scale: platinum
ha_platforms:
- conversation
- diagnostics
related:
- docs: /voice_control/voice_remote_expose_devices/
title: Exposing entities to Assist
- docs: /voice_control/assist_create_open_ai_personality/
title: Create an AI personality
- url: https://aistudio.google.com/app/apikey
title: Google Generative AI API key
- url: https://ai.google.dev/
title: Google Generative AI
---
The Google Generative AI integration adds a conversation agent powered by [Google Generative AI](https://ai.google.dev/) in Home Assistant. It can optionally be allowed to control Home Assistant.
@ -18,7 +31,7 @@ Controlling Home Assistant is done by providing the AI access to the Assist API
This integration does not integrate with [sentence triggers](/docs/automation/trigger/#sentence-trigger).
This integration requires an API key to use, [which you can generate here](https://makersuite.google.com/app/apikey).
This integration requires an API key to use, [which you can generate here](https://aistudio.google.com/app/apikey), and to be in one of the [available regions](https://ai.google.dev/gemini-api/docs/available-regions).
{% include integrations/config_flow.md %}
@ -26,10 +39,10 @@ This integration requires an API key to use, [which you can generate here](https
The Google Generative AI API key is used to authenticate requests to the Google Generative AI API. To generate an API key take the following steps:
- Visit the [API Keys page](https://makersuite.google.com/app/apikey) to retrieve the API key you'll use to configure the integration.
- Visit the [API Keys page](https://aistudio.google.com/app/apikey) to retrieve the API key you'll use to configure the integration.
On the same page, you can see your plan: *free of charge* if the associated Google Cloud project doesn't have billing, or *pay-as-you-go* if the associated Google Cloud project has billing enabled.
Comparison of the plans is available [here](https://ai.google.dev/pricing). The big differences are: free of charge is rate limited and free prompts/responses are used for product improvement.
Comparison of the plans is available [at this pricing page](https://ai.google.dev/pricing). The major differences include: the free of charge plan is rate limited, free prompts/responses are used for product improvement, and the free plan is not available in all [regions](https://ai.google.dev/gemini-api/docs/available-regions).
{% include integrations/option_flow.md %}
{% configuration_basic %}
@ -38,7 +51,7 @@ Instructions:
description: Instructions for the AI on how it should respond to your requests. It is written using [Home Assistant Templating](/docs/configuration/templating/).
Control Home Assistant:
description: If the model is allowed to interact with Home Assistant
description: If the model is allowed to interact with Home Assistant. It can only control or provide information about entities that are [exposed](/voice_control/voice_remote_expose_devices/) to it.
Recommended settings:
description: If enabled, the recommended model and settings are chosen.
@ -69,6 +82,12 @@ Safety settings:
{% endconfiguration_basic %}
## Talking to Super Mario
You can use an OpenAI Conversation integration to [talk to Super Mario and, if you want, have him control devices in your home](/voice_control/assist_create_open_ai_personality/).
The tutorial is using OpenAI, but this could also be done with the Google Generative AI integration.
## Services
### Service `google_generative_ai_conversation.generate_content`
@ -82,9 +101,9 @@ Safety settings:
Allows you to ask Gemini Pro or Gemini Pro Vision to generate content from a prompt consisting of text and optionally images.
This service populates [response data](/docs/scripts/service-calls#use-templates-to-handle-response-data) with the generated content.
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ---------------------------------------------- | ------------------- |
| `prompt` | no | The prompt for generating the content. | Describe this image |
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------------------------------------------- | ------------------- |
| `prompt` | no | The prompt for generating the content. | Describe this image |
| `image_filename` | yes | File names for images to include in the prompt. | /tmp/image.jpg |
{% raw %}

View File

@ -8,7 +8,6 @@ ha_release: 0.34
ha_config_flow: true
ha_codeowners:
- '@ehendrix23'
- '@bramkragten'
- '@bdraco'
- '@mkeesey'
- '@Aohzan'

View File

@ -104,15 +104,15 @@ internal_url:
required: false
type: string
customize:
description: "[Customize](#editing-the-entity-settings-in-yaml) entities."
description: "[Customize](#editing-entity-settings-in-yaml) entities."
required: false
type: string
customize_domain:
description: "[Customize](#editing-the-entity-settings-in-yaml) all entities in a domain."
description: "[Customize](#editing-entity-settings-in-yaml) all entities in a domain."
required: false
type: string
customize_glob:
description: "[Customize](#editing-the-entity-settings-in-yaml) entities matching a pattern."
description: "[Customize](#editing-entity-settings-in-yaml) entities matching a pattern."
required: false
type: string
allowlist_external_dirs:
@ -191,7 +191,7 @@ initial_state:
### Device class
A device class represents a group of device types. The way a specific device class is shown in the user interface depends on the platform that is using it. For example, binary sensor and cover both support the device class "window". While for the binary sensor the window can only be open or closed, for cover, a window can also be tilted. For a given platform, the device class controls how the device is shown in the user interface. For example: humidifier has two device classes, humidifier and dehumidifier. If the device class is set to `humidifier`, the UI shows **Humidifying**. If it is set to `dehumidifier`, it shows **Drying**.
Devices classes categorize certain entities and influence how these are shown in the dashboard. Some device classes categorize by measurement type, such as sensors or binary sensors. Other device classes categorize into more specific types. For example, a cover can be a blind or a curtain. For a given platform, the device class influences what is shown in the user interface. For example: humidifier has two device classes, humidifier and dehumidifier. If the device class is set to `humidifier`, the UI shows **Humidifying**. If it is set to `dehumidifier`, it shows **Drying**.
Device class is currently supported by the following platforms:

View File

@ -1,6 +1,6 @@
---
title: Home Assistant Hardware
description: Home Assistant Hardware provides functionality shared between Home Assistant Yellow and Home Assistant SkyConnect.
description: Home Assistant Hardware provides functionality shared between Home Assistant Yellow and Home Assistant Connect ZBT-1.
ha_release: 2022.12
ha_category:
- Other
@ -11,7 +11,7 @@ ha_integration_type: system
---
The Home Assistant Hardware integration provides functionality
shared between Home Assistant Yellow and Home Assistant SkyConnect.
shared between Home Assistant Yellow and Home Assistant Connect ZBT-1.
## Configuration

View File

@ -1,20 +1,20 @@
---
title: Home Assistant SkyConnect
description: Home Assistant SkyConnect provides hardware information for the hardware configuration page.
title: Home Assistant Connect ZBT-1
description: Home Assistant Connect ZBT-1 provides hardware information for the hardware configuration page.
ha_release: 2022.9
ha_category:
- Other
ha_codeowners:
- '@home-assistant/core'
ha_domain: homeassistant_sky_connect
ha_integration_type: device
ha_integration_type: hardware
ha_config_flow: true
---
The Home Assistant SkyConnect integration provides hardware information for the hardware configuration page.
The Home Assistant Connect ZBT-1 integration provides hardware information for the hardware configuration page.
For documentation on the Home Assistant SkyConnect, please visit the [documentation page](https://skyconnect.home-assistant.io/documentation/).
If you are looking to buy one, please visit the [product page](https://home-assistant.io/skyconnect)
For documentation on the Home Assistant Connect ZBT-1, please visit the [documentation page](https://connectzbt1.home-assistant.io/documentation/).
If you are looking to buy one, please visit the [product page](https://home-assistant.io/connectzbt1)
## Configuration

View File

@ -137,9 +137,9 @@ This section describes how to add it via Home Assistant's preferred {% term Thre
- **Thread network**: In order to use HomeKit over Thread, you need a working border router.
- Make sure your Home Assistant device is on the same network (LAN) as the border router.
- Make sure the {% term Thread %} network you'd like to use is known by Home Assistant and marked as **Preferred network** in the {% term Thread %} configuration.
- If you have a Home Assistant Yellow or SkyConnect, you can enable multiprotocol to set up an Open Thread border router and with that a {% term Thread %} network.
- Documentation on [enabling multiprotocol on Yellow](https://yellow.home-assistant.io/guides/enable-multiprotocol/)
- Documentation on [enabling multiprotocol on SkyConnect](https://skyconnect.home-assistant.io/procedures/enable-multiprotocol/)
- If you have a Home Assistant Yellow or Connect ZBT-1, you can enable Thread to set up an Open Thread border router and with that a {% term Thread %} network.
- Documentation on [enabling Thread on Yellow](https://yellow.home-assistant.io/procedures/enable-thread/)
- Documentation on [enabling Thread on Connect ZBT-1](https://connectzbt1.home-assistant.io/procedures/enable-thread/)
#### To add a HomeKit device to a Thread network via Home Assistant

View File

@ -50,7 +50,33 @@ The climate platform integrates Honeywell US-based thermostats into Home Assista
All [climate services](/integrations/climate) are supported except set_swing_mode.
There is a "known" issue related to setting the temperature from Home Assistant with some thermostats. If your instance receives errors when setting the temperature above or below some value, go to the Honeywell web page and set the temperature to the max or min for the mode you are using, then adjust from Home Assistant.
Due to the instability of the Honeywell total connect system, service calls within automations should repeat until success similar to the following example:
```yaml
alias: "No one home"
description: "Everyone has left home"
trigger:
- platform: numeric_state
entity_id: zone.home
for:
minutes: 10
below: 1
action:
- repeat:
sequence:
- service: climate.set_temperature
target:
entity_id: climate.stat
data:
temperature: 64
- delay:
minutes: 1
until:
- condition: state
entity_id: climate.stat
attribute: temperature
state: 64
```
## Sensor

View File

@ -215,6 +215,13 @@ $ curl -X GET -H "Authorization: Bearer LONG_LIVED_ACCESS_TOKEN" \
}
```
To delete the sensor, send DELETE request with curl
```bash
$ curl -X DELETE -H "Authorization: Bearer LONG_LIVED_ACCESS_TOKEN" \
http://localhost:8123/api/states/binary_sensor.radio
```
### Examples
In this section you'll find some real-life examples of how to use this sensor, besides `curl`, which was shown earlier.

View File

@ -75,7 +75,6 @@ To get the Estimated distance sensor to work, in most cases, it has to be calibr
- [Blue Charm Beacons BC08-MultiBeacon](https://bluecharmbeacons.com/product/blue-charm-beacons-bluetooth-ble-ibeacon-bc08-multibeacon-w-motion-sensor-and-button-trigger-ble-5-0/)
- Blue Charm Beacons BC037G-GeoPattern-iBeacon (discontinued)
- Blue Charm Beacons BC037S-SmoothPattern-iBeacon (discontinued)
- [Chipolo ONE Spot](https://chipolo.net/de/products/chipolo-one-spot)
- [Blue SLIM ID](https://elainnovation.com/en/product/blue-slim-id-en/)
- [Feasycom FSC-BP103B](https://www.feasycom.com/bluetooth-ibeacon-da14531)
- [Feasycom FSC-BP104D](https://www.feasycom.com/dialog-da14531-bluetooth-low-energy-beacon)

View File

@ -11,8 +11,10 @@ ha_codeowners:
ha_domain: imgw_pib
ha_platforms:
- binary_sensor
- diagnostics
- sensor
ha_integration_type: service
ha_integration_type: integration
ha_quality_scale: platinum
---
IMGW-PIB integration uses hydrological data from [Institute of Meteorology and Water Management - National Research Institute](https://hydro.imgw.pl) to present information about rivers and water reservoirs in Poland.

View File

@ -11,6 +11,8 @@ ha_integration_type: integration
The `intent_script` integration allows users to configure actions and responses to intents. Intents can be fired by any integration that supports it. Examples are [Alexa](/integrations/alexa/) (Amazon Echo), [Dialogflow](/integrations/dialogflow/) (Google Assistant) and [Snips](/integrations/snips/).
If you are using intent script with LLMs and have parameters, make sure to mention the parameters and their types in the description.
{% raw %}
```yaml
@ -101,6 +103,7 @@ available in the `action_response` variable.
```yaml
conversation:
intents:
EventCountToday:
- "How many meetings do I have today?"

View File

@ -9,7 +9,7 @@ ha_codeowners:
ha_domain: isal
ha_integration_type: system
ha_quality_scale: internal
ha_iot_class: Local Push
ha_iot_class: Local Polling
---
[`zlib`](https://github.com/madler/zlib) is a bottleneck for [`aiohttp`](https://github.com/aio-libs/aiohttp), especially for WebSocket connections. [Intelligent Storage Acceleration](https://github.com/intel/isa-l), is used for accelerating [`aiohttp`](https://github.com/aio-libs/aiohttp) since it can [speed up](https://github.com/pycompression/python-isal/tree/develop/benchmark_scripts) compression as much as 5x.
@ -23,4 +23,4 @@ If your system supports [`isal`](https://github.com/pycompression/python-isal),
```yaml
# Example configuration.yaml entry
isal:
```
```

View File

@ -12,6 +12,7 @@ ha_platforms:
- binary_sensor
- sensor
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.

View File

@ -13,6 +13,7 @@ ha_codeowners:
related:
- docs: /docs/configuration/
title: Configuration file
ha_config_flow: true
---
The Media extractor {% term integration %} gets a stream URL and sends it to a media player entity. This integration can extract entity specific streams if configured accordingly.

View File

@ -2,14 +2,14 @@
title: microBees
description: Instructions on how to integrate microBees devices into Home Assistant.
ha_category:
- Switch
- Button
- Climate
- Cover
- Button
- Cover
- Light
- Sensor
- Switch
- Switch
ha_release: 2024.3
ha_codeowners:
- '@microBeesTech'
@ -17,11 +17,9 @@ ha_config_flow: true
ha_domain: microbees
ha_iot_class: Cloud Polling
ha_platforms:
- switch
- climate
- cover
- binary_sensor
- button
- climate
- cover
- light
- sensor

View File

@ -6,7 +6,7 @@ ha_category:
- Binary sensor
- Sensor
ha_iot_class: Local Polling
ha_quality_scale: gold
ha_quality_scale: platinum
ha_config_flow: true
ha_codeowners:
- '@elmurato'

View File

@ -1489,9 +1489,9 @@ switches:
coils:
description: "write_coils is called."
verify:
description: "Read from Modbus device to verify fan.
description: "Read from Modbus device to verify switch.
If used without attributes, it uses the toggle register configuration.
If omitted, no verification is done, but the state of the fan is set with each toggle."
If omitted, no verification is done, but the state of the switch is set with each toggle."
required: false
type: map
keys:

View File

@ -6,12 +6,12 @@ ha_category:
ha_release: 2024.6
ha_iot_class: Cloud Polling
ha_codeowners:
- '@JakeMartin-ICL'
- '@jakemartin-icl'
ha_config_flow: true
ha_domain: monzo
ha_homekit: true
ha_platforms:
- sensor
ha_integration_type: integration
---
The **Monzo** {% term integration %} allows you to connect your Monzo bank accounts to Home Assistant.

View File

@ -217,7 +217,7 @@ MQTT Birth and Last Will messages can be customized or disabled from the UI. To
## Testing your setup
The `mosquitto` broker package ships commandline tools (often as `*-clients` package) to send and receive MQTT messages. For sending test messages to a broker running on `localhost` check the example below:
The `mosquitto` broker package ships command line tools (often as `*-clients` package) to send and receive MQTT messages. For sending test messages to a broker running on `localhost`, to can use [`mosquitto_pub`](https://mosquitto.org/man/mosquitto_pub-1.html), check the example below:
```bash
mosquitto_pub -h 127.0.0.1 -t homeassistant/switch/1/on -m "Switch is ON"

View File

@ -93,7 +93,7 @@ Home Assistant support connecting to Nibe heat pumps over Modbus over either TCP
#### TCP/IP
The newer S-series pump exposes a built-in TCP Modbus server that can be used to communicate with the pump. To enable support for this integration, the pump must be connected to your local network and network (5.2 - Network settings) and Modbus (7.5.9 - Modbus TCP/IP) must be enabled. More details on the Modbus support in the pump can be found in Nibe document [M12676EN](https://assetstore.nibe.se/hcms/v2.4/entity/document/34499/storage/MDM0NDk5LzAvbWFzdGVy).
The newer S-series pump exposes a built-in TCP Modbus server that can be used to communicate with the pump. To enable support for this integration, the pump must be connected to your local network and network (5.2 - Network settings) and Modbus (7.5.9 - Modbus TCP/IP) must be enabled. More details on the Modbus support in the pump can be found in Nibe document [M12676EN](https://www.nibe.eu/download/18.3db69dc1795e0d992c5722/1622634529178/Modbus%20S-series%20EN%20M12676EN-1.pdf).
- `tcp://[IP OR HOSTNAME]`
- `tcp://[IP OR HOSTNAME]:502`

View File

@ -12,6 +12,7 @@ ha_domain: nws
ha_quality_scale: platinum
ha_config_flow: true
ha_platforms:
- diagnostics
- sensor
- weather
ha_integration_type: integration

View File

@ -15,6 +15,8 @@ related:
title: Home Assistant Templating
- docs: /docs/automation/trigger/#sentence-trigger
title: Sentence trigger
ha_platforms:
- conversation
---
The **Ollama** {% term integration %} adds a conversation agent in Home Assistant powered by a local [Ollama](https://ollama.com/) server.

View File

@ -11,7 +11,7 @@ ha_codeowners:
ha_domain: ondilo_ico
ha_platforms:
- sensor
ha_integration_type: integration
ha_integration_type: hub
---
ICO by [Ondilo](https://ondilo.com/en/) is a small connected device that you simply drop into the pool or spa. ICO continuously analyzes the water quality of your pool/spa and notifies you via its application. ICO provides personalized recommendations so that you use the right products in the right proportions at the right time.

View File

@ -12,6 +12,15 @@ ha_domain: openai_conversation
ha_integration_type: service
ha_platforms:
- conversation
related:
- docs: /voice_control/voice_remote_expose_devices/
title: Exposing entities to Assist
- docs: /voice_control/assist_create_open_ai_personality/
title: Create an AI personality
- url: https://platform.openai.com/account/api-keys
title: OpenAI API key
- url: https://www.openai.com
title: OpenAI
---
The OpenAI integration adds a conversation agent powered by [OpenAI](https://www.openai.com) in Home Assistant.
@ -39,7 +48,7 @@ Instructions:
description: Instructions for the AI on how it should respond to your requests. It is written using [Home Assistant Templating](/docs/configuration/templating/).
Control Home Assistant:
description: If the model is allowed to interact with Home Assistant
description: If the model is allowed to interact with Home Assistant. It can only control or provide information about entities that are [exposed](/voice_control/voice_remote_expose_devices/) to it.
Recommended settings:
description: If enabled, the recommended model and settings are chosen.
@ -51,7 +60,7 @@ If you choose to not use the recommended settings, you can configure the followi
{% configuration_basic %}
Model:
description: The GPT language model is used for text generation. You can find more details on the available models in the [OpenAI GPT-3 Documentation](https://platform.openai.com/docs/models/gpt-3), [OpenAI GPT-3.5 Documentation](https://platform.openai.com/docs/models/gpt-3-5), or [OpenAI GPT-4 and GPT-4 Turbo Documentation](https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo). The default is "gpt-3.5-turbo".
description: The GPT language model is used for text generation. You can find more details on the available models in the [OpenAI GPT-3.5 Turbo Documentation](https://platform.openai.com/docs/models/gpt-3-5-turbo), [OpenAI GPT-4 Turbo and GPT-4 Documentation](https://platform.openai.com/docs/models/gpt-4-turbo-and-gpt-4), or [GPT-4o Documentation](https://platform.openai.com/docs/models/gpt-4o). The default is "gpt-4o".
Maximum Tokens to Return in Response:
description: The maximum number of words or "tokens" that the AI model should generate in its completion of the prompt. For more information, see the [OpenAI Completion Documentation](https://platform.openai.com/docs/guides/completion/introduction).
@ -66,7 +75,7 @@ Top P:
## Talking to Super Mario over the phone
You can use an OpenAI Conversation integration to [talk to Super Mario over a classic landline phone](/voice_control/worlds-most-private-voice-assistant/).
You can use an OpenAI Conversation integration to [talk to Super Mario and, if desired, have it control devices](/voice_control/assist_create_open_ai_personality/) in your home.
## Services

View File

@ -25,7 +25,7 @@ There is currently support for the following device types within Home Assistant:
- Sensor
- Weather
You need an API key, it requires a [subscription](https://openweathermap.org/api/one-call-3). The subscription has a free tier with 1000 calls/day. Consider setting the limit on the OpenWeatherMap website to stay under the threshold where API usage incurs a cost.
You need an API key, it requires a [subscription](https://openweathermap.org/api/one-call-3). The subscription has a free tier with 1000 calls/day. Consider setting the limit on the OpenWeatherMap website to stay under the threshold where API usage incurs a cost. This is done in the [Billing plans](https://home.openweathermap.org/subscriptions) page, under "Calls per day".
## ⚠️ Important Deprecation Notice

View File

@ -13,10 +13,10 @@ ha_config_flow: true
The Open Thread Border Router integration allows calling an Open Thread Border Router's REST API from Python and via WebSocket.
This integration is installed automatically when the **Open Thread Border Router** add-on is installed. For Home Assistant Yellow or SkyConnect refer to the following procedures:
This integration is installed automatically when the **Open Thread Border Router** add-on is installed. For Home Assistant Yellow or Connect&nbsp;ZBT-1 refer to the following procedures:
- [Enabling Thread on Home Assistant Yellow](https://yellow.home-assistant.io/procedures/enable-thread/)
- [Enabling Thread on Home Assistant SkyConnect](https://skyconnect.home-assistant.io/procedures/enable-thread/)
- [Enabling Thread on Home Assistant Connect ZBT-1](https://connectzbt1.home-assistant.io/procedures/enable-thread/)
The integration is also installed automatically when enabling the experimental **Silicon Labs Multiprotocol** support.

View File

@ -166,5 +166,6 @@ The list with all known valid keys can be found [here](https://github.com/floria
- TX-P50GT30Y
- TX-P50GT60E
- TX-65HZ1000W
- TX-65HZ1500
If your model is not on the list, give it a test. If everything works correctly, then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_integrations/panasonic_viera.markdown).

View File

@ -9,7 +9,7 @@ ha_category:
ha_release: 0.83
ha_config_flow: true
ha_iot_class: Cloud Polling
ha_quality_scale: gold
ha_quality_scale: silver
ha_codeowners:
- '@fredrike'
ha_domain: point

View File

@ -305,17 +305,16 @@ However, these cameras can work with this integration through an NVR in which th
## Initial setup
### 1. Initializing and configuring camera credentials.
A brand new Reolink camera first needs to be connected to the network and initialized. During initialization, the credentials for the camera need to be set.
There are several ways to achieve this.
There are several ways to achieve this:
### Connecting Reolink via app/client
#### Connecting Reolink via app/client
The recommended way is to use the [Reolink mobile app, Windows, or Mac client](https://reolink.com/software-and-manual/).
The recommended way is to use the [Reolink mobile app, Windows, or Mac client](https://reolink.com/software-and-manual/), and follow the on-screen instructions.
1. Follow the on-screen instructions.
2. In Home Assistant, use the credentials you just configured in the Reolink app/client.
### Connecting Reolink via a web browser
#### Connecting Reolink via a web browser
When your camera has a LAN port (most Wi-Fi cameras also have a LAN port):
@ -326,9 +325,8 @@ When your camera has a LAN port (most Wi-Fi cameras also have a LAN port):
- Go to **settings** (gear icon) > **Network** and fill in your Wi-Fi SSID and password.
- If you have both a 2.4 GHz and 5 GHz network, check your camera's user guide to see which operating frequency is supported.
- After that you can disconnect the LAN cable and the camera will automatically switch to the Wi-Fi connection.
5. Now set up the Reolink Home Assistant integration using the credentials you just specified.
### QR code
#### QR code
You can also connect a Wi-Fi camera using a self-made QR code. Once connected, follow the instructions under **Web browser**.
Create a QR code using ISO-8859-1 character encoding (not UTF-8) with the following XML string:
@ -341,6 +339,14 @@ Normally, the digits are printed directly under the QR code. Alternatively, you
Then power up the camera while pointing it at the QR code. It takes about a minute to initialize, read the QR code, and connect to your Wi-Fi.
### 2. Enabling HTTP/HTTPS ports
Test if you can access the camera by its IP address in your browser `https://<your-camera-ip>`. If you cannot, in the [windows or Mac](https://reolink.com/software-and-manual/) client ensure at least one of the HTTP/HTTPS ports are enabled under **Settings** > **Network** > **Advanced** > **Port Settings**. See [additional instructions](https://support.reolink.com/hc/en-us/articles/900004435763-How-to-Set-up-Reolink-Ports-Settings-via-Reolink-Client-New-Client-) on the Reolink site.
### 3. Add integration in Home Assistant
Set up the Reolink integration in Home Assistant using the credentials you set in step 1.
## Showing the camera in the dashboard
1. One way to show the camera in the dashboard is by using the picture glance card.

View File

@ -156,7 +156,7 @@ We are working on adding a lot of features to the core integration. We have reve
### How can I clean a specific room?
We plan to make the process simpler in the future, but for now, it is a multi-step process.
1. Make sure to first name the rooms in the Roborock app; otherwise, they won't appear in the debug log.
2. Go to {% my developer_call_service service="vacuum.send_command" title="**Developer Tools** > **Services** > **Roborock: Get maps**" %}. Select your vacuum as the entity. Note that room IDs and names are only updated on the currently selected map. If you don't see the rooms you expect, you should select the other map through your app or through the `load_multi_map` service.
2. Go to {% my developer_call_service service="roborock.get_maps" title="**Developer Tools** > **Services** > **Roborock: Get maps**" %}. Select your vacuum as the entity. Note that room IDs and names are only updated on the currently selected map. If you don't see the rooms you expect, you should select the other map through your app or through the `load_multi_map` service.
You will get a response like this:
```json
vacuum.s7_roborock:

View File

@ -333,6 +333,7 @@ KEY_MIC|
KEY_NINE_SEPERATE|
KEY_AUTO_FORMAT|AutoFormat
KEY_DNET|DNET
KEY_MINUS|Minus
_______________
**Auto Arc Keys**

View File

@ -263,7 +263,7 @@ Payload: `1707294116`
To set the state of the sensor manually:
```bash
mosquitto_pub -h 127.0.0.1 -u username -p some_password -t pump/timestamp_on -m '1707294116'
mosquitto_pub -h 127.0.0.1 -p 1883 -u username -P some_password -t pump/timestamp_on -m '1707294116'
```
Make sure the IP address of your MQTT broker is used and that user credentials have been set up correctly.

View File

@ -88,7 +88,7 @@ The `seventeentrack.get_packages` service allows you to query the 17track API fo
| `package_state` | yes | A list of the package states. |
```yaml
# Example automation action to add a product to the cart by name.
# Example automation action to retrieve packages with specific states from 17Track
- service: seventeentrack.get_packages
data:
config_entry_id: 2b4be47a1fa7c3764f14cf756dc98991

View File

@ -248,6 +248,30 @@ data:
enqueue: play
```
Play all albums by a genre.
```yaml
service: media_player.play_media
target:
entity_id: media_player.porch
data:
media_content_type: genre
media_content_id: "A:GENRE/Classic%20Rock/"
enqueue: play
```
Play an imported playlist by using its title.
```yaml
service: media_player.play_media
target:
entity_id: media_player.porch
data:
media_content_type: playlist
media_content_id: S:/MyPlaylist
enqueue: play
```
## Services
The Sonos integration makes various custom services available in addition to the [standard media player services](/integrations/media_player/#services).

View File

@ -32,11 +32,13 @@ Once you have your own Starling bank account you will need to sign up for a Star
Once you've signed up:
1. Head to the [Personal Access Section](https://developer.starlingbank.com/personal/token) of your developer account.
2. Click "Create Token".
3. Give your token a name e.g., "Home Assistant".
4. Tick the permissions "account:read" and "balance:read". The others you can leave un-ticked.
5. Click "Create" and make a note of the newly created token, you will need this for your Home Assistant configuration.
1. Connect your personal Starling Bank account to your developer account. Head to [Personal Access Page](https://developer.starlingbank.com/personal) of your developer account.
2. Follow the instructions to generate the QR code to scan within the Starling mobile app to authorize and link your bank account to the developer account.
3. Head to the [Personal Access Section](https://developer.starlingbank.com/personal/token) of your developer account.
4. Click "Create Token".
5. Give your token a name, e.g., "Home Assistant".
6. Tick the permissions "account:read" and "balance:read". The others you can leave un-ticked.
7. Click "Create" and make a note of the newly created token, you will need this for your Home Assistant configuration.
## Configuration

View File

@ -56,9 +56,9 @@ Some SwitchBot devices need to be configured within the app before being control
- [Contact Sensor (WoContact)](https://switch-bot.com/pages/switchbot-contact-sensor)
- [Curtain (WoCurtain)](https://switch-bot.com/pages/switchbot-curtain) (version 1 & 2)
- [Curtain 3 (WoCtn3)](https://switch-bot.com/pages/switchbot-curtain-3)
- [Humidifier (WoHumi)](https://eu.switch-bot.com/products/switchbot-smart-humidifier)
- Humidifier (WoHumi)
- Light Strip (WoStrip)
- [Meter](https://switch-bot.com/pages/switchbot-meter)/[Meter Plus 70BB](https://switch-bot.com/pages/switchbot-meter-plus) (WoSensorTH)
- [Meter](https://switch-bot.com/pages/switchbot-meter) / [Meter Plus](https://switch-bot.com/pages/switchbot-meter-plus) (WoSensorTH)
- [Indoor/Outdoor Meter](https://switch-bot.com/pages/switchbot-indoor-outdoor-thermo-hygrometer) (WoIOSensorTH)
- [Motion Sensor (WoPresence)](https://switch-bot.com/pages/switchbot-motion-sensor)
- Plug Mini (WoPlug), both the original (model W1901400) and HomeKit-enabled (model W1901401)

View File

@ -5,8 +5,8 @@ ha_category:
- Hub
- Plug
- Remote
- Switch
- Sensor
- Switch
ha_release: '2023.10'
ha_iot_class: Cloud Polling
ha_codeowners:
@ -15,10 +15,10 @@ ha_codeowners:
ha_domain: switchbot_cloud
ha_platforms:
- climate
- switch
- sensor
- switch
ha_config_flow: true
ha_integration_type: integration
ha_integration_type: hub
---
The SwitchBot Cloud integration allows you to control SwitchBot [devices](https://www.switch-bot.com/) connected through the SwitchBot hub.

View File

@ -18,6 +18,7 @@ ha_codeowners:
- '@patrickhilker'
- '@zweckj'
ha_integration_type: integration
ha_quality_scale: platinum
---
This integration interacts with your [Tedee](https://tedee.com) locks by communicating with the Tedee bridge through HTTP. The integration will communicate with your lock locally.

View File

@ -11,7 +11,7 @@ ha_category:
ha_release: 0.11
ha_config_flow: true
ha_iot_class: Cloud Polling
ha_quality_scale: gold
ha_quality_scale: silver
ha_codeowners:
- '@fredrike'
ha_domain: tellduslive

View File

@ -6,14 +6,14 @@ ha_category:
- Button
- Car
- Climate
- Device tracker
- Cover
- Device tracker
- Lock
- Media player
- Number
- Select
- Sensor
- Switch
- Select
- Update
ha_release: 2024.2
ha_iot_class: Cloud Polling
@ -26,8 +26,8 @@ ha_platforms:
- button
- climate
- cover
- diagnostics
- device_tracker
- diagnostics
- lock
- media_player
- number

View File

@ -11,7 +11,8 @@ ha_codeowners:
ha_domain: thethingsnetwork
ha_platforms:
- sensor
ha_integration_type: integration
ha_integration_type: hub
ha_config_flow: true
---
The `thethingsnetwork` {% term integration%} allows you to interact with the [The Things Network](https://www.thethingsnetwork.org) from within Home Assistant. This community-driven and open network supports [LoRaWAN](https://www.lora-alliance.org/) for long-range (~5 to 15 km) communication with low bandwidth (51 bytes/message). [Gateways](https://www.thethingsnetwork.org/docs/gateways/) transfer the received data from the sensors to The Things Network.
@ -20,7 +21,7 @@ The Things Network supports various integrations to make the data available:
| The Things Network Integration | Home Assistant platform |
|---|---|
| [MQTT](https://www.thethingsindustries.com/docs/integrations/mqtt) | [`MQTT`](integrations/mqtt) |
| [MQTT](https://www.thethingsindustries.com/docs/integrations/mqtt) | [`MQTT`](/integrations/mqtt) |
| [Storage](https://www.thethingsindustries.com/docs/integrations/storage) | [`thethingsnetwork`](#setup) |
| [HTTP](https://www.thethingsindustries.com/docs/integrations/webhooks) | |
@ -58,4 +59,3 @@ There is currently support for the following device types within Home Assistant:
## Sensor
All uplink messages decoded by The Things Network (including a `decoded_payload` entry) will be processes by this integration. Each field in `decoded_payload` will be added as a Home Assistant sensor entity.

View File

@ -16,7 +16,7 @@ related:
- docs: /yellow/
title: Home Assistant Yellow - hub
- docs: /skyconnect/
title: Home Assistant SkyConnect - Zigbee/Thread USB stick
title: Home Assistant Connect ZBT-1 - Zigbee/Thread USB stick
- docs: /integrations/matter/
title: Matter
- docs: /integrations/homekit_controller/
@ -25,8 +25,8 @@ related:
title: Adding a Matter device to Home Assistant
- docs: /integrations/homekit_controller/#adding-a-homekit-device-through-thread
title: Adding an Apple HomeKit device through Thread
- url: https://skyconnect.home-assistant.io/procedures/enable-thread/
title: Enabling Thread on SkyConnect
- url: https://connectzbt1.home-assistant.io/procedures/enable-thread/
title: Enabling Thread on Connect ZBT-1
- url: https://yellow.home-assistant.io/procedures/enable-thread/
title: Enabling Thread on Yellow
---
@ -97,9 +97,9 @@ These border routers may require an iPhone or Android phone for onboarding. What
#### Home Assistant
Out of the box, Home Assistant SkyConnect and Yellow run Zigbee, not Thread. Currently, enabling Thread involves manual steps. The integration of the Home Assistant based Thread border router with Matter is work-in-progress.
Out of the box, Home Assistant Connect&nbsp;ZBT-1 and Yellow run Zigbee, not Thread. Currently, enabling Thread involves manual steps. The integration of the Home Assistant based Thread border router with Matter is work-in-progress.
- If you have a Home Assistant Yellow or SkyConnect, you can use their Thread radio. Follow these steps to [turn Home Assistant into a Thread border router](#turning-home-assistant-into-a-thread-border-router).
- If you have a Home Assistant Yellow or Connect&nbsp;ZBT-1, you can use their Thread radio. Follow these steps to [turn Home Assistant into a Thread border router](#turning-home-assistant-into-a-thread-border-router).
#### Google
@ -117,7 +117,7 @@ There are also other companies that provide devices with border router capabilit
## Turning Home Assistant into a Thread border router
Follow these steps if you want to turn Home Assistant into a Thread border router using the Thread radio of Yellow, SkyConnect, or another compatible radio.
Follow these steps if you want to turn Home Assistant into a Thread border router using the Thread radio of Yellow, Connect&nbsp;ZBT-1, or another compatible radio.
Find out if you already have Thread networks:
@ -129,21 +129,21 @@ Find out if you already have Thread networks:
### Case 1: Making Home Assistant your first Thread network
Follow these steps if you want to turn Home Assistant into a Thread border router using the Thread radio of Yellow, SkyConnect, or another compatible radio and you do not have any third-party Thread networks present yet. This will automatically create a new Thread network with the name `ha-thread-xxxx`. The last for digits are a network-specific identifier (PAN ID).
Follow these steps if you want to turn Home Assistant into a Thread border router using the Thread radio of Yellow, Connect&nbsp;ZBT-1, or another compatible radio and you do not have any third-party Thread networks present yet. This will automatically create a new Thread network with the name `ha-thread-xxxx`. The last for digits are a network-specific identifier (PAN ID).
Note: To add Matter devices to this Thread network, an Android phone is required. Adding Matter devices to this Thread network using an iOS phone is not yet supported.
#### Prerequisites
- Device with a Thread-capable radio, such as Home Assistant Yellow, SkyConnect, or another compatible radio
- Device with a Thread-capable radio, such as Home Assistant Yellow, Connect&nbsp;ZBT-1, or another compatible radio
- Android phone
- No third-party Thread networks present
#### To make Home Assistant your first Thread network
1. To enable Thread support on your Home Assistant Yellow or SkyConnect, you need to install the **OpenThread Border Router** add-on. Follow the corresponding procedure:
1. To enable Thread support on your Home Assistant Yellow or Connect&nbsp;ZBT-1, you need to install the **OpenThread Border Router** add-on. Follow the corresponding procedure:
- [Enable Thread on Home Assistant Yellow](https://yellow.home-assistant.io/procedures/enable-thread/).
- [Enable Thread on Home Assistant SkyConnect](https://skyconnect.home-assistant.io/procedures/enable-thread/).
- [Enable Thread on Home Assistant Connect ZBT-1](https://connectzbt1.home-assistant.io/procedures/enable-thread/).
2. Make sure the Home Assistant Thread network is defined as preferred network.
- This should happen automatically, but check to be sure.
@ -162,7 +162,7 @@ Note: To add Matter devices to this Thread network, an Android phone is required
### Case 2: Creating a HA border router when there is an existing network
Follow these steps if you want to turn Home Assistant into a Thread border router using the Thread radio of Yellow, SkyConnect, or another compatible radio but you already have third-party Thread networks present. These steps will join the Home Assistant Thread border router with the existing Thread network.
Follow these steps if you want to turn Home Assistant into a Thread border router using the Thread radio of Yellow, Connect&nbsp;ZBT-1, or another compatible radio but you already have third-party Thread networks present. These steps will join the Home Assistant Thread border router with the existing Thread network.
![image](/images/integrations/thread/thread-no-preferred-network-but-third-party-present.png)
@ -170,7 +170,7 @@ If you have both Google and Apple Thread networks present, decide which one you
#### Prerequisites
- Device with a Thread-capable radio, such as Home Assistant Yellow, SkyConnect, or another compatible radio
- Device with a Thread-capable radio, such as Home Assistant Yellow, Connect&nbsp;ZBT-1, or another compatible radio
- Third-party Thread network listed
- Android phone if you have a Google Thread network, iPhone if you have an Apple Thread network
@ -190,9 +190,9 @@ Note: the steps and images here show the process with a Google Thread network. B
![image](/images/integrations/thread/thread-google-br.png)
5. To enable Thread support on your Home Assistant Yellow or SkyConnect, you need to install the **OpenThread Border Router** add-on. Follow the corresponding procedure:
5. To enable Thread support on your Home Assistant Yellow or Connect ZBT-1, you need to install the **OpenThread Border Router** add-on. Follow the corresponding procedure:
- [Enable Thread on Home Assistant Yellow](https://yellow.home-assistant.io/procedures/enable-thread/).
- [Enable Thread on Home Assistant SkyConnect](https://skyconnect.home-assistant.io/procedures/enable-thread/).
- [Enable Thread on Home Assistant Connect ZBT-1](https://connectzbt1.home-assistant.io/procedures/enable-thread/).
- **Result**: The network now shows as the preferred network, joined with the third-party network.
![image](/images/integrations/thread/thread-ha-preferred.png)

Some files were not shown because too many files have changed in this diff Show More