diff --git a/CODEOWNERS b/CODEOWNERS index 1f48d53b984..24be48bd8d4 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -40,6 +40,8 @@ source/_integrations/amp_motorization.markdown @starkillerOG source/_integrations/analytics.markdown @home-assistant/core @ludeeus source/_integrations/android_ip_webcam.markdown @engrbm87 source/_integrations/androidtv.markdown @JeffLIrion @ollo69 +source/_integrations/androidtv_remote.markdown @tronikos +source/_integrations/anova.markdown @Lash-L source/_integrations/anthemav.markdown @hyralex source/_integrations/anwb_energie.markdown @klaasnicolaas source/_integrations/apache_kafka.markdown @bachya @@ -53,6 +55,7 @@ source/_integrations/aranet.markdown @aschmitz source/_integrations/arcam_fmj.markdown @elupus source/_integrations/arris_tg2492lg.markdown @vanbalken source/_integrations/aseko_pool_live.markdown @milanmeu +source/_integrations/assist_pipeline.markdown @balloob @synesthesiam source/_integrations/asuswrt.markdown @kennedyshead @ollo69 source/_integrations/atag.markdown @MatsNL source/_integrations/aten_pe.markdown @mtdcr @@ -94,6 +97,7 @@ source/_integrations/braviatv.markdown @bieniu @Drafteed source/_integrations/brel_home.markdown @starkillerOG source/_integrations/broadlink.markdown @danielhiversen @felipediel @L-I-Am source/_integrations/brother.markdown @bieniu +source/_integrations/brottsplatskartan.markdown @gjohansson-ST source/_integrations/brunt.markdown @eavanvalkenburg source/_integrations/bsblan.markdown @liudger source/_integrations/bswitch.markdown @jafar-atili @@ -123,7 +127,6 @@ source/_integrations/configurator.markdown @home-assistant/core source/_integrations/control4.markdown @lawtancool source/_integrations/conversation.markdown @home-assistant/core @synesthesiam source/_integrations/coolmaster.markdown @OnFreund -source/_integrations/coronavirus.markdown @home-assistant/core source/_integrations/counter.markdown @fabaff source/_integrations/cover.markdown @home-assistant/core source/_integrations/cozytouch.markdown @imicknl @vlebourl @tetienne @nyroDev @@ -163,7 +166,7 @@ source/_integrations/dormakaba_dkey.markdown @emontnemery source/_integrations/dsmr.markdown @Robbie1221 @frenck source/_integrations/dsmr_reader.markdown @depl0y @glodenox source/_integrations/dunehd.markdown @bieniu -source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95 +source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95 @andarotajo source/_integrations/dynalite.markdown @ziv1234 source/_integrations/easyenergy.markdown @klaasnicolaas source/_integrations/ecobee.markdown @marthoc @marcolivierarsenault @@ -312,7 +315,7 @@ source/_integrations/icloud.markdown @Quentame @nzapponi source/_integrations/ign_sismologia.markdown @exxamalte source/_integrations/image_processing.markdown @home-assistant/core source/_integrations/image_upload.markdown @home-assistant/core -source/_integrations/imap.markdown @engrbm87 +source/_integrations/imap.markdown @engrbm87 @jbouwh source/_integrations/incomfort.markdown @zxdavb source/_integrations/influxdb.markdown @mdegat01 source/_integrations/inkbird.markdown @bdraco @@ -371,7 +374,7 @@ source/_integrations/leviton_z_wave.markdown @home-assistant/z-wave source/_integrations/lg_netcast.markdown @Drafteed source/_integrations/lidarr.markdown @tkdrob source/_integrations/life360.markdown @pnbruckner -source/_integrations/lifx.markdown @bdraco @Djelibeybi +source/_integrations/lifx.markdown @bdraco source/_integrations/light.markdown @home-assistant/core source/_integrations/linux_battery.markdown @fabaff source/_integrations/litejet.markdown @joncar @@ -421,6 +424,7 @@ source/_integrations/modbus.markdown @adamchengtkc @janiversen @vzahradnik source/_integrations/modem_callerid.markdown @tkdrob 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/moon.markdown @fabaff @frenck source/_integrations/mopeka.markdown @bdraco @@ -467,7 +471,7 @@ source/_integrations/nuheat.markdown @tstabrawa source/_integrations/nuki.markdown @pschmitt @pvizeli @pree source/_integrations/numato.markdown @clssn source/_integrations/number.markdown @home-assistant/core @Shulyaka -source/_integrations/nut.markdown @bdraco @ollo69 +source/_integrations/nut.markdown @bdraco @ollo69 @pestevez source/_integrations/nutrichef.markdown @bdraco source/_integrations/nws.markdown @MatthewFlamm @kamiyo source/_integrations/nzbget.markdown @chriscla @@ -508,7 +512,7 @@ source/_integrations/picnic.markdown @corneyl source/_integrations/pilight.markdown @trekky12 source/_integrations/plaato.markdown @JohNan source/_integrations/plex.markdown @jjlawren -source/_integrations/plugwise.markdown @CoMPaTech @bouwew @brefra @frenck +source/_integrations/plugwise.markdown @CoMPaTech @bouwew @frenck source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa source/_integrations/point.markdown @fredrike source/_integrations/poolsense.markdown @haemishkyd @@ -544,6 +548,7 @@ source/_integrations/raincloud.markdown @vanstinator source/_integrations/rainforest_eagle.markdown @gtdiehl @jcalbert @hastarin source/_integrations/rainmachine.markdown @bachya source/_integrations/random.markdown @fabaff +source/_integrations/rapt_ble.markdown @sairon source/_integrations/raven_rock_mfg.markdown @starkillerOG source/_integrations/rdw.markdown @frenck source/_integrations/recollect_waste.markdown @bachya @@ -554,6 +559,7 @@ source/_integrations/renault.markdown @epenet source/_integrations/reolink.markdown @starkillerOG source/_integrations/repairs.markdown @home-assistant/core source/_integrations/repetier.markdown @MTrab @ShadowBr0ther +source/_integrations/rest.markdown @epenet source/_integrations/rexel.markdown @imicknl @vlebourl @tetienne @nyroDev source/_integrations/rflink.markdown @javicalle source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221 @@ -562,7 +568,7 @@ source/_integrations/ridwell.markdown @bachya source/_integrations/risco.markdown @OnFreund source/_integrations/rituals_perfume_genie.markdown @milanmeu source/_integrations/rmvtransport.markdown @cgtobi -source/_integrations/roborock.markdown @rytilahti @syssi @starkillerOG +source/_integrations/roborock.markdown @humbertogontijo @Lash-L source/_integrations/roku.markdown @ctalkington source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn source/_integrations/roon.markdown @pavoni @@ -648,7 +654,7 @@ source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87 source/_integrations/spider.markdown @peternijssen source/_integrations/splunk.markdown @Bre77 source/_integrations/spotify.markdown @frenck -source/_integrations/sql.markdown @dgomes @gjohansson-ST +source/_integrations/sql.markdown @dgomes @gjohansson-ST @dougiteixeira source/_integrations/squeezebox.markdown @rajlaud source/_integrations/srp_energy.markdown @briglx source/_integrations/starline.markdown @anonym-tsk @@ -660,7 +666,7 @@ source/_integrations/stiebel_eltron.markdown @fucm source/_integrations/stookalert.markdown @fwestenberg @frenck source/_integrations/stookwijzer.markdown @fwestenberg source/_integrations/stream.markdown @hunterjm @uvjustin @allenporter -source/_integrations/stt.markdown @pvizeli +source/_integrations/stt.markdown @home-assistant/core @pvizeli source/_integrations/subaru.markdown @G-Two source/_integrations/suez_water.markdown @ooii source/_integrations/sun.markdown @Swamp-Ig @@ -714,7 +720,7 @@ source/_integrations/trafikverket_ferry.markdown @gjohansson-ST source/_integrations/trafikverket_train.markdown @endor-force @gjohansson-ST source/_integrations/trafikverket_weatherstation.markdown @endor-force @gjohansson-ST source/_integrations/transmission.markdown @engrbm87 @JPHutchins -source/_integrations/tts.markdown @pvizeli +source/_integrations/tts.markdown @home-assistant/core @pvizeli source/_integrations/tuya.markdown @Tuya @zlinoliver @frenck source/_integrations/twentemilieu.markdown @frenck source/_integrations/twinkly.markdown @dr1rrb @Robbie1221 @@ -722,7 +728,7 @@ source/_integrations/ubiwizz.markdown @imicknl @vlebourl @tetienne @nyroDev source/_integrations/ukraine_alarm.markdown @PaulAnnekov source/_integrations/unifi.markdown @Kane610 source/_integrations/unifiled.markdown @florisvdk -source/_integrations/unifiprotect.markdown @briis @AngellusMortis @bdraco +source/_integrations/unifiprotect.markdown @AngellusMortis @bdraco source/_integrations/upb.markdown @gwww source/_integrations/upc_connect.markdown @pvizeli @fabaff source/_integrations/upcloud.markdown @scop @@ -744,12 +750,12 @@ source/_integrations/vermont_castings.markdown @jeeftor source/_integrations/versasense.markdown @flamm3blemuff1n source/_integrations/version.markdown @ludeeus source/_integrations/vesync.markdown @markperdue @webdjoe @thegardenmonkey -source/_integrations/vicare.markdown @oischinger source/_integrations/vilfo.markdown @ManneW source/_integrations/vivotek.markdown @HarlemSquirrel source/_integrations/vizio.markdown @raman325 source/_integrations/vlc_telnet.markdown @rodripf @MartinHjelmare source/_integrations/voice_assistant.markdown @balloob @synesthesiam +source/_integrations/voip.markdown @balloob @synesthesiam source/_integrations/volumio.markdown @OnFreund source/_integrations/volvooncall.markdown @molobrakos source/_integrations/vulcan.markdown @Antoni-Czaplicki @@ -777,6 +783,7 @@ source/_integrations/wolflink.markdown @adamkrol93 source/_integrations/workday.markdown @fabaff @gjohansson-ST source/_integrations/worldclock.markdown @fabaff source/_integrations/ws66i.markdown @ssaenger +source/_integrations/wyoming.markdown @balloob @synesthesiam source/_integrations/xbox.markdown @hunterjm source/_integrations/xiaomi_aqara.markdown @danielhiversen @syssi source/_integrations/xiaomi_ble.markdown @Jc2k @Ernst79 diff --git a/Gemfile b/Gemfile index 3f8a9950d41..77ab45ec269 100644 --- a/Gemfile +++ b/Gemfile @@ -20,7 +20,7 @@ group :jekyll_plugins do end gem 'sinatra', '3.0.6' -gem 'nokogiri', '1.14.3' +gem 'nokogiri', '1.15.2' # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem # and associated library diff --git a/Gemfile.lock b/Gemfile.lock index 7ed38f2bc86..5fe558c24ad 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -27,7 +27,7 @@ GEM ffi (1.15.5) ffi (1.15.5-x64-mingw32) forwardable-extended (2.6.0) - google-protobuf (3.22.3) + google-protobuf (3.23.2) http_parser.rb (0.8.0) i18n (1.13.0) concurrent-ruby (~> 1.0) @@ -72,8 +72,8 @@ GEM multi_json (1.15.0) mustermann (3.0.0) ruby2_keywords (~> 0.0.1) - nokogiri (1.14.3) - mini_portile2 (~> 2.8.0) + nokogiri (1.15.2) + mini_portile2 (~> 2.8.2) racc (~> 1.4) pathutil (0.16.2) forwardable-extended (~> 2.6) @@ -87,7 +87,7 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.5) - rouge (4.1.0) + rouge (4.1.1) ruby2_keywords (0.0.5) safe_yaml (1.0.5) sass (3.4.25) @@ -129,7 +129,7 @@ DEPENDENCIES jekyll-paginate (= 1.1.0) jekyll-sitemap (= 1.4.0) jekyll-toc (= 0.18.0) - nokogiri (= 1.14.3) + nokogiri (= 1.15.2) rake (= 13.0.6) sass-globbing (= 1.1.5) sassc (= 2.1.0) diff --git a/_config.yml b/_config.yml index 88ae20e42a7..0556aa9adf2 100644 --- a/_config.yml +++ b/_config.yml @@ -109,9 +109,9 @@ social: # Home Assistant release details current_major_version: 2023 -current_minor_version: 4 -current_patch_version: 6 -date_released: 2023-04-21 +current_minor_version: 5 +current_patch_version: 4 +date_released: 2023-05-23 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/package-lock.json b/package-lock.json index 7e8131ac68a..3d74f0afad3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,10 @@ "devDependencies": { "remark-cli": "^11.0.0", "remark-frontmatter": "^4.0.1", - "remark-lint": "^9.1.1", - "remark-lint-fenced-code-flag": "^3.1.1", - "remark-lint-no-shell-dollars": "^3.1.1", - "remark-stringify": "^10.0.2", + "remark-lint": "^9.1.2", + "remark-lint-fenced-code-flag": "^3.1.2", + "remark-lint-no-shell-dollars": "^3.1.2", + "remark-stringify": "^10.0.3", "textlint": "^13.3.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", @@ -3481,9 +3481,9 @@ } }, "node_modules/remark-lint": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-9.1.1.tgz", - "integrity": "sha512-zhe6twuqgkx/9KgZyNyaO0cceA4jQuJcyzMOBC+JZiAzMN6mFUmcssWZyY30ko8ut9vQDMX/pyQnolGn+Fg/Tw==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-9.1.2.tgz", + "integrity": "sha512-m9e/aPlh7tsvfJfj8tPxrQzD6oEdb9Foko+Ya/6OwUP9EoGMfehv1Qtv26W1DoH58Wn8rT8CD+KuprTWscMmIA==", "dev": true, "dependencies": { "@types/mdast": "^3.0.0", @@ -3496,9 +3496,9 @@ } }, "node_modules/remark-lint-fenced-code-flag": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-3.1.1.tgz", - "integrity": "sha512-FFVZmYsBccKIIEgOtgdZEpQdARtAat1LTLBydnIpyNIvcntzWwtrtlj9mtjL8ZoSRre8HtwmEnBFyOfmM/NWaA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-3.1.2.tgz", + "integrity": "sha512-yh4m3dlPmRsqM/BFhpqHYfrmBvFQ+D5dZZKDDYP2rf3YEoXlEVt8T8lWQueTTSxcq6yXAqL/XQL/iqqUHlLcHw==", "dev": true, "dependencies": { "@types/mdast": "^3.0.0", @@ -3514,9 +3514,9 @@ } }, "node_modules/remark-lint-no-shell-dollars": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-3.1.1.tgz", - "integrity": "sha512-Q3Ad1TaOPxbYog5+Of/quPG3Fy+dMKiHjT8KsU7NDiHG6YJOnAJ3f3w+y13CIlNIaKc/MrisgcthhrZ7NsgXfA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-3.1.2.tgz", + "integrity": "sha512-np2MDEhXHviXhbQFjnC1QYv5/fxCV1cIHfGMoJpqiW7Zcu/UGCOo5TE3XswZH4ukHZJ65c3X2A6qfLDW+ur3CQ==", "dev": true, "dependencies": { "@types/mdast": "^3.0.0", @@ -3563,9 +3563,9 @@ } }, "node_modules/remark-stringify": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.2.tgz", - "integrity": "sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz", + "integrity": "sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==", "dev": true, "dependencies": { "@types/mdast": "^3.0.0", diff --git a/package.json b/package.json index 54136fae5cd..bdadae146ac 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,10 @@ "devDependencies": { "remark-cli": "^11.0.0", "remark-frontmatter": "^4.0.1", - "remark-lint": "^9.1.1", - "remark-lint-fenced-code-flag": "^3.1.1", - "remark-lint-no-shell-dollars": "^3.1.1", - "remark-stringify": "^10.0.2", + "remark-lint": "^9.1.2", + "remark-lint-fenced-code-flag": "^3.1.2", + "remark-lint-no-shell-dollars": "^3.1.2", + "remark-stringify": "^10.0.3", "textlint": "^13.3.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", diff --git a/sass/oscailte/base/_navigation.scss b/sass/oscailte/base/_navigation.scss index b7936e8b7e1..1364eef65ad 100644 --- a/sass/oscailte/base/_navigation.scss +++ b/sass/oscailte/base/_navigation.scss @@ -124,7 +124,7 @@ header .grid { .menu li a { @include box-sizing(border-box); display: block; - padding: 32px 12px; + padding: 27px 12px; text-decoration: none; font-weight: normal; font-size: 14px; diff --git a/source/_dashboards/entities.markdown b/source/_dashboards/entities.markdown index cf7fb6ef867..7973839a311 100644 --- a/source/_dashboards/entities.markdown +++ b/source/_dashboards/entities.markdown @@ -65,7 +65,7 @@ entity: type: string type: required: false - description: "Sets a custom card type: `custom:my-custom-card`" + description: "Sets a custom card type: `custom:my-custom-card`. It also can be used to force entities with a default special row format to render as a simple state. You can do this by setting the type: `simple-entity`. This can be used, for example, to replace a helper with an editable control with a read-only value." type: string name: required: false diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index f658f95868f..8ed53e53641 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -72,6 +72,8 @@ Conditions are an optional part of an automation that will prevent an action from firing if they are not met. link: /docs/scripts/conditions/ + aliases: + - conditions - term: Cover definition: >- @@ -282,6 +284,20 @@ other integrations. link: /docs/configuration/platform_options/ +- term: Reload + definition: >- + Applies the changes made to the Home Assistant configuration files. Changes + are normally automatically updated. However, changes made outside of the front + end will not be reflected in Home Assistant and require a reload. + To perform a manual reload, go to **Settings** > **System** > + **Restart Home Assistant** (top right) > **Quick reload**. More granular + reload options are available in *YAML configuration reloading* section + in **Developer tools** > **YAML**. + excerpt: > + Applies the changes made to Home Assistant configuration files. Changes are normally + automatically updated. However, changes made outside of the front + end will not be reflected in Home Assistant and require a reload. + - term: Scene definition: >- Scenes capture the states you want certain entities to be. For example, @@ -335,8 +351,9 @@ A service carries out one specific task, for example: turn on the light in the living room. A service has targets and data and can be called by actions, a dashboard, or via voice command. - link: /docs/scripts/service-calls/ + aliases: + - services - term: State definition: |- diff --git a/source/_docs/automation/using_blueprints.markdown b/source/_docs/automation/using_blueprints.markdown index 7bb8172c77c..1d9c86b97c2 100644 --- a/source/_docs/automation/using_blueprints.markdown +++ b/source/_docs/automation/using_blueprints.markdown @@ -13,11 +13,11 @@ Quick links: Automations based on a blueprint only need to be configured to be used. What needs to be configured differs on each blueprint. -To create your first automation based on a blueprint, go to **{% my config %}** -> **Automations & Scenes** -> **{% my blueprints %}**. Find the blueprint that you want to use and click on "Create Automation". +To create your first automation based on a blueprint, go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**. Find the blueprint that you want to use and select **Create Automation**. This will open the automation editor with the blueprint selected. Give it a name and configure the blueprint and click on the blue button "Save Automation" in the bottom right. -Done! If you want to revisit the configuration values, you can find it by going to **{% my config %}** and then **{% my automations %}**. +Done! If you want to revisit the configuration values, you can find it by going to **Settings** and then **{% my blueprints %}**. ## Importing blueprints diff --git a/source/_docs/blueprint/selectors.markdown b/source/_docs/blueprint/selectors.markdown index a47a614d0d7..7698fb824a7 100644 --- a/source/_docs/blueprint/selectors.markdown +++ b/source/_docs/blueprint/selectors.markdown @@ -561,8 +561,7 @@ include_entities: filter: description: > When filter options are provided, the entities are limited by entities - that at least match the given conditions. Can be either a object or a list of object. - Can be either a object or a list of object. + that at least match the given conditions. Can be either an object or a list of objects. type: list required: false keys: diff --git a/source/_docs/configuration.markdown b/source/_docs/configuration.markdown index 4966d8d25a1..b02e1a6e379 100644 --- a/source/_docs/configuration.markdown +++ b/source/_docs/configuration.markdown @@ -3,17 +3,17 @@ title: "Configuration.yaml" description: "Configuring Home Assistant via text files." --- -While you can configure most of Home Assistant directly from the user interface under {% my config %}, some parts need you to edit `configuration.yaml`. This file contains integrations to be loaded along with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable specific functionality. +While you can configure most of Home Assistant directly from the user interface under {% my config %}, some parts need you to edit `configuration.yaml`. This file contains {% term integrations %} to be loaded along with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable specific functionality. 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). ## Editing `configuration.yaml` -The easiest option to edit `configuration.yaml` is to use the {% my supervisor_addon title="Studio Code Server add-on" addon="a0d7b954_vscode" %}. This add-on runs VS Code, which offers live syntax checking and auto-fill of various Home Assistant entities (if unavailable on your system, use {% my supervisor_addon title="File Editor add-on" addon="core_configurator" %} instead). +The easiest option to edit `configuration.yaml` is to use the {% my supervisor_addon title="Studio Code Server add-on" addon="a0d7b954_vscode" %}. This add-on runs VS Code, which offers live syntax checking and auto-fill of various Home Assistant entities. See [here](/common-tasks/supervised/#installing-and-using-the-visual-studio-code-vsc-add-on) for details. If unavailable on your system, use {% my supervisor_addon title="File Editor add-on" addon="core_configurator" %} instead. Again, details can be found [here](/common-tasks/supervised/#installing-and-using-the-file-editor-add-on). -If you prefer to use a file editor on your computer, use the {% my supervisor_addon title="Samba add-on" addon="core_samba" %} to access the files as a network share. +If you prefer to use a file editor on your computer, use the {% my supervisor_addon title="Samba add-on" addon="core_samba" %} to access the files as a network share. More details can be found [here](/common-tasks/supervised/#installing-and-using-the-samba-add-on). -The path to your configuration directory can be found in the Home Assistant frontend by going to {% my system_health title="Settings > System > Repairs > System information from the top right menu" %} +The path to your configuration directory can be found in the Home Assistant {% term frontend %} by going to {% my system_health title="Settings > System > Repairs > System information from the top right menu" %}  @@ -28,7 +28,7 @@ _If you use Home Assistant Core, you can find `configuration.yaml` in the config ## Reloading changes -Most integrations in Home Assistant that do not interact with devices or services can reload changes made to their configuration in `configuration.yaml`. To do this, go to {% my server_controls title="Developer Tools > YAML" %} and scroll down to the YAML configuration reloading section (alternatively, hit "c" anywhere in the UI and search for it). +Most integrations in Home Assistant that do not interact with {% term devices %} or {% term services %} can reload changes made to their configuration in `configuration.yaml`. To do this, go to {% my server_controls title="Developer Tools > YAML" %} and scroll down to the YAML configuration reloading section (alternatively, hit "c" anywhere in the UI and search for it). If you can't see your integration listed there, you will need to restart Home Assistant for changes to take effect. @@ -40,6 +40,6 @@ If you can't see your integration listed there, you will need to restart Home As ## Migrating to a new system -The preferred way of migrating to a new system is by {% my supervisor_backups title="making a backup" %}. Once you have created the backup on the old system, you can download it to the system that is running the Home Assistant frontend. When setting up the new system, you may use the backup. Alternatively, you can upload it to your new system using the *Upload backup* menu option of the *Backups* menu. Then, a restore of the uploaded backup on the new system concludes the migration. +The preferred way of migrating to a new system is by {% my supervisor_backups title="making a backup" %}. Once you have created the backup on the old system, you can download it to the system that is running the Home Assistant frontend. When setting up the new system, you may use the backup. Alternatively, you can upload it to your new system using the _Upload backup_ menu option of the _Backups_ menu. Then, a restore of the uploaded backup on the new system concludes the migration. If you run the container or core installation methods, you will need to manually make a backup of your configuration folder. Be aware that some of the files you need start with `.`, which is hidden by default from both `ls` (in SSH), in Windows Explorer, and macOS Finder. You'll need to ensure that you're viewing all files before you copy them. diff --git a/source/_examples/configuration_yaml_by_dannytsang.markdown b/source/_examples/configuration_yaml_by_dannytsang.markdown new file mode 100644 index 00000000000..84a3dcc7a4b --- /dev/null +++ b/source/_examples/configuration_yaml_by_dannytsang.markdown @@ -0,0 +1,6 @@ +--- +title: "Configuration.yaml by dannytsang" +description: "" +ha_category: Example configuration.yaml +ha_external_link: https://github.com/dannytsang/homeassistant-config +--- diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 90be6ed236d..e9cb5b4f526 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -46,6 +46,7 @@
-
+
Example of various device classes icons in `on` and `off` state. The on image
in this example has `state_color: true` specified in the Entities card
configuration to receive the icon coloring.
-
Example of various device classes icons in `open` and `closed` state. The open image in this example has `state_color: true` specified in the Entities card configuration to receive the icon coloring.
-
-
-
-
-
-
-
-
-
-
Connecting a phone to Home Assistant requires an adapter.
diff --git a/source/_integrations/waze_travel_time.markdown b/source/_integrations/waze_travel_time.markdown
index 61456ad8e91..226c3f8842d 100644
--- a/source/_integrations/waze_travel_time.markdown
+++ b/source/_integrations/waze_travel_time.markdown
@@ -1,6 +1,6 @@
---
title: Waze Travel Time
-description: Instructions on how to add Waze travel time to Home Assistant.
+description: Instructions on how to add Waze Travel Time to Home Assistant.
ha_category:
- Transport
ha_iot_class: Cloud Polling
@@ -21,19 +21,19 @@ The `waze_travel_time` sensor provides travel time from the [Waze](https://www.w
Notes:
- If a unit system is not specified, the integration will use the unit system configured on your Home Assistant instance.
-- Origin and Destination can be the address or the GPS coordinates of the location (GPS coordinates have to be separated by a comma). You can also enter an entity id which provides this information in its state, an entity id with latitude and longitude attributes, or zone friendly name (case sensitive).
-- The string inputs for `Substring *` allow you to force the integration to use a particular route or avoid a particular route in its time travel calculation. These inputs are case insensitive matched against the description of the route.
-- When using the `Avoid Toll Roads?`, `Avoid Subscription Roads?` and `Avoid Ferries?` options be aware that Waze will sometimes still route you over toll roads or ferries if a valid vignette/subscription is assumed. Default behavior is that Waze will route you over roads having subscription options, so best is to set both `Avoid Toll Roads?` and `Avoid Subscription Roads?` or `Avoid Ferries?` if needed and experiment to ensure the desired outcome.
+- **Origin** and **Destination** can be the address or the GPS coordinates of the location. For coordinates, use the following format: `52.5200, 13.4050`. Make sure the coordinates are separated by a comma. They must not include letters. You can also enter an entity id which provides this information in its state, an entity id with latitude and longitude attributes, or zone friendly name (case sensitive).
+- The string inputs for `Substring *` allow you to force the integration to use a particular route or avoid a particular route in its time travel calculation. These inputs are case insensitive and matched against the description of the route.
+- When using the `Avoid Toll Roads?`, `Avoid Subscription Roads?` and `Avoid Ferries?` options, be aware that Waze will sometimes still route you over toll roads or ferries if a valid vignette/subscription is assumed. Default behavior is that Waze will route you over roads having subscription options. It is therefor best is to set both `Avoid Toll Roads?` and `Avoid Subscription Roads?` or `Avoid Ferries?` if needed and experiment to ensure the desired outcome.
## Manual Polling
-Some users want more control over polling intervals. To use more granular polling, you can disable automated polling from the entry on the Integration page. Go to the Integrtaion page, select the entry, click on the vertical 3 dots, and then select System Options to turn off or on polling. Afterwards to manually trigger a polling request, call the [`homeassistant.update_entity` service](/integrations/homeassistant/#service-homeassistantupdate_entity) as needed, either manually or via automations.
+Some users want more control over polling intervals. To use more granular polling, you can disable automated polling. Go to {% my integrations title="**Settings** > **Devices & Services**" %}, and on the **Waze Travel Time** integration, select the 3 dots. Then, select **System options** and toggle the button to disable polling. To manually trigger a polling request, call the [`homeassistant.update_entity` service](/integrations/homeassistant/#service-homeassistantupdate_entity) as needed, either manually or via automations.
## Example using dynamic destination
Using the flexible option to set a sensor value to the `Destination`, you can setup a single Waze integration that will calculate travel time to multiple optional locations on demand.
-In the following example, the `Input Select` is converted into an address which is used to modify the destination for Waze route calculation from `device_tracker.myphone` location (It takes a few minutes for the value to update due to the interval of Waze data fetching).
+In the following example, the `Input Select` is converted into an address which is used to modify the destination for the Waze route calculation from the `device_tracker.myphone` location. It takes a few minutes for the value to update due to the interval of Waze data fetching.
{% raw %}
@@ -68,7 +68,7 @@ template:
#### Tracking entity to entity
-In this example we use a device_tracker entity ID as the origin and the sensor created above as the destination.
+In this example, we use a device_tracker entity ID as the origin and the sensor created above as the destination.
- Name: "Me to some destination"
- Origin: `device_tracker.myphone`
@@ -105,5 +105,5 @@ In this example we are using the entity ID of a zone as the origin and the frien
## Using the live map in an iFrame
If you plan to use [Waze's live map](https://developers.google.com/waze/iframe/)
-in a dashboard [iframe](/dashboards/iframe/) then use
+in a dashboard [iframe](/dashboards/iframe/), then use
[https://embed.waze.com/iframe](https://embed.waze.com/iframe) and not the live map URL itself.
diff --git a/source/_integrations/wiz.markdown b/source/_integrations/wiz.markdown
index fcd79394edb..310903f511e 100644
--- a/source/_integrations/wiz.markdown
+++ b/source/_integrations/wiz.markdown
@@ -37,7 +37,7 @@ These devices have been sold under at least the following brands:
- [Atom Lighting](https://atomlighting.com.au/)
- [ATX LED](https://atxledinc.com/)
- [Brilliant](https://www.brilliantlightsource.com/)
-- [Designers Fountain](https://designersftn.com/default.dmx)
+- [Designers Fountain](https://designersfountain.com/)
- [Evoluziona](https://tecnolite.mx/)
- [Fischer & Honsel](https://fischer-honsel.com/)
- [Gauss](https://gauss.ru/smartlight/products/)
@@ -47,12 +47,12 @@ These devices have been sold under at least the following brands:
- [Lednify](https://lednify.com/)
- [Leyton](https://www.leyton-lighting.co.uk/)
- [Liteline](https://www.liteline.com/page/oncloud)
-- [Lutec](https://www.lutec.com/highlight/wiz)
+- [Lutec](https://www.lutec.com/segments/connected)
- [Philips Smart LED lights with WiZ Connected](https://www.usa.lighting.philips.com/consumer/smart-wifi-led)
- [Spex](https://spexlighting.com/pages/smart-lights)
- [SLV](https://www.slv.com/)
- [Trenz](https://trenzlighting.com/pages/smart-lights)
-- [Trio](https://wiz.trio-lighting.com/en/)
+- [Trio](https://wiz.trio-lighting.com/)
- [Wofi](https://wofi-wiz.com/)
The integration can report the state of occupancy sensors that have been linked to a device.
@@ -61,8 +61,8 @@ The integration can report the state of occupancy sensors that have been linked
## Connect WiZ devices to your network
-To connect a WiZ device to your Wi-Fi network, please follow the instructions in the [WiZ app](https://www.wizconnected.com/en/consumer/app/) (available for iOS and Android).
-If you have further questions, please have a look at the [WiZ Support Page](https://www.wizconnected.com/en/consumer/support/).
+To connect a WiZ device to your Wi-Fi network, please follow the instructions in the [WiZ app](https://www.wizconnected.com/en-us/explore-wiz/app) (available for iOS and Android).
+If you have further questions, please have a look at the [WiZ Support Page](https://www.wizconnected.com/en-us/support/faq).
### Enable local connectivity
diff --git a/source/_integrations/workday.markdown b/source/_integrations/workday.markdown
index db41fed3a51..f84f5351c91 100644
--- a/source/_integrations/workday.markdown
+++ b/source/_integrations/workday.markdown
@@ -47,6 +47,8 @@ Add holidays will only take dates formatted with `YYYY-MM-DD`.
Remove holidays will take dates formatted with `YYYY-MM-DD` or partial of name, for example, `christmas` will exclude `Christmas Day`.
+The offset can be used to see if future days are workdays. For example, put `1` to see if tomorrow is a workday.
+
## Automation example
Example usage for automation:
diff --git a/source/_integrations/wyoming.markdown b/source/_integrations/wyoming.markdown
index 2522a9035f1..6ea6b53f066 100644
--- a/source/_integrations/wyoming.markdown
+++ b/source/_integrations/wyoming.markdown
@@ -1,5 +1,5 @@
---
-title: Wyoming
+title: Wyoming Protocol
description: Connect remote voice services to Home Assistant.
ha_category:
- Voice
@@ -10,6 +10,10 @@ ha_codeowners:
- '@synesthesiam'
ha_domain: wyoming
ha_integration_type: integration
+ha_platforms:
+ - stt
+ - tts
+ha_config_flow: true
---
The Wyoming integration connects external voice services to Home Assistant using a [small protocol](https://github.com/rhasspy/rhasspy3/blob/master/docs/wyoming.md). This enables [Assist](/docs/assist) to use a variety of local [speech-to-text](/integrations/stt/) and [text-to-speech](/integrations/tts/) systems, such as:
diff --git a/source/_integrations/yalexs_ble.markdown b/source/_integrations/yalexs_ble.markdown
index 00bd62085b9..76363ad7e38 100644
--- a/source/_integrations/yalexs_ble.markdown
+++ b/source/_integrations/yalexs_ble.markdown
@@ -50,6 +50,10 @@ These devices do not send updates, but can be locked and unlocked.
- MD-04I (Yale Conexis L1, Yale Conexis L2)
- YRCB-490 (Yale Smart Cabinet Lock)
+## Troubleshooting
+
+Lock operation requires setting up an encrypted connection highly sensitive to latency. It is recommended to use a [High-Performance Bluetooth adapter](/integrations/bluetooth/#known-working-high-performance-adapters) or [ESPHome Bluetooth proxy](/integrations/bluetooth/#remote-adapters-bluetooth-proxies) for stable operation.
+
## Push updates
Some locks only send push updates when they have an active HomeKit pairing. If your lock is not sending push updates, ensure it's paired with a HomeKit using an iOS device or the HomeKit controller integration. The lock cannot be paired via HomeKit Controller and the Yale Access Bluetooth integration on the same Home Assistant instance as they will both try to access the lock simultaneously and fail.
@@ -62,18 +66,19 @@ Alternatively, call the `homeassistant.update_entity` service to force the integ
If the lock does not support push updates via advertisements or you want lock operation to be more responsive, you can enable always connected mode. Always connected will cause the lock to stay connected to Home Assistant via Bluetooth, which will use more battery.
+If the lock does not support push updates via advertisements or you want lock operation to be more responsive, you can enable always connected mode. Always connected will cause the lock to stay connected to Home Assistant via Bluetooth, which will use more battery.
+
## Door Sensors
The lock must be calibrated in the Yale Access App for the door sensors to function correctly. If the door sensor has an unknown state or is not updating, try recalibrating the lock in the app.
-
## Obtaining the offline key
The offline key and slot number are required to operate the lock. These credentials can be found in multiple places depending on the lock brand and model.
-### Yale Access or August Cloud
+### Yale Access, Yale Home, or August Cloud
-The [August](/integrations/august) integration can automatically provision the offline key if the configured account has the key loaded. You may need to create or use a non-primary existing account with owner-level access to the lock, as not all accounts will have the key loaded.
+The [August](/integrations/august) integration can automatically provision the offline key if the configured account has the key loaded. You may need to create or use a non-primary existing account with owner-level access to the lock, as not all accounts will have the key loaded. If the lock was not discovered by Home Assistant when the cloud integration was loaded, reload the cloud integration once the lock has been discovered.
If the offline key can automatically be provisioned, you will not be asked to enter it and the integration should be automatically added, configured and running.
diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown
index dd30aaf1285..b4e491fba42 100644
--- a/source/_integrations/zha.markdown
+++ b/source/_integrations/zha.markdown
@@ -272,6 +272,8 @@ Note: `cluster_id: 25` may also be `cluster_id: 0x0019`. The two are synonymous.
### Defining Zigbee channel to use
+Tip! Before considering to change to an other Zigbee channel on an existing Zigbee network, it is highly recommended that you read through the two segments under the [troubleshooting](#troubleshooting) section below about "*Best practices to avoid pairing/connection difficulties*" and "*Zigbee interference avoidance and network range/coverage optimization*". These sections provide prerequisite information and advice on how to achieve the best possible Zigbee network in your environment.
+
ZHA prefers to use Zigbee channel 15 by default. You can change this using YAML configuration, but this only works
if there's no existing network. To change the channel for an existing network, radio has to be factory reset and a new network to be formed. This requires re-pairing of all the devices.
@@ -283,13 +285,13 @@ zha:
channels: [15, 20, 25] # Channel mask
```
-This is a good reference for channel selection for [Zigbee and WiFi coexistance](https://support.metageek.com/hc/en-us/articles/203845040-ZigBee-and-WiFi-Coexistence).
+Note! The best practice is to not change the Zigbee channel from the ZHA default. Also, the related troubleshooting segments mentioned in the tip above will, among other things, inform that if you have issues with overlapping frequencies between Wi-Fi and Zigbee, then it is usually better to first only try changing and setting a static Wi-Fi channel on your Wi-Fi router or all your Wi-Fi access points (instead of just changing to another Zigbee channel).
-The Zigbee specification standards divide the 2.4Ghz ISM radio band into 16 Zigbee channels (i.e. distinct radio frequencies for Zigbee). For all Zigbee devices to be able to communicate, they must support the same Zigbee channel (i.e. Zigbee radio frequency) that is set on the Zigbee Coordinator as the channel to use for its Zigbee network. Not all Zigbee devices support all Zigbee channels, it will usually depend on the hardware and firmware age as well as devices power ratings.
+MetaGeek Support has a good reference article about channel selection for [Zigbee and WiFi coexistance]([https://support.metageek.com/hc/en-Ti](https://support.metageek.com/hc/en-us/articles/203845040-ZigBee-and-WiFi-Coexistence)).
-The general recommendation is to only use channels 15, 20, or 25 in order to avoid interoperability problems with Zigbee devices that are limited to only being compatible with the ZLL (Zigbee Light Link) channels as well as lessen the chance of Wi-Fi networks interfering too much with the Zigbee network. Note that especially using Zigbee channels 11, 24, 25, or 26 on your Zigbee Coordinator could mean it will probably not be accessible to older devices as those Zigbee channels are commonly only supported by relatively modern Zigbee hardware devices with newer Zigbee firmware.
+The Zigbee specification standards divide the 2.4 GHz ISM radio band into 16 Zigbee channels (i.e. distinct radio frequencies for Zigbee). For all Zigbee devices to be able to communicate, they must support the same Zigbee channel (i.e. Zigbee radio frequency) that is set on the Zigbee Coordinator as the channel to use for its Zigbee network. Not all Zigbee devices support all Zigbee channels. Channel support usually depends on the age of the hardware and firmware, as well as on the device's power ratings.
-Regardless, note that the best practice recommendation is, however, not to change the Zigbee channel from default as not all Zigbee devices support all channels. If you have issues with overlapping frequencies, then it will generally be a better idea to just change Wi-Fi channels on your Wi-Fi Router or all your Wi-Fi Access Points instead.
+The general recommendation is to only use channels 15, 20, or 25 in order to avoid interoperability problems with Zigbee devices. Not only because there is less chance of Wi-Fi networks interfering too much with the Zigbee network on other channels, but also because not all Zigbee devices support all channels. Some devices, for example, are limited to only being compatible with ZLL (Zigbee Light Link) channels. It is therefore especially not recommended to use Zigbee channels 11, 24, 25, or 26 on your Zigbee coordinator. These Zigbee channels are commonly only supported by relatively modern Zigbee hardware devices with newer Zigbee firmware. If using those channels, your coordinator may not be usable with older Zigbee devices.
### Modifying the device type
@@ -380,42 +382,36 @@ This service disables a lock code on a Zigbee lock.
## Adding devices
-To add a new device:
+Tip! It is highly recommended that you read through the two segments under the troubleshooting section below about "*Best practices to avoid pairing/connection difficulties*" and "*Zigbee interference avoidance and network range/coverage optimization*" for general prerequisite knowledge and advice on how to achieve the best possible Zigbee network in your environment.
+
+**To add a new Zigbee device:**
1. Go to the **Integrations** panel, find the **Zigbee Home Automation** integration that was added by the configuration steps above, and select **Configure**.
1. Click on the plus button at the bottom right corner to start a scan for new devices.
-1. Reset your Zigbee devices according to the device instructions provided by the manufacturer (e.g., turn on/off lights up to 10 times, switches usually have a reset button/pin). It might take a few seconds for the devices to appear. You can click on **Show logs** for more verbose output.
+1. Reset your Zigbee devices to factory default settings according to the device instructions provided by the manufacturer (e.g., turn on/off lights up to 10 times; switches usually have a reset button/pin). It might take a few seconds for the devices to appear. You can click on **Show logs** for more verbose output.
1. Once the device is found, it will appear on that page and will be automatically added to your devices. You can optionally change its name and add it to an area (you can change this later). You can search again to add another device, or you can go back to the list of added devices.
-### Best practices to avoid pairing/connection difficulties
+### Using router devices to add more devices
-Verify that you try to follow recommended best practices to avoid pairing and/or connection issues:
+Most mains-powered devices, e.g., many always-powered wall plugs or light bulbs in your Zigbee network will automatically act as a Zigbee router device (sometimes also referred to as a Zigbee "signal repeater" or "range extender").
-- If possible try to pair your Zigbee devices in their intended final location, (and not pair it next to the Zigbee coordinator and then need to move it after).
- - Pairing a Zigbee device next to the Zigbee coordinator and then moving it later can result in dropped/lost connections or other issues.
- - If the device you want to add is not brand new and as such never paired before then you always have to make sure to first manually reset the device to its factory default settings before you will be able to add/pair it.
-- Some battery-operated Zigbee devices are known to have problems with pairing if they have Low battery voltage.
- - Some people have reported replacing the battery on their newly received Xiaomi/Aqara devices solved pairing issues.
-- Check that you have enough Zigbee router devices (also known as Zigbee signal repeaters or range extenders) and if you do not have any, invest and add some mains-powered devices that will work as Zigbee routers.
- - Aim to start out with mains-powered devices before adding battery-operated devices as a "weak" Zigbee network mesh (e.g., the device is too far from the Zigbee coordinator or a Zigbee router) may prevent some devices from being paired. Zigbee router devices are also needed to increase the maximum of devices that can be connected to your Zigbee mesh network.
- - Note that some Zigbee devices are not fully compatible with all brands of Zigbee router devices. Xiaomi/Aqara devices are for example known not to work with Zigbee router devices from Centralite, General Electrics, Iris, Ledvance/OSRAM, LIGHTIFY/Sylvania, Orvibo, PEQ, Securifi, and SmartThings/Samsung. Better results can usually be achieved by using mains-powered devices IKEA and Nue/3A Home or dedicated DIY routing devices based on Texas Instruments CC253x/CC26x2 and XBee Series 2/3 Zigbee radios.
-- Be patient as the pairing of some Zigbee devices may require multiple attempts and you may sometimes need to try again and again.
- - Some devices, like example those from Xiaomi/Aqara, are known to not be 100% compliant with the standard Zigbee specifications and may therefore require many paring attempts over 10-20 minutes or longer.
+Because Zigbee should use a "[wireless mesh network]"(https://en.wikipedia.org/wiki/Wireless_mesh_network) to be effective, you will need to add Zigbee router devices to increase the number of Zigbee devices that can be used in your Zigbee network, both in the total number of devices that can be added as well as the total range and coverage of the network. Some Zigbee router devices do a much better job at routing and repeating Zigbee signals and messages than some other devices. You should not have a setup where Zigbee router devices (e.g. light bulbs) are often powered-off. Zigbee router devices are meant to be always available.
-### Using router devices
+All Zigbee coordinator firmware will only allow you to directly connect a certain amount of devices. That limit is set for two reasons; firstly, to not overload the Zigbee coordinator, and secondly, to encourage your Zigbee network to quickly begin to utilize a "[mesh networking](https://en.wikipedia.org/wiki/Mesh_networking)" topology instead of only a "[star network](https://en.wikipedia.org/wiki/Star_network)" topology.
-You use routers to increase the number of Zigbee devices that can be used in a network. The total number of Zigbee devices that you have on a Zigbee network depends on a few things, but you should know that Zigbee coordinator hardware and firmware only plays a larger role in Zigbee networks with a lot of devices. More important is how many directly connected devices ("direct children") versus how many routers are connected to your Zigbee coordinator. Zigpy library which ZHA uses has an upper limit. This is 32 direct children, but if your Zigbee coordinator hardware is powerful enough then you can still have hundreds of Zigbee devices connected through routers.
+The total number of Zigbee devices that you can have on a Zigbee network depends on a few things. The Zigbee coordinator hardware and its firmware only play a larger role in Zigbee networks with a lot of devices. More important is the number of directly connected devices ("direct children") versus the number of routers that are connected to your Zigbee coordinator. The Zigpy library, which the ZHA integration depends on, has an upper limit that is 32 direct children, but you can still have hundreds of Zigbee devices in total connected indirectly through routes via Zigbee router devices.
-Even the least powerful Zigbee coordinator hardware supported by Zigpy is CC2530/2531 and its default firmware, only supports 20 devices connected directly to the coordinator. However, by having routers in your Zigbee network, the mesh network size can be extended. You can assume that most, if not all mains/AC-powered devices, e.g., wall-plugs and always powered-on lightbulbs in your Zigbee network can serve as a router. You can even use CC2530/CC2531 with router firmware, as additional routers (which in their turn have a limit of 21 devices).
+In this theoretical example, a CC2652-based Zigbee coordinator has three CC2530 Zigbee router devices for a total limit of 77 devices:
-An example using the default CC2531 coordinator firmware + two CC2531 routers; Your device limit will be:
+- Coordinator: 32 Zigbee End devices - 3 routers = 29
+- Router one: + 16 devices
+- Router two: + 16 devices
+- Router three: + 16 devices
+- Total device limit = **77 devices**
-- Coordinator: 15 devices - 2 routers = 13
-- Router one: + 21 devices
-- Router two: + 21 devices
-- Total device limit = **55 devices**
+In practice, you will likely need to add a lot more Zigbee router devices than in this example in order to extend the coverage of the network to reach that many devices.
-### Binding and unbinding
+## Binding and unbinding
ZHA support for binding and unbinding. Binding is an action in Zigbee which defines relations between two Zigbee devices, specific endpoints, and cluster id. It provides a mechanism for attaching an endpoint on one Zigbee node to one or more endpoints on another Zigbee node or Zigbee group (a group of Zigbee devices).
@@ -450,15 +446,51 @@ ZHA does not currently support devices that can only use the ZSE ("Zigbee Smart
### Knowing which devices are supported
-There is no official compatibility list of supported devices for the simple reason that practically all devices Zigbee Home Automation that are fully compliant with the standards and specifications as set by the [Zigbee Alliance](https://zigbeealliance.org) should technically be compatible with this ZHA integration. The fact remains, however, that some hardware manufacturers do not always fully comply with each set specification, which can cause a few devices to only partially work or not work at all with ZHA, but developers can create workarounds for such issues via a solution for 'ZHA exception and deviation handling' that this implementation features. See that section for more information.
+Home Assistant's ZHA integration supports all standard Zigbee device types. It should be compatible with most Zigbee devices as long as they fully conform to the official ZCL (Zigbee Cluster Library) specifications defined by the [CSA (Connectivity Standards Alliance, formerly the Zigbee Alliance)](https://csa-iot.org/all-solutions/zigbee/). There is therefore no official compatibility list of devices that will work out-of-the-box with the ZHA integration.
-Tip to new users is that, while there is no official list of supported devices, some ZHA users take comfort that blakadder maintains an unofficial Zigbee Device Compatibility Repository which anyone can submit compatibility reports to, it can be found at [zigbee.blakadder.com](https://zigbee.blakadder.com) and currently contains independent compatibility lists and device pairing tips for several home automation gateway/bridge/hub software, including but not limited to open source Zigbee implementations such as; ZHA, Tasmota, Zigbee2MQTT, and ZiGate.
+Not all hardware manufacturers always fully comply with the standard specifications. Sometimes, they may also implement unique features. For this reason, some Zigbee devices pair/join fine with ZHA but then only show none or only a few entities in the integration. Developers can work around most such interoperability issues by adding conversion/translation code in custom device handlers. For more information, refer to the section below on _How to add support for new and unsupported devices_.
-### ZHA exception and deviation handling
+For clarification, normally only devices that do not fully conform to CSA's ZCL specifications that will not present all standard attributes as entities for configuration in the ZHA integration. Zigbee devices that only use the standard clusters and attributes that are Zigbee specifications set by the Connectivity Standards Alliance should not need custom device handlers.
-Home Assistant's ZHA integration already supports most standard device types out-of-the-box as long as they follow the official Zigbee specifications, but for devices that manufacturers have not properly not fully Zigbee compatible, the ZHA integration has implemented a library called "[ZHA Device Handlers (also known as "zha-quirk")](https://github.com/zigpy/zha-device-handlers)" that handle and resolve compliance issues via custom conversion/translation of Zigbee parameters (clusters and attributes) for specific devices which do not conform with the Zigbee standards.
+Before continuing with this section: If a device does not join/pair at all, read the troubleshooting sections about how to avoid pairing/connection difficulties, interference avoidance, and network range/coverage optimization.
-The few devices that will, for example, not join/pair properly or, while joined/paired, do not present all attributes in the ZHA integration likely deviate from the Zigbee specifications set by the [CSA (Connectivity Standards Alliance)](https://csa-iot.org/all-solutions/zigbee/). These devices may therefore require the creation of a bug report by a device owner, supplying debug logs. The device owner may need to actively assist in troubleshooting by providing the information developers need to create custom ZHA Device Handlers.
+Tip to new Zigbee users: Checkout [blakadder's unofficial Zigbee Device Compatibility Repository](https://zigbee.blakadder.com). Anyone can help maintain the site by submitting device compatibility information to it. The repository contains independent community member's reports or device-specific pairing tips for several home automation gateway/bridge/hub software, including open-source Zigbee implementations, such as ZHA, Zigbee2MQTT, and Tasmota (Zigbee2Tasmota).
+
+#### How to add support for new and unsupported devices
+
+If your Zigbee device pairs/joins successfully with the ZHA integration but does not show all of the expected entities:
+1. Try to re-pair/re-join the device several times.
+2. Checkout the troubleshooting section.
+3. Still not working? You may need a custom device handler. This handler will have exception handling code to work around device-specific issues.
+
+For devices that do not follow the standard defined in the CSA's ZCL (Zigbee Cluster Library), the ZHA integration relies on a project called "[ZHA Device Handlers (also known as "zha-quirk")](https://github.com/zigpy/zha-device-handlers)". It contains device-specific Python scripts called "quirks". These scripts can resolve compliance and interoperability issues by implementing on-the-fly conversion of custom Zigbee configurations or by implementing manufacturer-specific features for specific devices.
+
+People familiar with other Zigbee gateway solutions for home automation may know similar concepts of using custom Zigbee device handlers/converters for non-standard devices. For example, [Zigbee2MQTT (and IoBroker) uses zigbee-herdsman converters](https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html) and [SmartThings Classics (Legacy) platform has Hub Connected Device Handlers](https://developer.smartthings.com/docs/devices/hub-connected/legacy).
+
+If you do not want to develop such a "quirk" Python script yourself, you can submit a "device support request" as a new issue to the [ZHA Device Handlers project repository on GitHub](https://github.com/zigpy/zha-device-handlers/issues):
+1. Sign in to GitHub.
+2. Select **New issue** and follow the instructions.
+ * New device support requests require the device signature + diagnostic information.
+ * You may also need to actively help in further testing or provide additional information to the volunteering developers.
+
+Note that submitting a new "device support request" does not guarantee that someone else will develop a custom "quirk" for ZHA. The project relies on volunteering developers. However, without "device support requests", the developers may not be aware that your specific Zigbee device is not working correctly in ZHA.
+
+### Best practices to avoid pairing/connection difficulties
+
+If you are having problems pairing a device to then ZHA integratuon then it is recommomended to verify that you try to follow recommended best practices to avoid pairing and/or connection issues:
+
+- Check that your setup and environment are optimized to avoid interference.
+ - As interference avoidance is an extremely important topic on its own, please read and follow the tips in the separate section below about Zigbee interference avoidance and network range/coverage optimization.
+- Check that you have enough Zigbee router devices (also known as Zigbee signal repeaters or range extenders) and if you do not have any, invest and add some mains-powered devices that will work as Zigbee routers.
+ - Aim to start out with mains-powered devices before adding battery-operated devices as a "weak" Zigbee network mesh (e.g., the device is too far from the Zigbee coordinator or a Zigbee router) may prevent some devices from being paired. Zigbee router devices are also needed to increase the maximum of devices that can be connected to your Zigbee mesh network.
+ - Note that some Zigbee devices are not fully compatible with all brands of Zigbee router devices. Xiaomi/Aqara devices are for example known not to work with Zigbee router devices from Centralite, General Electrics, Iris, Ledvance/OSRAM, LIGHTIFY/Sylvania, Orvibo, PEQ, Securifi, and SmartThings/Samsung. Better results can usually be achieved by using mains-powered devices IKEA and Nue/3A Home or dedicated DIY routing devices based on Texas Instruments CC253x/CC26x2 and XBee Series 2/3 Zigbee radios.
+- If possible try to pair your Zigbee devices in their intended final location, (and not pair it next to the Zigbee coordinator and then need to move it after).
+ - Pairing a Zigbee device next to the Zigbee coordinator and then moving it later can result in dropped/lost connections or other issues.
+ - If the device you want to add is not brand new and as such never paired before then you always have to make sure to first manually reset the device to its factory default settings before you will be able to add/pair it.
+- Some battery-operated Zigbee devices are known to have problems with pairing if they have Low battery voltage.
+ - Some people have reported replacing the battery on their newly received Xiaomi/Aqara devices solved pairing issues.
+- Be patient as the pairing of some Zigbee devices may require multiple attempts and you may sometimes need to try again and again.
+ - Some devices, like example those from Xiaomi/Aqara, are known to not be 100% compliant with the standard Zigbee specifications and may therefore require many paring attempts over 10-20 minutes or longer.
### Zigbee interference avoidance and network range/coverage optimization
diff --git a/source/_posts/2023-01-26-year-of-the-voice-chapter-1.markdown b/source/_posts/2023-01-26-year-of-the-voice-chapter-1.markdown
index d973f3bc039..01e67f1e223 100644
--- a/source/_posts/2023-01-26-year-of-the-voice-chapter-1.markdown
+++ b/source/_posts/2023-01-26-year-of-the-voice-chapter-1.markdown
@@ -32,7 +32,7 @@ We want Assist to be as accessible to as many people as possible. To do this, we
Assist is enabled by default in the Home Assistant 2023.2 release. Tap the new Assist icon
at the top right of the dashboard to use it.
-[Assist documentation.](https://next.home-assistant.io/docs/assist/)
+[Assist documentation.](https://www.home-assistant.io/docs/assist/)
@@ -40,7 +40,7 @@ Assist is enabled by default in the Home Assistant 2023.2 release. Tap the new A
We want to make it as easy as possible to use Assist. To enable this for Android users, we have added a new tile to the Android Wear app. A simple swipe from the clock face will show the assist button and allows you to send voice commands.
-[Assist on Android Wear documentation.](https://next.home-assistant.io/docs/assist/android/)
+[Assist on Android Wear documentation.](https://www.home-assistant.io/docs/assist/android/)
_The tile is available in [Home Assistant Companion for Android 2023.1.1](https://play.google.com/store/apps/details?id=io.homeassistant.companion.android&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1)._
@@ -50,7 +50,7 @@ _The tile is available in [Home Assistant Companion for Android 2023.1.1](https:
For Apple devices we have been able to create a fully hands-free experience by integrating with Siri. This is powered by a new Apple Shortcut action called Assist, which is part of the Home Assistant app. This shortcut action can also be manually triggered from your Mac taskbar, iPhone home screen or Apple Watch complication. We have two ready-made shortcuts that users can import from the documentation with a single tap to unlock these features.
-[Assist via Siri and Apple Shortcuts documentation.](https://next.home-assistant.io/docs/assist/apple/)
+[Assist via Siri and Apple Shortcuts documentation.](https://www.home-assistant.io/docs/assist/apple/)
_The Assist shortcut is available in [Home Assistant Companion for iOS 2023.2](https://apps.apple.com/us/app/home-assistant/id1099568401?itsct=apps_box_badge&itscg=30200). Mac version is awaiting approval._
@@ -66,7 +66,7 @@ With Home Assistant we believe that every home is uniquely yours and that [techn
Assist includes support for custom sentences, responses and intents, allowing you to achieve all of the above, and more. We've designed the custom sentence format in a way that it can be easily shared with the community.
-Read [the documentation](https://next.home-assistant.io/docs/assist/custom_sentences) on how to get started.
+Read [the documentation](https://www.home-assistant.io/docs/assist/custom_sentences) on how to get started.
_In a future release we're planning on adding a user interface to customize and import sentences._
diff --git a/source/_posts/2023-04-27-year-of-the-voice-chapter-2.markdown b/source/_posts/2023-04-27-year-of-the-voice-chapter-2.markdown
index b8cbe296f17..5da1c972739 100644
--- a/source/_posts/2023-04-27-year-of-the-voice-chapter-2.markdown
+++ b/source/_posts/2023-04-27-year-of-the-voice-chapter-2.markdown
@@ -51,7 +51,7 @@ Interacting with many different services means that many different things can go
Screenshot of the new Assist debug tool.
@@ -160,7 +160,7 @@ We’ve focused our initial efforts on supporting [the Grandstream HT801 Voice-o Give your voice assistant personality using the OpenAI integration.
-[voip]: https://next.home-assistant.io/integrations/voip/ +[voip]: https://www.home-assistant.io/integrations/voip/ [ht801]: https://amzn.to/40k7mRa _Some links on this page are affiliate links and purchases using these links support the Home Assistant project._ diff --git a/source/_posts/2023-05-03-release-20235.markdown b/source/_posts/2023-05-03-release-20235.markdown new file mode 100644 index 00000000000..92490ec22f2 --- /dev/null +++ b/source/_posts/2023-05-03-release-20235.markdown @@ -0,0 +1,981 @@ +--- +layout: post +title: "2023.5: Let's talk!" +description: "Have a talk with your Home Assistant! Shipping chapter 2 of our Year of the Voice! Easily manage your exposed entities to your voice assistants, configure your Home Assistant Yellow's LEDs, and new Webhook trigger options!" +date: 2023-05-03 00:00:00 +date_formatted: "May 3, 2023" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: + - Release-Notes + - Core +og_image: /images/blog/2023-05/social.png +--- + +
+
+The language selector let's a user choose from a list of languages.
+
Discontinued! The edition of the Blue was — limited. We are out of stock, with no plans to relaunch this edition.
Sorry you missed it. The new kid on the block is Home Assistant Yellow.
+Lover of ODROID? This way, please.
You know what else is blue, pretty, and has our logo on it? Home Assistant SkyConnect.
If you bought the Home Assistant Yellow Kit, you need to bring your own Raspberry Pi Compute Module 4. +
+A chip shortage still impacts the availability of the CM4. Our recommendation is to use rpilocator. This website tracks the stock of official Raspberry Pi distributors. Follow them on Twitter and enable push notifications. You will be notified as soon as the bot tweets that products are in stock. +
++ We recommend purchasing a Raspberry Pi Compute Module 4 with the following characteristics: +