mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-21 16:27:19 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
8fe8b61762
4
.github/workflows/test.yml
vendored
4
.github/workflows/test.yml
vendored
@ -8,7 +8,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out files from GitHub
|
||||
uses: actions/checkout@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:
|
||||
|
21
CODEOWNERS
21
CODEOWNERS
@ -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
|
||||
|
6
Gemfile
6
Gemfile
@ -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
|
||||
|
44
Gemfile.lock
44
Gemfile.lock
@ -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)
|
||||
|
14
Rakefile
14
Rakefile
@ -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
|
||||
|
@ -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
22
package-lock.json
generated
@ -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",
|
||||
|
@ -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
27
plugins/site_pages.rb
Normal 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
|
@ -490,6 +490,10 @@ article.listing {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
video {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
&>table,
|
||||
&>.entry-content>table {
|
||||
background-color: #f3fcf5;
|
||||
|
@ -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
|
||||
```
|
||||
|
@ -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
|
||||
|
@ -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 ZBT-1 together with the OpenThread Border
|
||||
Router add-on.
|
||||
link: /integrations/thread/#about-thread-border-routers
|
||||
aliases:
|
||||
|
@ -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/).
|
||||
|
@ -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.
|
||||
|
||||

|
||||
|
||||
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/).
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
### 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/).
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
---
|
@ -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
|
||||
---
|
@ -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/
|
||||
---
|
||||
|
@ -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/
|
||||
---
|
@ -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
|
||||
---
|
||||
|
@ -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
|
||||
---
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: "Configuration.yaml by dannytsang"
|
||||
description: ""
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/dannytsang/homeassistant-config
|
||||
---
|
@ -1,7 +0,0 @@
|
||||
---
|
||||
title: "Configuration.yaml by geekofweek"
|
||||
description: ""
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/geekofweek/homeassistant
|
||||
---
|
||||
|
@ -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
|
||||
---
|
@ -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
|
||||
---
|
@ -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
|
||||
---
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: "Configuration.yaml by mcaminiti"
|
||||
description: ""
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/mcaminiti/homeassistant
|
||||
---
|
@ -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
|
||||
---
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: "Configuration.yaml by omerome83"
|
||||
description: ""
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/omerome83/homeassistant
|
||||
---
|
@ -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
|
||||
---
|
@ -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
|
||||
---
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: "Configuration.yaml by Tinkerer"
|
||||
description: ""
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/DubhAd/Home-AssistantConfig/
|
||||
---
|
@ -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
|
||||
---
|
@ -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
|
@ -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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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 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**.
|
||||
|
@ -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.
|
||||
|
||||

|
||||
7. **Select target**.
|
||||
8. **Select target**.
|
||||

|
||||
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.
|
||||

|
||||
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.
|
||||

|
||||
- 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.
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -9,6 +9,7 @@ ha_iot_class: Local Push
|
||||
ha_codeowners:
|
||||
- '@aschmitz'
|
||||
- '@thecode'
|
||||
- '@anrijs'
|
||||
ha_domain: aranet
|
||||
ha_config_flow: true
|
||||
ha_platforms:
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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 %}
|
||||
|
@ -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
|
||||
|
||||
|
@ -11,6 +11,7 @@ ha_release: 0.103
|
||||
ha_codeowners:
|
||||
- '@sorted-bits'
|
||||
- '@glodenox'
|
||||
- '@erwindouna'
|
||||
ha_domain: dsmr_reader
|
||||
ha_platforms:
|
||||
- diagnostics
|
||||
|
@ -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).
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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 %}
|
||||
|
@ -8,7 +8,6 @@ ha_release: 0.34
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@ehendrix23'
|
||||
- '@bramkragten'
|
||||
- '@bdraco'
|
||||
- '@mkeesey'
|
||||
- '@Aohzan'
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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.
|
||||
|
@ -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?"
|
||||
|
||||
|
@ -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:
|
||||
```
|
||||
```
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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'
|
||||
|
@ -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:
|
||||
|
@ -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.
|
||||
|
@ -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"
|
||||
|
@ -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`
|
||||
|
@ -12,6 +12,7 @@ ha_domain: nws
|
||||
ha_quality_scale: platinum
|
||||
ha_config_flow: true
|
||||
ha_platforms:
|
||||
- diagnostics
|
||||
- sensor
|
||||
- weather
|
||||
ha_integration_type: integration
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 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.
|
||||
|
||||
|
@ -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).
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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:
|
||||
|
@ -333,6 +333,7 @@ KEY_MIC|
|
||||
KEY_NINE_SEPERATE|
|
||||
KEY_AUTO_FORMAT|AutoFormat
|
||||
KEY_DNET|DNET
|
||||
KEY_MINUS|Minus
|
||||
_______________
|
||||
|
||||
**Auto Arc Keys**
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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).
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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 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 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 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 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 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 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 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.
|
||||
|
||||

|
||||
|
||||
@ -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 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
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user