diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 806ae1c93b0..f0edac50861 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -9,22 +9,24 @@ } }, "appPort": [4000], - "postCreateCommand": "bundle install && npm install", + "onCreateCommand": "bundle install && npm install", "containerEnv": { "DEVCONTAINER": "true" }, "extensions": [ "davidanson.vscode-markdownlint", "editorconfig.editorconfig", + "GitHub.vscode-pull-request-github", "mrmlnc.vscode-scss", "rebornix.Ruby", "streetsidesoftware.code-spell-checker", + "taichi.vscode-textlint", "yzhang.markdown-all-in-one" ], "settings": { - "editor.rulers": [80, 100, 120], "editor.renderWhitespace": "boundary", - "errorLens.gutterIconsEnabled": true, - "errorLens.addAnnotationTextPrefixes": false, - "errorLens.enabledDiagnosticLevels": ["error", "warning"], - "terminal.integrated.shell.linux": "/usr/bin/zsh" + "editor.rulers": [80, 100, 120], + "gitlens.showWelcomeOnInstall": false, + "gitlens.showWhatsNewAfterUpgrades": false, + "terminal.integrated.shell.linux": "/usr/bin/zsh", + "workbench.startupEditor": "none" } } diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 48ade5355e7..ae390f2f1a0 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -11,7 +11,7 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/stale@v6.0.0 + - uses: actions/stale@v6.0.1 if: ${{ github.repository_owner == 'home-assistant' }} with: repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 54b7cd37fa4..6d799f8757a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,9 +8,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v3.0.2 + uses: actions/checkout@v3.1.0 - name: Setting up Node.js - uses: actions/setup-node@v3.5.0 + uses: actions/setup-node@v3.5.1 with: node-version: 16.x cache: "npm" @@ -25,9 +25,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v3.0.2 + uses: actions/checkout@v3.1.0 - name: Setting up Node.js - uses: actions/setup-node@v3.5.0 + uses: actions/setup-node@v3.5.1 with: node-version: 16.x cache: "npm" diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 5f55e50474f..199390c8fce 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,7 +2,11 @@ "recommendations": [ "davidanson.vscode-markdownlint", "editorconfig.editorconfig", + "GitHub.vscode-pull-request-github", + "mrmlnc.vscode-scss", + "rebornix.Ruby", "streetsidesoftware.code-spell-checker", + "taichi.vscode-textlint", "yzhang.markdown-all-in-one" ] } \ No newline at end of file diff --git a/CODEOWNERS b/CODEOWNERS index 662ee3501de..b8a9da76f02 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -40,6 +40,7 @@ source/_integrations/android_ip_webcam.markdown @engrbm87 source/_integrations/androidtv.markdown @JeffLIrion @ollo69 source/_integrations/anthemav.markdown @hyralex source/_integrations/apache_kafka.markdown @bachya +source/_integrations/apcupsd.markdown @yuxincs source/_integrations/api.markdown @home-assistant/core source/_integrations/apple_tv.markdown @postlund source/_integrations/application_credentials.markdown @home-assistant/core @@ -68,6 +69,7 @@ source/_integrations/azure_service_bus.markdown @hfurubotten source/_integrations/backup.markdown @home-assistant/core source/_integrations/baf.markdown @bdraco @jfroy source/_integrations/balboa.markdown @garbled1 +source/_integrations/bayesian.markdown @HarvsG source/_integrations/beewi_smartclim.markdown @alemuro source/_integrations/binary_sensor.markdown @home-assistant/core source/_integrations/bizkaibus.markdown @UgaitzEtxebarria @@ -75,6 +77,7 @@ source/_integrations/blebox.markdown @bbx-a @riokuu source/_integrations/blink.markdown @fronzbot source/_integrations/bliss_automation.markdown @starkillerOG source/_integrations/bloc_blinds.markdown @starkillerOG +source/_integrations/bluemaestro.markdown @bdraco source/_integrations/blueprint.markdown @home-assistant/core source/_integrations/bluesound.markdown @thrawnarn source/_integrations/bluetooth.markdown @bdraco @@ -87,8 +90,11 @@ source/_integrations/broadlink.markdown @danielhiversen @felipediel @L-I-Am source/_integrations/brother.markdown @bieniu source/_integrations/brunt.markdown @eavanvalkenburg source/_integrations/bsblan.markdown @liudger +source/_integrations/bswitch.markdown @jafar-atili source/_integrations/bt_smarthub.markdown @jxwolstenholme source/_integrations/bthome.markdown @Ernst79 +source/_integrations/bticino.markdown @cgtobi +source/_integrations/bubendorff.markdown @cgtobi source/_integrations/buienradar.markdown @mjj4791 @ties @Robbie1221 source/_integrations/button.markdown @home-assistant/core source/_integrations/calendar.markdown @home-assistant/core @@ -147,7 +153,7 @@ source/_integrations/dnsip.markdown @gjohansson-ST source/_integrations/doorbird.markdown @oblogic7 @bdraco @flacjacket source/_integrations/dooya.markdown @starkillerOG source/_integrations/dsmr.markdown @Robbie1221 @frenck -source/_integrations/dsmr_reader.markdown @depl0y +source/_integrations/dsmr_reader.markdown @depl0y @glodenox source/_integrations/dunehd.markdown @bieniu source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95 source/_integrations/dynalite.markdown @ziv1234 @@ -189,6 +195,7 @@ source/_integrations/fan.markdown @home-assistant/core source/_integrations/fastdotcom.markdown @rohankapoorcom source/_integrations/fibaro.markdown @rappenze source/_integrations/file.markdown @fabaff +source/_integrations/file_upload.markdown @home-assistant/core source/_integrations/filesize.markdown @gjohansson-ST source/_integrations/filter.markdown @dgomes source/_integrations/fireservicerota.markdown @cyberjunky @@ -235,6 +242,7 @@ source/_integrations/goodwe.markdown @mletenay @starkillerOG source/_integrations/google.markdown @allenporter source/_integrations/google_assistant.markdown @home-assistant/cloud source/_integrations/google_cloud.markdown @lufton +source/_integrations/google_sheets.markdown @tkdrob source/_integrations/google_travel_time.markdown @eifinger source/_integrations/govee_ble.markdown @bdraco source/_integrations/gpsd.markdown @fabaff @@ -244,6 +252,7 @@ source/_integrations/group.markdown @home-assistant/core source/_integrations/growatt_server.markdown @indykoning @muppet3000 @JasperPlant source/_integrations/guardian.markdown @bachya source/_integrations/habitica.markdown @ASMfreaK @leikoilja +source/_integrations/hardware.markdown @home-assistant/core source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan source/_integrations/hassio.markdown @home-assistant/supervisor source/_integrations/hdmi_cec.markdown @inytar @@ -279,6 +288,7 @@ source/_integrations/hyperion.markdown @dermotduffy source/_integrations/ialarm.markdown @RyuzakiKK source/_integrations/iammeter.markdown @lewei50 source/_integrations/iaqualink.markdown @flz +source/_integrations/ibeacon.markdown @bdraco source/_integrations/icloud.markdown @Quentame @nzapponi source/_integrations/ign_sismologia.markdown @exxamalte source/_integrations/image.markdown @home-assistant/core @@ -316,7 +326,9 @@ source/_integrations/kaleidescape.markdown @SteveEasley source/_integrations/keba.markdown @dannerph source/_integrations/keenetic_ndms2.markdown @foxel source/_integrations/kef.markdown @basnijholt +source/_integrations/kegtron.markdown @Ernst79 source/_integrations/keyboard_remote.markdown @bendavid @lanrat +source/_integrations/keymitt_ble.markdown @spycle source/_integrations/kmtronic.markdown @dgomes source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w source/_integrations/kodi.markdown @OnFreund @cgtobi @@ -331,8 +343,10 @@ source/_integrations/launch_library.markdown @ludeeus @DurgNomis-drol source/_integrations/laundrify.markdown @xLarry source/_integrations/lcn.markdown @alengwenus source/_integrations/led_ble.markdown @bdraco +source/_integrations/legrand.markdown @cgtobi 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/light.markdown @home-assistant/core @@ -409,6 +423,7 @@ source/_integrations/nextbus.markdown @vividboarder source/_integrations/nextcloud.markdown @meichthys source/_integrations/nextdns.markdown @bieniu source/_integrations/nfandroidtv.markdown @tkdrob +source/_integrations/nibe_heatpump.markdown @elupus source/_integrations/nightscout.markdown @marciogranzotto source/_integrations/nilu.markdown @hfurubotten source/_integrations/nina.markdown @DeerMaximum @@ -479,13 +494,14 @@ source/_integrations/pushover.markdown @engrbm87 source/_integrations/pvoutput.markdown @frenck source/_integrations/pvpc_hourly_pricing.markdown @azogue source/_integrations/qbittorrent.markdown @geoffreylagaisse -source/_integrations/qingping.markdown @bdraco +source/_integrations/qingping.markdown @bdraco @skgsergio source/_integrations/qld_bushfire.markdown @exxamalte source/_integrations/qnap_qsw.markdown @Noltari source/_integrations/quantum_gateway.markdown @cisasteelersfan source/_integrations/qvr_pro.markdown @oblogic7 source/_integrations/qwikswitch.markdown @kellerza source/_integrations/rachio.markdown @bdraco +source/_integrations/radarr.markdown @tkdrob source/_integrations/radio_browser.markdown @frenck source/_integrations/radiotherm.markdown @bdraco @vinnyfuria source/_integrations/rainbird.markdown @konikvranik @@ -565,6 +581,7 @@ source/_integrations/smappee.markdown @bsmappee 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 @@ -605,6 +622,7 @@ source/_integrations/swiss_hydrological_data.markdown @fabaff source/_integrations/swiss_public_transport.markdown @fabaff 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 @bdraco @danielhiversen @RenierM26 @murtas @Eloston source/_integrations/switcher_kis.markdown @tomerfi @thecode source/_integrations/switchmate.markdown @danielhiversen @qiz-li @@ -631,6 +649,7 @@ source/_integrations/thethingsnetwork.markdown @fabaff source/_integrations/threshold.markdown @fabaff source/_integrations/tibber.markdown @danielhiversen source/_integrations/tile.markdown @bachya +source/_integrations/tilt_ble.markdown @apt-itude source/_integrations/time_date.markdown @fabaff source/_integrations/tmb.markdown @alemuro source/_integrations/todoist.markdown @boralyl diff --git a/Gemfile b/Gemfile index ad87f57237b..67459c8e7fc 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,7 @@ ruby '> 2.5.0' group :development do gem 'rake', '13.0.6' - gem 'jekyll', '4.2.2' + gem 'jekyll', '4.3.0' gem 'compass', '1.0.3' gem 'sass-globbing', '1.1.5' gem 'stringex', '2.8.5' @@ -20,7 +20,7 @@ group :jekyll_plugins do end gem 'sinatra', '3.0.2' -gem 'nokogiri', '1.13.8' +gem 'nokogiri', '1.13.9' # 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 92b16c14161..3e12dfd2e55 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -30,21 +30,22 @@ GEM http_parser.rb (0.8.0) i18n (1.12.0) concurrent-ruby (~> 1.0) - jekyll (4.2.2) + jekyll (4.3.0) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) i18n (~> 1.0) - jekyll-sass-converter (~> 2.0) + jekyll-sass-converter (>= 2.0, < 4.0) jekyll-watch (~> 2.0) - kramdown (~> 2.3) + kramdown (~> 2.3, >= 2.3.1) kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) - mercenary (~> 0.4.0) + mercenary (>= 0.3.6, < 0.5) pathutil (~> 0.9) - rouge (~> 3.0) + rouge (>= 3.0, < 5.0) safe_yaml (~> 1.0) - terminal-table (~> 2.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) jekyll-commonmark (1.4.0) commonmarker (~> 0.22) jekyll-paginate (1.1.0) @@ -70,11 +71,9 @@ GEM multi_json (1.15.0) mustermann (3.0.0) ruby2_keywords (~> 0.0.1) - nokogiri (1.13.8) + nokogiri (1.13.9) mini_portile2 (~> 2.8.0) racc (~> 1.4) - nokogiri (1.13.8-x64-mingw32) - racc (~> 1.4) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (5.0.0) @@ -87,7 +86,7 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.5) - rouge (3.30.0) + rouge (4.0.0) ruby2_keywords (0.0.5) safe_yaml (1.0.5) sass (3.4.25) @@ -103,14 +102,15 @@ GEM rack-protection (= 3.0.2) tilt (~> 2.0) stringex (2.8.5) - terminal-table (2.0.0) - unicode-display_width (~> 1.1, >= 1.1.1) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) tilt (2.0.11) tzinfo (2.0.5) concurrent-ruby (~> 1.0) - tzinfo-data (1.2022.4) + tzinfo-data (1.2022.5) tzinfo (>= 1.0.0) - unicode-display_width (1.8.0) + unicode-display_width (2.3.0) + webrick (1.7.0) PLATFORMS ruby @@ -118,12 +118,12 @@ PLATFORMS DEPENDENCIES compass (= 1.0.3) - jekyll (= 4.2.2) + jekyll (= 4.3.0) jekyll-commonmark (= 1.4.0) jekyll-paginate (= 1.1.0) jekyll-sitemap (= 1.4.0) jekyll-toc (= 0.17.1) - nokogiri (= 1.13.8) + nokogiri (= 1.13.9) rake (= 13.0.6) sass-globbing (= 1.1.5) sassc (= 2.1.0) diff --git a/_config.yml b/_config.yml index 9436666b35c..8b6e53e7dca 100644 --- a/_config.yml +++ b/_config.yml @@ -106,9 +106,9 @@ social: # Home Assistant release details current_major_version: 2022 -current_minor_version: 9 -current_patch_version: 7 -date_released: 2022-09-26 +current_minor_version: 10 +current_patch_version: 4 +date_released: 2022-10-14 # 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 d975887287c..78495686175 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "textlint": "^12.2.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", - "textlint-rule-terminology": "^3.0.3" + "textlint-rule-terminology": "^3.0.4" } }, "node_modules/@azu/format-text": { @@ -5385,9 +5385,9 @@ } }, "node_modules/textlint-rule-terminology": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.3.tgz", - "integrity": "sha512-c1AzZ7ztXZfLySI8j7CnUGj8leNsfTCs+OPwJQV0ZWpKIZ7FsuRULCof1wLxsOZM+9MpVkmJWGfi6/qR6kRGIg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.4.tgz", + "integrity": "sha512-obQ3y0hqX6OWCrM8K5K6WSJGE4BOyNfGF6hUGPet56taTm/xzkRu8XA6vpn2GFr4zom/oMa0sBJ3OtDWCgrS/g==", "dev": true, "dependencies": { "lodash": "^4.17.15", @@ -10079,9 +10079,9 @@ } }, "textlint-rule-terminology": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.3.tgz", - "integrity": "sha512-c1AzZ7ztXZfLySI8j7CnUGj8leNsfTCs+OPwJQV0ZWpKIZ7FsuRULCof1wLxsOZM+9MpVkmJWGfi6/qR6kRGIg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.4.tgz", + "integrity": "sha512-obQ3y0hqX6OWCrM8K5K6WSJGE4BOyNfGF6hUGPet56taTm/xzkRu8XA6vpn2GFr4zom/oMa0sBJ3OtDWCgrS/g==", "dev": true, "requires": { "lodash": "^4.17.15", diff --git a/package.json b/package.json index 1da45b259a6..4fb915895ea 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "textlint": "^12.2.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", - "textlint-rule-terminology": "^3.0.3" + "textlint-rule-terminology": "^3.0.4" }, "resolutions": { "minimist": ">=1.2.5" diff --git a/plugins/details.rb b/plugins/details.rb index 5e081d1de98..d1d5daa96bc 100644 --- a/plugins/details.rb +++ b/plugins/details.rb @@ -4,6 +4,7 @@ module Jekyll def initialize(tag_name, title, tokens) super @title = title + @details_idx = 1 end def render(context) @@ -15,25 +16,35 @@ module Jekyll end title = title.to_s.delete("\"") + idx = context["details_idx"] + if idx.nil? then + idx = 0 + end + context["details_idx"] = idx + 1 + <<~MARKUP
-
+
+ +
MARKUP diff --git a/plugins/filters.rb b/plugins/filters.rb index 58d34f22daa..696f9b53199 100644 --- a/plugins/filters.rb +++ b/plugins/filters.rb @@ -90,7 +90,7 @@ module Jekyll end { "label" => version, "new_components_count" => v[1].count, "sort_key" => gem_ver } - }.sort_by { |v| v["sort_key"] }.reverse.group_by { |v| + }.sort_by { |v| Gem::Version.new(v["sort_key"]) }.reverse.group_by { |v| version = v["label"] split_ver = version.split('.') diff --git a/sass/custom/_details.scss b/sass/custom/_details.scss index 038428b8d00..04b5b9957be 100644 --- a/sass/custom/_details.scss +++ b/sass/custom/_details.scss @@ -18,6 +18,9 @@ div.details-block { justify-content: space-between; display: flex; align-items: center; + background-color: white; + border: 0px; + width: 100%; } .details-block-content { margin: 4px 32px 12px 0; diff --git a/sass/custom/_landingpage.scss b/sass/custom/_landingpage.scss index 5a90ed3889f..494a2b1d6c6 100644 --- a/sass/custom/_landingpage.scss +++ b/sass/custom/_landingpage.scss @@ -901,7 +901,7 @@ $ha__primary_color: #03a9f4; width: 100%; left: unset; font-size: 2em; - line-height: 0px; + line-height: 1em; svg { width: 152px; diff --git a/sass/inuitcss/README.md b/sass/inuitcss/README.md index 3567be2208e..e71f985c8ed 100644 --- a/sass/inuitcss/README.md +++ b/sass/inuitcss/README.md @@ -328,7 +328,7 @@ for documentation. * [BSkyB](http://en.wikipedia.org/wiki/BSkyB) * [pr.ofile.me](http://pr.ofile.me) -* [Lukas Bestle](http://lu-x.me) +* [Lukas Bestle] * [Matthew Tyas](http://matthewtyas.com/) ### Using inuit.css? diff --git a/source/.well-known/security.txt b/source/.well-known/security.txt index 4ee6a8d5adf..119363c642b 100644 --- a/source/.well-known/security.txt +++ b/source/.well-known/security.txt @@ -2,3 +2,4 @@ Contact: mailto:security@home-assistant.io Preferred-Languages: en Canonical: https://www.home-assistant.io/.well-known/security.txt Policy: https://www.home-assistant.io/security/ +Expires: 2032-12-31T22:59:00.000Z diff --git a/source/_dashboards/gauge.markdown b/source/_dashboards/gauge.markdown index 2481616d5df..1c825c903a3 100644 --- a/source/_dashboards/gauge.markdown +++ b/source/_dashboards/gauge.markdown @@ -154,3 +154,31 @@ segments: - from: 65 color: '#db4437' ``` + +CSS variables can be used (instead of CSS '#rrggbb') for default gauge segment colors: + +- `var(--success-color)` for green color +- `var(--warning-color)` for yellow color +- `var(--error-color)` for red color +- `var(--info-color)` for blue color + +Therefore, the previous example can be defined also as: + +```yaml +type: gauge +entity: sensor.kitchen_humidity +needle: true +min: 20 +max: 80 +segments: + - from: 0 + color: var(--error-color) + - from: 35 + color: var(--warning-color) + - from: 40 + color: var(--success-color) + - from: 60 + color: var(--warning-color) + - from: 65 + color: var(--error-color) +``` diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index ce519089ceb..8f4ccd2996a 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -21,7 +21,7 @@ - topic: Discovery description: "[Discovery](/integrations/discovery/) is the automatic setup of zeroconf/mDNS and uPnP devices after they are discovered." - topic: Domain - description: "Each integration in Home Assitant has a unique identifier: a domain. All of the entities and services available in Home Assistant are provided by integrations and thus belong to such a domain. The first part of the entity or service, before the `.` shows the domain they belong to. For example `light.kitchen` is an entity in the `light` domain from the [light integration](/integrations/light), while `hue.activate_scene` is the `activate_scene` service for the `hue` domain which belongs to the [Hue integration](/integrations/hue)." + description: "Each integration in Home Assistant has a unique identifier: a domain. All of the entities and services available in Home Assistant are provided by integrations and thus belong to such a domain. The first part of the entity or service, before the `.` shows the domain they belong to. For example `light.kitchen` is an entity in the `light` domain from the [light integration](/integrations/light), while `hue.activate_scene` is the `activate_scene` service for the `hue` domain which belongs to the [Hue integration](/integrations/hue)." - topic: Entity description: "An entity is the representation of a single control or data point of a device or service inside Home Assistant. A single device or service can thus provide multiple entities to be able to monitor and control all features a device provides. For example, a combined temperature and humidity sensor, in general, provides two `sensor` entities. One for the temperature (e.g., `sensor.temperature` with state `21.0` and unit `°C`) and one for the humity (e.g., `sensor.humidity` with state `65.4` and unit `%`)." - topic: Event diff --git a/source/_docs/authentication.markdown b/source/_docs/authentication.markdown index 4be5a89adcf..29c92d64752 100644 --- a/source/_docs/authentication.markdown +++ b/source/_docs/authentication.markdown @@ -5,7 +5,7 @@ description: "Guide on authentication in Home Assistant." Our authentication system secures access to Home Assistant. -If you are starting Home Assistant for the first time, or you have logged out, you will be asked for credentials before you can log in. +If you are starting Home Assistant for the first time, or you have logged out, you will be asked for credentials before you can log in. Screenshot of the login screen @@ -21,29 +21,28 @@ For the moment, other user accounts will have the same access as the owner accou
-If you want to manage users and you're an owner but you do not see "Users" in your main configuration menu, make sure that "Advanced Mode" is enabled for your user in your profile. +If you want to manage users and you're an owner but you do not see "Users" in your main configuration menu, make sure that "Advanced Mode" is enabled for your user in your profile.
### Your Account Profile -Once you're logged in, you can see the details of your account at the _Profile_ page by clicking on the circular at the very bottom of the sidebar. +Once you're logged in, you can see the details of your account at the _Profile_ page by clicking on the circular at the very bottom of the sidebar. Screenshot of the profile page You can: -* Change your password. -* Enable or disable [multi-factor authentication](/docs/authentication/multi-factor-auth/). -* Delete _Refresh Tokens_. These are created when you log in from a device. Delete them if you want to force the device to log out. -* Create [Long Lived Access Tokens](https://developers.home-assistant.io/docs/en/auth_api.html#long-lived-access-token) so scripts can securely interact with Home Assistant. -* Log out of Home Assistant. +- Change your password. +- Enable or disable [multi-factor authentication](/docs/authentication/multi-factor-auth/). +- Delete _Refresh Tokens_. These are created when you log in from a device. Delete them if you want to force the device to log out. +- Create [Long Lived Access Tokens](https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token) so scripts can securely interact with Home Assistant. +- Log out of Home Assistant. ### Securing your login -_Make sure to choose a secure password!_ At some time in the future, you will probably want to access Home Assistant from outside your local network. This means you are also exposed to random black-hats trying to do the same. Treat the password like the key to your house. +_Make sure to choose a secure password!_ At some time in the future, you will probably want to access Home Assistant from outside your local network. This means you are also exposed to random black-hats trying to do the same. Treat the password like the key to your house. - -As an extra level of security, you can turn on [multi-factor authentication](/docs/authentication/multi-factor-auth/). +As an extra level of security, you can turn on [multi-factor authentication](/docs/authentication/multi-factor-auth/). ## Other authentication techniques @@ -77,7 +76,7 @@ INFO (MainThread) [homeassistant.components.http.auth] You need to use a bearer Before using the procedure below, make sure you explore options provided [here](/docs/locked_out). -While you should hopefully be storing your passwords in a password manager, if you lose the password associated with the owner account the only way to resolve this is to delete *all* the authentication data. You do this by shutting down Home Assistant and deleting the following files from the `.storage/` folder in your [configuration folder](/docs/configuration/): +While you should hopefully be storing your passwords in a password manager, if you lose the password associated with the owner account the only way to resolve this is to delete _all_ the authentication data. You do this by shutting down Home Assistant and deleting the following files from the `.storage/` folder in your [configuration folder](/docs/configuration/): - `auth` - `auth_provider.homeassistant` diff --git a/source/_docs/blueprint/schema.markdown b/source/_docs/blueprint/schema.markdown index 0f4477c1812..93dd66a86fa 100644 --- a/source/_docs/blueprint/schema.markdown +++ b/source/_docs/blueprint/schema.markdown @@ -63,7 +63,7 @@ homeassistant: keys: min_version: description: > - Minimum required version of Home Assistant to use the blueprint (e.g. + Minimum required version of Home Assistant to use the blueprint (e.g. `2022.4.0`. It is important to set this if the blueprint uses any features introduced in recent releases to head off issues. type: string @@ -135,7 +135,7 @@ A blueprint can have as many inputs as you like. The inputs are available as custom YAML tags, but not as template variables. To use a blueprint input in a template, it first needs to be exposed as either -a [script level variable](/integrations/script/#configuration-variables) or in +a [script level variable](/integrations/script/#configuration-variables) or in a [variable script step](/docs/scripts/#variables). ```yaml diff --git a/source/_docs/blueprint/selectors.markdown b/source/_docs/blueprint/selectors.markdown index 08bc04a69da..b9d228dd904 100644 --- a/source/_docs/blueprint/selectors.markdown +++ b/source/_docs/blueprint/selectors.markdown @@ -304,7 +304,7 @@ The output of this selector is the entry ID of the config entry, for example, `6 ## Date selector -The date selector shows a date input that allows the user to specify a date. +The date selector shows a date input that allows the user to specify a date. ![Screenshot of the Date selector](/images/blueprints/selector-date.png) @@ -320,7 +320,7 @@ The output of this selector is will contain the date in Year-Month-Day ## Date & time selector The date selector shows a date and time input that allows the user to specify a -date with a specific time. +date with a specific time. ![Screenshot of the Date & time selector](/images/blueprints/selector-datetime.png) @@ -453,7 +453,7 @@ duration: ``` {% configuration attribute %} -enable_days: +enable_day: description: When `true`, the duration selector will allow selecting days. type: boolean default: false @@ -464,7 +464,7 @@ The output of this selector is a mapping of the time values the user selected. For example: ```yaml -days: 1 # Only when enable_days was set to true +days: 1 # Only when enable_day was set to true hours: 12 minutes: 30 seconds: 15 @@ -775,7 +775,7 @@ select: {% configuration select %} options: - description: > + description: > List of options that the user can choose from. Small lists (5 items or less), are displayed as radio buttons. When more items are added, a dropdown list is used. type: list required: true @@ -820,7 +820,7 @@ select: {% configuration select_map %} options: - description: > + description: > List of options that the user can choose from. Small lists (5 items or less), are displayed as radio buttons. When more items are added, a dropdown list is used. type: map required: true @@ -1012,7 +1012,7 @@ suffix: type: string required: false type: - description: > + description: > The type of input. This is a browser hint, which can improve the client-side validation of the input. The value isn't validated by the backend. Possible types are: @@ -1042,7 +1042,7 @@ The output of this selector is will contain the selected theme, for example: ## Time selector The time selector shows a time input that allows the user to specify a time -of the day. +of the day. ![Screenshot of a time selector](/images/blueprints/selector-time.png) diff --git a/source/_docs/configuration/securing.markdown b/source/_docs/configuration/securing.markdown index 77e49f4600f..db6c9729a5a 100644 --- a/source/_docs/configuration/securing.markdown +++ b/source/_docs/configuration/securing.markdown @@ -3,7 +3,7 @@ title: "Securing" description: "Instructions on how to secure your Home Assistant installation." --- -One major advantage of Home Assistant is that it's not dependent on cloud services. Even if you're only using Home Assistant on a local network, you should take steps to secure your instance. +One major advantage of Home Assistant is that it is not dependent on cloud services. Even if you are only using Home Assistant on a local network, you should take steps to secure your instance. ## Checklist @@ -14,17 +14,17 @@ Here's the summary of what you *must* do to secure your Home Assistant system: ## Remote Access -If you want secure remote access, the easiest option is to use [Home Assistant cloud](/cloud/) by which you also [support](https://www.nabucasa.com/about) the founders of Home Assistant. +If you want secure remote access, the easiest option is to use [Home Assistant cloud](/cloud/) by which you also [support](https://www.nabucasa.com/about/) the founders of Home Assistant. Another option is to use TLS/SSL via the add-on [Duck DNS](/integrations/duckdns/) integrating Let's Encrypt. -To expose your instance to the internet, use a [VPN](https://pivpn.io), or an [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/). Make sure to expose the used port in your router. +To expose your instance to the internet, use a [VPN](https://pivpn.io), or an [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/). Make sure to expose the used port in your router. ### Extras for manual installations -As well as the above we advise that you consider the following to improve security: +Besides the above we advise that you consider the following to improve security: - For systems that use SSH set `PermitRootLogin no` in your sshd configuration (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords. This is particularly important if you enable remote access to your SSH services. - Lock down the host following good practice guidance, for example: - * [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-manual/index.en.html) (this also applies to Raspberry Pi OS) - * [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/index), [CIS Red Hat Enterprise Linux 7 Benchmark](https://www.cisecurity.org/cis-benchmarks/) + - [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-manual/index.en.html) (this also applies to Raspberry Pi OS) + - [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/index), [CIS Red Hat Enterprise Linux 7 Benchmark](https://www.cisecurity.org/cis-benchmarks/) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index e01151e7cf0..3dcb2917573 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -72,10 +72,11 @@ Not supported in [limited templates](#limited-templates). - Iterating `states` will yield each state sorted alphabetically by entity ID. - Iterating `states.domain` will yield each state of that domain sorted alphabetically by entity ID. - `states.sensor.temperature` returns the state object for `sensor.temperature` (avoid when possible, see note below). -- `states('device_tracker.paulus')` will return the state string (not the object) of the given entity, `unknown` if it doesn't exist, `unavailable` if the object exists but is not yet available. +- `states('device_tracker.paulus')` will return the state string (not the object) of the given entity, `unknown` if it doesn't exist, `unavailable` if the object exists but is not yet available. - `is_state('device_tracker.paulus', 'home')` will test if the given entity is the specified state. - `state_attr('device_tracker.paulus', 'battery')` will return the value of the attribute or None if it doesn't exist. -- `is_state_attr('device_tracker.paulus', 'battery', 40)` will test if the given entity attribute is the specified state (in this case, a numeric value). Note that the attribute can be `None` and you want to check if it is `None`, you need to use `state_attr('sensor.my_sensor', 'attr') is none` or `state_attr('sensor.my_sensor', 'attr') == None` (note the difference in the capitalization of none in both versions). +- `is_state_attr('device_tracker.paulus', 'battery', 40)` will test if the given entity attribute is the specified state (in this case, a numeric value). Note that the attribute can be `None` and you want to check if it is `None`, you need to use `state_attr('sensor.my_sensor', 'attr') is none` or `state_attr('sensor.my_sensor', 'attr') == None` (note the difference in the capitalization of none in both versions). +
Avoid using `states.sensor.temperature.state`, instead use `states('sensor.temperature')`. It is strongly advised to use the `states()`, `is_state()`, `state_attr()` and `is_state_attr()` as much as possible, to avoid errors and error message when the entity isn't ready yet (e.g., during Home Assistant startup). @@ -400,7 +401,6 @@ For example, if you wanted to select a field from `trigger` in an automation bas {% endraw %} - ### Time `now()` and `utcnow()` are not supported in [limited templates](#limited-templates). @@ -499,7 +499,7 @@ The `from_json` filter operates similarly, but in the other direction, de-serial In this example, the special character '°' will be automatically escaped in order to produce valid JSON. The difference between the stringified object and the actual JSON is evident. -*Template* +#### Template {% raw %} @@ -511,7 +511,7 @@ object|to_json: {{ temp|to_json(ensure_ascii=False) }} {% endraw %} -*Output* +#### Output {% raw %} @@ -524,7 +524,7 @@ object|to_json: {"temperature": 25, "unit": "\u00b0C"} Conversely, `from_json` can be used to de-serialize a JSON string back into an object to make it possible to easily extract usable data. -*Template* +#### Template {% raw %} @@ -535,7 +535,7 @@ The temperature is {{ temp.temperature }}{{ temp.unit }} {% endraw %} -*Output* +#### Output {% raw %} @@ -587,12 +587,12 @@ Not supported in [limited templates](#limited-templates). - `distance()` will measure the distance in kilometers between home, entity, coordinates. - `closest()` will find the closest entity. - #### Distance examples If only one location is passed in, Home Assistant will measure the distance from home. {% raw %} + ```text Using Lat Lng coordinates: {{ distance(123.45, 123.45) }} @@ -717,7 +717,7 @@ Like `float` and `int`, `bool` has a filter form. Using `none` as the default va - `e` mathematical constant, approximately 2.71828. - `pi` mathematical constant, approximately 3.14159. - `tau` mathematical constant, approximately 6.28318. -- Filter `round(precision, method, default)` will convert the input to a number and round it to `precision` decimals. Round has four modes and the default mode (with no mode specified) will [round-to-even](https://en.wikipedia.org/wiki/Rounding#Roundhalfto_even). If the input value can't be converted to a `float`, returns the `default` value, or if omitted raises an error. +- Filter `round(precision, method, default)` will convert the input to a number and round it to `precision` decimals. Round has four modes and the default mode (with no mode specified) will [round-to-even](https://en.wikipedia.org/wiki/Rounding#Roundhalfto_even). If the input value can't be converted to a `float`, returns the `default` value, or if omitted raises an error. - `round(precision, "floor", default)` will always round down to `precision` decimals - `round(precision, "ceil", default)` will always round up to `precision` decimals - `round(1, "half", default)` will always round to the nearest .5 value. `precision` should be 1 for this mode @@ -729,7 +729,7 @@ Like `float` and `int`, `bool` has a filter form. Using `none` as the default va These functions are used to process raw value's in a `bytes` format to values in a native Python type or vice-versa. The `pack` and `unpack` functions can also be used as a filter. They make use of the Python 3 `struct` library. -See: https://docs.python.org/3/library/struct.html +See: [Python struct library documentation](https://docs.python.org/3/library/struct.html) - Filter `value | pack(format_string)` will convert a native type to a `bytes` type object. This will call function `struct.pack(format_string, value)`. Returns `None` if an error occurs or when `format_string` is invalid. - Function `pack(value, format_string)` will convert a native type to a `bytes` type object. This will call function `struct.pack(format_string, value)`. Returns `None` if an error occurs or when `format_string` is invalid. @@ -757,6 +757,9 @@ Some examples: ### Regular expressions +For more information on regular expressions +See: [Python regular expression operations](https://docs.python.org/3/library/re.html) + - Test `string is match(find, ignorecase=False)` will match the find expression at the beginning of the string using regex. - Test `string is search(find, ignorecase=False)` will match the find expression anywhere in the string using regex. - Filter `string|regex_replace(find='', replace='', ignorecase=False)` will replace the find expression with the replace string using regex. diff --git a/source/_docs/energy/electricity-grid.markdown b/source/_docs/energy/electricity-grid.markdown index 11fe57ee271..187d683b10b 100644 --- a/source/_docs/energy/electricity-grid.markdown +++ b/source/_docs/energy/electricity-grid.markdown @@ -59,7 +59,7 @@ _Attention! Installing CT clamp sensor devices requires opening your electrical Some energy providers will provide you real-time information about your usage and have this data integrated into Home Assistant. -### Troubleshooting ### +### Troubleshooting If you are unable to select your energy sensor in the grid consumption drop-down, make sure that its value is being recorded in the Recorder settings. diff --git a/source/_docs/energy/faq.markdown b/source/_docs/energy/faq.markdown index 3d597eeac50..a7979376b48 100644 --- a/source/_docs/energy/faq.markdown +++ b/source/_docs/energy/faq.markdown @@ -32,4 +32,3 @@ To accomplish such, you can use [the utility_meter integration](/integrations/ut ## The Energy panel is not visible If you do not see the Energy panel in the sidebar, make sure you have not removed [`default_config:`](/integrations/default_config/) from your `configuration.yaml`. If you have, you will need to add the `energy:` integration manually. - diff --git a/source/_docs/energy/gas.markdown b/source/_docs/energy/gas.markdown index 3abe5cf7877..5633946ac20 100644 --- a/source/_docs/energy/gas.markdown +++ b/source/_docs/energy/gas.markdown @@ -22,4 +22,3 @@ The P1 port is a standardized port on electricity meters in the Netherlands, Bel We have worked with creator [Marcel Zuidwijk](https://www.zuidwijk.com) to develop [SlimmeLezer+](https://www.zuidwijk.com/product/slimmelezer-plus/). It's an affordable P1 reader powered by [ESPHome](https://esphome.io) that will seamlessly integrate this information in Home Assistant. It is being sold on [his website](https://www.zuidwijk.com/product/slimmelezer-plus/) and the firmware is open source [on GitHub](https://github.com/zuidwijk/dsmr). ![Photo of SlimmeLezer attached to a smart electricity meter](/images/docs/energy/slimmelezer.jpg) - diff --git a/source/_docs/frontend.markdown b/source/_docs/frontend.markdown index a5780afaf89..e9c6173a870 100644 --- a/source/_docs/frontend.markdown +++ b/source/_docs/frontend.markdown @@ -12,4 +12,3 @@ The frontend of Home Assistant is built with [Polymer](https://www.polymer-proje The [User Interface section](/examples/#user-interface) can give you some starting points to expand the frontend. If you want to work on the frontend, please refer to the [Frontend Development documentation](/developers/frontend/). - diff --git a/source/_docs/frontend/browsers.markdown b/source/_docs/frontend/browsers.markdown index c24fb343c20..6af9a2b70c1 100644 --- a/source/_docs/frontend/browsers.markdown +++ b/source/_docs/frontend/browsers.markdown @@ -72,7 +72,7 @@ There are reports that devices running with iOS prior to iOS 10, especially old [Chrome]: https://www.google.com/chrome/ [Chromium]: https://www.chromium.org/ [Conkeror]: http://conkeror.org/ -[Edge]: https://www.microsoft.com/en-us/windows/microsoft-edge +[Edge]: https://www.microsoft.com/en-us/edge [elinks]: http://elinks.or.cz/ [Epiphany]: https://wiki.gnome.org/Apps/Web [Firefox]: https://www.mozilla.org/en-US/firefox/ @@ -80,12 +80,12 @@ There are reports that devices running with iOS prior to iOS 10, especially old [Iridium]: https://iridiumbrowser.de/ [Konqueror]: https://konqueror.org/ [Lynx]: https://lynx.browser.org/ -[Midori]: https://astian.org/midori-browser/ +[Midori]: https://astian.org/en/midori-browser/ [Opera]: https://www.opera.com/ [Safari]: https://www.apple.com/safari/ [surf]: https://surf.suckless.org/ [Tor Browser]: https://www.torproject.org/ [Uzbl]: https://www.uzbl.org/ -[w3m]: http://w3m.sourceforge.net/ -[Waterfox]: https://www.waterfoxproject.org +[w3m]: https://w3m.sourceforge.net/ +[Waterfox]: https://www.waterfox.net [LG webOS TV Built-In]: https://www.lg.com/uk/support/help-library/details-on-enjoying-internet-browsing-on-your-lg-webos-tv-CT00008334-1435838149474 diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index 6fa07ef00e7..01bef85409e 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -30,6 +30,7 @@ Supported by MQTT discovery: - [Vacuums](/integrations/vacuum.mqtt/) ## Configuration + MQTT discovery is enabled by default, but can be disabled. To do this, click on "Configure" in the integration page in the UI, then "Re-configure MQTT" and then "Next". ### Advanced discovery configuration @@ -432,7 +433,6 @@ Setting up a [light that takes JSON payloads](/integrations/light.mqtt/#json-sch ### Use object_id to influence the entity id - The entity id is automatically generated from the entity's name. All MQTT entity components optionally support providing an `object_id` which will be used instead if provided. - Configuration topic: `homeassistant/sensor/device1/config` @@ -443,8 +443,7 @@ The entity id is automatically generated from the entity's name. All MQTT entity "name":"My Super Device", "object_id":"my_super_device", "state_topic": "homeassistant/sensor/device1/state" - } +} ``` In the example above, the entity_id will be `sensor.my_super_device` instead of `sensor.device1`. - diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index 0496eacdaff..82977455b15 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -14,7 +14,7 @@ Until recently, 700 series Z-Wave Controllers had a bug that could cause the mes Users should upgrade the firmware on all 700 series controllers to version 7.17.2 or greater. Firmware can be upgraded using the below directions: - [Upgrade instructions using Linux](https://github.com/kpine/zwave-js-server-docker/wiki/700-series-Controller-Firmware-Updates-(Linux)) -- [Upgrade instructions using Windows (Aeotec)](https://help.aeotec.com/support/solutions/articles/6000252296-update-z-stick-7-with-windows) +- [Upgrade instructions using Windows (Aeotec)](https://aeotec.freshdesk.com/support/solutions/articles/6000252296-update-z-stick-7-with-windows) - [Upgrade instructions using Windows (Zooz)](https://www.support.getzooz.com/kb/article/931-how-to-perform-an-ota-firmware-update-on-your-zst10-700-z-wave-stick/) - [Upgrade instructions using Windows/Linux (Z-Wave.Me)](https://z-wave.me/support/uzbrazberry-firmwares/) diff --git a/source/_examples/configuration_yaml_by_gummientchen.markdown b/source/_examples/configuration_yaml_by_gummientchen.markdown deleted file mode 100644 index 1fe6f5dec16..00000000000 --- a/source/_examples/configuration_yaml_by_gummientchen.markdown +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "Configuration.yaml by Gummientchen" -description: "" -ha_category: Example configuration.yaml -ha_external_link: https://github.com/Gummientchen/Home-AssistantConfig ---- diff --git a/source/_examples/configuration_yaml_by_joshuagarrison27.markdown b/source/_examples/configuration_yaml_by_joshuagarrison27.markdown deleted file mode 100644 index 71e81d56896..00000000000 --- a/source/_examples/configuration_yaml_by_joshuagarrison27.markdown +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "Configuration.yaml by Joshua Garrison" -description: "" -ha_category: Example configuration.yaml -ha_external_link: https://github.com/JoshuaGarrison27/Home-Assistant-Configuration ---- diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html index 510a42ca9d6..165493b98a5 100644 --- a/source/_includes/asides/component_navigation.html +++ b/source/_includes/asides/component_navigation.html @@ -6,36 +6,44 @@ {%- if page.logo -%} {%- else -%} - + {%- endif -%} {%- if page.ha_config_flow and domain -%} {% my config_flow_start badge domain=domain %} + {%- elsif page.ha_iot_standard == "zigbee" -%} + {% my config_zha badge %} + {%- elsif page.ha_iot_standard == "zwave" -%} + {% my config_zwave_js badge %} {%- endif -%}
- The {{ page.name | default: page.title }} {{ page.ha_integration_type | default: "integration" }} was introduced in Home Assistant {{ page.ha_release | default: "unknown" }}, - and it's used by - - {% if percentage < 1 %} - {{ active_installations }} active installations. - {% else %} - {{ percentage | remove: ".0" }}% of the active installations. - {% endif %} + {%- if page.ha_brand -%} + The {{ page.name | default: page.title }} brand was introduced in Home Assistant {{ page.ha_release | default: "unknown" }}. + {%- else -%} + The {{ page.name | default: page.title }} {{ page.ha_integration_type | default: "integration" }} was introduced in Home Assistant {{ page.ha_release | default: "unknown" }}, + and it's used by - {%- if page.ha_iot_class %} - Its IoT class is {{ page.ha_iot_class }} - {%- endif -%} - - {%- if page.ha_quality_scale %} - {% if page.ha_iot_class %} - and + {% if percentage < 1 %} + {{ active_installations }} active installations. {% else %} - It + {{ percentage | remove: ".0" }}% of the active installations. {% endif %} - scores {{page.ha_quality_scale}} on our quality scale - {%- endif -%}. + + {%- if page.ha_iot_class %} + Its IoT class is {{ page.ha_iot_class }} + {%- endif -%} + + {%- if page.ha_quality_scale %} + {% if page.ha_iot_class %} + and it + {% else %} + It + {% endif %} + scores {{page.ha_quality_scale}} on our quality scale + {%- endif -%}{%- if page.ha_quality_scale or page.ha_iot_class %}.{%- endif -%} + {% endif %}
{% if page.works_with %} diff --git a/source/_includes/installation/operating_system.md b/source/_includes/installation/operating_system.md index c5a8158f0c6..74f6b737d3f 100644 --- a/source/_includes/installation/operating_system.md +++ b/source/_includes/installation/operating_system.md @@ -12,7 +12,7 @@ Follow this guide if you want to get started with Home Assistant easily or if yo We will need a few things to get started with installing Home Assistant. Links below lead to Amazon US. If you’re not in the US, you should be able to find these items in web stores in your country. -- [Raspberry Pi 4](https://amzn.to/2S0Gcl1) (Raspberry Pi 3 is ok too, if you have one laying around). Raspberry Pi are currently hard to come by, use [RPilocator](https://rpilocator.com/?cat=PI4) or [Fast Alerts (US)](https://fastalerts.io/product/raspberry-pi-4/) to find webshops with stock. +- [Raspberry Pi 4](https://amzn.to/2S0Gcl1) (Raspberry Pi 3 is ok too, if you have one laying around). Raspberry Pi are currently hard to come by, use [RPilocator](https://rpilocator.com/?cat=PI4) to find official distributors with stock. - [Power Supply for Raspberry Pi 4](https://amzn.to/2ReZ2Vq) or [Power Supply for Raspberry Pi 3](https://amzn.to/2R8yG7h) - [Micro SD Card](https://amzn.to/2X0Z2di). Ideally get one that is [Application Class 2](https://www.sdcard.org/developers/overview/application/index.html) as they handle small I/O much more consistently than cards not optimized to host applications. A 32 GB or bigger card is recommended. - SD Card reader. This is already part of most laptops, but you can purchase a [standalone USB adapter](https://amzn.to/2WWxntY) if you don't have one. The brand doesn't matter, just pick the cheapest. @@ -91,6 +91,19 @@ To use this method, follow the steps described in the procedure below: [Write th - To use this method, follow the instructions of your Live distribution (e.g., [this Ubuntu guide](https://ubuntu.com/tutorials/try-ubuntu-before-you-install)). Once you booted the live operating system, follow the steps described in the procedure below: [Write the image to your boot media](#write-the-image-to-your-boot-media). +{% details "Ubuntu dependency's for Etcher" %} + +When installing Etcher on an Ubuntu system you may need to install the fuse +dependency, you can do so with the following commands: + +```bash +sudo add-apt-repository universe +sudo apt update +sudo apt install libfuse2 +``` + +{% enddetails %} + {% endif %} ### Write the image to your boot media @@ -230,6 +243,10 @@ _All these can be extended if your usage calls for more resources._ 3. Select “Use an existing virtual hard disk file”, select the unzipped VDI file from above 4. Edit the “Settings” of the VM and go “System” then “Motherboard” and select “Enable EFI” 5. Then go to “Network” “Adapter 1” choose “Bridged Adapter” and choose your Network adapter +
+ Please keep in mind that the bridged adapter only functions over a hardwired ethernet connection. + Using Wi-Fi on your VirtualBox host is unsupported. +
6. Then go to “Audio” and choose “Intel HD Audio” as Audio Controller.
diff --git a/source/_integrations/air_quality.markdown b/source/_integrations/air_quality.markdown index 711bebf05d0..b1e34800140 100644 --- a/source/_integrations/air_quality.markdown +++ b/source/_integrations/air_quality.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The `air_quality` base platform allows other integrations to process information about air quality and pollution details. It is used by integrations that provide an `air_quality` sensor - you can find those under the `health` [integrations](/integrations/#health). diff --git a/source/_integrations/alarm_control_panel.markdown b/source/_integrations/alarm_control_panel.markdown index 5df97f48acd..97f603c22bd 100644 --- a/source/_integrations/alarm_control_panel.markdown +++ b/source/_integrations/alarm_control_panel.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: alarm_control_panel ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Home Assistant can give you an interface which is similar to a classic alarm system. diff --git a/source/_integrations/alarmdecoder.markdown b/source/_integrations/alarmdecoder.markdown index f53cfbaa904..6783df78be4 100644 --- a/source/_integrations/alarmdecoder.markdown +++ b/source/_integrations/alarmdecoder.markdown @@ -190,7 +190,7 @@ The tables below show the key press sequences used for arming for the different
-The `chr(4)` and `chr(5)` sequences below are equivalent to pressing the Stay and Away keypad keys respectively (as outlined in the AlarmDecoder documentation). +The `chr(4)` and `chr(5)` sequences below are equivalent to pressing the Stay and Away keypad keys respectively (as outlined in the AlarmDecoder documentation).
diff --git a/source/_integrations/alexa.intent.markdown b/source/_integrations/alexa.intent.markdown index 9cb02c5ff6f..0fedaf2a496 100644 --- a/source/_integrations/alexa.intent.markdown +++ b/source/_integrations/alexa.intent.markdown @@ -395,4 +395,4 @@ Alexa will now respond with a random phrase each time. You can use the include f [large-icon]: /images/integrations/alexa/alexa-512x512.png [small-icon]: /images/integrations/alexa/alexa-108x108.png [templates]: /topics/templating/ -[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/en/auth_api.html#long-lived-access-token +[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index ab46cec4001..19d56801f4d 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -1095,6 +1095,6 @@ logger: [alexa-dev-console]: https://developer.amazon.com/alexa/console/ask [emulated-hue-component]: /integrations/emulated_hue/ -[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/en/auth_api.html#long-lived-access-token +[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token [alexa-display-categories]: https://developer.amazon.com/docs/alexa/device-apis/alexa-discovery.html#display-categories [alexa-supported-locales]: https://developer.amazon.com/docs/alexa/device-apis/list-of-interfaces.html diff --git a/source/_integrations/analytics.markdown b/source/_integrations/analytics.markdown index cf99e2843cf..b3804f367d7 100644 --- a/source/_integrations/analytics.markdown +++ b/source/_integrations/analytics.markdown @@ -10,7 +10,7 @@ ha_codeowners: - '@home-assistant/core' - '@ludeeus' ha_domain: analytics -ha_integration_type: integration +ha_integration_type: system --- {% assign current_version = site.current_major_version | append: "." | append: site.current_minor_version | append: "." | append: site.current_patch_version %} diff --git a/source/_integrations/anel_pwrctrl.markdown b/source/_integrations/anel_pwrctrl.markdown index 8bd9975d4fb..8f808e1fca8 100644 --- a/source/_integrations/anel_pwrctrl.markdown +++ b/source/_integrations/anel_pwrctrl.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](https://anel-elektronik.de/SITE/produkte/produkte.htm) devices. +The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](https://en.anel.eu/index.htm?src=/produkte/produkte.htm) devices. Supported devices (tested): diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown index a005b67204b..59028c877a2 100644 --- a/source/_integrations/apcupsd.markdown +++ b/source/_integrations/apcupsd.markdown @@ -1,5 +1,5 @@ --- -title: apcupsd +title: APC UPS Daemon description: Instructions on how to integrate apcupsd status with Home Assistant. ha_category: - Binary Sensor @@ -121,4 +121,3 @@ Some sensors are disabled by default, since they provide information that is onl - UPS Transfer from Battery (XOFFBAT) - UPS Transfer from Battery (XOFFBATT) - UPS Transfer to Battery (XONBATT) - diff --git a/source/_integrations/api.markdown b/source/_integrations/api.markdown index ad7249b74f3..fdbe918fe26 100644 --- a/source/_integrations/api.markdown +++ b/source/_integrations/api.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: api -ha_integration_type: integration +ha_integration_type: system --- The `api` integration exposes a RESTful API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [HTTP integration](/integrations/http/). diff --git a/source/_integrations/application_credentials.markdown b/source/_integrations/application_credentials.markdown index 7c6d32d1833..d0e8dd07a75 100644 --- a/source/_integrations/application_credentials.markdown +++ b/source/_integrations/application_credentials.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- The Application Credentials integration is used by integrations that use OAuth2 to link your account to Home Assistant. The most common and preferred approach is using account linking with Home Assistant Cloud, however not all cloud providers support that and integrations can use Application Credentials instead. Additionally, users may use Application Credentials if preferred instead of Home Assistant Cloud Account Linking. diff --git a/source/_integrations/aquostv.markdown b/source/_integrations/aquostv.markdown index a25af9018b8..3eee746c185 100644 --- a/source/_integrations/aquostv.markdown +++ b/source/_integrations/aquostv.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -The `aquostv` platform allows you to control a [Sharp Aquos TV](http://www.sharp-world.com/aquos/en/index.html). +The `aquostv` platform allows you to control a [Sharp Aquos TV](https://global.sharp/aquos/en/index.html). When the TV is first connected, you will need to accept Home Assistant on the TV to allow communication. diff --git a/source/_integrations/arris_tg2492lg.markdown b/source/_integrations/arris_tg2492lg.markdown index 2cdaa327bf4..e8ea437206e 100644 --- a/source/_integrations/arris_tg2492lg.markdown +++ b/source/_integrations/arris_tg2492lg.markdown @@ -1,7 +1,6 @@ --- title: Arris TG2492LG description: Instructions on how to integrate Arris TG2492LG routers into Home Assistant. -logo: arris.jpg ha_category: - Presence Detection ha_release: 0.109 diff --git a/source/_integrations/atag.markdown b/source/_integrations/atag.markdown index 2837594cb8b..6803246f92f 100644 --- a/source/_integrations/atag.markdown +++ b/source/_integrations/atag.markdown @@ -18,7 +18,7 @@ ha_platforms: ha_integration_type: integration --- -The `Atag` integration allows Home Assistant to connect to [Atag One](https://atag-one.com) thermostats, reporting and setting its status. +The `Atag` integration allows Home Assistant to connect to [Atag One](https://www.atagverwarming.nl) thermostats, reporting and setting its status. The integration implements the following platforms: - Climate diff --git a/source/_integrations/august_ble.markdown b/source/_integrations/august_ble.markdown index 32be8196ffc..f82dab10e08 100644 --- a/source/_integrations/august_ble.markdown +++ b/source/_integrations/august_ble.markdown @@ -1,6 +1,6 @@ --- title: August Bluetooth -description: Instructions on how to integrate August Bluetooth locks into Home Assistant. +description: Connect and control your August Bluetooth devices using the Yale Access Bluetooth integration ha_category: - Binary Sensor - Lock @@ -25,4 +25,4 @@ Integrates [August](https://august.com/) locks over Bluetooth into Home Assistan Following Assa Abloy, Yale's parent company, purchasing August in 2017, most newer devices use the Yale Access branding. -{% include integrations/supported_brand.md %} \ No newline at end of file +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/auth.markdown b/source/_integrations/auth.markdown index 0f7d00ed37f..ac8e2e4a122 100644 --- a/source/_integrations/auth.markdown +++ b/source/_integrations/auth.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: auth -ha_integration_type: integration +ha_integration_type: system --- This integration creates the endpoints for the [authentication system](/docs/authentication/) that is built into Home Assistant. diff --git a/source/_integrations/automation.markdown b/source/_integrations/automation.markdown index 75298852a97..00d0c84e613 100644 --- a/source/_integrations/automation.markdown +++ b/source/_integrations/automation.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: automation -ha_integration_type: integration +ha_integration_type: system --- diff --git a/source/_integrations/backup.markdown b/source/_integrations/backup.markdown index d88272c2b6f..4500fa674de 100644 --- a/source/_integrations/backup.markdown +++ b/source/_integrations/backup.markdown @@ -9,7 +9,7 @@ ha_domain: backup ha_codeowners: - '@home-assistant/core' ha_iot_class: Calculated -ha_integration_type: integration +ha_integration_type: system --- The Backup integration allow you to create and download backups for your Home Assistant Core and Home Assistant Container installations. This backup file can be used if you migrate to Home Assistant Operating System. diff --git a/source/_integrations/balboa.markdown b/source/_integrations/balboa.markdown index 9b91e0b293a..e8ba2f788a1 100644 --- a/source/_integrations/balboa.markdown +++ b/source/_integrations/balboa.markdown @@ -16,7 +16,7 @@ ha_config_flow: true ha_integration_type: integration --- -This integration adds support for [Balboa](http://www.balboawatergroup.com/) Spa WiFi Modules to be used within Home Assistant. +This integration adds support for [Balboa](https://www.balboawatergroup.com/) Spa WiFi Modules to be used within Home Assistant. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/bayesian.markdown b/source/_integrations/bayesian.markdown index 035a235533b..aada7ca7ff2 100644 --- a/source/_integrations/bayesian.markdown +++ b/source/_integrations/bayesian.markdown @@ -11,6 +11,8 @@ ha_domain: bayesian ha_platforms: - binary_sensor ha_integration_type: integration +ha_codeowners: + - '@HarvsG' --- The `bayesian` binary sensor platform observes the state from multiple sensors and uses [Bayes' rule](https://en.wikipedia.org/wiki/Bayes%27_theorem) to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`. @@ -71,6 +73,10 @@ name: required: false type: string default: Bayesian Binary Sensor +device_class: + description: Sets the [class of the device](/integrations/binary_sensor/), changing the device state and icon that is displayed on the frontend. + required: false + type: string observations: description: The observations which should influence the probability that the given event is occurring. required: true @@ -172,6 +178,7 @@ Finally, here's an example for `template` observation platform, as seen in the c binary_sensor: name: "Paulus Home" platform: "bayesian" + device_class: "presence" prior: 0.5 probability_threshold: 0.9 observations: diff --git a/source/_integrations/beewi_smartclim.markdown b/source/_integrations/beewi_smartclim.markdown index b5a3637ff22..4a90979176b 100644 --- a/source/_integrations/beewi_smartclim.markdown +++ b/source/_integrations/beewi_smartclim.markdown @@ -13,7 +13,7 @@ ha_platforms: ha_integration_type: integration --- -The `beewi_smartclim` sensor platform allows one to monitor room or external temperature and humidity. The [BeeWi SmartClim BLE](http://www.bee-wi.com/produits/capteurs/capteur-de-temperature/) is a Bluetooth Low Energy sensor device that monitors temperature from a room or a garden from your smartphone by using an APP. Use this integration to track these metrics from any location thanks to Home Assistant, as well as to create some automation scripts based on your room's temperature. +The `beewi_smartclim` sensor platform allows one to monitor room or external temperature and humidity. The BeeWi SmartClim BLE is a Bluetooth Low Energy sensor device that monitors temperature from a room or a garden from your smartphone by using an APP. Use this integration to track these metrics from any location thanks to Home Assistant, as well as to create some automation scripts based on your room's temperature. ## Installation diff --git a/source/_integrations/binary_sensor.markdown b/source/_integrations/binary_sensor.markdown index 014d97cc6c2..6ff50c7b6ef 100644 --- a/source/_integrations/binary_sensor.markdown +++ b/source/_integrations/binary_sensor.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: binary_sensor ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Binary sensors are similar to other [sensors](/integrations/sensor) in that they diff --git a/source/_integrations/blueprint.markdown b/source/_integrations/blueprint.markdown index c6555f766e9..d00536cd540 100644 --- a/source/_integrations/blueprint.markdown +++ b/source/_integrations/blueprint.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: blueprint -ha_integration_type: integration +ha_integration_type: system --- diff --git a/source/_integrations/bluesound.markdown b/source/_integrations/bluesound.markdown index 146a9562339..0beb273d79e 100644 --- a/source/_integrations/bluesound.markdown +++ b/source/_integrations/bluesound.markdown @@ -15,7 +15,9 @@ ha_integration_type: integration The `bluesound` platform allows you to control your [Bluesound](https://www.bluesound.com/) HiFi wireless speakers and audio integrations from Home Assistant. -If you want to automatically discover new devices, just make sure you have discovery: in your `configuration.yaml` file. To manually add a Bluesound device to your installation, add the following to your `configuration.yaml` file: +Bluesound devices should be discovered automatically by using [the discovery integration](/integrations/discovery/). + +To manually add a Bluesound device to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml diff --git a/source/_integrations/bluetooth.markdown b/source/_integrations/bluetooth.markdown index b7ae7314c9a..3ca8dccfe84 100644 --- a/source/_integrations/bluetooth.markdown +++ b/source/_integrations/bluetooth.markdown @@ -32,7 +32,7 @@ bluetooth: For Bluetooth to function on Linux systems: -- The [D-Bus](https://en.wikipedia.org/wiki/D-Bus) socket must be accessible to Home Assistant. +- The [D-Bus](https://en.wikipedia.org/wiki/D-Bus) socket must be accessible to Home Assistant. - The Bluetooth adapter must be accessible to D-Bus and running [BlueZ](http://www.bluez.org/) >= 5.43. It is highly recommended to use BlueZ >= 5.63 as older versions have been reported to be unreliable. - The D-Bus implementation should be [dbus-broker](https://github.com/bus1/dbus-broker). - The host system should be running Linux kernel 5.15.62 or later. @@ -105,7 +105,7 @@ The following methods are known to work to add multiple adapters: - Long USB Extension cables - USB-Ethernet extenders -- [USB/IP](http://usbip.sourceforge.net/) +- [USB/IP](https://usbip.sourceforge.net/) Integrations that have followed the [Best practices for library authors](https://developers.home-assistant.io/docs/bluetooth/?_highlight=Best+practices#best-practices-for-library-authors) will automatically connect via the adapter with the best signal and failover to an active adapter if one becomes unavailable. @@ -119,7 +119,7 @@ Many integrations require active scanning and may not function when scanning is ## Remote adapters -The Bluetooth integration supports receiving advertisement data from external adapters for devices and sensors that do not need an active connection. The number of remote scanners is limited only by the performance of the host system. +The Bluetooth integration supports receiving advertisement data from external adapters for devices and sensors that do not need an active connection, as well as establishing active connections. The number of remote scanners is limited only by the performance of the host system. The following remote adapters are supported: @@ -173,7 +173,7 @@ For example, unshielded USB 3 port and their cables are especially infamously kn - Try to place the Bluetooth adapter at some distance away from walls, ceilings, and floors. - Try different orientations of the adapter's external antenna (or whole Bluetooth adapter). - USB 3.0 ports/computers/peripherals are known culprits of RFI/EMI/EMF disruption. (See Ref. [1](https://www.usb.org/sites/default/files/327216.pdf) and [2](https://www.unit3compliance.co.uk/2-4ghz-intra-system-or-self-platform-interference-demonstration/)). - - Make sure to only connect the Bluetooth USB adapter to a USB 2.0 port (and not to a USB 3.x port). + - Make sure to only connect the Bluetooth USB adapter to a USB 2.0 port (and not to a USB 3.x port). - If your computer only has a USB 3.x port then connect the adapter via a powered USB 2.0 hub: - A USB 2.0 hub will convert USB 3.0 to a USB 2.0 port and avoid USB 3.0 EMF. - A USB 2.0 hub that uses an external power supply will ensure power requirements are fulfilled. diff --git a/source/_integrations/bswitch.markdown b/source/_integrations/bswitch.markdown new file mode 100644 index 00000000000..e1ecd617d48 --- /dev/null +++ b/source/_integrations/bswitch.markdown @@ -0,0 +1,23 @@ +--- +title: BSwitch +description: Connect and control your BSwitch devices using the SwitchBee integration +ha_category: + - Button + - Light + - Switch +ha_domain: bswitch +ha_codeowners: + - '@jafar-atili' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - button + - light + - switch +ha_iot_class: Local Polling +ha_supporting_domain: switchbee +ha_supporting_integration: SwitchBee +ha_release: '2022.10' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/bthome.markdown b/source/_integrations/bthome.markdown index bb41adecf02..987ecbeca4c 100644 --- a/source/_integrations/bthome.markdown +++ b/source/_integrations/bthome.markdown @@ -11,6 +11,7 @@ ha_codeowners: ha_domain: bthome ha_config_flow: true ha_platforms: + - binary_sensor - sensor ha_integration_type: integration --- diff --git a/source/_integrations/bticino.markdown b/source/_integrations/bticino.markdown new file mode 100644 index 00000000000..7dfb86efd0e --- /dev/null +++ b/source/_integrations/bticino.markdown @@ -0,0 +1,36 @@ +--- +title: BTicino +description: Connect and control your BTicino devices using the Netatmo integration +ha_category: + - Camera + - Climate + - Cover + - Environment + - Hub + - Light + - Media Source + - Sensor + - Switch + - Weather +ha_domain: bticino +ha_codeowners: + - '@cgtobi' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - camera + - climate + - cover + - diagnostics + - light + - select + - sensor + - switch +ha_iot_class: Cloud Polling +ha_homekit: true +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/bubendorff.markdown b/source/_integrations/bubendorff.markdown new file mode 100644 index 00000000000..b4ad3290b67 --- /dev/null +++ b/source/_integrations/bubendorff.markdown @@ -0,0 +1,36 @@ +--- +title: Bubendorff +description: Connect and control your Bubendorff devices using the Netatmo integration +ha_category: + - Camera + - Climate + - Cover + - Environment + - Hub + - Light + - Media Source + - Sensor + - Switch + - Weather +ha_domain: bubendorff +ha_codeowners: + - '@cgtobi' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - camera + - climate + - cover + - diagnostics + - light + - select + - sensor + - switch +ha_iot_class: Cloud Polling +ha_homekit: true +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/button.markdown b/source/_integrations/button.markdown index 5e4a2138ff4..a31186ab804 100644 --- a/source/_integrations/button.markdown +++ b/source/_integrations/button.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: button ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- A button entity is an entity that can fire an event / trigger an action towards diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown index 048527e6352..08b41efc457 100644 --- a/source/_integrations/caldav.markdown +++ b/source/_integrations/caldav.markdown @@ -15,7 +15,7 @@ The `caldav` platform allows you to connect to your WebDAV calendar and generate ## Prerequisites -You need to have a CalDAV server and credentials for it. This integration was tested against [Baikal](http://sabre.io/baikal/) but any integration complying with the RFC4791 should work. [Nextcloud](https://nextcloud.com/) and [Owncloud](https://owncloud.org/) work fine. +You need to have a CalDAV server and credentials for it. This integration was tested against [Baikal](https://sabre.io/baikal/) but any integration complying with the RFC4791 should work. [Nextcloud](https://nextcloud.com/) and [Owncloud](https://owncloud.org/) work fine. {% details "Notes for Home Assistant Core Installations" %} diff --git a/source/_integrations/calendar.markdown b/source/_integrations/calendar.markdown index 413fec848f4..dff15ca5397 100644 --- a/source/_integrations/calendar.markdown +++ b/source/_integrations/calendar.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The calendar integration allows you to integrate your calendars into Home Assistant. Calendars are shown on the calendar dashboard, and can be used with automations. diff --git a/source/_integrations/camera.markdown b/source/_integrations/camera.markdown index bc701a974f6..04afffb19b1 100644 --- a/source/_integrations/camera.markdown +++ b/source/_integrations/camera.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_domain: camera ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity ha_platforms: - diagnostics --- diff --git a/source/_integrations/cast.markdown b/source/_integrations/cast.markdown index 400b24fa6ad..c8d454db261 100644 --- a/source/_integrations/cast.markdown +++ b/source/_integrations/cast.markdown @@ -259,7 +259,7 @@ Optional: ### Plex -To cast media directly from a configured Plex server, set the fields [as documented in the Plex integration](/integrations/plex/#service-play_media) and prepend the `media_content_id` with `plex://`: +To cast media directly from a configured Plex server, set the fields [as documented in the Plex integration](/integrations/plex/#service-media_playerplay_media) and prepend the `media_content_id` with `plex://`: ```yaml 'cast_plex_to_chromecast': diff --git a/source/_integrations/clicksend_tts.markdown b/source/_integrations/clicksend_tts.markdown index 7dc90e36cf9..cbb815c4a5f 100644 --- a/source/_integrations/clicksend_tts.markdown +++ b/source/_integrations/clicksend_tts.markdown @@ -48,7 +48,7 @@ caller: required: false type: string language: - description: The language you want to use to convert the message to audio. Accepted values are found in the [ClickSend Documentation](http://docs.clicksend.apiary.io/#reference/voice/voice-languages). + description: The language you want to use to convert the message to audio. Accepted values are found in the [ClickSend Documentation](https://clicksend.docs.apiary.io/#reference/voice/voice-languages). required: false default: en-us type: string diff --git a/source/_integrations/climate.markdown b/source/_integrations/climate.markdown index f9b853c4854..15b1422686a 100644 --- a/source/_integrations/climate.markdown +++ b/source/_integrations/climate.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: climate ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats. diff --git a/source/_integrations/config.markdown b/source/_integrations/config.markdown index 237bc4c003a..614fec55893 100644 --- a/source/_integrations/config.markdown +++ b/source/_integrations/config.markdown @@ -10,7 +10,7 @@ ha_codeowners: ha_domain: config ha_platforms: - scene -ha_integration_type: integration +ha_integration_type: system --- The `config` integration is designed to display panels in the frontend to configure and manage parts of Home Assistant. diff --git a/source/_integrations/configurator.markdown b/source/_integrations/configurator.markdown index 866fd97f503..56d4614d4b9 100644 --- a/source/_integrations/configurator.markdown +++ b/source/_integrations/configurator.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: configurator -ha_integration_type: integration +ha_integration_type: system ---
diff --git a/source/_integrations/conversation.markdown b/source/_integrations/conversation.markdown index e74fd581c75..f1038151e18 100644 --- a/source/_integrations/conversation.markdown +++ b/source/_integrations/conversation.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Push ha_codeowners: - '@home-assistant/core' ha_domain: conversation -ha_integration_type: integration +ha_integration_type: system --- The conversation integration allows you to converse with Home Assistant. You can either converse by pressing the microphone in the frontend (supported browsers only (no iOS)) or by calling the `conversation/process` service with the transcribed text. diff --git a/source/_integrations/cover.markdown b/source/_integrations/cover.markdown index 553e955ef63..57a5cba4ee1 100644 --- a/source/_integrations/cover.markdown +++ b/source/_integrations/cover.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: cover -ha_integration_type: integration +ha_integration_type: entity --- Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors. diff --git a/source/_integrations/daikin.markdown b/source/_integrations/daikin.markdown index 5051b8e3700..76b89d07d59 100644 --- a/source/_integrations/daikin.markdown +++ b/source/_integrations/daikin.markdown @@ -38,7 +38,7 @@ There is currently support for the following device types within Home Assistant: - The European versions of the Wifi Controller Unit (BRP069A41, 42, 43, 45), which is powered by the [Daikin Online Controller](https://play.google.com/store/apps/details?id=eu.daikin.remoapp) application. The new version of WiFi Controller Unit BRP069Bxx is also confirmed to work, tested and working devices are the BRP069B41 and BRP069B45. - The Australian version of the Daikin Wifi Controller Unit BRP072A42, which is operated by the [Daikin Mobile Controller (iOS)](https://itunes.apple.com/au/app/daikin-mobile-controller/id917168708?mt=8) ([Android](https://play.google.com/store/apps/details?id=ao.daikin.remoapp)) application. Confirmed working on a Daikin Cora Series Reverse Cycle Split System Air Conditioner 2.5kW Cooling FTXM25QVMA with operation mode, temp, fan swing (3d, horizontal, vertical). - BRP072Cxx based units (including Zena devices)*. -- The United States version of the Wifi Controller Unit (BRP069A43), which is powered by the [Daikin Comfort Control](https://play.google.com/store/apps/details?id=us.daikin.wwapp) application. Confirmed working on a Daikin Wall Units FTXS09LVJU, FTXS15LVJU, FTXS18LVJU and a Floor Unit FVXS15NVJU with operation mode, temp, fan swing (3d, horizontal, vertical). +- The United States version of the Wifi Controller Unit (BRP069A43), which is powered by the [Daikin Comfort Control](https://play.google.com/store/apps/details?id=us.daikin.comfortcontrols) application. Confirmed working on a Daikin Wall Units FTXS09LVJU, FTXS15LVJU, FTXS18LVJU and a Floor Unit FVXS15NVJU with operation mode, temp, fan swing (3d, horizontal, vertical). - The Australian version of the Daikin Wifi Controller for **AirBase** units (BRP15B61), which is operated by the [Daikin Airbase](https://play.google.com/store/apps/details?id=au.com.daikin.airbase) application. - **SKYFi** based units, which is operated by the SKYFi application*. diff --git a/source/_integrations/default_config.markdown b/source/_integrations/default_config.markdown index 109dac7b0fa..e0db645a10c 100644 --- a/source/_integrations/default_config.markdown +++ b/source/_integrations/default_config.markdown @@ -8,7 +8,7 @@ ha_domain: default_config ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- This integration is a meta-component and configures a default set of integrations for Home Assistant to load. The integrations that will be loaded are: diff --git a/source/_integrations/device_automation.markdown b/source/_integrations/device_automation.markdown index 1858ed9a418..1036db1e390 100644 --- a/source/_integrations/device_automation.markdown +++ b/source/_integrations/device_automation.markdown @@ -1,5 +1,6 @@ --- title: Device Automation +description: Information about the Device Automation plugin. ha_category: - Automation ha_release: 0.7 @@ -7,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: device_automation -ha_integration_type: integration +ha_integration_type: system --- Device Automations is a plugin for the automation integration to allow other integrations to provide device specific triggers, conditions and actions. diff --git a/source/_integrations/device_tracker.markdown b/source/_integrations/device_tracker.markdown index 8fa6abe0b7b..50e7d8bee73 100644 --- a/source/_integrations/device_tracker.markdown +++ b/source/_integrations/device_tracker.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: device_tracker ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The device tracker allows you to track devices in Home Assistant. This can happen by querying your wireless router or by having applications push location info. diff --git a/source/_integrations/device_tracker.mqtt.markdown b/source/_integrations/device_tracker.mqtt.markdown index e79615055fb..419866f3051 100644 --- a/source/_integrations/device_tracker.mqtt.markdown +++ b/source/_integrations/device_tracker.mqtt.markdown @@ -232,7 +232,7 @@ value_template: ### Using the discovery protocol -The device_tracker can be created via a discovery topic that follows the following topic name convention: `/device_tracker/[/]/config`. +The device_tracker can be created via publishing to a discovery topic that follows the following [MQTT Discovery](/docs/mqtt/discovery/#discovery-topic) topic name format: `/device_tracker/[/]/config`. You can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. diff --git a/source/_integrations/dhcp.markdown b/source/_integrations/dhcp.markdown index 126dd7a7a15..672b46e183b 100644 --- a/source/_integrations/dhcp.markdown +++ b/source/_integrations/dhcp.markdown @@ -9,7 +9,7 @@ ha_domain: dhcp ha_quality_scale: internal ha_codeowners: - '@bdraco' -ha_integration_type: integration +ha_integration_type: system --- The `dhcp` "DHCP Discovery" integration will watch the network for DHCP requests for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the configuration panel. diff --git a/source/_integrations/diagnostics.markdown b/source/_integrations/diagnostics.markdown index 7923f863f4f..6f66df09c17 100644 --- a/source/_integrations/diagnostics.markdown +++ b/source/_integrations/diagnostics.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: diagnostics ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- The diagnostics integration provides a way to download diagnostic data from diff --git a/source/_integrations/discovery.markdown b/source/_integrations/discovery.markdown index d0597f536ab..96330a9ea15 100644 --- a/source/_integrations/discovery.markdown +++ b/source/_integrations/discovery.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: discovery ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- This is the legacy discovery integration for Home Assistant. It's use is no longer recommended. Use the [SSDP](/integrations/ssdp/), [Zeroconf](/integrations/zeroconf/) and [USB](/integrations/usb/) integrations instead. diff --git a/source/_integrations/doorbird.markdown b/source/_integrations/doorbird.markdown index 76bf868cac6..6a0f90477dc 100644 --- a/source/_integrations/doorbird.markdown +++ b/source/_integrations/doorbird.markdown @@ -25,11 +25,13 @@ The `doorbird` implementation allows you to integrate your [DoorBird](https://ww There is currently support for the following device types within Home Assistant: - [Camera](#camera) - View live and historical event based images. -- [Button](#button) - Enable control of relays and camera night vision. +- [Button](#button) - Enable control of relays and camera low-light/night vision (IR). ## Setup -It is recommended to set up a new account on your Doorbird App for use with Home Assistant. This can be added via the Doorbird App by clicking settings (cog icon) -> Administration-> LOGIN (using your App Administration details). Under the "USER" section, choose "Add". This new user account requires specific permissions enabled (depending on what functionality you want). Permissions can be found under "Permissions". The following permissions are recommended: +It is recommended to set up a new & dedicated account on your DoorBird App/web portal for use with Home Assistant. The instructions in this document refer specifically to the DoorBird IOS/Android app. Still, most actions can also be performed using the web-based [DoorBird - WebAdmin](https://webadmin.doorbird.com) portal and logging in on your DoorBird admin account. + +To setup a new account for Home Assistant, open the DoorBird App by clicking settings (cog icon) -> Administration-> LOGIN (using your DoorBird App Administration details). Under the "USER" section, choose "Add". This new user account requires specific permissions enabled (depending on what functionality you want). Permissions can be found under "Permissions". The following permissions are recommended (or amend depending on your requirements: - "Watch Always" (live view) - "History" (last motion) @@ -64,7 +66,7 @@ If DoorBird was setup using UI prompts, a token can be discovered through DoorBi #### Event Data -Each event will include live image and video URLs for the Doorbird device that triggered the event. These URLs can be found on the event data and can be useful in automation actions. For example, you could use `html5_viewer_url` on a notification to be linked directly to the live view of the device that triggered the automation. +Each event will include live image and video URLs for the DoorBird device that triggered the event. These URLs can be found on the event data and are helpful in automation actions. For example, you could use `html5_viewer_url` on a notification to be linked directly to the live view of the device that triggered the automation. The following keys are available on `event_data`: @@ -75,14 +77,14 @@ The following keys are available on `event_data`: - `html5_viewer_url`
-The URLs on the event will be based on the configuration used to connect to your Doorbird device. Ability to connect from outside your network will depend on your configuration. +The URLs on the event will be based on the configuration used to connect to your DoorBird device. The ability to connect from outside your network will depend on your configuration.
#### Schedules -Once events have been registered on the DoorBird device, they must be attached to a schedule using the official DoorBird app on Android or iOS. Currently, there are schedules available for doorbell, motion, relay, and RFID events (on supported Doorbird devices). +Once events have been registered on the DoorBird device, they must be attached to a schedule using the official DoorBird app on Android or iOS or the [DoorBird - WebAdmin](https://webadmin.doorbird.com) portal. Currently, there are schedules available for doorbell, motion, relay, and RFID events (on supported DoorBird devices). Essentially, you can enable an HTTP(S) call from your DoorBird device to the Home Assistant DoorBird API by configuring an action/event (by enabling a schedule). -The schedules can be found by navigating to the following area of the Doorbird app (Android or IOS): +The schedules can be found by navigating to the following area of the DoorBird app (Android or IOS): Settings (cog icon) -> Administration -> LOGIN LOGIN (using your App Administration details) -> (under "EXPERT SETTINGS") Schedule for doorbell @@ -94,10 +96,12 @@ Click on the dropdown button in the top left and choose your specific "Schedule On the desired event, you should be able to specify blocks of time for when you would like the event to be sent to Home Assistant. If you want the event to always send, the square in the upper right can be used to populate the entire schedule. Events will be fired to Home Assistant for blocks of time that are blue. -Note: Remember to complete the schedule assignment steps above for each event type that you registered. +Note: Remember to complete the schedule assignment steps above for each event type you registered. If you are configuring HTTP Call(s) schedules for registered RFID tags, please note that you will have to enable/configure the schedule for each RFID tag. ### Automation Example +The example automation below shows how to turn on a light when somebody presses the DoorBird call button: + ```yaml - alias: "Doorbird Ring" trigger: @@ -109,6 +113,8 @@ Note: Remember to complete the schedule assignment steps above for each event ty entity_id: light.side_entry_porch ``` +You can also create automation actions based on the DoorBird RFID scanner being successfully triggered (configured per RFID tag) and motion events. + ## Camera The `doorbird` implementation allows you to view the live video, the last doorbell ring image, and the last motion sensor image from your [DoorBird](https://www.doorbird.com/) device in Home Assistant. @@ -116,4 +122,4 @@ The `doorbird` implementation allows you to view the live video, the last doorbe ## Button -The `doorbird` button platform allows you to power connected relays and trigger the IR array in your [DoorBird](https://www.doorbird.com/) video doorbell device. +The `doorbird` button platform allows you to power connected relays and trigger the low-light/dark Infra-Red (IR) array on your [DoorBird](https://www.doorbird.com/) video doorbell device. diff --git a/source/_integrations/dsmr.markdown b/source/_integrations/dsmr.markdown index 1f478c1af54..52004327f0a 100644 --- a/source/_integrations/dsmr.markdown +++ b/source/_integrations/dsmr.markdown @@ -83,7 +83,7 @@ $ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /h #### Serial to network proxies: -- [ser2net](http://ser2net.sourceforge.net) +- [ser2net](https://ser2net.sourceforge.net) - [WIZnet WIZ110SR](https://www.wiznet.io/product-item/wiz110sr/) DIY solutions (ESP8266 based): diff --git a/source/_integrations/duckdns.markdown b/source/_integrations/duckdns.markdown index 9df17f84f16..ee6bfcc8412 100644 --- a/source/_integrations/duckdns.markdown +++ b/source/_integrations/duckdns.markdown @@ -9,7 +9,7 @@ ha_domain: duckdns ha_integration_type: integration --- -With the DuckDNS integration you can keep your DuckDNS record up to date. DuckDNS is a free dynamic DNS service that allows you to point a subdomain under `duckdns.org` at your computer. +The DuckDNS integration allows you to keep your DuckDNS subdomain always in sync with your public IP address. [DuckDNS](https://www.duckdns.org) is a free service that allows you to bind your own favorite subdomain under `duckdns.org` to the public IP address in use from your router, even though such address is dynamically allocated by your internet service provider and therefore changes over time.
diff --git a/source/_integrations/eafm.md b/source/_integrations/eafm.md index af581ecaa35..2bd773d5ccf 100644 --- a/source/_integrations/eafm.md +++ b/source/_integrations/eafm.md @@ -1,7 +1,6 @@ --- title: UK Environment Agency Flood Monitoring description: Monitor nearby water levels and be prepared for flooding with the UK Environment Agency API integration. -logo: environment_agency.jpg ha_category: - Sensor ha_release: 0.115 diff --git a/source/_integrations/emoncms.markdown b/source/_integrations/emoncms.markdown index 2883a7e4417..0de4be95c8d 100644 --- a/source/_integrations/emoncms.markdown +++ b/source/_integrations/emoncms.markdown @@ -20,10 +20,10 @@ To enable this sensor, add the following lines to your `configuration.yaml`, it ```yaml # Example configuration.yaml entry using cloud based Emoncms sensor: - platform: emoncms - api_key: API_KEY - url: https://emoncms.org - id: 1 + - platform: emoncms + api_key: API_KEY + url: https://emoncms.org + id: 1 ``` As of Feb 2020, the integration will discover all sensors from Emoncms and will use the unit of measurement specified in the Feed from Emoncms, in preference to the one set in the configuration. Tested with [Emoncms](https://github.com/emoncms/emoncms) V10.1.13 - `unit` was added to the API around version V9.9.1. diff --git a/source/_integrations/emulated_hue.markdown b/source/_integrations/emulated_hue.markdown index 90e78368dd4..bc3c4cf042c 100644 --- a/source/_integrations/emulated_hue.markdown +++ b/source/_integrations/emulated_hue.markdown @@ -18,8 +18,8 @@ Be aware that `emulated_hue` doesn't work for new users of **Google Home** with
-The `emulated_hue` integration provides a virtual Philips Hue bridge, written entirely in software that allows services that work with the Hue API to interact with Home Assistant -entities. The driving use case behind for functionality is to allow Home Assistant to work with an Amazon Echo or Google Home with no setup cost outside of configuration changes. +The `emulated_hue` integration provides a virtual [Philips Hue](https://www.philips-hue.com) bridge, written entirely in software that allows services that work with the Hue API to interact with Home Assistant +entities. The driving use case behind this functionality is to allow Home Assistant to work with an Amazon Echo or Google Home with no setup cost outside of configuration changes. The virtual bridge can turn entities on/off or change the brightness of dimmable lights. The volume level of media players can be controlled as brightness.
@@ -32,7 +32,7 @@ It is recommended to assign a static IP address to the computer running Home Ass
-Both Google Home and Alexa use the device they were initially set up with for communication with `emulated_hue`. In other words: if you remove/replace this device you will also break `emulated_hue`. To recover your `emulated_hue` functionality, backup your `config/emulated_hue_ids.json` file, delete the original one and reboot your Home Assistant instance. +Both Google Home and Alexa use the device they were initially set up with for communication with `emulated_hue`. In other words: if you remove/replace this device you will also break `emulated_hue`. To recover your `emulated_hue` functionality, backup your `config/.storage/emulated_hue.ids` file, delete the original one and reboot your Home Assistant instance. If you added or upgraded to a newer Alexa device and devices are not found, you must change to listen_port: 80. If Alexa responds with "value is out of range for device..." it means switches were automatically added as lights in discovery. Remove each device in the Alexa app. Turn on all the switches in Home Assistant. In the Alexa app go to "Add New Device" select "Switch" and then "other" to add them correctly. diff --git a/source/_integrations/energy.markdown b/source/_integrations/energy.markdown index 774f3504fc5..110179319dd 100644 --- a/source/_integrations/energy.markdown +++ b/source/_integrations/energy.markdown @@ -10,5 +10,5 @@ ha_codeowners: ha_domain: energy ha_platforms: - sensor -ha_integration_type: integration +ha_integration_type: system --- diff --git a/source/_integrations/enigma2.markdown b/source/_integrations/enigma2.markdown index 9c860ca881a..d2cccc1aa55 100644 --- a/source/_integrations/enigma2.markdown +++ b/source/_integrations/enigma2.markdown @@ -17,7 +17,7 @@ The `enigma2` platform allows you to control a Linux based set-top box which is [OpenWebif](https://github.com/E2OpenPlugins/e2openplugin-OpenWebif) is an open source web interface for Enigma2 based set-top boxes. -Enigma2 devices should be discovered automatically by using [the discovery component](/integrations/discovery/). +Enigma2 devices should be discovered automatically by using [the discovery integration](/integrations/discovery/). To manually add a set-top box to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/environment_canada.markdown b/source/_integrations/environment_canada.markdown index 5beb67e31a1..a06a698c055 100644 --- a/source/_integrations/environment_canada.markdown +++ b/source/_integrations/environment_canada.markdown @@ -29,8 +29,6 @@ The integration automatically determines the closest weather station based on th You can also specify a weather station to use by providing a identification code of the form `AB/s0000123`, based on those listed in [this CSV file](https://dd.weather.gc.ca/citypage_weather/docs/site_list_towns_en.csv). -Note that not all weather stations provide a complete set of data weather/sensor data. The data that is retrieved by this integration can be found [here](https://dd.weather.gc.ca/citypage_weather/xml/). Browsing the XML data for your station will help understand what data is available. - ## Entities The integration will create the entities listed below. Some of the entities are disabled by default and can be enabled via the integration's Entities page. @@ -89,6 +87,24 @@ The integration will create the entities listed below. Some of the entities are The alert sensors use the number of current alerts as their state, with an attribute containing the title of each alert. +## Solving Problems + +The Environment Canada service is very stable and provides high-quality data. Here are some steps that you can take before opening a problem report or posting on the forum. + +### Service Interruptions + +Although infrequent, there have been some outages and instabilities of the Environment Canada service. If you see error messages in your logs similar to the one below, it is very unlikely to be a problem with this integration and is likely a problem with the Environment Canada service. + +```txt +2022-10-05 12:25:08.619 ERROR (MainThread) [homeassistant.components.environment_canada] Timeout fetching environment_canada weather data +``` + +The first course of action should be to check if there are known problems with the service. Look for recent messages on the [Environment Canada mailing list](https://lists.ec.gc.ca/pipermail/dd_info/) ([example message](https://lists.ec.gc.ca/pipermail/dd_info/2022-October/000542.html)). The next course of action is to post on the forum. The answers are usually already known by someone. + +### Sensor `unavailable` or `unknown` + +Not all weather stations provide a complete set of weather/sensor data. The data that is retrieved by this integration can be found [here](https://dd.weather.gc.ca/citypage_weather/xml/). Browsing the XML data for your station will help you to understand what data is (un)available. + ## Template Sensors The configuration snippet below adds a useful [template sensors](/integrations/template/) showing the current "feels like" temperature among air temperature, humidex, and wind chill. diff --git a/source/_integrations/envisalink.markdown b/source/_integrations/envisalink.markdown index a629fe4cecf..4add5376b96 100644 --- a/source/_integrations/envisalink.markdown +++ b/source/_integrations/envisalink.markdown @@ -20,7 +20,7 @@ ha_integration_type: integration The `envisalink` 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 Eyez On, known as the Envisalink. The Envisalink evl3 and evl4 boards provide a TCP/IP interface to the alarm panel, where it emulates an alarm keypad. This board also exposes a raw TCP/IP based API, upon which this integration is built. Currently, the Envisalink version 4 is the latest model. This integration supports both the evl3 and the evl4. -Please visit the [eyezon website](http://www.eyezon.com/) for further information about the evl3 and evl4 boards. +Please visit the [eyezon website](https://www.eyezon.com/) for further information about the evl3 and evl4 boards. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/ephember.markdown b/source/_integrations/ephember.markdown index 49968582a03..ff547ff70d6 100644 --- a/source/_integrations/ephember.markdown +++ b/source/_integrations/ephember.markdown @@ -44,3 +44,4 @@ The supported operation modes map to the ON/OFF period selection of your timeswi - **Off** The timeswitch is permanently off. If **All Day** is selected in the EMBER app it will show as **Auto** in Home Assistant. +To **Boost** your heating, you should call the `climate.set_aux_heater` service on your zone entity. This will then **Boost** that zone for 1 hour. diff --git a/source/_integrations/fan.markdown b/source/_integrations/fan.markdown index 0f6c51f2187..8e0380ca187 100644 --- a/source/_integrations/fan.markdown +++ b/source/_integrations/fan.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: fan ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The Fan integration allows you to control and monitor Fan devices. diff --git a/source/_integrations/file_upload.markdown b/source/_integrations/file_upload.markdown index 1d0773de331..cab53d08fb5 100644 --- a/source/_integrations/file_upload.markdown +++ b/source/_integrations/file_upload.markdown @@ -4,9 +4,10 @@ description: File upload integration supports various frontend features within H ha_release: 2022.9 ha_quality_scale: internal ha_domain: file_upload -ha_integration_type: integration +ha_integration_type: system ha_codeowners: - '@home-assistant/core' +ha_category: [] --- The file upload integration allows various features in the frontend to upload files. diff --git a/source/_integrations/fitbit.markdown b/source/_integrations/fitbit.markdown index 6674fb97094..9e37e2afcaa 100644 --- a/source/_integrations/fitbit.markdown +++ b/source/_integrations/fitbit.markdown @@ -13,7 +13,13 @@ ha_integration_type: integration The Fitbit sensor allows you to expose data from [Fitbit](https://fitbit.com/) to Home Assistant. -Prior to enabling the sensor, your Home Assistant instance must be enabled with SSL, using services such as [Home Assistant cloud](/cloud/) or [Duck DNS](/integrations/duckdns/) integrating Let's Encrypt. Fitbit will not allow insecure integrations. Your Fitbit account must also be registered as an Developer account at the [Fitbit Developer Portal](https://dev.fitbit.com), and have a verified email address. +Prior to enabling the sensor, your Home Assistant instance must be enabled with SSL, using services such as [Home Assistant cloud](/cloud/) or [Duck DNS](/integrations/duckdns/) integrating Let's Encrypt. Fitbit will not allow insecure integrations. + +
+There is no need for Access from the Internet to Home Assistant for this Integration to work. Home Assistant can only be accessible from the internal Network or via VPN. But a Certificate is required in any case. +
+ +Your Fitbit account must also be registered as an Developer account at the [Fitbit Developer Portal](https://dev.fitbit.com), and have a verified email address. Enable the sensor by adding the following to your `configuration.yaml` file: diff --git a/source/_integrations/flo.markdown b/source/_integrations/flo.markdown index 41815ff90ce..b6b6d9da206 100644 --- a/source/_integrations/flo.markdown +++ b/source/_integrations/flo.markdown @@ -19,7 +19,7 @@ ha_integration_type: integration --- The `flo` integration integrates -[Flo by Moen smart water shutoff valves](https://meetflo.com/product/smart-water-shutoff) into Home Assistant. +[Flo by Moen smart water shutoff valves](https://www.moen.com/flo) into Home Assistant. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/flux.markdown b/source/_integrations/flux.markdown index 89c386628c0..b1cdb3527ab 100644 --- a/source/_integrations/flux.markdown +++ b/source/_integrations/flux.markdown @@ -16,7 +16,9 @@ The `flux` switch platform will change the temperature of your lights similar to The integration will update your lights based on the time of day. It will only affect lights that are turned on and listed in the flux configuration. -During the day (in between `start time` and `sunset time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights periodically. +During the day (in between `start_time` and `sunset_time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights periodically. + +The value of `sunset_time` is automatically calculated based on the location specified in your [Home Assistant configuration](/docs/configuration/basic). The color temperature is specified in kelvin, and accepted values are between 1000 and 40000 kelvin. Lower values will seem more red, while higher will look more white. diff --git a/source/_integrations/flux_led.markdown b/source/_integrations/flux_led.markdown index 0e28bc21b0e..e29e3204ab0 100644 --- a/source/_integrations/flux_led.markdown +++ b/source/_integrations/flux_led.markdown @@ -36,7 +36,7 @@ Example of bulbs: - [MagicLight Smart Bulbs](https://www.magiclightbulbs.com/lightbulbs) or [Amazon](https://www.amazon.com/gp/product/B081YJHHB1/) - [RGBCW Downlights](https://www.amazon.com/gp/product/B093Q83G7S/) -- [RGBCW Floodlights](https://www.amazon.com/gp/product/B09J38NKPN) +- [RGBCW Floodlights](https://www.amazon.com/dp/product/B08CDS3N6H) Examples of controllers with strips: @@ -47,7 +47,7 @@ Examples of controllers: - [Single color](https://www.amazon.com/gp/product/B07J5B3R5L/) - [RGB](https://www.amazon.com/gp/product/B07C1LN7FZ/) - [RGBW](https://www.amazon.com/gp/product/B07J9QCQNN/) -- [RGBCW](https://www.amazon.com/gp/product/B09BMC4JNJ/) +- [RGBCW](https://www.amazon.co.uk/gp/product/B09BMC4JNJ/) - [RGB/W/CW](https://www.amazon.com/gp/product/B01DY56N8U/) Examples of addressable controllers: diff --git a/source/_integrations/free_mobile.markdown b/source/_integrations/free_mobile.markdown index c8cabc75a58..c203c03c1f7 100644 --- a/source/_integrations/free_mobile.markdown +++ b/source/_integrations/free_mobile.markdown @@ -1,6 +1,6 @@ --- title: Free Mobile -description: Instructions on how to add user notifications to Home Assistant. +description: Instructions on how to add Free Mobile SMS notifications to Home Assistant. ha_category: - Notifications ha_release: 0.11 @@ -11,7 +11,9 @@ ha_platforms: ha_integration_type: integration --- -The `free_mobile` platform is using the French mobile operator [Free Mobile](http://mobile.free.fr/) to send SMS to your own cell phone. +The `free_mobile` platform uses the French mobile operator [Free Mobile](http://mobile.free.fr/) to send SMS to your own cell phone. + +## Prerequisites Before doing anything, you have to activate the SMS API option in your Free Mobile account (In "Gérer mon compte -> Mes Options"). Activating this option will automatically generate a token which is required in your configuration. @@ -19,13 +21,15 @@ Before doing anything, you have to activate the SMS API option in your Free Mobi

-This API only send classic SMS and only on the cell phone of the account owner. So you only have to provide a text message in your payload. +This API only sends classic SMS messages and only to the cell phone of the account owner. So you only have to provide a text message in your payload.
If you disable and re-enable the SMS API option, please be sure to update your token in your configuration.
-To enable SMS notifications in your installation, add the following to your `configuration.yaml` file: +## Configuration + +To use this notification platform in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -43,7 +47,7 @@ name: type: string default: notify username: - description: This is the id given by FreeMobile to access to your online account. + description: This is the id given by FreeMobile to access your online account. required: true type: string access_token: diff --git a/source/_integrations/frontend.markdown b/source/_integrations/frontend.markdown index 91d981cb386..4d8eb946efe 100644 --- a/source/_integrations/frontend.markdown +++ b/source/_integrations/frontend.markdown @@ -8,10 +8,10 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/frontend' ha_domain: frontend -ha_integration_type: integration +ha_integration_type: system --- -This offers the official frontend to control Home Assistant. This integration is by default enabled, unless you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: +This offers the official frontend to control Home Assistant. This integration is enabled by default unless you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml # Example configuration.yaml entry @@ -20,7 +20,7 @@ frontend: {% configuration %} themes: - description: Allow to define different themes. See below for further details. + description: Allows you to define different themes. See below for further details. required: false type: map keys: @@ -42,7 +42,7 @@ frontend: required: false type: list development_repo: - description: Allow to point to a directory containing frontend files instead of taking them from a pre-built PyPI package. Useful for Frontend development. + description: Allows you to point to a directory containing frontend files instead of taking them from a pre-built PyPI package. Useful for Frontend development. required: false type: string {% endconfiguration %} @@ -129,7 +129,7 @@ There are two themes-related services: | Service data attribute | Description | | ---------------------- | --------------------------------------------------------------------------------------------------- | | `name` | Name of the theme to set, `default` for the default theme or `none` to restore to the default. | -| `mode` | If the theme should be applied in light or dark mode `light` or `dark` (Optional, default `light`) | +| `mode` | If the theme should be applied in light or dark mode `light` or `dark` (Optional, default `light`). | If no dark mode backend theme is set, the light mode theme will also be used in dark mode. The backend theme settings will be saved and restored on a restart of Home Assistant. @@ -160,7 +160,7 @@ frontend: ``` Modules will be loaded with `import({{ extra_module }})`, on devices that support it (`latest` mode). -For other devices (`es5` mode) you can use `extra_js_url_es5`, this will be loaded with `` +For other devices (`es5` mode) you can use `extra_js_url_es5`, this will be loaded with ``. The ES5 and module version will never both be loaded, depending on if the device supports `import` the module of ES5 version will be loaded. diff --git a/source/_integrations/frontier_silicon.markdown b/source/_integrations/frontier_silicon.markdown index 390ca6e138e..d510f891e0a 100644 --- a/source/_integrations/frontier_silicon.markdown +++ b/source/_integrations/frontier_silicon.markdown @@ -18,8 +18,8 @@ This integration provides support for Internet Radios based on the [Frontier Sil ## Supported Models * Hama: [IR110], [DIR3110] * Medion: [Medion Radios] -* Silvercrest: [SIRD 14 C2] -* Teufel: [Radio 3sixty(2019)] +* Silvercrest: [SIRD 14 C2 (archived website)] +* Teufel: [Radio 3sixty (2019)] * Some models from: Auna, Technisat, Revo, Pinell, Como Audio This integration was developed and tested with a Hama [DIR3110] and a Medion [MD 87466]. @@ -105,14 +105,14 @@ The Frontier Silicon API does not provide a multi-user environment. There is alw
-[Frontier Silicon chipset]: https://www.frontier-silicon.com/digital-radio-solutions -[Medion Radios]: http://internetradio.medion.com/ -[IR110]: https://www.hama.com/00054823/hama-ir110-internet-radio-internet-radio-multi-room-app-control -[DIR3110]: https://www.hama.com/00054824/hama-digitalradio-dir3110-internetradio-dab+-fm-multiroom-app-steuerung -[MD 87466]: https://www.medion.com/gb/service/start/_product.php?msn=50051273&gid=14 -[Radio 3sixty(2019)]: https://teufel.de/radio-3sixty-2019-105437000 -[SIRD 14 C2]: https://www.silvercrest-multiroom.de/fileadmin/user_upload/pdf/handbucher/Bedienungsanleitungen/IR/279398_SIRD_14_C2_ML4_V1.1_GB_CZ_SK_DE.pdf +[Frontier Silicon chipset]: https://www.frontiersmart.com/solution/solutions-for-digital-radio/ +[Medion Radios]: https://www.medion.com/de/shop/internetradios +[IR110]: https://www.hama.com/00054823/hama-ir110ms-internet-radio-multiroom-app-control-black +[DIR3110]: https://www.hama.com/00054824/hama-dir3110ms-digital-radio-fm-dab-dab+-internet-radio-app-multiroom-white +[MD 87466]: https://www.conrad.com/p/medion-p83302-md-87466-internet-kitchen-radio-dab-fm-aux-internet-radio-dlna-compatible-white-1434428 +[Radio 3sixty (2019)]: https://teufel.de/radio-3sixty-2019-105437000 +[SIRD 14 C2 (archived website)]: https://web.archive.org/web/20191011141311/https://www.silvercrest-multiroom.de/produkte/stereo-internet-radio/ [fsapi]: https://github.com/zhelev/python-fsapi -[UNDOK]: https://www.frontier-silicon.com/undok +[UNDOK]: https://www.frontiersmart.com/product/undok/ [flammy]: https://github.com/flammy/fsapi/ [tiwillam]: https://github.com/tiwilliam/fsapi diff --git a/source/_integrations/gdacs.markdown b/source/_integrations/gdacs.markdown index 77d3d799d41..5f1047a1f9a 100644 --- a/source/_integrations/gdacs.markdown +++ b/source/_integrations/gdacs.markdown @@ -16,18 +16,11 @@ ha_platforms: ha_integration_type: integration --- -The `gdacs` integration lets you use a GeoRSS feed provided by -[GDACS](https://www.gdacs.org/) with information -about major droughts, earthquakes, floods, tropical cyclones, tsunamis and -volcanic activities worldwide. -It retrieves alerts from a feed and shows information of those alerts filtered -by distance to Home Assistant's location. -The filter is set in the configuration as categories, radius (kilometers or miles based on unit system set in Home Assistant), latitude and longatude. +The `gdacs` integration lets you use a GeoRSS feed provided by [GDACS](https://www.gdacs.org/) with information about major droughts, earthquakes, floods, tropical cyclones, tsunamis and volcanic activities worldwide. +It retrieves alerts from a feed and shows information of those alerts filtered by distance to Home Assistant's location. +The filter is set in the configuration as categories, radius (kilometers or miles based on unit system set in Home Assistant), latitude and longitude. -Entities are generated, updated and removed automatically with each update -from the feed. Each entity defines latitude and longitude and will be shown -on the default map automatically, or on a map card by defining the source -`gdacs`. The distance is available as the state of each entity converted to the configured unit system (kilometers or miles). +Entities are generated, updated and removed automatically with each update from the feed. Each entity defines latitude and longitude and will be shown on the default map automatically, or on a map card by defining the source `gdacs`. The distance is available as the state of each entity converted to the configured unit system (kilometers or miles).

@@ -37,10 +30,7 @@ The data is updated every 5 minutes.

-The material used by this integration is provided by the [Global Disaster -Alert and Coordination System (GDACS)](https://www.gdacs.org/) - a cooperation -framework between the United Nations and the European Commission - under the -[Creative Commons Attribution 4.0 International (CC BY 4.0) license](http://creativecommons.org/licenses/by/4.0/). +The material used by this integration is provided by the [Global Disaster Alert and Coordination System (GDACS)](https://www.gdacs.org/) - a cooperation framework between the United Nations and the European Commission - under the [Creative Commons Attribution 4.0 International (CC BY 4.0) license](https://creativecommons.org/licenses/by/4.0/). It has only been modified for the purpose of presenting the material in Home Assistant. Please refer to the [creator's disclaimer and terms of use notice](https://www.gdacs.org/About/termofuse.aspx) for more information. @@ -50,8 +40,7 @@ Please refer to the [creator's disclaimer and terms of use notice](https://www.g ## State Attributes -The following state attributes are available for each entity in addition to -the standard ones: +The following state attributes are available for each entity in addition to the standard ones: | Attribute | Description | |------------------|-------------| diff --git a/source/_integrations/geo_location.markdown b/source/_integrations/geo_location.markdown index b67a1fa90ff..dc09f3f06fc 100644 --- a/source/_integrations/geo_location.markdown +++ b/source/_integrations/geo_location.markdown @@ -8,7 +8,7 @@ ha_domain: geo_location ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Geolocation aware entities are typically related to events in the real world in the vicinity of Home Assistant's location, like for example weather events, bush fires or earthquakes. diff --git a/source/_integrations/geo_rss_events.markdown b/source/_integrations/geo_rss_events.markdown index f5ca2dcf7d8..314fb06d955 100644 --- a/source/_integrations/geo_rss_events.markdown +++ b/source/_integrations/geo_rss_events.markdown @@ -83,7 +83,7 @@ unit_of_measurement: ## Example Feeds -**Bush Fire Alerts** +### Bush Fire Alerts ```yaml sensor: @@ -92,8 +92,8 @@ sensor: url: https://www.qfes.qld.gov.au/data/alerts/bushfireAlert.xml unit_of_measurement: "Alerts" - platform: geo_rss_events - name: Tas Fire Service - url: http://www.fire.tas.gov.au/Show?pageId=colBushfireSummariesRss + name: TasALERT + url: https://alert.tas.gov.au/data/incidents-and-alerts.xml unit_of_measurement: "Alerts" - platform: geo_rss_events name: WA Department of Fire and Emergency Services @@ -103,8 +103,7 @@ sensor: url: https://www.esa.act.gov.au/feeds/currentincidents.xml ``` - -**Earthquake Alerts** +### Earthquake Alerts ```yaml sensor: @@ -115,13 +114,13 @@ sensor: - 'Past Hour' - 'Past Day' - platform: geo_rss_events - name: BGS Worlwide Earthquakes - url: https://www.bgs.ac.uk/feeds/worldSeismology.xml + name: BGS Worldwide Earthquakes + url: http://earthquakes.bgs.ac.uk/feeds/WorldSeismology.xml categories: - 'EQMH' - platform: geo_rss_events name: Recent significant earthquake reports (Canada) - url: http://www.earthquakescanada.nrcan.gc.ca/index-en.php?tpl_region=canada&tpl_output=rss + url: https://www.earthquakescanada.nrcan.gc.ca/cache/earthquakes/canada-en.atom categories: - 'Earthquake Report' ``` diff --git a/source/_integrations/google.markdown b/source/_integrations/google.markdown index a78b9497cc9..733802270cb 100644 --- a/source/_integrations/google.markdown +++ b/source/_integrations/google.markdown @@ -1,6 +1,6 @@ --- -title: Google Calendars -description: Instructions on how to use Google Calendars in Home Assistant. +title: Google Calendar +description: Instructions on how to use Google Calendar in Home Assistant. ha_category: - Calendar ha_iot_class: Cloud Polling @@ -14,7 +14,7 @@ ha_codeowners: ha_integration_type: integration --- -The Google integration allows you to connect to your [Google Calendars](https://calendar.google.com) to Home Assistant. The integration adds calendar entities that are shown on the *Calendar* dashboard, and can be used for automations based on any event, or limited to specific matching criteria. +The *Google Calendar* integration allows you to connect your [Google Calendar](https://calendar.google.com) to Home Assistant. The integration adds calendar entities that are shown on the *Calendar* dashboard, and can be used for automations based on any event, or limited to specific matching criteria. ## Prerequisites @@ -26,21 +26,21 @@ This section explains how to generate a Client ID and Client Secret on [Google Developers Console](https://console.developers.google.com/start/api?id=calendar). 1. First go to the [Google Developers Console](https://console.developers.google.com/start/api?id=calendar) -1. The wizard will ask you to choose a project to manage your application. Select a project and click continue. -1. Verify that your calendar API was enabled and click 'Go to credentials' -1. Navigate to APIs & Services (left sidebar) > [Credentials](https://console.cloud.google.com/apis/credentials) -1. Click on the field on the left of the screen, **OAuth Consent Screen**. -1. Select **External** and **Create**. -1. Set the *App Name* (the name of the application asking for consent) to anything you want e.g. *Home Assistant*. -1. You then need to select a *Support email*. To do this, simply click the drop down box and select your email address. -1. You finally need to complete the section: *Developer contact information*. To do this, simply enter your email address (same as above is fine). -1. Scroll to the bottom and click **Save and Continue**. Don't have to fill out anything else or it may enable additional review. -1. You will then be automatically taken to the Scopes page. You do not need to add any scopes here so click Save and Continue to move to the Optional info page. You do not need to add anything to the Optional info page so click Save and Continue which will take you to the Summary page. Click Back to Dashboard. -1. Click **OAuth consent screen** again and set *Publish Status* to **Production** otherwise your credentials will expire every 7 days. -1. Click **Credentials** in the menu on the left hand side of the screen, then click **Create credentials** (at the top of the screen), then select *OAuth client ID*. -1. Set the Application type to *TV and Limited Input* and give this credential set a name (like "Home Assistant Credentials") then click **Create**. -1. You will then be presented with a pop-up saying *OAuth client created* showing *Your Client ID* and *Your Client Secret*. Make a note of these (for example, copy and paste them into a text editor) as you will need these shortly. Once you have noted these strings, click **OK**. If you need to find these credentials again at any point then simply navigate to *APIs & Services > Credentials* and you will see *Home Assistant Credentials* (or whatever you named them in the previous step) under *OAuth 2.0 Client IDs*. To view both the *Client ID* and *Client secret*, click on the pencil icon, this will take you to the settings page for these credentials and the information will be on the right hand side of the page. -1. Double check that the *Google Calendar API* has been automatically enabled. To do this, select **Library** from the menu, then search for *Google Calendar API*. If it is enabled you will see *API Enabled* with a green tick next to it. If it is not enabled, then enable it. +2. The wizard will ask you to choose a project to manage your application. Select a project and click continue. +3. Verify that your calendar API was enabled and click 'Go to credentials' +4. Navigate to APIs & Services (left sidebar) > [Credentials](https://console.cloud.google.com/apis/credentials) +5. Click on the field on the left of the screen, **OAuth Consent Screen**. +6. Select **External** and **Create**. +7. Set the *App Name* (the name of the application asking for consent) to anything you want e.g. *Home Assistant*. +8. You then need to select a *Support email*. To do this, simply click the drop down box and select your email address. +9. You finally need to complete the section: *Developer contact information*. To do this, simply enter your email address (same as above is fine). +10. Scroll to the bottom and click **Save and Continue**. Don't have to fill out anything else or it may enable additional review. +11. You will then be automatically taken to the Scopes page. You do not need to add any scopes here so click Save and Continue to move to the Optional info page. You do not need to add anything to the Optional info page so click Save and Continue which will take you to the Summary page. Click Back to Dashboard. +12. Click **OAuth consent screen** again and set *Publish Status* to **Production** otherwise your credentials will expire every 7 days. +13. Click **Credentials** in the menu on the left hand side of the screen, then click **Create credentials** (at the top of the screen), then select *OAuth client ID*. +14. Set the Application type to *TV and Limited Input* and give this credential set a name (like "Home Assistant Credentials") then click **Create**. +15. You will then be presented with a pop-up saying *OAuth client created* showing *Your Client ID* and *Your Client Secret*. Make a note of these (for example, copy and paste them into a text editor) as you will need these shortly. Once you have noted these strings, click **OK**. If you need to find these credentials again at any point then simply navigate to *APIs & Services > Credentials* and you will see *Home Assistant Credentials* (or whatever you named them in the previous step) under *OAuth 2.0 Client IDs*. To view both the *Client ID* and *Client secret*, click on the pencil icon, this will take you to the settings page for these credentials and the information will be on the right hand side of the page. +16. Double check that the *Google Calendar API* has been automatically enabled. To do this, select **Library** from the menu, then search for *Google Calendar API*. If it is enabled, you will see *API Enabled* with a green tick next to it. If it is not enabled, then enable it. {% enddetails %} @@ -55,25 +55,25 @@ The integration setup will next give you instructions to enter the [Application ![Screenshot of Link Account](/images/integrations/google/link_account.png) -1. Click on the link [https://www.google.com/device](https://www.google.com/device) to open a Google website which should open a new window where you can enter the code. +2. Click on the link [https://www.google.com/device](https://www.google.com/device) to open a Google website which should open a new window where you can enter the code. -1. Home Assistant will wait for a short time while you complete the authorization steps, checking in the background for the authorization to be completed. +3. Home Assistant will wait for a short time while you complete the authorization steps, checking in the background for the authorization to be completed. ![Screenshot of Enter Code](/images/integrations/google/enter_code.png) -1. Continue through the steps of selecting the account you used when creating the credentials in the Google Developer Console. +4. Continue through the steps of selecting the account you used when creating the credentials in the Google Developer Console. -1. **NOTE**: You may get a message telling you that the app has not been verified and you will need to acknowledge that in +5. **NOTE**: You may get a message telling you that the app has not been verified and you will need to acknowledge that in order to proceed. -1. Depending on your `configuration.yaml`, you will either be granting Home Assistant *read only* or *read write* access +6. Depending on your `configuration.yaml`, you will either be granting Home Assistant *read only* or *read write* access to all the Google Calendars available to your linked account. -1. You should then see a *Success!* message from Google. +7. You should then see a *Success!* message from Google. ![Screenshot of Device Connected](/images/integrations/google/device_connected.png) -1. You may close the window, and return back to Home Assistant where you should see a *Success!* message from Home Assistant. +8. You may close the window, and return back to Home Assistant where you should see a *Success!* message from Home Assistant. ![Screenshot of Success](/images/integrations/google/success.png) @@ -83,7 +83,7 @@ to all the Google Calendars available to your linked account. If the setup process fails and you see an error message such as *Authentication code expired, please try again* you may want to try the flow again. You may also check the logs for additional error messages that may indicate a misconfiguration such as an invalid client id or secret. -If you have an error with your credentials you can delete them in the [Application Credentials](/integrations/application_credentials/) user interface. +If you have an error with your credentials, you can delete them in the [Application Credentials](/integrations/application_credentials/) user interface. ## Calendar Entities diff --git a/source/_integrations/google_sheets.markdown b/source/_integrations/google_sheets.markdown index f6c22af5e2f..07ec9a03648 100644 --- a/source/_integrations/google_sheets.markdown +++ b/source/_integrations/google_sheets.markdown @@ -4,7 +4,7 @@ description: Instructions on how to use Google Sheets in Home Assistant. ha_category: - Utility ha_iot_class: Cloud Polling -ha_release: 2022.10 +ha_release: '2022.10' ha_config_flow: true ha_domain: google_sheets ha_codeowners: @@ -28,7 +28,7 @@ If you have already set up credentials, you can do step 1 and then skip to step This section explains how to generate a Client ID and Client Secret on [Google Developers Console](https://console.developers.google.com/start/api?id=drive). -1. First go to the [Google Developers Console](https://console.developers.google.com/start/api?id=drive) +1. First go to the Google Developers Console to enable [Google Drive API](https://console.developers.google.com/start/api?id=drive) and [Google Sheets API](https://console.cloud.google.com/apis/enableflow?apiid=sheets.googleapis.com) 2. The wizard will ask you to choose a project to manage your application. Select a project and click continue. 3. Verify that your drive API was enabled and click 'Go to credentials' 4. Navigate to APIs & Services (left sidebar) > [Credentials](https://console.cloud.google.com/apis/credentials) @@ -81,6 +81,6 @@ You can use the service `google_sheets.append_sheet` to add a row of data to the | ---------------------- | -------- | ----------- | --------| | `config_entry` | no | Config entry to use. | `worksheet` | yes | Name of the worksheet. Defaults to the first one in the document. | Sheet1 -| `data` | no | Data to be appended to the worksheet. This puts the data on a new row, one value per column. | ["foo"] +| `data` | no | Data to be appended to the worksheet. This puts the data on a new row, one value per column. | {"hello": world, "cool": True, "count": 5} {% enddetails %} diff --git a/source/_integrations/graphite.markdown b/source/_integrations/graphite.markdown index ef918099e1b..de9aaebe95a 100644 --- a/source/_integrations/graphite.markdown +++ b/source/_integrations/graphite.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Push ha_integration_type: integration --- -The `graphite` integration records all events and state changes and feeds the data to a [graphite](http://graphite.wikidot.com/) instance. +The `graphite` integration records all events and state changes and feeds the data to a [graphite](http://graphiteapp.org/) instance. To enable this component, add the following lines to your `configuration.yaml`: diff --git a/source/_integrations/gree.markdown b/source/_integrations/gree.markdown index 3cb8559035b..770e67aa95c 100644 --- a/source/_integrations/gree.markdown +++ b/source/_integrations/gree.markdown @@ -15,7 +15,7 @@ ha_platforms: ha_integration_type: integration --- -The Gree integration allows you to control a [Gree Smart HVAC](http://global.gree.com/) in Home Assistant. +The Gree integration allows you to control a [Gree Smart HVAC](https://global.gree.com/) in Home Assistant. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index efbd4074a51..858b7f47a85 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -17,7 +17,7 @@ ha_config_flow: true ha_integration_type: integration --- -This is a sensor to collect information from your Growatt inverters using [Growatt server](https://server.growatt.com/) by default. It is possible to specify an alternative endpoint server at configuration time e.g., [SMTEN](http://server.smten.com/). +This is a sensor to collect information from your Growatt inverters using [Growatt server](https://server.growatt.com/) by default. It is possible to specify an alternative endpoint server at configuration time e.g., [SMTEN](https://server.smten.com/). This will log into your Growatt account and grab the first "Plant", after which it collects the inverters on this plant and creates sensors for these inverters as well as total sensors. diff --git a/source/_integrations/guardian.markdown b/source/_integrations/guardian.markdown index 74562bbed95..2d80d271f8c 100644 --- a/source/_integrations/guardian.markdown +++ b/source/_integrations/guardian.markdown @@ -1,6 +1,6 @@ --- title: Elexa Guardian -description: Instructions on how to integrate SimpliSafe into Home Assistant. +description: Instructions on how to integrate Guardian into Home Assistant. ha_iot_class: Local Polling ha_release: '0.111' ha_category: diff --git a/source/_integrations/hardware.markdown b/source/_integrations/hardware.markdown index 4105ed5c5e8..199f7d9221a 100644 --- a/source/_integrations/hardware.markdown +++ b/source/_integrations/hardware.markdown @@ -1,5 +1,6 @@ --- title: Hardware +description: Instructions on how to setup the Hardware integration ha_category: - Other ha_release: 2022.6 @@ -7,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: hardware -ha_integration_type: integration +ha_integration_type: system --- The Hardware integration provides an API which offers information about certain board types, USB dongles, and resource usage. diff --git a/source/_integrations/hassio.markdown b/source/_integrations/hassio.markdown index 1bc143ec49c..f5624335ae2 100644 --- a/source/_integrations/hassio.markdown +++ b/source/_integrations/hassio.markdown @@ -16,7 +16,7 @@ ha_platforms: - update ha_codeowners: - '@home-assistant/supervisor' -ha_integration_type: integration +ha_integration_type: system --- Supervisor integration allows you to monitor and control Supervisor add-ons and operating system from Home Assistant. diff --git a/source/_integrations/hdmi_cec.markdown b/source/_integrations/hdmi_cec.markdown index b1749ea8db4..f7978b02482 100644 --- a/source/_integrations/hdmi_cec.markdown +++ b/source/_integrations/hdmi_cec.markdown @@ -38,7 +38,7 @@ ln -s /path/to/your/installation/of/_cec.so /path/to/your/venv/lib/python*/site- ``` -##### Symlinking examples: +##### Symlinking examples For the default virtual environment of a [Manual install for Raspberry Pi](/docs/installation/raspberry-pi/) the command would be as follows. @@ -56,20 +56,21 @@ If after symlinking and adding `hdmi_cec:` to your configuration you are getting ## Testing your installation -* Login to Raspberry Pi +* Login to Raspberry Pi ```bash ssh pi@your_raspberry_pi_ip ``` -* at the command line type: +* at the command line type: ```bash echo scan | cec-client -s -d 1 ``` + Note: to use this command you have to install cec-utils package. In Debian based should be: ```sudo apt install cec-utils``` -* This will give you the list of devices that are on the bus +* This will give you the list of devices that are on the bus ```bash opening a connection to the CEC adapter... @@ -146,7 +147,6 @@ hdmi_cec: host: 192.168.1.3 ``` - ## Services ### Select Device @@ -201,6 +201,7 @@ action: Call the `hdmi_cec.volume` service with one of following commands: #### Volume up + Increase volume three times: ```json @@ -220,6 +221,7 @@ Stop increasing volume: ``` #### Volume down + Decrease volume three times: ```json @@ -239,6 +241,7 @@ Stop decreasing volume: ``` #### Volume mute + Toggle mute: ```json @@ -247,8 +250,7 @@ Toggle mute: value is ignored. - ## Useful References * [CEC overview](https://kwikwai.com/knowledge-base/the-hdmi-cec-bus/) -* [CEC-o-matic](http://www.cec-o-matic.com/) +* [CEC-o-matic](https://www.cec-o-matic.com/) diff --git a/source/_integrations/history.markdown b/source/_integrations/history.markdown index 39093a02cec..6025e7555fb 100644 --- a/source/_integrations/history.markdown +++ b/source/_integrations/history.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: history -ha_integration_type: integration +ha_integration_type: system --- The `history` integration will track everything that is going on within Home diff --git a/source/_integrations/hlk_sw16.markdown b/source/_integrations/hlk_sw16.markdown index 6c6b22fc69b..0882e6bc876 100644 --- a/source/_integrations/hlk_sw16.markdown +++ b/source/_integrations/hlk_sw16.markdown @@ -15,6 +15,6 @@ ha_platforms: ha_integration_type: integration --- -The [HLK-SW16](http://www.hlktech.net/product_detail.php?ProId=48) by [Hi-Link](http://www.hlktech.net/) is a simple networkable 16 port relay device. +The HLK-SW16 by [Hi-Link](http://www.hlktech.net/) is a simple networkable 16 port relay device. {% include integrations/config_flow.md %} diff --git a/source/_integrations/homeassistant.markdown b/source/_integrations/homeassistant.markdown index e7210d89153..eb0d1023a0b 100644 --- a/source/_integrations/homeassistant.markdown +++ b/source/_integrations/homeassistant.markdown @@ -10,7 +10,7 @@ ha_codeowners: ha_domain: homeassistant ha_platforms: - scene -ha_integration_type: integration +ha_integration_type: system --- The Home Assistant integration provides generic implementations like the generic `homeassistant.turn_on`. diff --git a/source/_integrations/homeassistant_alerts.markdown b/source/_integrations/homeassistant_alerts.markdown index 68d8c2a1dea..f98ba10ee55 100644 --- a/source/_integrations/homeassistant_alerts.markdown +++ b/source/_integrations/homeassistant_alerts.markdown @@ -4,11 +4,11 @@ description: Home Assistant Alerts notifies you about alerts put out by the Home ha_release: 2022.8 ha_category: - Other -ha_iot_class: internal ha_codeowners: - '@home-assistant/core' ha_domain: homeassistant_alerts ha_integration_type: integration +ha_quality_scale: internal --- The Home Assistant Alerts integration integrates the diff --git a/source/_integrations/homeworks.markdown b/source/_integrations/homeworks.markdown index 4f2dffc997b..5ca1291f002 100644 --- a/source/_integrations/homeworks.markdown +++ b/source/_integrations/homeworks.markdown @@ -12,7 +12,7 @@ ha_platforms: ha_integration_type: integration --- -[Lutron](http://www.lutron.com/) is an American lighting control company. The Lutron Homeworks Series 4 & 8 systems are relatively old (~2003), and use RS-232 connections to communicate with home automation systems. The `homeworks` integration in Home Assistant is responsible for communicating with the main controller for these systems. Communication is through an ethernet to serial converter (NPort, for example). +[Lutron](https://www.lutron.com/) is an American lighting control company. The Lutron Homeworks Series 4 & 8 systems are relatively old (~2003), and use RS-232 connections to communicate with home automation systems. The `homeworks` integration in Home Assistant is responsible for communicating with the main controller for these systems. Communication is through an ethernet to serial converter (NPort, for example). Only a subset of the Homeworks system is supported - lights and keypads. diff --git a/source/_integrations/http.markdown b/source/_integrations/http.markdown index 0936c6535b4..e7b9b78fdb1 100644 --- a/source/_integrations/http.markdown +++ b/source/_integrations/http.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: http -ha_integration_type: integration +ha_integration_type: system --- The `http` integration serves all files and data required for the Home Assistant frontend. You only need to add this to your configuration file if you want to change any of the default settings. diff --git a/source/_integrations/hue.markdown b/source/_integrations/hue.markdown index d39a41b725a..83baadccef5 100644 --- a/source/_integrations/hue.markdown +++ b/source/_integrations/hue.markdown @@ -38,7 +38,7 @@ There is currently support for the following device types within Home Assistant: ## Lights for Hue zones and rooms -The Hue concept is based on Rooms and Zones. Although the underlying Hue lights are exposed directly to Home Assistant it might also be useful to interact with the `grouped lights` of the Hue ecosystem, for example to turn all lights in a Hue group on/off at the same time. +The Hue concept is based on Rooms and Zones. Although the underlying Hue lights are exposed directly to Home Assistant, it might also be useful to interact with the `grouped lights` of the Hue ecosystem, for example, to turn all lights in a Hue group on/off at the same time. Home Assistant creates lights for each Hue zone/room automatically but disables them by default. If you'd like to use those `grouped lights`, you can enable them from Settings --> Integrations --> Hue --> entities. diff --git a/source/_integrations/humidifier.markdown b/source/_integrations/humidifier.markdown index 2d3ad9557d3..b191bea12bc 100644 --- a/source/_integrations/humidifier.markdown +++ b/source/_integrations/humidifier.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' - '@Shulyaka' -ha_integration_type: integration +ha_integration_type: entity --- The `humidifier` integration is built for the controlling and monitoring of humidifiers, dehumidifiers, and hygrostat devices. diff --git a/source/_integrations/ibeacon.markdown b/source/_integrations/ibeacon.markdown index 88dbc6013e1..4b0d001af49 100644 --- a/source/_integrations/ibeacon.markdown +++ b/source/_integrations/ibeacon.markdown @@ -2,10 +2,10 @@ title: iBeacon Tracker description: Instructions on how to integrate iBeacon devices into Home Assistant. ha_category: - - Presence Detection - Device Tracker + - Presence Detection - Sensor -ha_release: "2022.10" +ha_release: '2022.10' ha_iot_class: Local Push ha_domain: ibeacon ha_platforms: @@ -14,11 +14,13 @@ ha_platforms: ha_bluetooth: true ha_config_flow: true ha_integration_type: integration +ha_codeowners: + - '@bdraco' --- {% include integrations/config_flow.md %} -iBeacons are Bluetooth-enabled devices that advertise identifiers to announce their location. For example, an iBeacon attached to a trash can be used to determine if the trash can is in the garage or on the street. Home Assistant can estimate the distance of an iBeacon device in proximity to the nearest Bluetooth adapter. +iBeacons are Bluetooth-enabled devices that advertise identifiers to announce their location. For example, an iBeacon attached to a trash can can be used to determine if the trash can is in the garage or on the street. Home Assistant can estimate the distance of an iBeacon device in proximity to the nearest Bluetooth adapter. iBeacon devices will be automatically detected and added as they are discovered once the integration has been added via the UI and the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. @@ -39,6 +41,10 @@ Consider setting up your iBeacons with a schema similar to the following: iBeacon devices that do not have stable Major and Minor values are not supported. The system automatically removes iBeacon devices with unstable Major and Minor values once ten (10) or more Major and Minor values have been seen with the same UUID from an iBeacon device with a fixed MAC address. +## Considering an iBeacon Away + +Due to various factors such as individual system settings and iBeacon firmware, iBeacons will not be marked as "Away" immediately. This could take several minutes. + ## Fixed MAC addresses iBeacons with a fixed MAC address will get their own set of entities for each UUID, major, minor, and MAC address combination, enabling distance and presence detection per physical device basis. In this type of setup, it is permissible to have multiple iBeacons broadcasting the same UUID, Major, and Minor combination as long as you do not exceed five devices. @@ -51,16 +57,22 @@ iBeacons with a randomized MAC address will be combined into a single set of ent The integration will create an Estimated Distance sensor by default. This estimated distance assumes perfect RF conditions and line of sight between the iBeacon and the Bluetooth adapter. Estimated distance is generally only helpful to tell if the iBeacon is in the immediate vicinity, near, or far away from the adapter. If the system has multiple adapters, the adapter with the best RSSI value for the iBeacon will be the one reporting the distance. As this can change, checking the source attribute when considering the distance is essential. +To get the Estimated distance sensor to work, in most cases, it has to be calibrated in the supplier's app. Place the device at 1m in light of sight of the Bluetooth adapter, read the signal strength in dBm, and set it in the corresponding field of the device app. + ## Known working devices +- [Blue Charm Beacons BC-U1-USB-Powered-MultiBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-ibeacon-bc-u1-multibeacon-usb-powered/) - [Blue Charm Beacons BC011-MultiBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-multi-beacon-bc011/) - [Blue Charm Beacons BC021-MultiBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-ibeacon-bc021-multibeacon-with-button-trigger-and-motion-sensor/) - [Blue Charm Beacons BC037G-GeoPattern-iBeacon](https://bluecharmbeacons.com/product/blue-charm-bc037-ibeacon/) - [Blue Charm Beacons BC037S-SmoothPattern-iBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-ibeacon-bc037s-ibeacon/) - [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) - [Feasycom FSC-BP103B](https://www.feasycom.com/bluetooth-ibeacon-da14531) - [Feasycom FSC-BP104D](https://www.feasycom.com/dialog-da14531-bluetooth-low-energy-beacon) - [Feasycom FSC-BP108](https://www.feasycom.com/bluetooth-5-1-waterproof-bluetooth-beacon) +- [NRF51822 iBeacon](https://www.aliexpress.com/item/32826502025.html) - [Pawscout Tag](https://pawscout.com/shop/pawscout-tag/) ## Example automation diff --git a/source/_integrations/idteck_prox.markdown b/source/_integrations/idteck_prox.markdown index 8aebb7ceb55..61054068cb5 100644 --- a/source/_integrations/idteck_prox.markdown +++ b/source/_integrations/idteck_prox.markdown @@ -9,7 +9,7 @@ ha_domain: idteck_prox ha_integration_type: integration --- -[IDTECK](http://www.idteck.com) makes ID systems used to control access and identify users. This integration works with [Proximity Readers](http://www.idteck.com/en/products/proximity-reader-__-card-%26-tag-__125khz) (RFID card readers). The device is connected to Home Assistant through a serial to ethernet converter (NPort). +[IDTECK](https://www.idteck.com/) makes ID systems used to control access and identify users. This integration works with [Proximity Readers](https://www.idteck.com/en/products/rfid-reader-__-card-%26-tag-__idteck-credential-format-(idc)) (RFID card readers). The device is connected to Home Assistant through a serial to ethernet converter (NPort). An `idteck_prox_keycard` event is fired whenever a card or key sequence has been entered. The event contains 'card' - the card/key sequence, and the 'name' of the card reader. Checking 'card' against known card numbers can be used as the basis of an entry control system, or as part of a check-in/check-out system. diff --git a/source/_integrations/image.markdown b/source/_integrations/image.markdown index 801b8407981..59e1ba847ed 100644 --- a/source/_integrations/image.markdown +++ b/source/_integrations/image.markdown @@ -8,7 +8,7 @@ ha_codeowners: - '@home-assistant/core' ha_domain: image ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The Image integration allows Home Assistant to handle image assets in Home Assistant, for example, diff --git a/source/_integrations/image_processing.markdown b/source/_integrations/image_processing.markdown index 0571186a5ad..bce1b363b72 100644 --- a/source/_integrations/image_processing.markdown +++ b/source/_integrations/image_processing.markdown @@ -8,7 +8,7 @@ ha_domain: image_processing ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Image processing enables Home Assistant to process images from [cameras](/integrations/#camera). Only camera entities are supported as sources. diff --git a/source/_integrations/kegtron.markdown b/source/_integrations/kegtron.markdown index 6ebb06d660b..26a31f1cbfa 100644 --- a/source/_integrations/kegtron.markdown +++ b/source/_integrations/kegtron.markdown @@ -4,7 +4,7 @@ description: Instructions on how to integrate Kegtron Smart Keg Monitor (Gen 1) ha_category: - Sensor ha_bluetooth: true -ha_release: 2022.10 +ha_release: '2022.10' ha_iot_class: Local Push ha_codeowners: - '@Ernst79' @@ -17,8 +17,13 @@ ha_integration_type: integration Integrates [Kegtron](https://kegtron.com/) Smart Keg Monitor (Gen 1) devices into Home Assistant. +Supported devices: + +- KT-100 +- KT-200 + {% include integrations/config_flow.md %} The Kegtron integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. -The integration only supports Smart Keg Monitor devices of the 1st generation (KT-100 and KT-200), which communicate data with Bluetooth LE. +The integration only supports Smart Keg Monitor devices of the 1st generation, which communicate via Bluetooth LE. diff --git a/source/_integrations/keymitt_ble.markdown b/source/_integrations/keymitt_ble.markdown index cf83781f13e..79ce5191680 100644 --- a/source/_integrations/keymitt_ble.markdown +++ b/source/_integrations/keymitt_ble.markdown @@ -3,7 +3,7 @@ title: Keymitt MicroBot Push description: Instructions on how to set up the MicroBot Push. ha_category: - Switch -ha_release: "2022.10" +ha_release: '2022.10' ha_iot_class: Assumed State ha_codeowners: - '@spycle' @@ -19,13 +19,13 @@ This integration allows you to locally control a MicroBot Push (previously manuf ### Prerequisites -In order to use this integration, it is required to have working [Bluetooth](/integrations/blueooth) set up on the device running Home Assistant. A Naran/Keymitt hub is not required. +In order to use this integration, it is required to have working [Bluetooth](/integrations/bluetooth) set up on the device running Home Assistant. A Naran/Keymitt hub is not required. The device will need to be in pairing mode before adding to Home Assistant. To reset the MicroBot Push, turn it off, then back on, and immediately hold the push button while the LED is red. After approximately 5 seconds, the LED will flash rapidly, at which point release the button. The LED will blink blue if the pairing mode has been successfully activated. If you have multiple devices, you will need to know the BTLE MAC address of your device to tell them apart. -Please note, that devices cannot remain paired to the MicroBot app for this integration to function. They will be paired to Home Assistant exclusively. +Please note, that the devices cannot remain paired to the MicroBot application for this integration to function. They will be paired to Home Assistant exclusively. {% include integrations/config_flow.md %} @@ -37,7 +37,7 @@ This Integration is for the MicroBot Push only. The Keymitt lock is not supporte The Calibration service will locally set the MicroBot Push depth, duration, and mode. -Please note: The push arm will extend or retract (dependent on the mode set) after the service call is invoked. The mode and depth will be demonstrated, but not the duration. The setting is, however, stored and can be confirmed by manually operating the device. +Please note: The push arm will extend or retract (depending on the mode defined) after the service call is invoked. The mode and depth will be demonstrated, but not the duration. The setting is, however, stored and can be confirmed by manually operating the device. | Service Data Attribute | Required | Description | | ---------------------- | -------- | --------------------------------------------------------------------------------------------- | @@ -51,7 +51,7 @@ Please note: The push arm will extend or retract (dependent on the mode set) aft The integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. -Due to the device going into deep sleep after prelonged disuse, the response time can be up to a minute in extreme cases. On average it will be much quicker. +Due to the device going into deep sleep after extended periods of no activity, the response time can be up to a minute in extreme cases. On average it will be much quicker. {% configuration_basic %} "Failed to pair": diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index 18e3584cbe7..b7bcbbbdf14 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -22,6 +22,7 @@ ha_platforms: ha_integration_type: integration ha_config_flow: true ha_ssdp: true +ha_dhcp: true --- [LaMetric TIME](https://lametric.com/) is a smart clock that can be used to access applications, listen to web radio and display notifications. diff --git a/source/_integrations/landisgyr_heat_meter.markdown b/source/_integrations/landisgyr_heat_meter.markdown index 5abdf37abea..f2001e244fb 100644 --- a/source/_integrations/landisgyr_heat_meter.markdown +++ b/source/_integrations/landisgyr_heat_meter.markdown @@ -38,6 +38,7 @@ Further data that is read from the device is added as diagnostic entities: - Ownership number - Volume previous year (m3) - Heat previous year (MWh) +- Heat previous year (GJ) - Error number - Device number - Measurement period minutes @@ -73,7 +74,7 @@ For detailed control on polling and time of polling, consider disabling polling For detailed control on when the device is polled, disable the default polling for this integration and create an automation that will update one of the entities (the other entities will be updated as well) -If you're comfortable with YAML, this game could be used: +If you're comfortable with YAML, this code could be used: ```yaml alias: "Heat Meter manual update" diff --git a/source/_integrations/lannouncer.markdown b/source/_integrations/lannouncer.markdown index a812957f01f..25cacdba67d 100644 --- a/source/_integrations/lannouncer.markdown +++ b/source/_integrations/lannouncer.markdown @@ -46,7 +46,7 @@ You need to install the Lannouncer app and enable the *Network (TCP) Listener* a Lannouncer uses the default Android TTS voice. You can tweak that in the Android configuration, or you can install a different TTS engine from the Play Store. You might want to raise the volume in the app settings since that depends on the actual hardware device. -More information can be found [here](https://www.keybounce.com/lannouncer/configuring-lannouncer/). +More information can be found [here](https://web.archive.org/web/20200928053944/https://www.keybounce.com/lannouncer/configuring-lannouncer/) (archived website). ### Sending messages diff --git a/source/_integrations/legrand.markdown b/source/_integrations/legrand.markdown new file mode 100644 index 00000000000..f7bf94dec16 --- /dev/null +++ b/source/_integrations/legrand.markdown @@ -0,0 +1,36 @@ +--- +title: Legrand +description: Connect and control your Legrand devices using the Netatmo integration +ha_category: + - Camera + - Climate + - Cover + - Environment + - Hub + - Light + - Media Source + - Sensor + - Switch + - Weather +ha_domain: legrand +ha_codeowners: + - '@cgtobi' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - camera + - climate + - cover + - diagnostics + - light + - select + - sensor + - switch +ha_iot_class: Cloud Polling +ha_homekit: true +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/leviton_z_wave.markdown b/source/_integrations/leviton_z_wave.markdown index 8469d2e9396..94d1ffd7694 100644 --- a/source/_integrations/leviton_z_wave.markdown +++ b/source/_integrations/leviton_z_wave.markdown @@ -43,7 +43,6 @@ ha_platforms: - siren - switch - update -ha_zeroconf: true ha_supporting_domain: zwave_js ha_supporting_integration: Z-Wave --- diff --git a/source/_integrations/lidarr.markdown b/source/_integrations/lidarr.markdown index d2d70952c1a..0159e597acc 100644 --- a/source/_integrations/lidarr.markdown +++ b/source/_integrations/lidarr.markdown @@ -3,18 +3,18 @@ title: Lidarr description: Instructions on how to integrate Lidarr with Home Assistant ha_category: - Downloading -ha_release: "2022.10" +ha_release: '2022.10' ha_iot_class: Local Polling ha_domain: lidarr ha_config_flow: true ha_codeowners: - '@tkdrob' -ha_quality_scale: silver ha_platforms: - sensor +ha_integration_type: integration --- -The Lidarr integration pulls data from a given [Lidarr](https://lidarr.audio/) instance. +The Lidarr integration pulls data from a specified [Lidarr](https://lidarr.audio/) instance. {% include integrations/config_flow.md %} @@ -25,5 +25,5 @@ To retrieve your API key, open your Lidarr web interface and navigate to Setting The Lidarr integration will add the following sensors: - Available disk space for each root folder. -- The number of episodes in the queue. +- The number of tracks in the queue. - The number of albums still wanted. diff --git a/source/_integrations/lifx.markdown b/source/_integrations/lifx.markdown index dd2f504a845..4e947354c51 100644 --- a/source/_integrations/lifx.markdown +++ b/source/_integrations/lifx.markdown @@ -13,6 +13,7 @@ ha_platforms: - binary_sensor - button - light + - select ha_integration_type: integration ha_codeowners: - '@bdraco' diff --git a/source/_integrations/light.markdown b/source/_integrations/light.markdown index f5c5e864f46..c3b8c33141b 100644 --- a/source/_integrations/light.markdown +++ b/source/_integrations/light.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: light ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- This integration allows you to track and control various light bulbs. Read the integration documentation for your particular light hardware to learn how to enable it. diff --git a/source/_integrations/linode.markdown b/source/_integrations/linode.markdown index f3d7eaaefb2..419386f449f 100644 --- a/source/_integrations/linode.markdown +++ b/source/_integrations/linode.markdown @@ -25,7 +25,7 @@ There is currently support for the following device types within Home Assistant: Obtain your oAuth2 Access Token from Linode account. -- +- - Log in - Select API Tokens - Create a Personal Access Token, diff --git a/source/_integrations/litterrobot.markdown b/source/_integrations/litterrobot.markdown index bf8308d4f66..a916853e4b5 100644 --- a/source/_integrations/litterrobot.markdown +++ b/source/_integrations/litterrobot.markdown @@ -16,6 +16,7 @@ ha_codeowners: ha_domain: litterrobot ha_dhcp: true ha_platforms: + - binary_sensor - button - select - sensor diff --git a/source/_integrations/llamalab_automate.markdown b/source/_integrations/llamalab_automate.markdown index 11448280b68..f4a6b85f9ef 100644 --- a/source/_integrations/llamalab_automate.markdown +++ b/source/_integrations/llamalab_automate.markdown @@ -1,6 +1,6 @@ --- title: LlamaLab Automate -description: Instructions on how to add user notifications to Home Assistant. +description: Instructions on how to add LlamaLab Automate notifications to Home Assistant. ha_category: - Notifications ha_iot_class: Cloud Push @@ -13,9 +13,13 @@ ha_integration_type: integration The `llamalab_automate` platform uses Googles Cloud Messaging Services to push messages from Home Assistant to your Android device running the LlamaLab [Automate](https://llamalab.com/automate/) app. This can serve as an alternative to Tasker + AutoRemote. +## Prerequisites + Go to [https://llamalab.com/automate/cloud/](https://llamalab.com/automate/cloud/) and create a new API key/secret. -To add Automate to your installation, add the following to your `configuration.yaml` file: +## Configuration + +To use this notification platform in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/locative.md b/source/_integrations/locative.md index 865e6bb5921..9e0299e35e3 100644 --- a/source/_integrations/locative.md +++ b/source/_integrations/locative.md @@ -1,7 +1,6 @@ --- title: "Locative" description: "Instructions on how to use Locative to track devices in Home Assistant." -logo: locative.png ha_category: - Presence Detection ha_release: 0.86 diff --git a/source/_integrations/lock.markdown b/source/_integrations/lock.markdown index d784c440932..5db9a2e29ce 100644 --- a/source/_integrations/lock.markdown +++ b/source/_integrations/lock.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: lock ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track which locks are in your environment, their state and allows you to control them. diff --git a/source/_integrations/logbook.markdown b/source/_integrations/logbook.markdown index 9f205556a78..3d0d711e922 100644 --- a/source/_integrations/logbook.markdown +++ b/source/_integrations/logbook.markdown @@ -8,7 +8,7 @@ ha_domain: logbook ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- diff --git a/source/_integrations/logentries.markdown b/source/_integrations/logentries.markdown index 5aa2f539e57..f3a4548ba0c 100644 --- a/source/_integrations/logentries.markdown +++ b/source/_integrations/logentries.markdown @@ -9,7 +9,7 @@ ha_domain: logentries ha_integration_type: integration --- -The `logentries` integration makes it possible to log all state changes to [Logentries](http://logentries.com/) using Logentries Webhook endpoint. +The `logentries` integration makes it possible to log all state changes to [Logentries](https://logentries.com) using Logentries Webhook endpoint. Open the **Add a Log** page and choose **Manual**. Enter a name for your log in **Log Name**, add a group in **Select Log Set**, set **Token TCP - logs are identified by a token.** and press **Create Log Token**. The generated token is required for the Home Assistant configuration. diff --git a/source/_integrations/logger.markdown b/source/_integrations/logger.markdown index fd75580b189..edd69d1c10f 100644 --- a/source/_integrations/logger.markdown +++ b/source/_integrations/logger.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: logger -ha_integration_type: integration +ha_integration_type: system --- The `logger` integration lets you define the level of logging activities in Home diff --git a/source/_integrations/london_underground.markdown b/source/_integrations/london_underground.markdown index d0075c10e31..3d7a6bff502 100644 --- a/source/_integrations/london_underground.markdown +++ b/source/_integrations/london_underground.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -The `london_underground` sensor will display the status of London underground lines, as well as the Overground, DLR and Tfl rail. +The `london_underground` sensor will display the status of London underground lines, as well as the Overground and DLR. ```yaml # Example configuration.yaml entry @@ -23,13 +23,13 @@ sensor: - Circle - District - DLR + - Elizabeth line - Hammersmith & City - Jubilee - London Overground - Metropolitan - Northern - Piccadilly - - TfL Rail - Victoria - Waterloo & City ``` diff --git a/source/_integrations/lyric.markdown b/source/_integrations/lyric.markdown index 6ee20174a89..7c52a41c3a8 100644 --- a/source/_integrations/lyric.markdown +++ b/source/_integrations/lyric.markdown @@ -26,7 +26,7 @@ To set up this component, you first **must** set up a developer account with Hon 1. Go to the [developer site](https://developer.honeywellhome.com) and register with an account. 1. Next, create a [new app](https://developer.honeywellhome.com/user/me/apps/add) via the `My Apps` section. - 1. App Name: You can use any name here. + 1. App Name: You can use any name here, but it must not contain special characters. 1. Callback URL: `https://my.home-assistant.io/redirect/oauth` {% details "I have manually disabled My Home Assistant" %} diff --git a/source/_integrations/mailbox.markdown b/source/_integrations/mailbox.markdown index fa51c5758cc..2b060fe92c0 100644 --- a/source/_integrations/mailbox.markdown +++ b/source/_integrations/mailbox.markdown @@ -5,7 +5,7 @@ ha_release: 0.51 ha_domain: mailbox ha_quality_scale: internal ha_category: [] -ha_integration_type: integration +ha_integration_type: entity --- Mailboxes provide a list of messages with short information about each. Mailbox messages appear on a separate panel in the frontend. diff --git a/source/_integrations/media_player.markdown b/source/_integrations/media_player.markdown index e87fbc103f4..4d5381233c4 100644 --- a/source/_integrations/media_player.markdown +++ b/source/_integrations/media_player.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: media_player ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Interacts with media players on your network. diff --git a/source/_integrations/media_source.markdown b/source/_integrations/media_source.markdown index 51629ea0ae3..d4745da15a6 100644 --- a/source/_integrations/media_source.markdown +++ b/source/_integrations/media_source.markdown @@ -8,7 +8,7 @@ ha_domain: media_source ha_codeowners: - '@hunterjm' ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The Media Source integration platform allows integrations to expose media for diff --git a/source/_integrations/message_bird.markdown b/source/_integrations/message_bird.markdown index cbf97adc85f..d20a448105a 100644 --- a/source/_integrations/message_bird.markdown +++ b/source/_integrations/message_bird.markdown @@ -1,6 +1,6 @@ --- title: MessageBird -description: Instructions on how to add user notifications to Home Assistant. +description: Instructions on how to add MessageBird notifications to Home Assistant. ha_category: - Notifications ha_iot_class: Cloud Push @@ -15,7 +15,7 @@ The `MessageBird` notification platform sends notifications as SMS messages usin ## Setup -Go to https://www.messagebird.com/ to retrieve your API key. +Go to [MessageBird](https://www.messagebird.com/) to retrieve your API key. ## Configuration diff --git a/source/_integrations/minecraft_server.markdown b/source/_integrations/minecraft_server.markdown index 52c77230807..d2954c9d843 100644 --- a/source/_integrations/minecraft_server.markdown +++ b/source/_integrations/minecraft_server.markdown @@ -17,7 +17,7 @@ ha_platforms: ha_integration_type: integration --- -Minecraft servers allow players to play the sandbox video game [Minecraft](https://www.minecraft.net/en-us) by [Mojang AB](https://www.mojang.com) online or via a local area network with other players. The `Minecraft Server` integration lets you retrieve information from a Minecraft server (Java edition) within Home Assistant. +Minecraft servers allow players to play the sandbox video game [Minecraft](https://www.minecraft.net/en-us) by Mojang AB online or via a local area network with other players. The `Minecraft Server` integration lets you retrieve information from a Minecraft server (Java edition) within Home Assistant.
The server must be version 1.7 or higher, since older versions don't expose any information. diff --git a/source/_integrations/my.markdown b/source/_integrations/my.markdown index 3b100eb6cc9..c7d78ac0b86 100644 --- a/source/_integrations/my.markdown +++ b/source/_integrations/my.markdown @@ -8,7 +8,7 @@ ha_domain: my ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- This integration handles redirects from the [My Home Assistant](https://my.home-assistant.io) service. diff --git a/source/_integrations/nanoleaf.markdown b/source/_integrations/nanoleaf.markdown index 7ee4ae33e86..a81707f1e7a 100644 --- a/source/_integrations/nanoleaf.markdown +++ b/source/_integrations/nanoleaf.markdown @@ -22,7 +22,7 @@ ha_integration_type: integration The Nanoleaf integration allows you to control and monitor Nanoleaf Light Panels, Canvas, Shapes, Elements, and Lines. -This integration does not support the Nanoleaf Remote and Essentials lights. +This integration does not support the Nanoleaf Remote and Essentials lights. Controlling Nanoleaf Essentials lights is possible over Thread and Bluetooth through the HomeKit Controller integration. {% include integrations/config_flow.md %} diff --git a/source/_integrations/nest.markdown b/source/_integrations/nest.markdown index ac12be83ece..b329958513f 100644 --- a/source/_integrations/nest.markdown +++ b/source/_integrations/nest.markdown @@ -1,5 +1,5 @@ --- -title: Nest +title: Google Nest description: Instructions on how to integrate Nest into Home Assistant. ha_category: - Binary Sensor @@ -397,7 +397,7 @@ data: {% details "Example Action: Snapshot (jpg) attachment for Android or iOS %} -Example for cameras that support Snaphot (jpg) on either Android or iOS. +Example for cameras that support Snapshot (jpg) on either Android or iOS. {% raw %} @@ -467,7 +467,7 @@ If the *Nest* integration does not have an Alert then you probably used *Web Aut 1. Visit the [Device Access Console](https://console.nest.google.com/device-access/) 1. Select the *Device Access Project* used by *Home Assistant* -1. You need to then delete the old *OAuth Client ID* by clicking the Trash icon to unlick your Nest project from the deprecated Auth method. +1. You need to then delete the old *OAuth Client ID* by clicking the Trash icon to unlink your Nest project from the deprecated Auth method. 1. Click the overflow menu `...` then *Add Client ID* 1. Enter the new *OAuth Client ID* for *Web App Auth* credentials 1. Back in Home Assistant confirm your *Device Access Project ID* @@ -528,7 +528,7 @@ The *OAuth Client ID* used must be consistent, so check these: {% enddetails %} -- *Reauthentication required often*: If you are getting logged out every 7 days, this means an OAuth Consent Screen misconfiugration or your authentication token was revoked by Google for some other reason. +- *Reauthentication required often*: If you are getting logged out every 7 days, this means an OAuth Consent Screen misconfiguration or your authentication token was revoked by Google for some other reason. {% details "Details about reauthentication issues" %} @@ -557,7 +557,7 @@ The *OAuth Client ID* used must be consistent, so check these: - *Error: invalid_client no application name* means the [OAuth Consent Screen](https://console.developers.google.com/apis/credentials/consent) has not been fully configured for the project. Enter the required fields (App Name, Support Email, Developer Email) and leave everything else as default. -- *Subscriber error* means that `configuration.yaml` has an incorrect `subscriber_id` or the subscription is misconfiugred. It is recommended to delete this from the configuration, then delete and re-add the integration to let it create a subscription for you. +- *Subscriber error* means that `configuration.yaml` has an incorrect `subscriber_id` or the subscription is misconfigured. It is recommended to delete this from the configuration, then delete and re-add the integration to let it create a subscription for you. - *Not receiving updates* typically means a problem with the subscriber configuration. Make sure to check the logs for any error messages. Changes for things like sensors or thermostat temperature set points should be instantly published to a topic and received by the Home Assistant subscriber when everything is configured correctly. @@ -583,7 +583,7 @@ logger: google_nest_sdm.event: debug ``` -- It is recommended to let Home Assistant create the Pub/Sub subscription for you. However, if you would like more control you can enter a `susbcriber_id` in the configuration. See [Subscribe to Events](https://developers.google.com/nest/device-access/subscribe-to-events) for more instructions on how to manually create a subscription and use the full subscription name in the Home Assistant configuration e.g. `projects/gcp-project-name/subscriptions/subscription-id` +- It is recommended to let Home Assistant create the Pub/Sub subscription for you. However, if you would like more control you can enter a `subscriber_id` in the configuration. See [Subscribe to Events](https://developers.google.com/nest/device-access/subscribe-to-events) for more instructions on how to manually create a subscription and use the full subscription name in the Home Assistant configuration e.g. `projects/gcp-project-name/subscriptions/subscription-id` # Works With Nest API diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown index 07d7538f209..29a13b07cca 100644 --- a/source/_integrations/netatmo.markdown +++ b/source/_integrations/netatmo.markdown @@ -55,7 +55,7 @@ To edit an existing area, enter its name and follow the dialog. ## Camera -The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor), [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) and [Netatmo Smart Video Doorbell](https://www.netatmo.com/en-gb/security/doorbell) camera. This integration allows you to view the current live stream created by the camera (exception: video doorbell). +The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor), [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) and [Netatmo Smart Video Doorbell](https://www.netatmo.com/en-gb/security/doorbell) camera. This integration allows you to view the current live stream created by the camera (exception: video doorbell). The doorbell is currently not supported with Home Assistant Cloud link, please use a [Netatmo dev account](#development--testing-with-your-own-client-id). ## Climate diff --git a/source/_integrations/network.markdown b/source/_integrations/network.markdown index 4374c32b3a2..2fd4134e2e1 100644 --- a/source/_integrations/network.markdown +++ b/source/_integrations/network.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Push ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- This integration provides network configuration for integrations such as [Zeroconf](/integrations/zeroconf/). It is managed by going to **{% my network title="Settings >> System >> Network" %}** and is only available to users that have "Advanced Mode" enabled on their {% my profile title="user profile" %}. diff --git a/source/_integrations/nibe_heatpump.markdown b/source/_integrations/nibe_heatpump.markdown index 06a9f3cbbd8..7366a552e0e 100644 --- a/source/_integrations/nibe_heatpump.markdown +++ b/source/_integrations/nibe_heatpump.markdown @@ -11,11 +11,12 @@ ha_codeowners: ha_domain: nibe_heatpump ha_ssdp: false ha_platforms: - - sensor +ha_platforms: - binary_sensor - number - - switch - select + - sensor + - switch ha_integration_type: integration --- @@ -75,4 +76,4 @@ An Arduino-based solution has been tested by OpenHAB community with Arduino uno A standard Linux application for running the Nibe Gateway software is also available. - [Documentation from OpenHAB](https://www.openhab.org/addons/bindings/nibeheatpump/#raspberry-pi-or-other-linux-unix-based-boards) -- [Source code in OpenHAB Contrib](https://github.com/openhab/openhab-addons/tree/main/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/RasPi) \ No newline at end of file +- [Source code in OpenHAB Contrib](https://github.com/openhab/openhab-addons/tree/main/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/RasPi) diff --git a/source/_integrations/nilu.markdown b/source/_integrations/nilu.markdown index 8cabd854f21..b2309e500a3 100644 --- a/source/_integrations/nilu.markdown +++ b/source/_integrations/nilu.markdown @@ -13,7 +13,7 @@ ha_platforms: ha_integration_type: integration --- -The `nilu` air quality platform shows measurements of current air quality from NILU (Norsk Institutt for luftforskning/Norwegian Institute for Air Research) sensor stations within Norway. Makes data from the open API at [luftkvalitet.info](http://luftkvalitet.info/) and [nilu.no](https://nilu.no/) available in Home Assistant. +The `nilu` air quality platform shows measurements of current air quality from NILU (Norsk Institutt for luftforskning/Norwegian Institute for Air Research) sensor stations within Norway. Makes data from the open API at [luftkvalitet.info](https://www.luftkvalitet.info) and [nilu.no](https://nilu.no/) available in Home Assistant. ## Configuration diff --git a/source/_integrations/nobo_hub.markdown b/source/_integrations/nobo_hub.markdown index 1d6f2fc68ae..b8ce9632dc9 100644 --- a/source/_integrations/nobo_hub.markdown +++ b/source/_integrations/nobo_hub.markdown @@ -1,26 +1,27 @@ --- title: Nobø Ecohub description: Instructions on how to integrate Nobø Ecohub into Home Assistant. -ha_category: Climate -ha_release: 2021.10 +ha_category: + - Climate +ha_release: '2022.10' ha_iot_class: Local Push ha_config_flow: true ha_codeowners: -- '@echoromeo' -- '@oyvindwe' + - '@echoromeo' + - '@oyvindwe' ha_domain: nobo_hub ha_platforms: -- climate -- sensor + - climate + - sensor +ha_integration_type: integration --- Integrates [Nobø Ecohub](https://www.glendimplex.no/produkter/varmestyring/11123610/noboe-hub/c-77/p-330) into Home Assistant. This integration is not officially supported or endorsed by Glen Dimplex Nordic AS, and the authors/maintainers are not official partners of Glen Dimplex Nordic AS. -To configure the integration, you need the 3 last digits of the serial number of your hub. These are located -on the back of the hub. If the hub is on a different local network than Home Assistant, you also need the -IP address of the hub. +To configure the integration, you need the 3 last digits of the serial number of your hub. The serial number is located +on the back of the hub. If the hub is on a different network than Home Assistant (i.e., IoT VLAN or another routable network from Home Assistant), you also need to provide the IP address of the hub. {% include integrations/config_flow.md %} @@ -30,29 +31,28 @@ Each zone containing floor or wall mounted heaters is represented as an HVAC ent ## Operation modes -As for now you can see and change operation and preset for zones and set eco/comfort temperatures if you have +Currently, you can see and change operation and preset for zones and set eco/comfort temperatures if you have a supported thermostat. The possible operation modes are as follows: -- "Auto" - In this mode, the zone is in the normal setting and preset shows which state the zone is in right now +- "Auto" - In this mode, the zone is in the default setting and preset shows which state the zone is in right now (according to calendar setup). -- "Heat" - In this mode the zone is the override setting and in the state selected by preset ("Away", "Eco" +- "Heat" - In this mode the zone is overridden and in the state selected by the preset ("Away", "Eco" or "Comfort"). This can be utilized the following ways: -- Changing preset to "Away", "Eco", or "Comfort" will automatically change operation to "Heat". +- Changing preset to "Away", "Eco", or "Comfort" will automatically change operation mode to "Heat". - Changing preset to none will automatically change operation to "Auto" and update preset. - Changing operation to "Auto" will automatically update preset. - Changing operation to "Heat" will set preset to "Comfort". ### No preset "Off" -Nobø heaters does not support preset "Off". This is not a limitation in the integration, but a safety mechanism in the -Nobø system (maybe they don't want you to accidentally turn off all your heaters and get frozen pipes). "Away" -temperature is fixed to 7°C in the heaters and cannot be altered. On/off receivers will be off when the zone is in -"Away" status. +Nobø heaters does not support preset "Off". This is not a limitation of the integration, but a safety mechanism in the +Nobø system (perhaps related to frozen pipes due to frost in Nordic regions). +"Away" temperature is fixed to 7°C and cannot be altered. On/off receivers will be off when the zone is in "Away" status. For more information, see the [Nobø Ecohub manual](https://help.nobo.no/en/user-manual/before-you-start/what-is-a-weekly-program/). diff --git a/source/_integrations/notify.markdown b/source/_integrations/notify.markdown index cb7a13af816..4fe50b792a7 100644 --- a/source/_integrations/notify.markdown +++ b/source/_integrations/notify.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: notify -ha_integration_type: integration +ha_integration_type: entity --- The `notify` integration makes it possible to send notifications to a wide variety of platforms. To use it you have to setup at least one notification target (notifier), check the [integrations list](/integrations/#notifications) for one that fits your use case. diff --git a/source/_integrations/number.markdown b/source/_integrations/number.markdown index 79e5c426f8f..718b8624f74 100644 --- a/source/_integrations/number.markdown +++ b/source/_integrations/number.markdown @@ -9,7 +9,7 @@ ha_domain: number ha_codeowners: - '@home-assistant/core' - '@Shulyaka' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track on `number` entities in your environment, their state, and allows you to control them. This integration allows other integrations to get a value input from user within a range. diff --git a/source/_integrations/nutrichef.markdown b/source/_integrations/nutrichef.markdown index 79a5f31a5f0..4aa03dd3ad2 100644 --- a/source/_integrations/nutrichef.markdown +++ b/source/_integrations/nutrichef.markdown @@ -1,6 +1,6 @@ --- title: Nutrichef -description: Instructions on how to integrate Nutrichef devices into Home Assistant. +description: Connect and control your Nutrichef devices using the INKBIRD integration ha_category: - Sensor ha_bluetooth: true diff --git a/source/_integrations/octoprint.markdown b/source/_integrations/octoprint.markdown index 64634070862..3366fefe87f 100644 --- a/source/_integrations/octoprint.markdown +++ b/source/_integrations/octoprint.markdown @@ -89,8 +89,20 @@ If the OctoPrint host is equipped with a web camera it is possible to add this a ## Buttons -The OctoPrint integration provides the following buttons. +The OctoPrint integration provides the following buttons: - Pause Job - Resume Job - Stop Job + +## Troubleshooting + +### Device is already configured for a second instance + +This is typically caused by copying/backup/restoring part of the config files between OctoPrint instances. + +1. SSH into the OctoPrint instance that is being added. +2. Edit the `config.yaml` for the instance (Typically `/home/pi/.octoprint`) +3. Under `plugins/discovery`, change the value of `upnpUuid` to have a different uuid. +4. Restart the OctoPrint service +5. Attempt to add the instance once again. diff --git a/source/_integrations/onboarding.markdown b/source/_integrations/onboarding.markdown index a0cb0e27486..a6db35bcc19 100644 --- a/source/_integrations/onboarding.markdown +++ b/source/_integrations/onboarding.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: onboarding -ha_integration_type: integration +ha_integration_type: system --- This integration creates the endpoints for the onboarding that is built into Home Assistant. There are no configuration options for this integration directly. diff --git a/source/_integrations/owntracks.markdown b/source/_integrations/owntracks.markdown index dbed6b62e30..2e5bb2335bf 100644 --- a/source/_integrations/owntracks.markdown +++ b/source/_integrations/owntracks.markdown @@ -12,7 +12,7 @@ ha_platforms: ha_integration_type: integration --- -[OwnTracks](https://owntracks.org/) (and its Android fork [NextTracks](https://codeberg.org/nexttracks/android)) is a free and open source application for iOS and Android that allow you to track your location and send it directly to Home Assistant. It can be set up via the integrations panel in the configuration screen. +[OwnTracks](https://owntracks.org/) is a free and open source application for iOS and Android that allow you to track your location and send it directly to Home Assistant. It can be set up via the integrations panel in the configuration screen. By default the integration will listen for incoming messages from OwnTracks via HTTP. It will also listen for MQTT messages if Home Assistant is configured to use MQTT. When a location is submitted via HTTP, Home Assistant will return all [Persons](/integrations/person/)' last known locations and they will be displayed within the OwnTracks app. @@ -24,17 +24,17 @@ To configure OwnTracks, you must set it up via the integrations panel in the con ### Configuring the app - Android -Install [OwnTracks](https://play.google.com/store/apps/details?id=org.owntracks.android) or [NextTracks](https://codeberg.org/nexttracks/android/releases) (Available from [F-Droid](https://f-droid.org/packages/org.nexttracks.android)) application for Android. +Install [OwnTracks](https://play.google.com/store/apps/details?id=org.owntracks.android) application for Android. If you need a version of OwnTracks without Google Play Services, the "OSS" flavour is available [here](https://github.com/owntracks/android/releases). In the app, open the sidebar and click on preferences, then on the connection. Change the following settings: - - Mode: Private HTTP - - Host: `` - - Identification: - - Username: `` - - Password: Can be left blank. - - Device ID: `` - - Tracker ID: `` Two character tracker ID. (can be left blank) +- Mode: Private HTTP +- Host: `` +- Identification: + - Username: `` + - Password: Can be left blank. + - Device ID: `` + - Tracker ID: `` Two character tracker ID. (can be left blank) Your tracker device will be known in Home Assistant as `_`. If you entered a Tracker ID the tid attribute will be set to that ID. @@ -44,10 +44,10 @@ Your tracker device will be known in Home Assistant as `_ In the OwnTracks app, tap the (i) in the top left and click on settings. Change the following settings: - - Mode: HTTP - - URL: `` - - Turn on authentication - - User ID: `` +- Mode: HTTP +- URL: `` +- Turn on authentication +- User ID: `` ## Advanced configuration diff --git a/source/_integrations/person.markdown b/source/_integrations/person.markdown index 899769b8276..2409e047824 100644 --- a/source/_integrations/person.markdown +++ b/source/_integrations/person.markdown @@ -7,7 +7,7 @@ ha_release: 0.88 ha_quality_scale: internal ha_domain: person ha_iot_class: Calculated -ha_integration_type: integration +ha_integration_type: system --- The `person` integration allows connecting [device tracker](/integrations/device_tracker/) entities to one or more person entities. The state updates of a connected device tracker will set the state of the person. When multiple device trackers are used, the state of person will be determined in this order: diff --git a/source/_integrations/pilight.markdown b/source/_integrations/pilight.markdown index 4ebcb3b3b45..b30f78bc9a8 100644 --- a/source/_integrations/pilight.markdown +++ b/source/_integrations/pilight.markdown @@ -83,7 +83,7 @@ pilight: ## Binary Sensor -The `pilight` binary sensor platform implement the [pilight hub](#configuration) binary sensor functionality. Two type of Pilight binary sensor configuration available. A normal sensor which send the on and off state cyclical and a trigger sensor which send only a trigger when an event happened (for example lots of cheap PIR motion detector). +The `pilight` binary sensor platform implements the [pilight hub](#configuration) binary sensor functionality. There are two types of Pilight binary sensor configuration: a normal sensor which sends the on and off cyclical state and a trigger sensor which sends only a trigger when an event happened (for example lots of cheap PIR motion detectors). To enable a Pilight binary sensor in your installation, add the following to your `configuration.yaml` file: @@ -152,7 +152,7 @@ binary_sensor: This `pilight` sensor platform for 433 MHz devices uses a value in the message payload as the sensor value. Unique identifiers (e.g., _uuid_) can be set to distinguish between multiple pilight devices. To use a pilight sensor the pilight Home Assistant hub has to be set up. -To use your sensor via pilight, make sure it is [supported](https://wiki.pilight.org/doku.php/protocols) and add the following to your `configuration.yaml` file: +To use your sensor via pilight, make sure it is [supported](https://wiki.pilight.org/protocols) and add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/proliphix.markdown b/source/_integrations/proliphix.markdown index 06508a43a29..500187b8f9e 100644 --- a/source/_integrations/proliphix.markdown +++ b/source/_integrations/proliphix.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -The `proliphix` climate platform let you control [Proliphix](http://www.proliphix.com) thermostat from Home Assistant. +The `proliphix` climate platform let you control Proliphix thermostats from Home Assistant. Currently supported and tested thermostats: diff --git a/source/_integrations/prusalink.markdown b/source/_integrations/prusalink.markdown index 3e60e8eefdc..1da1383e8d4 100644 --- a/source/_integrations/prusalink.markdown +++ b/source/_integrations/prusalink.markdown @@ -11,6 +11,7 @@ ha_codeowners: ha_domain: prusalink ha_integration_type: integration ha_platforms: + - button - camera - sensor ha_dhcp: true diff --git a/source/_integrations/pvpc_hourly_pricing.markdown b/source/_integrations/pvpc_hourly_pricing.markdown index e792b558f47..fe2187f5a63 100644 --- a/source/_integrations/pvpc_hourly_pricing.markdown +++ b/source/_integrations/pvpc_hourly_pricing.markdown @@ -15,27 +15,22 @@ ha_platforms: ha_integration_type: integration --- -This sensor uses the official API to get the hourly price of electricity in Spain from https://www.esios.ree.es/en/pvpc. +This sensor uses the official API to get the hourly price of electricity in Spain from . -Specifically, it shows the current __active energy invoicing price (FEU)__ in €/kWh, -which is the energy term hourly price applied in the consumers' electrical bill -with a contracted power not exceeding 15 kW and which are under the PVPC -(Voluntary Price for Small Consumer). +Specifically, it shows the current __active energy invoicing price (FEU)__ in €/kWh, which is the energy term hourly price applied in the consumers' electrical bill with a contracted power not exceeding 15 kW and which are under the PVPC (Voluntary Price for Small Consumer). -It includes the energy term of the access tolls, the charges and the production cost. It does not include taxes. -The hourly prices and energy periods are the same throughout the Spanish territory regardless of the time zone, -except for the cities of Ceuta and Melilla, where they are slightly different. +It includes the energy term of the access tolls, the charges and the production cost. It does not include taxes. The hourly prices and energy periods are the same throughout the Spanish territory regardless of the time zone, except for the cities of Ceuta and Melilla, where they are slightly different. -More information available at http://www.cnmc.es/en/ and http://www.omie.es/en/ +More information available at and ## Configuration To configure PVPC Hourly Pricing, set it up via the integrations panel in the configuration screen. Set a name for the price sensor (default is `sensor.pvpc`), and select one of the two available tariffs, -according to your geographic position in Spain: +according to your geographic position in Spain: - `2.0TD`, for the Peninsula, the Balearic Islands and the Canary Islands. - `2.0TD (Ceuta/Melilla)`, for the cities of Ceuta and Melilla. @@ -50,7 +45,7 @@ and you can change the sensor configuration anytime by going to the integration' ### Advanced configuration -PVPC Hourly Pricing allows manual configuration by adding a section to your `configuration.yaml`. +PVPC Hourly Pricing allows manual configuration by adding a section to your `configuration.yaml`. ```yaml # Set up electricity price sensors as a component: @@ -88,10 +83,11 @@ power_p3:
The sensor provides an hourly price for energy consumed, but the variable cost of energy is only one of the factors that add up to the electricity bill: -* Fixed cost of contracted power -* Fixed cost of energy consumed -* Variable cost of energy consumed (the sensor's value) -* Other fixed expenses, such as the rental of the electric meter -* Multiple taxes applied + +- Fixed cost of contracted power +- Fixed cost of energy consumed +- Variable cost of energy consumed (the sensor's value) +- Other fixed expenses, such as the rental of the electric meter +- Multiple taxes applied
diff --git a/source/_integrations/qingping.markdown b/source/_integrations/qingping.markdown index f0e8a5d1d74..7a502ec9dd4 100644 --- a/source/_integrations/qingping.markdown +++ b/source/_integrations/qingping.markdown @@ -9,6 +9,7 @@ ha_release: 2022.9 ha_iot_class: Local Push ha_codeowners: - '@bdraco' + - '@skgsergio' ha_domain: qingping ha_config_flow: true ha_platforms: diff --git a/source/_integrations/rainmachine.markdown b/source/_integrations/rainmachine.markdown index e25eb4a867a..cb5fa3f4f1d 100644 --- a/source/_integrations/rainmachine.markdown +++ b/source/_integrations/rainmachine.markdown @@ -17,6 +17,7 @@ ha_platforms: - binary_sensor - button - diagnostics + - select - sensor - switch - update diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown index 5b162a7be8d..f2342556d76 100644 --- a/source/_integrations/recorder.markdown +++ b/source/_integrations/recorder.markdown @@ -9,7 +9,7 @@ ha_domain: recorder ha_iot_class: Local Push ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history`](/integrations/history/) integration. diff --git a/source/_integrations/remote.markdown b/source/_integrations/remote.markdown index a47f1880965..a6adec6984a 100644 --- a/source/_integrations/remote.markdown +++ b/source/_integrations/remote.markdown @@ -8,7 +8,7 @@ ha_category: ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track which remotes are in your environment, their state and allows you to control them. diff --git a/source/_integrations/repairs.markdown b/source/_integrations/repairs.markdown index 25ceb1df7a2..31b0111ccff 100644 --- a/source/_integrations/repairs.markdown +++ b/source/_integrations/repairs.markdown @@ -7,7 +7,8 @@ ha_category: ha_codeowners: - '@home-assistant/core' ha_domain: repairs -ha_integration_type: integration +ha_integration_type: system +ha_quality_scale: internal --- The Home Assistant Repairs integration will inform you about issues it has found diff --git a/source/_integrations/rest.markdown b/source/_integrations/rest.markdown index 18133c729eb..ff29cdb4bf0 100644 --- a/source/_integrations/rest.markdown +++ b/source/_integrations/rest.markdown @@ -1,6 +1,6 @@ --- -title: "RESTful" -description: "Instructions on how to integrate REST sensors and binary sensors into Home Assistant." +title: RESTful +description: Instructions on how to integrate REST sensors and binary sensors into Home Assistant. ha_category: - Binary Sensor - Sensor diff --git a/source/_integrations/rfxtrx.markdown b/source/_integrations/rfxtrx.markdown index 8bd0cc0aa70..3aba968e093 100644 --- a/source/_integrations/rfxtrx.markdown +++ b/source/_integrations/rfxtrx.markdown @@ -344,11 +344,22 @@ action: event: 0b1111e003af16aa10000060 ``` +Alternatively: + +- Go to: {% my developer_call_service title="Developer tools -> Services" service="rfxtrx.send" %} +- Select: `RFXCOM RFXtrx: Send` from the Service drop-down menu. + +```yaml +service: rfxtrx.send +data: + event: "0b1111e003af16aa10000060" +``` + ## Generate codes If you need to generate codes for switches and lights, you can use a template (useful, for example, COCO switches). -- Go to home-assistant-IP:8123/dev-template +- Go to: {% my developer_template title="Developer tools -> Template" %} - Use the following codes to generate an event: ### Switch: ARC diff --git a/source/_integrations/ring.markdown b/source/_integrations/ring.markdown index d7cc419e06e..9d673036b1c 100644 --- a/source/_integrations/ring.markdown +++ b/source/_integrations/ring.markdown @@ -88,8 +88,8 @@ You may consider some modifications in the subdirectory and the filename to suit ```yaml data: url: "{{ state_attr('camera.front_door', 'video_url') }}" - subdir: "{{ state_attr('camera.front_door', 'friendly_name') }}/{{ now().strftime("%m.%Y") }}" - filename: "{{ now().strftime("%Y-%m-%d-at-%H-%M-%S") }}.mp4" + subdir: "{{ state_attr('camera.front_door', 'friendly_name') }}/{{ now().strftime('%m.%Y') }}" + filename: "{{ now().strftime('%Y-%m-%d-at-%H-%M-%S') }}.mp4" ``` {% endraw %} diff --git a/source/_integrations/rocketchat.markdown b/source/_integrations/rocketchat.markdown index bef2918b5d5..4dc05d4e6c9 100644 --- a/source/_integrations/rocketchat.markdown +++ b/source/_integrations/rocketchat.markdown @@ -49,6 +49,6 @@ rocketchat_notification: #### Message variables - **message** (*Required*): Message to be displayed. -- **data** (*Optional*): Dictionary containing any of the variables defined in the [Rocket.Chat documentation](https://docs.rocket.chat/api/rest-api/methods/chat/postmessage) +- **data** (*Optional*): Dictionary containing any of the variables defined in the [Rocket.Chat documentation](https://developer.rocket.chat/reference/api/rest-api/endpoints/core-endpoints/chat-endpoints/postmessage) To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_integrations/rpi_camera.markdown b/source/_integrations/rpi_camera.markdown index dca849a1b31..972b3dec592 100644 --- a/source/_integrations/rpi_camera.markdown +++ b/source/_integrations/rpi_camera.markdown @@ -76,7 +76,7 @@ overlay_metadata: type: integer default: none overlay_timestamp: - description: Helper to add date/time onto the picture. Format as used by [`strftime`](http://man7.org/linux/man-pages/man3/strftime.3.html). + description: Helper to add date/time onto the picture. Format as used by [`strftime`](https://man7.org/linux/man-pages/man3/strftime.3.html). required: false type: string default: none diff --git a/source/_integrations/safe_mode.markdown b/source/_integrations/safe_mode.markdown index 17c9a75d0af..3c810ee3d7d 100644 --- a/source/_integrations/safe_mode.markdown +++ b/source/_integrations/safe_mode.markdown @@ -7,7 +7,7 @@ ha_codeowners: - '@home-assistant/core' ha_domain: safe_mode ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The `safe_mode` integration is an internally used integration by the diff --git a/source/_integrations/scene.markdown b/source/_integrations/scene.markdown index 1f2f65f6b37..0dd2331ad6d 100644 --- a/source/_integrations/scene.markdown +++ b/source/_integrations/scene.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: scene -ha_integration_type: integration +ha_integration_type: entity --- You can create scenes that capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red. diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown index 1d6c0744e3e..cf55b2029ea 100644 --- a/source/_integrations/scrape.markdown +++ b/source/_integrations/scrape.markdown @@ -137,13 +137,13 @@ sensor: ### Get a value out of a tag -The German [Federal Office for Radiation protection (Bundesamt für Strahlenschutz)](http://www.bfs.de/) is publishing various details about optical radiation including an UV index. This example is getting the index for a region in Germany. +The German [Federal Office for Radiation protection (Bundesamt für Strahlenschutz)](https://www.bfs.de/) is publishing various details about optical radiation including an UV index. This example is getting the index for a region in Germany. ```yaml # Example configuration.yaml entry sensor: - platform: scrape - resource: http://www.bfs.de/DE/themen/opt/uv/uv-index/prognose/prognose_node.html + resource: https://www.bfs.de/DE/themen/opt/uv/uv-index/prognose/prognose_node.html name: Coast Ostsee select: "p" index: 19 diff --git a/source/_integrations/script.markdown b/source/_integrations/script.markdown index 446d3d9cfac..a3d9c46d570 100644 --- a/source/_integrations/script.markdown +++ b/source/_integrations/script.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: script -ha_integration_type: integration +ha_integration_type: system --- The script integration allows users to specify a sequence of actions to be executed by Home Assistant. These are run when you turn the script on. The script integration will create an entity for each script and allow them to be controlled via services. diff --git a/source/_integrations/search.markdown b/source/_integrations/search.markdown index fec43baad91..1389cc60905 100644 --- a/source/_integrations/search.markdown +++ b/source/_integrations/search.markdown @@ -8,7 +8,7 @@ ha_codeowners: - '@home-assistant/core' ha_domain: search ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The `search` integration is an internally used integration by the diff --git a/source/_integrations/select.markdown b/source/_integrations/select.markdown index 28aaef459c4..16af11e944e 100644 --- a/source/_integrations/select.markdown +++ b/source/_integrations/select.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: select ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track on `select` entities in your environment, their state, and allows diff --git a/source/_integrations/sensibo.markdown b/source/_integrations/sensibo.markdown index 3dbeeef59c3..96f73750c55 100644 --- a/source/_integrations/sensibo.markdown +++ b/source/_integrations/sensibo.markdown @@ -34,7 +34,7 @@ ha_integration_type: integration ha_quality_scale: platinum --- -Integrates [Sensibo](https://sensibo.com) Air Conditioning controller into Home Assistant. +Integrates [Sensibo](https://sensibo.com) devices into Home Assistant. ## Prerequisites @@ -57,7 +57,7 @@ For motion sensors (supported by Sensibo Air devices), this integration provides For climate devices, these sensors are available: -- Room presence +- Room presence (for Air devices with an attached motion sensor) For Pure devices, these sensors are available: @@ -66,7 +66,7 @@ For Pure devices, these sensors are available: - Pure Boost linked with Presence - Pure Boost linked with Outdoor Air Quality -For climate devices, these sensors are available: +For all devices, these sensors are available: - Filter Clean Required @@ -76,6 +76,12 @@ You can reset your filter check by using the button available on climate devices By pressing the button, you tell your device that you have cleaned or replaced the filter. +## Number Entities + +By using the number entities you can calibrate the temperature and hunmidity of your device. + +These entities are disabled by default. + ## Select Entities For supported devices, this integration provides support to set the following modes by the select entity: @@ -85,13 +91,18 @@ For supported devices, this integration provides support to set the following mo ## Sensor Entities +For all devices, these sensors are available: + +- Filter last reset +- Feels Like +- Timer end time + For motion sensors (supported by Sensibo Air devices), this integration provides the following sensors: - Temperature -- Feels Like - Humidity -For diagnostics, not automatically displayed on dashboards, these sensors are available: +For diagnostics, not automatically displayed on dashboards, these sensors are available for motion sensors: - Voltage - Rssi @@ -106,10 +117,6 @@ For AirQ device, these sensors are available: - TVOC - CO2 -For climate devices, these sensors are available: - -- Filter last reset - ## Switch Entities For climate devices, this integration provides support to enable/disable a timer to delay a start or stop (depending on the current state) of your device. @@ -122,6 +129,12 @@ To customize the settings of Pure Boost, you can use the custom `sensibo.enable_ ## Custom Services +### Assume state + +For devices which are also controlled in other ways or often goes out of sync with Sensibo there is a `sensibo.assume_state` service. + +With this service you can tell Sensibo if your device is currently running or not without sending a new command to you device. + ### Pure Boost You can configure your Pure Boost settings using the services `sensibo.enable_pure_boost`. diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index 5f7c4077555..3ccbfec0ea5 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: sensor ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Sensors are a basic platform component in Home Assistant. They monitor the states and conditions of a variety of entities. An entity can be many things. This can include a physical device like a motion sensor that reports the battery level, a web service that retrieves the weather temperature, a built-in function that calculates the sun's elevation relative to your GPS position, or even a custom sensor you may have created to report the free space on your laptop. These are all *things* reporting different types of information. diff --git a/source/_integrations/sensorblue.markdown b/source/_integrations/sensorblue.markdown index 0fc5455faa4..5aa323fae4e 100644 --- a/source/_integrations/sensorblue.markdown +++ b/source/_integrations/sensorblue.markdown @@ -1,6 +1,6 @@ --- title: SensorBlue -description: Instructions on how to integrate SensorBlue devices into Home Assistant. +description: Connect and control your SensorBlue devices using the ThermoBeacon integration ha_category: - Sensor ha_bluetooth: true diff --git a/source/_integrations/serial.markdown b/source/_integrations/serial.markdown index 1ae0984e102..41d648a4542 100644 --- a/source/_integrations/serial.markdown +++ b/source/_integrations/serial.markdown @@ -13,7 +13,7 @@ ha_platforms: ha_integration_type: integration --- -The `serial` sensor platform is using the data provided by a device connected to the serial port of the system where Home Assistant is running. With [`ser2net`](http://ser2net.sourceforge.net/) and [`socat`](http://www.dest-unreach.org/socat/) would it also work for sensors connected to a remote system. +The `serial` sensor platform is using the data provided by a device connected to the serial port of the system where Home Assistant is running. With [`ser2net`](https://ser2net.sourceforge.net/) and [`socat`](http://www.dest-unreach.org/socat/) would it also work for sensors connected to a remote system. To check what kind of data is arriving at your serial port, use a command-line tool like `minicom` or `picocom` on Linux, on a macOS you can use `screen` or on Windows `putty`. diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown index b4008ebae4b..2e6b81708f4 100644 --- a/source/_integrations/shelly.markdown +++ b/source/_integrations/shelly.markdown @@ -9,6 +9,7 @@ ha_category: - Number - Sensor - Switch + - Update ha_release: 0.115 ha_codeowners: - '@balloob' @@ -30,6 +31,7 @@ ha_platforms: - number - sensor - switch + - update ha_integration_type: integration --- diff --git a/source/_integrations/sia.markdown b/source/_integrations/sia.markdown index d30e2d25a48..577ff63bb3d 100644 --- a/source/_integrations/sia.markdown +++ b/source/_integrations/sia.markdown @@ -60,7 +60,7 @@ The port used with this component must be a port no other processes use on the m ### Entities -In the initial version, after setup you will see one alarm_control_panel per account and zone combination. This entity will have 5 attributes that reflect all messages that came in for that account and zone, it includes fields for `last_code`, `zone`, `last_message`, `last_id`, `last_timestamp`. The alarm_control_panel state itself is changed based on a subset of values, including but not limited to codes: `CA`, `CB`, `CG`, `BA`, `TA`, `OA`, `NC`, `NL`, for the full list check the code on GitHub. If you expected the state to change then please log which code it was and create an issue on GitHub as well. +In the initial version, after setup you will see one alarm_control_panel per account and zone combination. This entity will have 5 attributes that reflect all messages that came in for that account and zone, it includes fields for `last_code`, `last_zone`, `last_message`, `last_id`, `last_timestamp`. The alarm_control_panel state itself is changed based on a subset of values, including but not limited to codes: `CA`, `CB`, `CG`, `BA`, `TA`, `OA`, `NC`, `NL`, for the full list check the code on GitHub. If you expected the state to change then please log which code it was and create an issue on GitHub as well. ### Events diff --git a/source/_integrations/siren.markdown b/source/_integrations/siren.markdown index 0652ccfa25e..7c74ec7a537 100644 --- a/source/_integrations/siren.markdown +++ b/source/_integrations/siren.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' - '@raman325' -ha_integration_type: integration +ha_integration_type: entity --- The Siren integration is built for the controlling and monitoring of siren/chime devices. diff --git a/source/_integrations/smarther.markdown b/source/_integrations/smarther.markdown new file mode 100644 index 00000000000..3bd187365cd --- /dev/null +++ b/source/_integrations/smarther.markdown @@ -0,0 +1,36 @@ +--- +title: Smarther +description: Connect and control your Smarther devices using the Netatmo integration +ha_category: + - Camera + - Climate + - Cover + - Environment + - Hub + - Light + - Media Source + - Sensor + - Switch + - Weather +ha_domain: smarther +ha_codeowners: + - '@cgtobi' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - camera + - climate + - cover + - diagnostics + - light + - select + - sensor + - switch +ha_iot_class: Cloud Polling +ha_homekit: true +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/smartthings.markdown b/source/_integrations/smartthings.markdown index 9d26e422f95..5d26886aec6 100644 --- a/source/_integrations/smartthings.markdown +++ b/source/_integrations/smartthings.markdown @@ -64,7 +64,7 @@ The PAT is used to create a Home Assistant SmartApp in your SmartThings account This integration requires an internet accessible incoming webhook to receive push updates from SmartThings. The preferred approach is to subscribe to [Home Assistant Cloud (Nabu Casa)](https://www.nabucasa.com/) and the integration will configure and use a cloudhook automatically. Alternatively, you will have to configure and setup an internet accessible webhook in Home Assistant as described below: 1. Setup [remote access](/docs/configuration/remote/) via a domain name secured with SSL. *Self-signed SSL certificates are not supported by the SmartThings Cloud API.* -1. Set the external URL in the Home Assistant [configuration](/docs/configuration/basic) to the URL that Home Assistant is available on the internet (this must start with `https://`). This must be port 443. If you do not use Nabu Casa you must configure your network to allow TCP traffic from the internet on port 443 to reach the IP address of the device running Home Assistant. +2. Set the external URL in the Home Assistant [configuration](/docs/configuration/basic) to the URL that Home Assistant is available on the internet (this must start with `https://`). If you do not use Nabu Casa you must configure your network to allow TCP traffic from the internet to reach the IP address and port of the device running Home Assistant. ## Setup instructions @@ -111,7 +111,7 @@ The integration will trigger an event when a device with the [button](https://de | Attribute | Description | | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `component_id` | Describes which integration of the device triggered the event. `main` represents the parent device. For devices with child-devices, this attribute identifies the child that raised the event. | +| `component_id` | Describes which integration of the device triggered the event. `main` represents the parent device. For devices with child-devices, this attribute identifies the child that raised the event. For multi-button devices, the current SmartThings API will no longer pass the ButtonNumber but use a child component_id for each button. The device handler installed on SmartThings must be able to create those child components. | | `device_id` | The unique id of the device in SmartThings. This can be located in the Home Assistant device registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/). | | `location_id` | The unique id of the location the device is part of. This can be found in the configuration entry registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/). | | `value` | Describes the action taken on the button. See the [button](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#button) capability reference for a list of possible values (not all are supported by every device). | diff --git a/source/_integrations/snmp.markdown b/source/_integrations/snmp.markdown index 6c624feff86..19eb14ff199 100644 --- a/source/_integrations/snmp.markdown +++ b/source/_integrations/snmp.markdown @@ -20,7 +20,7 @@ A lot of Wi-Fi access points and Wi-Fi routers support the Simple Network Manage There is currently support for the following device types within Home Assistant: -- [Presence Detection](#precense-detection) +- [Presence Detection](#presence-detection) - [Sensor](#sensor) - [Switch](#switch) @@ -424,7 +424,7 @@ switch: baseoid: 1.3.6.1.4.1.19865.1.2.1.4.0 payload_on: 1 payload_off: 0 - + - platform: snmp name: Enable PoE on Netgear switch port 2 using SNMP v3 host: 192.168.0.4 diff --git a/source/_integrations/ssdp.markdown b/source/_integrations/ssdp.markdown index 617bdb089c7..cec31e5f7b0 100644 --- a/source/_integrations/ssdp.markdown +++ b/source/_integrations/ssdp.markdown @@ -7,7 +7,7 @@ ha_iot_class: Local Push ha_release: 0.94 ha_domain: ssdp ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The `ssdp` "Simple Service Discovery Protocol" (part of UPnP) integration will scan the network for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the configuration panel. diff --git a/source/_integrations/stt.markdown b/source/_integrations/stt.markdown index d979449fcdc..46ec6c89241 100644 --- a/source/_integrations/stt.markdown +++ b/source/_integrations/stt.markdown @@ -7,7 +7,7 @@ ha_codeowners: ha_domain: stt ha_quality_scale: internal ha_category: [] -ha_integration_type: integration +ha_integration_type: entity --- Speech-to-Text (STT) allows you to stream speech data to the STT API and get text back. diff --git a/source/_integrations/surepetcare.markdown b/source/_integrations/surepetcare.markdown index 5813835e543..d89110fd529 100644 --- a/source/_integrations/surepetcare.markdown +++ b/source/_integrations/surepetcare.markdown @@ -32,9 +32,15 @@ This service lets you change the locking state of a flap. | Service data attribute | Required | Type | Description | | ---------------------- | -------- | -------- | ----------- | -| `flap_id` | `True` | integer | Flap ID to change - see below for instructions on finding device IDs +| `flap_id` | `True` | integer | Flap ID to change - see below for instructions on finding device ID | `lock_state` | `True` | string | New state to change the flap to +The `flap_id` can be found following these instructions: + +- Log into [surepetcare.io](https://surepetcare.io/). +- Open the sidebar and click your flap. +- The `flap_id` will be at the end of the URL (i.e., `https://surepetcare.io/control/device/FLAP-ID`) + `lock_state` should be one of: - `unlocked` - flap is unlocked, pets are allowed both in and out. diff --git a/source/_integrations/switch.markdown b/source/_integrations/switch.markdown index 74b6cc25071..b5a847ddf31 100644 --- a/source/_integrations/switch.markdown +++ b/source/_integrations/switch.markdown @@ -10,7 +10,7 @@ ha_platforms: - light ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track which switches are in your environment, their state and allows you to control them. diff --git a/source/_integrations/switch.mqtt.markdown b/source/_integrations/switch.mqtt.markdown index 32d027cf0fc..6ce3e75b995 100644 --- a/source/_integrations/switch.mqtt.markdown +++ b/source/_integrations/switch.mqtt.markdown @@ -273,7 +273,7 @@ mosquitto_pub -h 127.0.0.1 -t home/bedroom/switch1 -m "ON" ### Set the state of a device with ESPEasy -Assuming that you have flashed your ESP8266 unit with [ESPEasy](https://github.com/letscontrolit/ESPEasy). Under "Config" is a name ("Unit Name:") set for your device (here it's "bathroom"). A configuration for a "Controller" for MQTT with the protocol "OpenHAB MQTT" is present and the entries ("Controller Subscribe:" and "Controller Publish:") are adjusted to match your needs. In this example, the topics are prefixed with "home". There is no further configuration needed as the [GPIOs](https://www.letscontrolit.com/wiki/index.php/GPIO) can be controlled with MQTT directly. +Assuming that you have flashed your ESP8266 unit with [ESPEasy](https://github.com/letscontrolit/ESPEasy). Under "Config" is a name ("Unit Name:") set for your device (here it's "bathroom"). A configuration for a "Controller" for MQTT with the protocol "OpenHAB MQTT" is present and the entries ("Controller Subscribe:" and "Controller Publish:") are adjusted to match your needs. In this example, the topics are prefixed with "home". There is no further configuration needed as the [GPIOs](https://espeasy.readthedocs.io/en/latest/Controller/C005.html) can be controlled with MQTT directly. Manually you can set pin 13 to high with `mosquitto_pub` or another MQTT tool: diff --git a/source/_integrations/switchbee.markdown b/source/_integrations/switchbee.markdown index 491c8395210..489a2ee6151 100644 --- a/source/_integrations/switchbee.markdown +++ b/source/_integrations/switchbee.markdown @@ -7,8 +7,8 @@ ha_category: - Cover - Light - Switch -ha_release: 2022.10 -ha_iot_class: local Polling +ha_release: '2022.10' +ha_iot_class: Local Polling ha_config_flow: true ha_codeowners: - '@jafar-atili' diff --git a/source/_integrations/syncthru.markdown b/source/_integrations/syncthru.markdown index c8de5b92b4a..4e964684a17 100644 --- a/source/_integrations/syncthru.markdown +++ b/source/_integrations/syncthru.markdown @@ -16,16 +16,16 @@ ha_platforms: ha_integration_type: integration --- -The Samsung SyncThru Printer platform allows Home Asssitant to read current data from a local Samsung printer. +The Samsung SyncThru Printer platform allows Home Assistant to read current data from a local Samsung printer. Depending on device abilities, the following separate sensors are created if supported: - - Whether the printer is online - - Whether the printer is in an error state - - Black, cyan, magenta and yellow toner fill level - - Black, cyan, magenta and yellow drum state - - First to fifth paper input tray state - - First to sixth paper output tray state +- Whether the printer is online +- Whether the printer is in an error state +- Black, cyan, magenta and yellow toner fill level +- Black, cyan, magenta and yellow drum state +- First to fifth paper input tray state +- First to sixth paper output tray state In order for a device to be discovered automatically, SSPD / UPnP (under Network settings) must be enabled. diff --git a/source/_integrations/synology_srm.markdown b/source/_integrations/synology_srm.markdown index 523c2b0b3d1..9ad193bcb40 100644 --- a/source/_integrations/synology_srm.markdown +++ b/source/_integrations/synology_srm.markdown @@ -65,5 +65,6 @@ List of models known to be supported: - RT1900ac - RT2600ac - MR2200ac +- RT6600ax See the [device tracker integration page](/integrations/device_tracker/) for instructions on how to configure the people to be tracked. diff --git a/source/_integrations/system_health.markdown b/source/_integrations/system_health.markdown index 525a093e5f1..ee4a4ab883c 100644 --- a/source/_integrations/system_health.markdown +++ b/source/_integrations/system_health.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.87 ha_quality_scale: internal ha_domain: system_health -ha_integration_type: integration +ha_integration_type: system --- The System Health integration provides an API to offer information on the system and its components. It also allows to run diagnostic tools to diagnose problems. diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index 3c8d91cb06a..43b9ab93ea3 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -71,7 +71,7 @@ template: ## Trigger-based template binary sensors, buttons, numbers, selects and sensors -If you want more control over when an entity updates, you can define a trigger. Triggers follow the same format and work exactly the same as [triggers in automations][trigger-doc]. This feature is a great way to create entities based on webhook data ([example](#storing-webhook-information)), or update entities based on a schedule. +If you want more control over when an entity updates, you can define a trigger. Triggers follow the same format and work exactly the same as [triggers in automations][trigger-doc]. This feature is a great way to create entities based on webhook data ([example](#trigger-based-sensor-and-binary-sensor-storing-webhook-information)), or update entities based on a schedule. Whenever the trigger fires, all related entities will re-render and it will have access to [the trigger data](/docs/automation/templating/) in the templates. diff --git a/source/_integrations/thermoplus.markdown b/source/_integrations/thermoplus.markdown index 555e046dae1..5881e64d8f8 100644 --- a/source/_integrations/thermoplus.markdown +++ b/source/_integrations/thermoplus.markdown @@ -1,6 +1,6 @@ --- title: ThermoPlus -description: Instructions on how to integrate ThermoPlus devices into Home Assistant. +description: Connect and control your ThermoPlus devices using the ThermoBeacon integration ha_category: - Sensor ha_bluetooth: true diff --git a/source/_integrations/thinkingcleaner.markdown b/source/_integrations/thinkingcleaner.markdown index 59dabafac8d..f049c8f2d3c 100644 --- a/source/_integrations/thinkingcleaner.markdown +++ b/source/_integrations/thinkingcleaner.markdown @@ -20,7 +20,7 @@ There is currently support for the following device types within Home Assistant: ## Sensor -The `thinkingcleaner` sensor platform simple displays information about your [Thinking Cleaner](https://www.thinkingcleaner.com/) add-on. +The `thinkingcleaner` sensor platform simple displays information about your [Thinking Cleaner (archived website)](https://web.archive.org/web/20220802042114/https://www.thinkingcleaner.com/) add-on. To enable this sensor in your installation, add the following to your `configuration.yaml` file: @@ -41,7 +41,7 @@ This will automatically add sensors for each Thinking Cleaner in your network. ## Switch -The `thinkingcleaner` switch platform allows you to control your [Thinking Cleaner](https://www.thinkingcleaner.com/) add-on. +The `thinkingcleaner` switch platform allows you to control your [Thinking Cleaner (archived website)](https://web.archive.org/web/20220802042114/https://www.thinkingcleaner.com/) add-on. To enable this switch in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/third_reality.markdown b/source/_integrations/third_reality.markdown new file mode 100644 index 00000000000..14752468dd3 --- /dev/null +++ b/source/_integrations/third_reality.markdown @@ -0,0 +1,35 @@ +--- +title: Third Reality +description: Connect and control your Third Reality Zigbee devices using the Zigbee integration +ha_release: '2022.10' +ha_iot_class: Local Push +ha_config_flow: true +ha_category: + - Cover + - Switch + - Binary Sensor + - Sensor + - Button +ha_domain: third_reality +ha_integration_type: integration +works_with: + - zigbee +ha_platforms: + - binary_sensor + - button + - sensor + - switch + - cover +ha_iot_standard: zigbee +ha_brand: true +--- + +[Third Reality](https://3reality.com) is a member of the Works with Home Assistant partner program for their Zigbee products. Third Reality is committed to making sure their products are up-to-date and ready to use in Home Assistant. + +Third Reality Zigbee devices work locally and integrate seamlessly with the Zigbee integration in Home Assistant (Zigbee stick required). + +To add Third Reality products, pair them as Zigbee devices: + +{% my config_zha badge %} + +[Learn more about Zigbee in Home Assistant.](/integrations/zha) diff --git a/source/_integrations/tilt_ble.markdown b/source/_integrations/tilt_ble.markdown index 84e6f28b37c..f1f90c8247d 100644 --- a/source/_integrations/tilt_ble.markdown +++ b/source/_integrations/tilt_ble.markdown @@ -1,10 +1,10 @@ --- -title: Tilt Hydrometer Bluetooth +title: Tilt Hydrometer BLE description: Instructions on how to integrate Tilt Hydrometer BLE devices into Home Assistant. ha_category: - Sensor ha_bluetooth: true -ha_release: "2022.10" +ha_release: '2022.10' ha_iot_class: Local Push ha_codeowners: - '@apt-itude' diff --git a/source/_integrations/torque.markdown b/source/_integrations/torque.markdown index 40abafe44b2..59362f055d9 100644 --- a/source/_integrations/torque.markdown +++ b/source/_integrations/torque.markdown @@ -29,7 +29,7 @@ Under the **Logging Preferences** header: Under the **Realtime Web Upload** header: - Check **Upload to web-server**. -- Enter `https://HOST:PORT/api/torque` as the **Web-server URL**, where `HOST` and `PORT` are your externally accessible Home Assistant HTTP host. To use a Bearer Token, this has to be [SSL/TSL](/docs/ecosystem/certificates/). +- Enter `https://HOST/api/torque` or `https://@/HOST:PORT/api/torque` as the **Web-server URL**, where `HOST` and `PORT` are your externally accessible Home Assistant HTTP host. To use a Bearer Token, this has to be [SSL/TSL](/docs/ecosystem/certificates/). - Enable **Send https: Bearer Token** (available since Torque Pro 1.12.46) - Paste a Long-Lived Access Token from any Home Assistant user in **Set Bearer Token** field. - Enter an email address in **User Email Address** (this can be any non empty string you like). diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown index de0ff29038b..decb26c26e2 100644 --- a/source/_integrations/tplink.markdown +++ b/source/_integrations/tplink.markdown @@ -36,46 +36,59 @@ There is currently support for the following device types within Home Assistant: {% include integrations/config_flow.md %} ## Supported Devices + +See [Supported Devices in python-kasa](https://github.com/python-kasa/python-kasa#supported-devices) for an up to date list. + +## Supported devices + ### Plugs - HS100 - HS103 - HS105 -- HS110 (supports consumption sensors) +- HS107 +- HS110 +- KP100 - KP105 -- KP115 (supports consumption sensors) -- KP125 (supports consumption sensors) +- KP115 +- KP125 +- KP401 +- EP10 -### Strip (Multi-Plug) +### Power Strips -- HS107 (indoor 2-outlet) -- HS300 (powerstrip 6-outlet) (supports consumption sensors) -- KP303 (powerstrip 3-outlet) -- KP400 (outdoor 2-outlet) -- KP200 (indoor 2-outlet) -- KP40 (outdoor 2-outlet) -- EP40 (outdoor 2-outlet) +- EP40 +- HS300 +- KP303 +- KP400 -### Wall Switches +### Wall switches +- ES20M - HS200 - HS210 -- HS220 (acts as a light) +- HS220 +- KS200M +- KS220M +- KS230 ### Bulbs +- EP40 - LB100 - LB110 - LB120 - LB130 - LB230 +- KL50 +- KL60 - KL110 - KL120 - KL125 - KL130 -- KB130 +- KL135 -### Light Strips +### Light strips - KL400 - KL420 diff --git a/source/_integrations/trafikverket_weatherstation.markdown b/source/_integrations/trafikverket_weatherstation.markdown index 9046fcfc734..27b10b6fb90 100644 --- a/source/_integrations/trafikverket_weatherstation.markdown +++ b/source/_integrations/trafikverket_weatherstation.markdown @@ -29,7 +29,7 @@ Please click [here](https://api.trafikinfo.trafikverket.se/) and register to obt {% include integrations/config_flow.md %} -## Entities provided by the integration is +## Entities provided by the integration - Air temperature. - Road temperature. - Relative humidity. diff --git a/source/_integrations/tts.markdown b/source/_integrations/tts.markdown index a6d7e659734..ac1f099411a 100644 --- a/source/_integrations/tts.markdown +++ b/source/_integrations/tts.markdown @@ -11,7 +11,7 @@ ha_domain: tts ha_quality_scale: internal ha_platforms: - notify -ha_integration_type: integration +ha_integration_type: entity --- Text-to-Speech (TTS) enables Home Assistant to speak to you. diff --git a/source/_integrations/twilio_call.markdown b/source/_integrations/twilio_call.markdown index d68d45c533b..1e045f4e41a 100644 --- a/source/_integrations/twilio_call.markdown +++ b/source/_integrations/twilio_call.markdown @@ -1,6 +1,6 @@ --- title: Twilio Call -description: Instructions on how to add user notifications to Home Assistant. +description: Instructions on how to add Twilio Call notifications to Home Assistant. ha_category: - Notifications ha_release: 0.37 @@ -16,6 +16,8 @@ Passed message will be read by Text-To-Speech service. The requirement is that you have setup [Twilio](/integrations/twilio/). +## Configuration + To use this notification platform in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -40,7 +42,7 @@ name: ### Usage -Twilio is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers. +Twilio is a notification platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers. ```yaml # Example automation notification entry diff --git a/source/_integrations/twilio_sms.markdown b/source/_integrations/twilio_sms.markdown index 173a064649e..5c5e2a1567b 100644 --- a/source/_integrations/twilio_sms.markdown +++ b/source/_integrations/twilio_sms.markdown @@ -1,6 +1,6 @@ --- title: Twilio SMS -description: Instructions on how to add user notifications to Home Assistant. +description: Instructions on how to add Twilio SMS notifications to Home Assistant. ha_category: - Notifications ha_release: '0.20' @@ -11,10 +11,12 @@ ha_platforms: ha_integration_type: integration --- -The `twilio` notification platform enables sending notifications via SMS, powered by [Twilio](https://twilio.com). +The `twilio_sms` notification platform enables sending notifications via SMS, powered by [Twilio](https://twilio.com). The requirement is that you have setup [Twilio](/integrations/twilio/). +## Configuration + To use this notification platform in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -39,7 +41,7 @@ name: ### Usage -Twilio is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers. It's also possible to use `whatsapp:+123456789` for sending notifications to a Whatsapp user. +Twilio is a notification platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers. It's also possible to use `whatsapp:+123456789` for sending notifications to a Whatsapp user. Media can be included with messages by setting the optional `media_url` variable. Only `.gif`, `.png`, or `.jpeg` content are supported, according to the Twilio documentation and this feature is [only supported in the US and Canada.][mms] diff --git a/source/_integrations/unifi_direct.markdown b/source/_integrations/unifi_direct.markdown index 47567766a90..4ebb2c14ffd 100644 --- a/source/_integrations/unifi_direct.markdown +++ b/source/_integrations/unifi_direct.markdown @@ -1,5 +1,5 @@ --- -title: Ubiquiti UniFi AP +title: UniFi AP description: Instructions on how to use a Unifi WAP as a device tracker. ha_category: - Presence Detection @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ui.com/products/#unifi). This device tracker differs from [Ubiquiti UniFi](/integrations/unifi) because it doesn't require the UniFi controller software. +This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ui.com/products/#unifi). This device tracker differs from [Ubiquiti UniFi](/integrations/unifi) because it doesn't require the UniFi Network application. To use this device tracker in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/unifiled.markdown b/source/_integrations/unifiled.markdown index fc1aba6aa77..fb0f18dcb11 100644 --- a/source/_integrations/unifiled.markdown +++ b/source/_integrations/unifiled.markdown @@ -1,5 +1,5 @@ --- -title: Ubiquiti UniFi LED +title: UniFi LED description: Instructions on how to configure the UniFi LED integration with UniFi LED Controller by Ubiquiti. ha_category: - Light diff --git a/source/_integrations/update.markdown b/source/_integrations/update.markdown index ba4eb95d4e6..8b29b2eed39 100644 --- a/source/_integrations/update.markdown +++ b/source/_integrations/update.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_domain: update ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- An update entity is an entity that indicates if an update is available for a @@ -32,7 +32,7 @@ Update entities are here to be consumed and provided by other integrations and are are not designed to be created manually directly. This page, therefore, does not provide instructions on how to create update -entities. Please see the ["Updates" category](/integrations/#updates) on the +entities. Please see the ["Update" category](/integrations/#update) on the integrations page to find integration offering update entities.
diff --git a/source/_integrations/usb.markdown b/source/_integrations/usb.markdown index 7aa2493fe91..1b1afc1e5c6 100644 --- a/source/_integrations/usb.markdown +++ b/source/_integrations/usb.markdown @@ -9,7 +9,7 @@ ha_domain: usb ha_quality_scale: internal ha_codeowners: - '@bdraco' -ha_integration_type: integration +ha_integration_type: system --- The USB Discovery integration will detect newly connected USB devices. Discovered devices will show up in the discovered section on the integrations page in the configuration panel. diff --git a/source/_integrations/vacuum.markdown b/source/_integrations/vacuum.markdown index 107385806bd..a493e3625fd 100644 --- a/source/_integrations/vacuum.markdown +++ b/source/_integrations/vacuum.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The `vacuum` integration enables the ability to control home cleaning robots within Home Assistant. diff --git a/source/_integrations/w800rf32.markdown b/source/_integrations/w800rf32.markdown index a17e3c61a1f..d89b3a4de64 100644 --- a/source/_integrations/w800rf32.markdown +++ b/source/_integrations/w800rf32.markdown @@ -12,7 +12,7 @@ ha_platforms: ha_integration_type: integration --- -The `w800rf32` integration supports W800RF32 devices by [WGL Designs](http://www.wgldesigns.com/w800.html) which +The `w800rf32` integration supports W800RF32 devices by WGL Designs which communicate in the frequency range of 310MHz or if you are outside Canada or the U.S., 433.92 MHz. The W800 family of RF receivers are designed to receive X10 RF signals generated from X10 products: Palm Pad diff --git a/source/_integrations/water_heater.markdown b/source/_integrations/water_heater.markdown index dfad8286c51..14f5a23a6e5 100644 --- a/source/_integrations/water_heater.markdown +++ b/source/_integrations/water_heater.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The `water_heater` integration is built for the controlling and monitoring of hot water heaters. diff --git a/source/_integrations/weather.markdown b/source/_integrations/weather.markdown index c4417626f5d..827101a59fc 100644 --- a/source/_integrations/weather.markdown +++ b/source/_integrations/weather.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: weather -ha_integration_type: integration +ha_integration_type: entity --- The `weather` platforms gather meteorological information from web services and display the conditions and other details about the weather at the given location. Read the integration documentation for your particular weather provider to learn how to set it up. diff --git a/source/_integrations/webhook.markdown b/source/_integrations/webhook.markdown index f1abf6b5d8c..53ff11cb9d8 100644 --- a/source/_integrations/webhook.markdown +++ b/source/_integrations/webhook.markdown @@ -1,11 +1,14 @@ --- -ha_release: 0.8 title: Webhook -ha_domain: webhook +description: Instructions on how to setup webhook triggers within Home Assistant. +ha_category: + - Automation +ha_release: 0.8 ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' +ha_domain: webhook ha_integration_type: integration --- diff --git a/source/_integrations/websocket_api.markdown b/source/_integrations/websocket_api.markdown index 163236337c3..b204001c40d 100644 --- a/source/_integrations/websocket_api.markdown +++ b/source/_integrations/websocket_api.markdown @@ -10,7 +10,7 @@ ha_codeowners: ha_domain: websocket_api ha_platforms: - sensor -ha_integration_type: integration +ha_integration_type: system --- The `websocket_api` integration set up a WebSocket API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [`http` component](/integrations/http/). diff --git a/source/_integrations/worldclock.markdown b/source/_integrations/worldclock.markdown index a3a76e7a31c..ad0115af7da 100644 --- a/source/_integrations/worldclock.markdown +++ b/source/_integrations/worldclock.markdown @@ -44,7 +44,7 @@ time_format: default: "%H:%M" {% endconfiguration %} -For valid time zones check the **TZ** column in the [Wikipedia overview](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Or get the full list from the [pytz](https://pypi.python.org/pypi/pytz) module. +For valid time zones, check the **TZ** column in the [Wikipedia overview](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), or get the full list from the [pytz](https://pypi.python.org/pypi/pytz) module. ```shell python3 -c "import pytz;print(pytz.all_timezones)" diff --git a/source/_integrations/xiaomi_tv.markdown b/source/_integrations/xiaomi_tv.markdown index 0819a3b83f2..f99056084e0 100644 --- a/source/_integrations/xiaomi_tv.markdown +++ b/source/_integrations/xiaomi_tv.markdown @@ -13,7 +13,7 @@ ha_platforms: ha_integration_type: integration --- -The `xiaomi_tv` platform allows you to control a [Xiaomi TV](https://www.mi.com/en/mitv3s/65flat/). +The `xiaomi_tv` platform allows you to control a [Xiaomi TV](https://www.mi.com/global/mitv3s/65flat/). You need to make sure the TV is connected to the internet, and that your Home Assistant instance is on the same network. diff --git a/source/_integrations/yamaha.markdown b/source/_integrations/yamaha.markdown index ccad6089aaf..23e64834fb1 100644 --- a/source/_integrations/yamaha.markdown +++ b/source/_integrations/yamaha.markdown @@ -22,6 +22,7 @@ Supported devices: - [RX-V673](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v673/specs.html) - [RX-V685](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v585_u/specs.html) - [RX-V773](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v773/specs.html) +- [RX-V3067](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v3067/specs.html) - And more To add a Yamaha Network Receiver to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/zeroconf.markdown b/source/_integrations/zeroconf.markdown index b814fb1bc78..bd269a9d337 100644 --- a/source/_integrations/zeroconf.markdown +++ b/source/_integrations/zeroconf.markdown @@ -9,7 +9,7 @@ ha_codeowners: - '@bdraco' ha_domain: zeroconf ha_iot_class: Local Push -ha_integration_type: integration +ha_integration_type: system --- The `zeroconf` integration will scan the network for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the configuration panel. It will also make Home Assistant discoverable for other services in the network. Zeroconf is also sometimes known as Bonjour, Rendezvous, and Avahi. diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index e97fab09ca3..4b10ffe2c06 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -146,13 +146,14 @@ a new pop-up asking for a radio type. In the pop-up: Press `Submit` to save radio type and you will get a new form asking for port settings specific for this radio type. In the pop-up: + - Serial device path - port speed (not applicable for all radios) - data flow control (not applicable for all radios) Most devices need at the very least the serial device path, like `/dev/ttyUSB0`, but it is recommended to use device path from `/dev/serial/by-id` folder, -e.g., `/dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_C0F003D3-if01-port0` +e.g., `/dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_C0F003D3-if01-port0` A list of available device paths can be found in {% my hardware title="Settings > System > HArdware" %} > **dot menu** > **All Hardware**. Press `Submit`. The success dialog will appear or an error will be displayed in the popup. An error is likely if Home Assistant can't access the USB device or your device is not up to date. Refer to [Troubleshooting](#troubleshooting) below for more information. @@ -181,7 +182,7 @@ Some devices can be auto-discovered, which can simplify the ZHA setup process. T | [ZigStar Stick (CC2652 + CH340B variant)](https://zig-star.com/projects/zigbee-stick-v4/) | USB | 1A86:7523 | | [Tube’s EFR32 Pro Ethernet/Serial Coordinator](https://www.tubeszb.com/) | USB| 10C4:EA60 | | [ZigStar Coordinators](https://zig-star.com/) | USB| 1A86:7523 | -| [ZigStar LAN/POE Coordinators ](https://zig-star.com/projects/zigbee-gw-lan/) | Zeroconf | zigstargw.local. | +| [ZigStar LAN/POE Coordinators](https://zig-star.com/projects/zigbee-gw-lan/) | Zeroconf | zigstargw.local. | | [Tube's CC2652P2 USB-powered Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_cc2652p2.local. | | [Tube's CC2652P2 PoE-powered Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_cc2652p2_poe.local. | | [Tube's EFR32 Based Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_efr32.local. | @@ -245,7 +246,7 @@ data: - 100 ``` -Note: `cluster_id: 25` may also be `cluster_id: 0x0019`. The two are synonymous. +Note: `cluster_id: 25` may also be `cluster_id: 0x0019`. The two are synonymous. ### Defining Zigbee channel to use @@ -281,7 +282,7 @@ zha: type: "switch" # corrected device type ``` -`{ieee}` is the device hardware address which can be read from the Home Assistant UI when looking at *Device info*. From device info, you can find the `{endpoint_id}` by viewing the *Zigbee device signature*. +`{ieee}` is the device hardware address which can be read from the Home Assistant UI when looking at _Device info_. From device info, you can find the `{endpoint_id}` by viewing the _Zigbee device signature_. ## Services @@ -306,9 +307,8 @@ from the same group: | `qr_code` | qr_code | QR code containing IEEE and Install Code of the joining ZB3 device
- Currently `qr_code` supports QR Install Codes from: - + - Aqara - Consciot - Embrighten @@ -369,20 +369,20 @@ To add a new device: Verify that you try to follow recommended best practices to avoid pairing and/or connection issues: -- 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. +- 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. ### Using router devices -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. +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. 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). @@ -395,10 +395,10 @@ An example using the default CC2531 coordinator firmware + two CC2531 routers; Y ### 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). +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). Binding is a "target destination" in form of a device address or group ID, endpoint, and cluster. For example, binding a Zigbee device like a remote to a Zigbee lightbulb, switch or group of lightbulbs allows direct control of the "target" device (light, switch, shade) from the "remote" Zigbee device, bypassing ZHA. This means that the remote can control the lightbulb/group of lightbulbs even when the Zigbee coordinator is not available. -Binding is only supported between the same cluster, for example, "output cluster id 6" (on/off cluster) of a remote, can be only bound to an "input cluster id 6" on the target device -- light, switch. +Binding is only supported between the same cluster, for example, "output cluster id 6" (on/off cluster) of a remote, can be only bound to an "input cluster id 6" on the target device -- light, switch. Note that not all devices support binding as it depends on the Zigbee implementation of the device itself. Also, by default ZHA bind remotes to the coordinator, so the coordinator could receive ZCL commands from the remotes and originate zha_events. However, some remotes, for example, the Philips RWL021 can only be bound to a single destination and it is not possible to make this switch to bind to other destinations like a device or groups unless you first unbind the remote from the coordinator. After you unbind the remote from the ZHA coordinator you can then bind it directly to any other Zigbee device or a group. @@ -436,7 +436,7 @@ When reporting issues, please provide the following information in addition to i 1. Debug logs for the issue, see [debug logging](#debug-logging) 2. Model of Zigbee radio being used -3. If issue is related to a specific Zigbee device, provide both "Zigbee Device Signature" and "Diagnostics" information. +3. If issue is related to a specific Zigbee device, provide both "Zigbee Device Signature" and "Diagnostics" information. * Both the "Zigbee Device Signature" and "Diagnostics" information can be found by clicking **Settings** -> **Devices & Services** -> **Zigbee Home Automation** (click **Configure**) -> **Devices** (pick your device) -> Click "**Zigbee Device Signature**" and "**Download Diagnostics**" respectively. ### Debug logging diff --git a/source/_integrations/zhong_hong.markdown b/source/_integrations/zhong_hong.markdown index 8c7c347cb1a..f4270bdecc0 100644 --- a/source/_integrations/zhong_hong.markdown +++ b/source/_integrations/zhong_hong.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -The `zhong_hong` climate platform lets you control [Zhonghong HVAC Gateway Controller](http://zhonghongtech.cn/v1/index.shtml) thermostats through Home Assistant. +The `zhong_hong` climate platform lets you control Zhonghong HVAC Gateway Controller thermostats through Home Assistant. To set it up, add the following information to your `configuration.yaml` file: diff --git a/source/_integrations/zwave_js.markdown b/source/_integrations/zwave_js.markdown index 22bc3a44ceb..33374625c28 100644 --- a/source/_integrations/zwave_js.markdown +++ b/source/_integrations/zwave_js.markdown @@ -471,14 +471,16 @@ This event can be used to trigger a refresh of values when the new state needs t ```yaml trigger: - platform: event - event_type: zwave_js_value_updated - event_data: - entity_id: switch.in_wall_dual_relay_switch + - platform: event + event_type: zwave_js_value_updated + event_data: + entity_id: switch.in_wall_dual_relay_switch action: - service: zwave_js.refresh_value - target: - entity_id: switch.in_wall_dual_relay_switch_2, switch.in_wall_dual_relay_switch_3 + data: + entity_id: + - switch.in_wall_dual_relay_switch_2 + - switch.in_wall_dual_relay_switch_3 ``` ## Automations diff --git a/source/_posts/2016-02-11-classifying-the-internet-of-things.markdown b/source/_posts/2016-02-11-classifying-the-internet-of-things.markdown index 4da2138f562..3fef64c8dfa 100644 --- a/source/_posts/2016-02-11-classifying-the-internet-of-things.markdown +++ b/source/_posts/2016-02-11-classifying-the-internet-of-things.markdown @@ -9,13 +9,13 @@ categories: Internet-of-Things og_image: /images/blog/2016-02-classifying-internet-of-things/social.png --- -The core of home automation is knowing what’s going on. The faster we know about a state change, the better we can serve the user. If you want to have your lights to turn on when you arrive at home, it doesn’t help if it only knows about it after you’ve already opened the door and manually (!!) turned on the light. +The core of home automation is knowing what’s going on. The faster we know about a state change, the better we can serve the user. If you want to have your lights to turn on when you arrive at home, it doesn’t help if it only knows about it after you’ve already opened the door and manually (!!) turned on the lights. Each smart device consists of the ‘normal’ device and the piece that makes it ‘smart’: the connectivity. The connectivity part of a device can consists of either control, state or both. State describes what a device is up to right now. For example, a light can be on with a red color and a medium brightness. -Control is about controlling the smart device by sending commands via an API. These commands can vary from configuring how a device works till mimicking how a user would interact with a device. A media player can allow skipping to the next track and a sensor could allow to configure its sensitivity or polling interval. +Control is about controlling the smart device by sending commands via an API. These commands can vary from configuring how a device works to mimicking how a user would interact with a device. A media player can allow skipping to the next track and a sensor could allow to configure its sensitivity or polling interval. The Home Assistant APIs are setup to be as convenient as possible. However, a network is always as weak as it’s weakest link. In our case these are the integrations. Take for example controlling a light that does not report state. The only state Home Assistant can report on after sending a command is the assumed state: what do we expect the state of the light to be if the command worked. @@ -113,7 +113,7 @@ These devices will offer an API that is locally accessible. The home automation Advantages: - - Does not depend on the internet + - Does not depend on the internet. Disadvantages: @@ -130,7 +130,7 @@ Advantages: Disadvantages: - If it does not also support polling, home automation will not be made aware of the state after booting up until it changes. - - If using deep sleep and wifi, will suffer a delay when waking up because connecting to WiFi and receiving an IP takes time. + - If using deep sleep and Wi-Fi, it will suffer a delay when waking up because connecting to WiFi and receiving an IP takes time. ## Control diff --git a/source/_posts/2017-12-17-introducing-home-assistant-cloud.markdown b/source/_posts/2017-12-17-introducing-home-assistant-cloud.markdown index 4dd267d5c63..2472f0ebd13 100644 --- a/source/_posts/2017-12-17-introducing-home-assistant-cloud.markdown +++ b/source/_posts/2017-12-17-introducing-home-assistant-cloud.markdown @@ -102,4 +102,4 @@ The plan is to hire developers to work fulltime on Home Assistant. We have grown _For more background on these topics, check out [HASS Podcast 15](https://hasspodcast.io/ha015/)._ [1]: https://nolanlawson.com/2017/03/05/what-it-feels-like-to-be-an-open-source-maintainer/ -[2]: https://www.kennethreitz.org/essays/the-reality-of-developer-burnout +[2]: https://kennethreitz.org/essays/2017/01/05/the-reality-of-developer-burnout diff --git a/source/_posts/2022-10-03-short-term-solutions-save-energy-and-money-europe.markdown b/source/_posts/2022-10-03-short-term-solutions-save-energy-and-money-europe.markdown index be31271c4b1..e7165b01752 100644 --- a/source/_posts/2022-10-03-short-term-solutions-save-energy-and-money-europe.markdown +++ b/source/_posts/2022-10-03-short-term-solutions-save-energy-and-money-europe.markdown @@ -90,7 +90,13 @@ Note: The vendor claims the device will support Matter in the future. It is uncl [Buy Aqara Smart Radiator Thermostat E1](https://www.aqara.com/eu/product/radiator-thermostat-e1) - + + +## Automations that can save energy + +Once you're able to control your thermostat and TRVs, you can start to save energy by automating your heating. Below are 5 useful automations to help with this. + + ## Wrap up diff --git a/source/_posts/2022-10-05-release-202210.markdown b/source/_posts/2022-10-05-release-202210.markdown new file mode 100644 index 00000000000..046618d70d4 --- /dev/null +++ b/source/_posts/2022-10-05-release-202210.markdown @@ -0,0 +1,950 @@ +--- +layout: post +title: "2022.10: All over the place" +description: "Bluetooth proxies supporting active connections, subviews for your dashboards, YAML automations in the UI editor, export data to Google Sheets, and iBeacons for your trash." +date: 2022-10-05 00:00:00 +date_formatted: "October 5 2022" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: +- Release-Notes +- Core +og_image: /images/blog/2022-10/social.png +--- + + + +Happy October! October is always a special month for the project. It is the +month everybody starts working on their home automations again, the month that +Hacktoberfest brings in lots of new contributions and contributors to the +project (👋 welcome!), and also this year: [the Month of "What the Heck?!"](/blog/2022/09/30/the-month-of-what-the-heck/). + +The Month of WTH already [looks very promising](https://community.home-assistant.io/c/what-the-heck/56), +and many good and interesting issues, ideas, and suggestions to streamline +have been proposed. Keep those topics and votes going ❤️. + +Oh! And Home Assistant Core 2022.10! 🎉 + +Last month's release was a big one; this month's release mostly continues to +improving on that. I guess it is no surprise that the biggest improvement can +be found (once again) in Bluetooth! There is a lot more, though this release +is a bit "all over the place", which is actually kinda nice. + +Enjoy the release! + +../Frenck + +PS: I noticed the [Home Assistant SkyConnect is now available for pre-order](/skyconnect/) 🥳 + + + +- [Marcel van der Veldt joins Nabu Casa](#marcel-van-der-veldt-joins-nabu-casa) +- [Active Bluetooth everywhere](#active-bluetooth-everywhere) +- [Support for iBeacons](#support-for-ibeacons) +- [Finding the right integration](#finding-the-right-integration) +- [Subviews for dashboards](#subviews-for-dashboards) +- [All dialogs restyled](#all-dialogs-restyled) +- [Viewing YAML automations in the automation editor](#viewing-yaml-automations-in-the-automation-editor) +- [Handling version numbers in templates](#handling-version-numbers-in-templates) +- [Google Sheets](#google-sheets) +- [Other noteworthy changes](#other-noteworthy-changes) +- [New Integrations](#new-integrations) +- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui) +- [Release 2022.10.1 - October 6](#release-2022101---october-6) +- [Release 2022.10.2 - October 9](#release-2022102---october-9) +- [Release 2022.10.3 - October 10](#release-2022103---october-10) +- [Release 2022.10.4 - October 14](#release-2022104---october-14) +- [Release 2022.10.5 - October 20](#release-2022105---october-20) +- [Need help? Join the community!](#need-help-join-the-community) +- [Breaking Changes](#breaking-changes) +- [Farewell to the following](#farewell-to-the-following) +- [All changes](#all-changes) + +Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=nlbwmnLi4Ms) today at 12:00 PDT / 21:00 CET! + + + +{% comment %} + + +Missed our release party live stream on YouTube? Don't worry! You can watch +the recording of it right here! + + + +{% endcomment %} + +## Marcel van der Veldt joins Nabu Casa + +We are excited to announce that [Marcel van der Veldt](https://github.com/marcelveldt) +has joined [Nabu Casa](https://www.nabucasa.com/)! + +Marcel is known for his contributions to the [Z-Wave integration](/integrations/zwave_js), +the rewrite of the [Hue integration](/integrations/hue), the +[Music Assistant custom integration](https://github.com/music-assistant/hass-music-assistant), +and many more! + +Marcel is going to be working on [Matter](https://csa-iot.org/all-solutions/matter/) +support in Home Assistant. Just in case you missed it, Matter [is now officially +available/released](https://twitter.com/balloob/status/1576421490106384385) 🎉. + +Welcome aboard Marcel! + +## Active Bluetooth everywhere + +Two releases back, we [introduced the Bluetooth integration](/blog/2022/08/03/release-20228/#first-class-bluetooth-support). +The previous release we brought Bluetooth everywhere in your home by adding +support for [Bluetooth Proxies](/blog/2022/09/07/release-20229/#bluetooth-everywhere). +Let's not stop there! + +In this release, those proxies now support active Bluetooth connections! 🤯 + +To explain this quickly: Previously, we could listen for Bluetooth devices +and only receive data via the proxies (passive connection); now, we can actively +set up a conversation with those devices and send data (active connection). This +adds the capability to extend the range of Bluetooth devices that can be +controlled 💙. + +Picture of a home showing how Bluetooth data is proxied via ESPHome devices to Home Assistant
+ +For this occasion, ESPHome will have an additional release, which adds this +functionality. We have also updated our [Bluetooth proxy installer website](https://esphome.github.io/bluetooth-proxies/) +to install with support for active connections. + +So, you want to control that SwitchBot Bluetooth device on the other end of your +home that seems out of reach? Now you can by installing a proxy on +a simple ESP32 device. + +Oh! Bonus: the Bluetooth performance has been improved too! Especially local +Bluetooth adapters should be quite a bit faster. 🚀 + +## Support for iBeacons + +This release also adds support for iBeacons. These are Bluetooth-enabled devices +that send out identifiers to announce their location. Home Assistant can +now pick those up and show an approximate distance to such an iBeacon. + +iBeacons can open up a lot of awesome use cases for automations. For example, +you could attach an iBeacon to your car, so you'll know the car is at home. Or, +on the trash can and use it to determine if the garbage is still sitting in the +garage on pick-up day and send out a notification. + +[Read more about iBeacons in our documentation](/integrations/ibeacon). + +## Finding the right integration + +Recently we [introduced "Supported brands"](/blog/2022/08/03/release-20228/#finding-the-integration-supporting-your-device), +allowing you to find integrations available under different brandings. +Now, we are taking it a step further streamlining the experience of adding new +devices or services. + +For some brands of devices, we have multiple integrations available. +For example, we have a lot of "Google" integrations. Some brands provide devices +that can work via Zigbee or their matching hub, meaning you'd have a choice +of integrating their hub or using the devices directly via Zigbee +(e.g., using [ZHA](/integrations/zha)). + +To make it more clear on the choices available, you can now categorize +integrations by brand. Home Assistant will show the options available +for that specific brand. For example, the "Google" brand: + +Screenshots showing adding an integration by the Google brands. Once you select Google, you will be offered all Google integrations
+ +This way, you no longer have to "find out" how your device could be integrated. +We now show if an integration uses "the cloud" or not, so you are aware upfront. + +We often get questions about YAML-only integrations that cannot be found in the +user interface. While we love them to be available via the UI, we can +understand not finding them at all can be confusing. + +To help with that, we now show **all** integrations when adding a new +integration, including those only available via YAML. While they cannot be +set up via the user interface, we now do provide links to the documentation +with the instructions on how to set it up. + +## Subviews for dashboards + +This might be one of the coolest and most impactful features that has been +added to our Dashboards lately: Subviews! + +Each view on a dashboard can now be marked as being a "Subview": + +Screenshot showing the new subview toggle in the view options
+ +Subviews won't show up in the navigation bar of your dashboard, meaning +you can only navigate to them by using, for example, a navigation action on +a button. + +When you navigate to a subview, the subview itself will not show the Dashboard +navigation bar. Instead, it will show a back button to the previous view +you came from. + +

+Screen recording showing a Kitchen subview in action +Screen recording showing a Kitchen subview in action. +

+ +This allows for creating cool navigation concepts that are particularly helpful +on a mobile or tablet device. + +## All dialogs restyled + +All dialogs that are shown in the Home Assistant have been slightly updated. + +Most notably: The dialogs are now rounder on the edges, and the action buttons +have been styled and named more consistently. It brings Home Assistant closer +to version 3 of the Material Design that Home Assistant follows. + +Screenshot showing one of the restyled dialogs.
+ +## Viewing YAML automations in the automation editor + +In the last release, we revamped our automation editor, and we are very +happy to read how many of you loved these changes ❤️ + +However, if you manage your automations manually in YAML, you'd always be +served an error message when trying to open an automation in the UI. Not very +helpful, right? + +This has been improved! You can now open **any** automation (or script) in the +UI. This lets you view your automation, providing a quick glance at its +workings. + +Screenshot showing an YAML automation as read-only in the automation editor.
+ +Besides, as a bonus, if you have considered moving your automation to the UI, +you can now view and experience how it would look/work for those automations +and import them into the UI with the click of a button in the top right. + +## Handling version numbers in templates + +A new `version()` template function/filter has been added, allowing you to do +awesome things with version numbers in templates. + +It allows for getting information about a version number, comparing version +numbers, and even checking the difference between two versions. + +{% raw %} + +- `{{ version("2022.10.0") > "2022.9.7" }}` + Returns true, as `2022.10.0` is newer. + +- `{{ (version("2022.10.1") - "2022.10.0").patch }}` + Returns true, as the patch number of the version changed. + +- `{{ (version("2022.10.1") - "2022.10.0").minor }}` + Returns false, as there is just a patch difference. + +- `{{ version("2022.10.0b0").beta }}` + Return true, as this is a beta version. + +{% endraw %} + +`version()` can be helpful when building automations or Blueprints for +[update](/integrations/update) entities. You could, for example, easier +decide to automatically upgrade or send more detailed notification messages +in case a patch version is available. + +## Google Sheets + +This release introduces a new way to export data from Home Assistant: +**[Google Sheets]**. + +With this integration, you can add new rows to a Google Sheet document +from a service call, allowing you to export data from automations for +further processing, visualization, or insights. + +

+Screenshots exporting energy data to Google Sheets from Home Assistant +Export anything you like to a sheet in Google Sheets, like your energy usage. +

+ +Maybe you like to export your daily energy usage or keep track of the number +of diapers you have used in your baby feeding diary spreadsheet. + +The possibilities with this are endless. + +[Google Sheets]: /integrations/google_sheets + +## Other noteworthy changes + +There is much more juice in this release; here are some of the other +noteworthy changes this release: + +- The long-term statics card now uses the unit you have selected a sensor to + be in. So, if you've changed the sensor, it will now match! Also, more sensors + are now able to change/convert units. Thanks, [@emontnemery] and [@epenet]! +- When removing integrations that use application credentials, we will now ask + if you want to clean up those credentials. Nice touch, [@allenporter]! +- The [Netatmo] integration got lots of love! It now supports the Netatmo + Doorbell, modulating thermostats and now also supports devices from Legrand, + Bubendorff, BTicino and Smarther! Thank you [@cgtobi]! +- If you have a Prusa printer, you can now use the [PrusaLink] integration + to control your print job using the new job control buttons available! + Thanks, [@balloob]! +- [BTHome] now supports binary sensors! Thanks, [@Ernst79]! +- The [HomeKit Controller] now supports [Thread] transport. Thanks, [@roysjosh] + and [@Jc2k]! +- [forked-daapd] (OwnTone) now supports the media browser and can leverage + the Spotify integration. Thanks, [@uvjustin]! +- The [Min/Max] helper now supports calculating the statistical range. For + example, helpful if you want to show the difference between the coolest and + warmest rooms. Thanks, [@jsherman256]! +- [@holysoles] added unique ID support to the [Universal Media Player], + [@magic7s] added support for it to [OhmConnect]. Thanks! +- [NETGEAR] now has a bunch of switches to control things like parental + controls, Wi-Fi availability, and access. Thanks, [@starkillerOG]! + +[@allenporter]: https://github.com/allenporter +[@balloob]: https://github.com/balloob +[@cgtobi]: https://github.com/cgtobi +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@Ernst79]: https://github.com/Ernst79 +[@holysoles]: https://github.com/holysoles +[@Jc2k]: https://github.com/Jc2k +[@jsherman256]: https://github.com/jsherman256 +[@magic7s]: https://github.com/magic7s +[@roysjosh]: https://github.com/roysjosh +[@starkillerOG]: https://github.com/starkillerOG +[@uvjustin]: https://github.com/uvjustin +[BTHome]: /integrations/bthome +[forked-daapd]: /integrations/forked_daapd +[HomeKit Controller]: /integrations/homekit_controller +[Min/Max]: /integrations/min_max +[Netatmo]: /integrations/netatmo +[NETGEAR]: /integrations/netgear +[OhmConnect]: /integrations/ohmconnect +[PrusaLink]: /integrations/prusalink +[Thread]: https://en.wikipedia.org/wiki/Thread_(network_protocol) +[Universal Media Player]: /integrations/universal + +## New Integrations + +We welcome the following new integrations in this release: + +- [Google Sheets], added by [@tkdrob] +- [iBeacon Tracker], added by [@bdraco] +- [Kegtron], added by [@Ernst79] +- [Keymitt MicroBot Push], added by [@spycle] +- [Lidarr], added by [@tkdrob] +- [Nibe Heat Pump], added by [@elupus] +- [Nobø Ecohub], added by [@oyvindwe] +- [SwitchBee], added by [@jafar-atili] +- [Tilt Hydrometer Bluetooth], added by [@apt-itude] + +[@apt-itude]: https://github.com/apt-itude +[@bdraco]: https://github.com/bdraco +[@elupus]: https://github.com/elupus +[@Ernst79]: https://github.com/Ernst79 +[@jafar-atili]: https://github.com/jafar-atili +[@oyvindwe]: https://github.com/oyvindwe +[@spycle]: https://github.com/spycle +[@tkdrob]: https://github.com/tkdrob +[Google Sheets]: /integrations/google_sheets +[iBeacon Tracker]: /integrations/ibeacon +[Kegtron]: /integrations/kegtron +[Keymitt MicroBot Push]: /integrations/keymitt_ble +[Lidarr]: /integrations/lidarr +[Nibe Heat Pump]: /integrations/nibe_heatpump +[Nobø Ecohub]: /integrations/nobo_hub +[SwitchBee]: /integrations/switchbee +[Tilt Hydrometer Bluetooth]: /integrations/tilt_ble + +## Integrations now available to set up from the UI + +The following integrations are now available via the Home Assistant UI: + +- [DSMR Reader], done by [@Glodenox] +- [Radarr], done by [@tkdrob] + +[@Glodenox]: https://github.com/Glodenox +[@tkdrob]: https://github.com/tkdrob +[DSMR Reader]: /integrations/dsmr_reader +[Radarr]: /integrations/radarr + +## Release 2022.10.1 - October 6 + +- Simplify long term statistics by always supporting unit conversion ([@emontnemery] - [#79557]) ([sensor docs]) +- ZHA radio migration: reset the old adapter ([@puddly] - [#79663]) ([zha docs]) +- Fix bluetooth diagnostics on macos ([@bdraco] - [#79680]) ([bluetooth docs]) +- Bump btsmarthub_devicelist to 0.2.3 ([@typhoon2099] - [#79705]) ([bt_smarthub docs]) +- Correct how unit used for statistics is determined ([@emontnemery] - [#79725]) ([sensor docs]) +- Update frontend to 20221006.0 ([@bramkragten] - [#79745]) ([frontend docs]) + +[#79557]: https://github.com/home-assistant/core/pull/79557 +[#79659]: https://github.com/home-assistant/core/pull/79659 +[#79663]: https://github.com/home-assistant/core/pull/79663 +[#79680]: https://github.com/home-assistant/core/pull/79680 +[#79705]: https://github.com/home-assistant/core/pull/79705 +[#79725]: https://github.com/home-assistant/core/pull/79725 +[#79745]: https://github.com/home-assistant/core/pull/79745 +[@bdraco]: https://github.com/bdraco +[@bramkragten]: https://github.com/bramkragten +[@emontnemery]: https://github.com/emontnemery +[@frenck]: https://github.com/frenck +[@puddly]: https://github.com/puddly +[@typhoon2099]: https://github.com/typhoon2099 +[bluetooth docs]: /integrations/bluetooth/ +[bt_smarthub docs]: /integrations/bt_smarthub/ +[frontend docs]: /integrations/frontend/ +[sensor docs]: /integrations/sensor/ +[zha docs]: /integrations/zha/ + +## Release 2022.10.2 - October 9 + +- 2022.10.0 ([@frenck] - [#79659]) +- 2022.10.1 ([@balloob] - [#79751]) ([zha docs]) ([frontend docs]) ([sensor docs]) ([bt_smarthub docs]) ([bluetooth docs]) +- Fix london_underground TUBE_LINES to match current API output ([@zhibek] - [#79410]) ([london_underground docs]) +- Process abbreviated availability options in mqtt discovery payload ([@bertmelis] - [#79712]) ([mqtt docs]) +- Show all valid heatpump selections ([@elupus] - [#79756]) ([nibe_heatpump docs]) +- Bump pydaikin version ([@fredrike] - [#79761]) ([daikin docs]) +- Fix Bluetooth failover when esphome device unexpectedly disconnects ([@bdraco] - [#79769]) ([esphome docs]) +- Fix state updating for crossfade switch on Sonos ([@jjlawren] - [#79776]) ([sonos docs]) +- Revert "Improve device_automation trigger validation" ([@emontnemery] - [#79778]) ([rfxtrx docs]) ([webostv docs]) ([device_automation docs]) +- Update pyoverkiz to 1.5.5 ([@cdce8p] - [#79798]) ([overkiz docs]) +- Fix realtime option for hvv_departures ([@lennart-k] - [#79799]) ([hvv_departures docs]) +- Fix keymitt_ble discovery ([@spycle] - [#79809]) ([keymitt_ble docs]) +- Fix POE control port_idx error in UniFi ([@Kane610] - [#79838]) ([unifi docs]) +- Update typing-extensions constraint to >=4.4.0 ([@cdce8p] - [#79860]) +- Bump ZHA dependencies ([@puddly] - [#79898]) ([zha docs]) +- Bump pyatmo to 7.1.1 ([@cgtobi] - [#79918]) ([netatmo docs]) + +[#79410]: https://github.com/home-assistant/core/pull/79410 +[#79659]: https://github.com/home-assistant/core/pull/79659 +[#79712]: https://github.com/home-assistant/core/pull/79712 +[#79751]: https://github.com/home-assistant/core/pull/79751 +[#79756]: https://github.com/home-assistant/core/pull/79756 +[#79761]: https://github.com/home-assistant/core/pull/79761 +[#79769]: https://github.com/home-assistant/core/pull/79769 +[#79776]: https://github.com/home-assistant/core/pull/79776 +[#79778]: https://github.com/home-assistant/core/pull/79778 +[#79798]: https://github.com/home-assistant/core/pull/79798 +[#79799]: https://github.com/home-assistant/core/pull/79799 +[#79809]: https://github.com/home-assistant/core/pull/79809 +[#79838]: https://github.com/home-assistant/core/pull/79838 +[#79860]: https://github.com/home-assistant/core/pull/79860 +[#79898]: https://github.com/home-assistant/core/pull/79898 +[#79918]: https://github.com/home-assistant/core/pull/79918 +[@Kane610]: https://github.com/Kane610 +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@bertmelis]: https://github.com/bertmelis +[@cdce8p]: https://github.com/cdce8p +[@cgtobi]: https://github.com/cgtobi +[@elupus]: https://github.com/elupus +[@emontnemery]: https://github.com/emontnemery +[@fredrike]: https://github.com/fredrike +[@frenck]: https://github.com/frenck +[@jjlawren]: https://github.com/jjlawren +[@lennart-k]: https://github.com/lennart-k +[@puddly]: https://github.com/puddly +[@spycle]: https://github.com/spycle +[@zhibek]: https://github.com/zhibek +[bluetooth docs]: /integrations/bluetooth/ +[bt_smarthub docs]: /integrations/bt_smarthub/ +[daikin docs]: /integrations/daikin/ +[device_automation docs]: /integrations/device_automation/ +[esphome docs]: /integrations/esphome/ +[frontend docs]: /integrations/frontend/ +[hvv_departures docs]: /integrations/hvv_departures/ +[keymitt_ble docs]: /integrations/keymitt_ble/ +[london_underground docs]: /integrations/london_underground/ +[mqtt docs]: /integrations/mqtt/ +[netatmo docs]: /integrations/netatmo/ +[nibe_heatpump docs]: /integrations/nibe_heatpump/ +[overkiz docs]: /integrations/overkiz/ +[rfxtrx docs]: /integrations/rfxtrx/ +[sensor docs]: /integrations/sensor/ +[sonos docs]: /integrations/sonos/ +[unifi docs]: /integrations/unifi/ +[webostv docs]: /integrations/webostv/ +[zha docs]: /integrations/zha/ + +## Release 2022.10.3 - October 10 + +- Bump pyhiveapi to 0.5.14 ([@KJonline] - [#79530]) ([hive docs]) (dependency) +- Bump bluetooth-auto-recovery to 0.3.4 ([@bdraco] - [#79971]) ([bluetooth docs]) (dependency) +- Bump pySwitchbot to 0.19.15 ([@bdraco] - [#79972]) ([switchbot docs]) (dependency) +- Update to pygtfs 0.1.7 ([@molisani] - [#79975]) ([gtfs docs]) (dependency) +- Update frontend to 20221010.0 ([@bramkragten] - [#79994]) ([frontend docs]) +- Remove system marker from Supervisor integration ([@frenck] - [#79997]) ([hassio docs]) +- Fix Eve Thermo always showing as heating in homekit_controller even when off ([@Jc2k] - [#80019]) ([homekit_controller docs]) +- Fix armed extra state attribute in fibaro entity ([@rappenze] - [#80034]) ([fibaro docs]) +- Bump aiounifi to v39 ([@Kane610] - [#80043]) ([unifi docs]) (dependency) +- Fix Netatmo device trigger ([@cgtobi] - [#80047]) ([netatmo docs]) +- Bump ZHA dependencies ([@puddly] - [#80049]) ([zha docs]) (dependency) + +[#79530]: https://github.com/home-assistant/core/pull/79530 +[#79659]: https://github.com/home-assistant/core/pull/79659 +[#79751]: https://github.com/home-assistant/core/pull/79751 +[#79949]: https://github.com/home-assistant/core/pull/79949 +[#79971]: https://github.com/home-assistant/core/pull/79971 +[#79972]: https://github.com/home-assistant/core/pull/79972 +[#79975]: https://github.com/home-assistant/core/pull/79975 +[#79994]: https://github.com/home-assistant/core/pull/79994 +[#79997]: https://github.com/home-assistant/core/pull/79997 +[#80019]: https://github.com/home-assistant/core/pull/80019 +[#80034]: https://github.com/home-assistant/core/pull/80034 +[#80043]: https://github.com/home-assistant/core/pull/80043 +[#80047]: https://github.com/home-assistant/core/pull/80047 +[#80049]: https://github.com/home-assistant/core/pull/80049 +[@Jc2k]: https://github.com/Jc2k +[@KJonline]: https://github.com/KJonline +[@Kane610]: https://github.com/Kane610 +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@bramkragten]: https://github.com/bramkragten +[@cgtobi]: https://github.com/cgtobi +[@frenck]: https://github.com/frenck +[@molisani]: https://github.com/molisani +[@puddly]: https://github.com/puddly +[@rappenze]: https://github.com/rappenze +[bluetooth docs]: /integrations/bluetooth/ +[bt_smarthub docs]: /integrations/bt_smarthub/ +[fibaro docs]: /integrations/fibaro/ +[frontend docs]: /integrations/frontend/ +[gtfs docs]: /integrations/gtfs/ +[hassio docs]: /integrations/hassio/ +[hive docs]: /integrations/hive/ +[homekit_controller docs]: /integrations/homekit_controller/ +[netatmo docs]: /integrations/netatmo/ +[sensor docs]: /integrations/sensor/ +[switchbot docs]: /integrations/switchbot/ +[unifi docs]: /integrations/unifi/ +[zha docs]: /integrations/zha/ + +## Release 2022.10.4 - October 14 + +- Fix state saving when sharing topics for MQTT entities ([@jbouwh] - [#79421]) ([mqtt docs]) +- Fix nobo_hub presenting temperature in zone with one decimal ([@oyvindwe] - [#79743]) ([nobo_hub docs]) +- Bump aioesphomeapi to 11.1.1 ([@jesserockz] - [#79762]) ([esphome docs]) +- Fix wallbox jwt issue ([@hesselonline] - [#79948]) ([wallbox docs]) +- Fix audio detection for IP4m-1041 Amcrest camera ([@flacjacket] - [#80066]) ([amcrest docs]) +- Fix set humidity in Tuya ([@frenck] - [#80132]) ([tuya docs]) +- Correct units for sensors in nibe heatpump ([@elupus] - [#80140]) ([nibe_heatpump docs]) +- Bump yalexs to 1.2.6 ([@bdraco] - [#80142]) ([august docs]) +- Fix incorrect deprecation year for conversion utils ([@gjohansson-ST] - [#80195]) +- Fix nexia permanent hold when cool and heat temps are within 2 degrees ([@bdraco] - [#80297]) ([nexia docs]) +- Bump HAP-python to fix pairing with iOS 16 ([@bdraco] - [#80301]) ([homekit docs]) +- Bump total_connect_client to 2022.10 ([@austinmroczek] - [#80331]) ([totalconnect docs]) + +[#79421]: https://github.com/home-assistant/core/pull/79421 +[#79659]: https://github.com/home-assistant/core/pull/79659 +[#79743]: https://github.com/home-assistant/core/pull/79743 +[#79751]: https://github.com/home-assistant/core/pull/79751 +[#79762]: https://github.com/home-assistant/core/pull/79762 +[#79948]: https://github.com/home-assistant/core/pull/79948 +[#79949]: https://github.com/home-assistant/core/pull/79949 +[#80054]: https://github.com/home-assistant/core/pull/80054 +[#80066]: https://github.com/home-assistant/core/pull/80066 +[#80132]: https://github.com/home-assistant/core/pull/80132 +[#80140]: https://github.com/home-assistant/core/pull/80140 +[#80142]: https://github.com/home-assistant/core/pull/80142 +[#80195]: https://github.com/home-assistant/core/pull/80195 +[#80297]: https://github.com/home-assistant/core/pull/80297 +[#80301]: https://github.com/home-assistant/core/pull/80301 +[#80331]: https://github.com/home-assistant/core/pull/80331 +[@austinmroczek]: https://github.com/austinmroczek +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@elupus]: https://github.com/elupus +[@flacjacket]: https://github.com/flacjacket +[@frenck]: https://github.com/frenck +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@hesselonline]: https://github.com/hesselonline +[@jbouwh]: https://github.com/jbouwh +[@jesserockz]: https://github.com/jesserockz +[@oyvindwe]: https://github.com/oyvindwe +[amcrest docs]: /integrations/amcrest/ +[august docs]: /integrations/august/ +[bluetooth docs]: /integrations/bluetooth/ +[bt_smarthub docs]: /integrations/bt_smarthub/ +[esphome docs]: /integrations/esphome/ +[frontend docs]: /integrations/frontend/ +[homekit docs]: /integrations/homekit/ +[mqtt docs]: /integrations/mqtt/ +[nexia docs]: /integrations/nexia/ +[nibe_heatpump docs]: /integrations/nibe_heatpump/ +[nobo_hub docs]: /integrations/nobo_hub/ +[sensor docs]: /integrations/sensor/ +[totalconnect docs]: /integrations/totalconnect/ +[tuya docs]: /integrations/tuya/ +[wallbox docs]: /integrations/wallbox/ +[zha docs]: /integrations/zha/ + +## Release 2022.10.5 - October 20 + +- Handle ReadTimeout during wolflink setup ([@jjedelsky] - [#78135]) ([wolflink docs]) +- Bump plugwise to v0.21.4 ([@bouwew] - [#79831]) ([plugwise docs]) +- Fix Intellifire UDP timeout ([@jeeftor] - [#80204]) ([intellifire docs]) +- Fix solaredge missing data value ([@rozie] - [#80321]) ([solaredge docs]) +- Fix Shelly EM negative power factor ([@thecode] - [#80348]) ([shelly docs]) +- Fix updating Amcrest binary sensors ([@flacjacket] - [#80365]) ([amcrest docs]) +- Fix stream recorder with orientation transforms ([@uvjustin] - [#80370]) ([stream docs]) +- Skip webostv trigger validation before the domain is setup ([@dn0sar] - [#80372]) ([webostv docs]) +- Fix "Unknown power_off command" for Samsung H6410 ([@definitio] - [#80386]) ([samsungtv docs]) +- Handle TimeoutError during HKC setup attempts ([@bdraco] - [#80399]) ([homekit_controller docs]) +- Bump aiohomekit to 2.0.2 ([@bdraco] - [#80402]) ([homekit_controller docs]) +- Bump ZHA quirks to 0.0.83 ([@dmulcahey] - [#80489]) ([zha docs]) +- Don't add RainMachine restriction switches if underlying data is missing ([@bachya] - [#80502]) ([rainmachine docs]) +- Add missed write state request for MQTT cover ([@jbouwh] - [#80540]) ([mqtt docs]) +- Save last target temperature in Shelly climate platform ([@bieniu] - [#80561]) ([shelly docs]) +- Bump bluetooth-auto-recovery to 0.3.6 ([@bdraco] - [#80643]) ([bluetooth docs]) +- Pin uamqp==1.6.0 ([@frenck] - [#80678]) +- Fix bluetooth calls from automations in esphome ([@bdraco] - [#80683]) ([esphome docs]) ([bluetooth docs]) + +[#78135]: https://github.com/home-assistant/core/pull/78135 +[#79659]: https://github.com/home-assistant/core/pull/79659 +[#79751]: https://github.com/home-assistant/core/pull/79751 +[#79831]: https://github.com/home-assistant/core/pull/79831 +[#79949]: https://github.com/home-assistant/core/pull/79949 +[#80054]: https://github.com/home-assistant/core/pull/80054 +[#80204]: https://github.com/home-assistant/core/pull/80204 +[#80321]: https://github.com/home-assistant/core/pull/80321 +[#80343]: https://github.com/home-assistant/core/pull/80343 +[#80348]: https://github.com/home-assistant/core/pull/80348 +[#80365]: https://github.com/home-assistant/core/pull/80365 +[#80370]: https://github.com/home-assistant/core/pull/80370 +[#80372]: https://github.com/home-assistant/core/pull/80372 +[#80386]: https://github.com/home-assistant/core/pull/80386 +[#80399]: https://github.com/home-assistant/core/pull/80399 +[#80402]: https://github.com/home-assistant/core/pull/80402 +[#80489]: https://github.com/home-assistant/core/pull/80489 +[#80502]: https://github.com/home-assistant/core/pull/80502 +[#80540]: https://github.com/home-assistant/core/pull/80540 +[#80561]: https://github.com/home-assistant/core/pull/80561 +[#80643]: https://github.com/home-assistant/core/pull/80643 +[#80678]: https://github.com/home-assistant/core/pull/80678 +[#80683]: https://github.com/home-assistant/core/pull/80683 +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@bieniu]: https://github.com/bieniu +[@bouwew]: https://github.com/bouwew +[@definitio]: https://github.com/definitio +[@dmulcahey]: https://github.com/dmulcahey +[@dn0sar]: https://github.com/dn0sar +[@flacjacket]: https://github.com/flacjacket +[@frenck]: https://github.com/frenck +[@jbouwh]: https://github.com/jbouwh +[@jeeftor]: https://github.com/jeeftor +[@jjedelsky]: https://github.com/jjedelsky +[@rozie]: https://github.com/rozie +[@thecode]: https://github.com/thecode +[@uvjustin]: https://github.com/uvjustin +[amcrest docs]: /integrations/amcrest/ +[august docs]: /integrations/august/ +[bluetooth docs]: /integrations/bluetooth/ +[bt_smarthub docs]: /integrations/bt_smarthub/ +[esphome docs]: /integrations/esphome/ +[frontend docs]: /integrations/frontend/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[intellifire docs]: /integrations/intellifire/ +[mqtt docs]: /integrations/mqtt/ +[nexia docs]: /integrations/nexia/ +[plugwise docs]: /integrations/plugwise/ +[rainmachine docs]: /integrations/rainmachine/ +[samsungtv docs]: /integrations/samsungtv/ +[sensor docs]: /integrations/sensor/ +[shelly docs]: /integrations/shelly/ +[solaredge docs]: /integrations/solaredge/ +[stream docs]: /integrations/stream/ +[webostv docs]: /integrations/webostv/ +[wolflink docs]: /integrations/wolflink/ +[zha docs]: /integrations/zha/ + +## Need help? Join the community! + +Home Assistant has a great community of users who are all more than willing +to help each other out. So, join us! + +Our very active [Discord chat server](/join-chat) is an excellent place to be +at, and don't forget to join our amazing [forums](https://community.home-assistant.io/). + +Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues), +to get it fixed! Or, check [our help page](/help) for guidance for more +places you can go. + +Are you more into email? [Sign-up for our Building the Open Home Newsletter](/newsletter) +to get the latest news about features, things happening in our community and +other news about building an Open Home; straight into your inbox. + +## Breaking Changes + +Below is a listing of the breaking change for this release, per subject or +integration. Click on one of those to read more about the breaking change +for that specific item. + +{% details "Bayesian" %} + +`prob_given_false` is now a required configuration variable. Previously it had a default value of `1 - prob_given_true`; this didn't really have any mathematical basis and so has been removed. You can use this documentation to calculate what it should be, or to restore your previous functionality, set it to `1 - prob_given_true`. + +The logic of Bayesian sensors has been significantly corrected. Previously the configs given in the examples above would not have worked as expected. For example, if the device `device_tracker.paulus` was `home`, this would not have updated the probability that `Paulus Home` was on. This is because Bayesian ignored observations that were false, even though that *should* update our probabilities. + +Because of this, many users will have had to use either of two workarounds: + +1. Providing additional observations that evaluate to `True` when the other evaluates to `False`, effectively mirroring it. This forced Bayesian to take into account a negative observation. +2. Tweaking `prior`, `threshold`, and even sometimes `prob_given_true` and `prob_given_false` to get the desired functionality, often with the help of a community-provided spreadsheet for iterative testing. + +To solve (1), all you need do is delete the mirrored entry as shown below: + +```yaml +# Example of a mirrored entry used a workaround +binary_sensor: + - name: "Heat On" + platform: bayesian + prior: 0.2 + probability_threshold: 0.9 + observations: + - platform: numeric_state + entity_id: sensor.outside_air_temperature_fahrenheit + prob_given_true: 0.95 + prob_given_false: 0.05 + below: 50 + - platform: numeric_state # line no longer needed - delete + entity_id: sensor.outside_air_temperature_fahrenheit # line no longer needed - delete + prob_given_true: 0.05 # line no longer needed - delete + prob_given_false: 0.95 # line no longer needed - delete + above: 50 # no longer needed - delete + - platform: state + entity_id: binary_sensor.house_occupied + prob_given_true: 0.3 + prob_given_false: 0.05 + to_state: "on" + - platform: state # line no longer needed - delete + entity_id: binary_sensor.house_occupied # line no longer needed - delete + prob_given_true: 0.7 # line no longer needed - delete + prob_given_false: 0.95 # line no longer needed - delete + to_state: "off" # line no longer needed - delete +``` + +To solve (2), you need to re-estimate your probabilities using this documentation - this will likely result in better performance in the long term. + +A hacky and *not recommended* workaround to restore your previous functionality would be to put in a mirrored entry for each observation where `prob_given_false` is equal to `prob_given_true`. This will induce the same behavior as before - the negative, counterfactual observation is essentially ignored. Be warned - this may break or cause errors in future versions and will not work for `template` or `numeric_state` observations. For templates, instead, make them return `None` where they would have returned `False` to induce Bayesian to ignore them. + +```yaml +binary_sensor: + - name: "Heat On" + platform: bayesian + prior: 0.2 + probability_threshold: 0.9 + observations: + - platform: state + entity_id: binary_sensor.house_occupied + prob_given_true: 0.3 + prob_given_false: 0.05 + to_state: "on" + - platform: state # not + entity_id: binary_sensor.house_occupied # not recommended + prob_given_true: 0.5 # not recommended + prob_given_false: 0.5 # not recommended + to_state: "off" # not recommended +``` + +([@HarvsG] - [#67631]) ([documentation](/integrations/bayesian)) + +[@HarvsG]: https://github.com/HarvsG +[#67631]: https://github.com/home-assistant/core/pull/67631 + +{% enddetails %} + +{% details "Bluesound" %} + +When the player is grouped and isn't master, the state no longer reports as +"grouped" but instead reports as "idle". + +([@epenet] - [#78096]) ([documentation](/integrations/bluesound)) + +[@epenet]: https://github.com/epenet +[#78096]: https://github.com/home-assistant/core/pull/78096 + +{% enddetails %} + +{% details "Elexa Guardian" %} + +The previously deprecated `guardian.reboot` and +`guardian.reset_valve_diagnostics` services have been removed and replaced +by button entities on the guardian valve controller device. + +([@bachya] - [#78663]) ([documentation](/integrations/guardian)) + +[@bachya]: https://github.com/bachya +[#78663]: https://github.com/home-assistant/core/pull/78663 + +{% enddetails %} + +{% details "Frontier Silicon" %} + +When the player is loading, the state no longer reports as "opening", +but instead reports as "buffering". + +([@epenet] - [#78101]) ([documentation](/integrations/frontier_silicon)) + +[@epenet]: https://github.com/epenet +[#78101]: https://github.com/home-assistant/core/pull/78101 + +{% enddetails %} + +{% details "HERE Travel Time" %} + +The previously deprecated YAML configuration of the HERE Travel Time +integration has been removed. + +HERE Travel Time is now configured via the UI, any existing YAML +configuration has been imported in previous releases and can now be safely +removed from your YAML configuration files + +([@eifinger] - [#77959]) ([documentation](/integrations/here_travel_time)) + +[@eifinger]: https://github.com/eifinger +[#77959]: https://github.com/home-assistant/core/pull/77959 + +{% enddetails %} + +{% details "HomeKit Controller" %} + +When the player is not active, the state no longer reports as "problem", +but instead reports as "off". + +When the player is active, but the state doesn't match known states, +the state no longer reports as "ok" but instead reports as "on". + +([@epenet] - [#78105]) ([documentation](/integrations/homekit_controller)) + +[@epenet]: https://github.com/epenet +[#78105]: https://github.com/home-assistant/core/pull/78105 + +{% enddetails %} + +{% details "Radarr" %} + +Some breaking changes have been made in disabling the Movies count sensor out +of caution. This sensor can cause problems with massive databases. +If you still wish to use it, you may do so. + +Movie names are no longer included as attributes in the movies sensor. Upcoming +has been removed. It is being modernized as calendar items should be. +Diskspace is now split into different sensors, one for each folder. +Status and commands have been removed as they don't appear to have real +value for automations. + +([@tkdrob] - [#78965]) ([documentation](/integrations/radarr)) + +[@tkdrob]: https://github.com/tkdrob +[#78965]: https://github.com/home-assistant/core/pull/78965 + +{% enddetails %} + +{% details "Supervisor" %} + +In Home Assistant 2022.4, the binary sensors for showing an update from the +Supervisor integration were deprecated in favor of +[update entities](/integrations/hassio/#update-entities). + +These binary sensors for showing an update have now been removed. + +([@ludeeus] - [#60677]) ([documentation](/integrations/hassio)) + +[@ludeeus]: https://github.com/ludeeus +[#60677]: https://github.com/home-assistant/core/pull/60677 + +{% enddetails %} + +{% details "Synology DSM" %} + +In Home Assistant 2022.4 the binary sensor of Synology DSM for showing an +update was deprecated in favor of the newer update entity. + +This binary sensor for showing an update has now been removed. + +([@mib1185] - [#79509]) ([documentation](/integrations/synology_dsm)) + +[@mib1185]: https://github.com/mib1185 +[#79509]: https://github.com/home-assistant/core/pull/79509 + +{% enddetails %} + +{% details "Workday" %} + +Due to changes in the upstream library, the following is no longer supported by +the Workday integration: +- UK subdivisions (Wales, Scotland, England...) can no longer be provided as + values to the `country` configuration key. They are still available for use as + values to the `province` setting. +- `IsleOfMan` is no longer a recognized province of the UK, + use the `IM` code for the `country` instead. +- The extended Portuguese holiday set (`PortugalExt`) is no longer available + as a separate country; instead you should use the country code `PT` and + the province `Ext`. + +([@TomBrien] - [#78832]) ([documentation](/integrations/workday)) + +[@TomBrien]: https://github.com/TomBrien +[#78832]: https://github.com/home-assistant/core/pull/78832 + +{% enddetails %} + +{% details "Z-Wave" %} + +You must use `zwave-js-server` 1.24.0 or greater (schema 24). + +With this release, you will need to update your `zwave-js-server` instance. + +- If you use the `Z-Wave JS` addon, you need to have at least version 0.1.74. +- If you use the `Z-Wave JS UI` addon, you need to have at least version 1.1.0. +- If you use the `Z-Wave JS UI` Docker container, you need to have at least version 8.1.0. +- If you run your own Docker container, or some other installation method, you will need to update your `zwave-js-server` instance to at least 1.24.0. + +([@raman325] - [#79342]) ([documentation](/integrations/zwave_js)) + +[@raman325]: https://github.com/raman325 +[#79342]: https://github.com/home-assistant/core/pull/79342 + +--- + +The fan speed levels of Leviton ZW4SF fan controllers are now mapped correctly +to corresponding percentage levels in Home Assistant. + +This may change which fan speed is selected at certain percentages. +You should adjust any automations and scripts that target these devices +as needed. + +([@mkowalchuk] - [#60677]) ([documentation](/integrations/zwave_js)) + +[@mkowalchuk]: https://github.com/mkowalchuk +[#60677]: https://github.com/home-assistant/core/pull/60677 + +{% enddetails %} + +If you are a custom integration developer and want to learn about breaking +changes and new features available for your integration: Be sure to follow our +[developer blog][devblog]. The following are the most notable for this release: + +[devblog]: https://developers.home-assistant.io/blog/ + +- [Bluetooth async_track_unavailable API changes](https://developers.home-assistant.io/blog/2022/09/16/bluetooth-unavailable-api-changes) +- [Calendar Data Model improvements and deprecations](https://developers.home-assistant.io/blog/2022/04/18/calendar-data-model/) +- [Deprecating media player constants](https://developers.home-assistant.io/blog/2022/09/06/media-player-repeat-mode-deprecation) +- [Deprecating unit conversion utilities](https://developers.home-assistant.io/blog/2022/09/28/deprecate-conversion-utilities/) +- [Long term statistics now tracks the source entity's unit](https://developers.home-assistant.io/blog/2022/09/29/statistics_refactoring) +- [New sensor device classes](https://developers.home-assistant.io/blog/2022/09/28/new_sensor_device_classes) +- [The issue registry has been moved to homeassistant.helpers](https://developers.home-assistant.io/blog/2022/08/25/issue_registry_moved_to_helpers) + +## Farewell to the following + +The following integrations are also no longer available as of this release: + +- **Ambee** as it became impossible to get API keys for private use. +- **Climacell** has been replaced by [Tomorrow.io](/integrations/tomorrowio). +- **Flu Near You** the resource is no longer available, causing the integration + no longer to work. +- **U.S. Citizenship and Immigration Services (USCIS)** the integration relied + on webscraping, which is no longer allowed. + +## All changes + +Of course, there is a lot more in this release. You can find a list of +all changes made here: [Full changelog for Home Assistant Core 2022.10](/changelogs/core-2022.10) diff --git a/source/_posts/2022-10-13-third-reality-partner.markdown b/source/_posts/2022-10-13-third-reality-partner.markdown new file mode 100644 index 00000000000..240868d8568 --- /dev/null +++ b/source/_posts/2022-10-13-third-reality-partner.markdown @@ -0,0 +1,29 @@ +--- +layout: post +title: "Third Reality joins Works with Home Assistant" +description: "Third Reality has become the first Works with Home Assistant partner using the Zigbee badge" +date: 2022-10-13 00:00:00 +date_formatted: "October 13, 2022" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: +- Announcements +og_image: /images/blog/2022-10-13-third-reality-partner/social.png +--- + +Works via Zigbee with Home Assistant + +Today we are excited to announce our next Works with Home Assistant partner: Third Reality! + +Third Reality, Inc. is a smart home products company that has been working with Home Assistant for quite a long time but is now making it official. As a partner, Third Reality and Nabu Casa will be working together to ensure the best experience for connecting Third Reality Zigbee devices to Home Assistant. + +Third Reality devices will connect and integrate into Home Assistant easily using the Zigbee Home Automation integration (Zigbee stick required). This means that the devices operate completely locally and state changes coming from the device are instantaneously picked up by Home Assistant. This allows for the best user experience when building a smart home. + +Third Reality devices +

+ +Their smart home product portfolio includes switches, motion sensors, door sensors, water leak sensors, plugs, blinds, and newly added buttons. Giving users a full catalog of smart home products. For more information and products about Third Reality, you can visit [their website](https://www.3reality.com/). + +If you missed the announcement of the Works with Home Assistant partner program, make sure to check out [the blog post](/blog/2022/07/12/partner-program/). + diff --git a/source/changelogs/core-2022.10.markdown b/source/changelogs/core-2022.10.markdown new file mode 100644 index 00000000000..70c85937ae4 --- /dev/null +++ b/source/changelogs/core-2022.10.markdown @@ -0,0 +1,1849 @@ +--- +title: Full Changelog for Home Assistant Core 2022.10 +description: Detailed changelog for the Home Assistant Core 2022.10 release +--- + +These are all the changes included in the Home Assistant Core 2022.10 release. + +For a summary in a more readable format: +[Release notes blog for this release](/blog/2022/10/05/release-202210/). + +## Full Changelog + +- Convert life360 to aiohttp ([@pnbruckner] - [#77508]) ([life360 docs]) +- Adjust temperature_unit in hisense_aehw4a1 ([@epenet] - [#77585]) ([hisense_aehw4a1 docs]) +- Adjust temperature_unit in heatmiser ([@epenet] - [#77584]) ([heatmiser docs]) +- Improve entity type hints [j-k] ([@epenet] - [#77594]) +- Improve type hints in home_connect ([@epenet] - [#77587]) ([home_connect docs]) +- Improve type hints in heatmiser ([@epenet] - [#77592]) ([heatmiser docs]) +- Improve type hints in hive ([@epenet] - [#77586]) ([hive docs]) +- Adjust Available in hisense_aehw4a1 ([@epenet] - [#77590]) ([hisense_aehw4a1 docs]) +- Implement reauth flow for volvooncall ([@y34hbuddy] - [#77328]) ([volvooncall docs]) +- 2022.10.0.dev0 ([@balloob] - [#77635]) +- Adjust notify type hints in mysensors ([@epenet] - [#77647]) ([mysensors docs]) +- Bump ci env HA_SHORT_VERSION ([@MartinHjelmare] - [#77644]) +- Improve entity type hints [l] ([@epenet] - [#77655]) +- Add device class moisture ([@Ernst79] - [#77666]) ([sensor docs]) +- Fix demo external energy statistics ([@emontnemery] - [#77665]) ([demo docs]) +- Migrate ZHA lighting to use newer zigpy ZCL request syntax ([@puddly] - [#77676]) ([zha docs]) +- Cleanup IPMA code ([@dgomes] - [#77674]) ([ipma docs]) +- Time range should be treated as open ended ([@amitfin] - [#77660]) ([schedule docs]) +- Tweak schedule test ([@emontnemery] - [#77696]) ([schedule docs]) +- Improve some device registry tests ([@emontnemery] - [#77659]) +- Remove area_id from entity_registry.async_get_or_create ([@emontnemery] - [#77700]) +- Remove unnecessary use of dunder methods from entity registry ([@emontnemery] - [#77716]) +- Remove useless device_registry test ([@emontnemery] - [#77714]) +- Add Nobø Ecohub integration ([@oyvindwe] - [#50913]) ([nobo_hub docs]) (new-integration) +- Simplify device registry ([@emontnemery] - [#77715]) +- Add mixin class CollectionEntity for the collection helper ([@emontnemery] - [#77703]) +- Use hass.config_entries.async_setup in mqtt test ([@jbouwh] - [#77750]) ([mqtt docs]) +- Enhance operating time sensor in Overkiz integration ([@iMicknl] - [#76688]) ([overkiz docs]) +- Address late review in Overkiz (add duration device class) ([@iMicknl] - [#77778]) ([overkiz docs]) +- Add goToAlias button (my position) to Overkiz integration ([@iMicknl] - [#76694]) ([overkiz docs]) +- Add support for AtlanticHeatRecoveryVentilation to Overkiz integration ([@iMicknl] - [#74015]) ([overkiz docs]) +- Add Boost/Away mode duration to Overkiz integration ([@iMicknl] - [#76690]) ([overkiz docs]) +- Expose battery and rssi sensors in Melnor Bluetooth integration ([@vanstinator] - [#77576]) ([melnor docs]) (new-platform) +- Mill 3. gen add support for PRECISION_HALVES ([@LaStrada] - [#73592]) ([mill docs]) +- Sensibo clean code ([@gjohansson-ST] - [#74437]) ([sensibo docs]) +- Improve type hints in kodi media player ([@epenet] - [#77653]) ([kodi docs]) +- Improve type hints in file and huawei_lte notify ([@epenet] - [#77648]) ([huawei_lte docs]) ([file docs]) +- Improve type hints in lastfm sensor ([@epenet] - [#77657]) ([lastfm docs]) +- Add set_hev_cycle_state service to LIFX integration ([@Djelibeybi] - [#77546]) ([lifx docs]) +- Add support for subscribing to config entry changes ([@bdraco] - [#77803]) ([config docs]) +- Improve type hints in kulersky light ([@epenet] - [#77652]) ([kulersky docs]) +- Remove CalendarEventDevice which was deprecated in 2022.5 ([@allenporter] - [#77809]) ([calendar docs]) ([demo docs]) (breaking-change) +- Adjust type hint in mediaroom ([@epenet] - [#77817]) ([mediaroom docs]) +- Adjust type hint in meteoalarm ([@epenet] - [#77818]) ([meteoalarm docs]) +- Bump fritzconnection from 1.8.0 to 1.10.1 ([@mib1185] - [#77751]) ([fritz docs]) ([fritzbox_callmonitor docs]) (dependency) +- Improve entity type hints [m] ([@epenet] - [#77816]) +- Remove auto lowercasing from async_track_entity_registry_updated_event ([@bdraco] - [#77740]) +- Improve entity type hints [n] ([@epenet] - [#77824]) +- Add reauth flow to fibaro ([@rappenze] - [#74300]) ([fibaro docs]) +- Address late review on kulersky light ([@epenet] - [#77838]) ([kulersky docs]) +- Remove google calendar configuration.yaml deprecated in 2022.6 ([@allenporter] - [#77814]) ([google docs]) (breaking-change) +- Use attributes in nightscout ([@epenet] - [#77825]) ([nightscout docs]) +- Move Melnor Bluetooth switches to sub-services off the main device ([@vanstinator] - [#77842]) ([melnor docs]) +- Use fragmented mp4 in stream recorder ([@uvjustin] - [#77822]) ([stream docs]) +- Add orientation transforms to stream ([@uvjustin] - [#77439]) ([stream docs]) +- Improve entity type hints [q] ([@epenet] - [#77875]) ([qnap docs]) ([qbittorrent docs]) +- Improve entity type hints [r] ([@epenet] - [#77874]) +- Improve entity type hints [p] ([@epenet] - [#77871]) +- Add has_entity_name for kraken ([@eifinger] - [#77841]) ([kraken docs]) +- Improve type hint in onvif ([@epenet] - [#77833]) ([onvif docs]) +- Improve type hint in opensky ([@epenet] - [#77829]) ([opensky docs]) +- Improve entity type hints [o] ([@epenet] - [#77826]) +- Add state class total increasing to Tasmota energy today sensor ([@ollo69] - [#77140]) ([tasmota docs]) +- Add notify get_service to pylint checks ([@epenet] - [#77643]) +- Add BaseNotificationService to pylint checks ([@epenet] - [#77663]) +- Cleanup camera after late PR review ([@uvjustin] - [#77880]) ([camera docs]) +- Improve entity type hints [s] (part 1/2) ([@epenet] - [#77881]) +- Improve entity type hints [t] ([@epenet] - [#77883]) +- Improve entity type hints [s] (part 2/2) ([@epenet] - [#77882]) +- Improve entity type hints [u] ([@epenet] - [#77884]) ([unifi docs]) ([universal docs]) ([uvc docs]) ([ue_smart_radio docs]) +- Improve entity type hints [v] ([@epenet] - [#77885]) +- Improve entity type hints [w] ([@epenet] - [#77886]) +- Improve entity type hints [x] ([@epenet] - [#77887]) ([xiaomi_aqara docs]) ([xs1 docs]) ([xiaomi_miio docs]) ([xiaomi_tv docs]) ([xbox_live docs]) ([xbox docs]) +- Improve entity type hints [y] ([@epenet] - [#77888]) ([yeelight docs]) ([yamaha_musiccast docs]) ([yamaha docs]) ([yolink docs]) +- Improve entity type hints [z] ([@epenet] - [#77890]) ([zabbix docs]) ([zoneminder docs]) ([zha docs]) ([ziggo_mediabox_xl docs]) ([zhong_hong docs]) ([zamg docs]) ([zwave_me docs]) +- Add comment to life360 device tracker ([@epenet] - [#77879]) ([life360 docs]) +- Use _attr_force_update in tellstick ([@epenet] - [#77899]) ([tellstick docs]) +- Use attributes in rflink binary sensor ([@epenet] - [#77901]) ([rflink docs]) +- Introduce new StrEnums in media player ([@epenet] - [#77872]) ([media_player docs]) (deprecation) +- Use attributes in hvv_departures ([@epenet] - [#77588]) ([hvv_departures docs]) +- Improve type hints in lw12wifi light ([@epenet] - [#77656]) ([lw12wifi docs]) +- Add protocol type for legacy notify platforms ([@cdce8p] - [#77894]) ([notify docs]) +- Drop unused property from zha ([@epenet] - [#77897]) ([zha docs]) +- Use _attr_force_update in tasmota ([@epenet] - [#77900]) ([tasmota docs]) +- Add sensors for Tuya "tdq" category switches ([@engrbm87] - [#77581]) ([tuya docs]) +- Fix shopping_list service calls not notifying event bus ([@lscheibel] - [#77794]) ([shopping_list docs]) +- Mill gen 3 cloud, support precision halves for gen 3 heaters ([@LaStrada] - [#77932]) ([mill docs]) (dependency) +- Use attributes in rest base entity ([@epenet] - [#77903]) ([rest docs]) +- Adjust pylint checks for notify get_service ([@epenet] - [#77606]) +- Bump pyTibber to 0.25.2 ([@Danielhiversen] - [#77919]) ([tibber docs]) (dependency) +- Adjust get_scanner pylint checks ([@epenet] - [#77944]) +- Bump aiopvapi to 2.0.1 ([@kingy444] - [#77949]) ([hunterdouglas_powerview docs]) +- Update surepy to 0.8.0 ([@cdce8p] - [#77948]) ([surepetcare docs]) (dependency) +- Refactor distance, speed and volume utils ([@epenet] - [#77952]) +- Add initial implementation of tilt_ble integration ([@apt-itude] - [#77633]) ([tilt_ble docs]) (new-integration) +- Introduce new MediaPlayerState StrEnum ([@epenet] - [#77941]) (deprecation) +- Use _attr_force_update in mqtt ([@epenet] - [#77902]) ([mqtt docs]) +- Add pylint directory to black pre-commit ([@epenet] - [#78011]) +- Adjust alexa imports ([@epenet] - [#78013]) ([alexa docs]) +- Import climate constants from root [m-z] ([@epenet] - [#78020]) +- Improve type hints in apple_tv media player ([@epenet] - [#77940]) ([apple_tv docs]) +- Use new media player enums [a-d] ([@epenet] - [#77939]) +- Remove use of deprecated SUPPORT_* constants from MQTT light ([@emontnemery] - [#77828]) ([mqtt docs]) ([light docs]) +- Remove use of deprecated SUPPORT_* constants from Template light ([@emontnemery] - [#77836]) ([template docs]) +- Import climate constants from root [a-l] ([@epenet] - [#78021]) +- Use platform constants from root ([@epenet] - [#78032]) +- Improve type hints in demo and dependencies ([@epenet] - [#78022]) ([image_processing docs]) ([demo docs]) ([mailbox docs]) ([openalpr_local docs]) +- Deprecate history integration's statistics API ([@emontnemery] - [#78056]) ([recorder docs]) ([history docs]) +- Use new media player enums [i-l] ([@epenet] - [#78054]) ([lg_netcast docs]) ([lg_soundbar docs]) ([kef docs]) ([itunes docs]) ([lookin docs]) ([kaleidescape docs]) +- Use new media player enums [e-h] ([@epenet] - [#78049]) ([hdmi_cec docs]) ([enigma2 docs]) ([horizon docs]) ([epson docs]) ([gstreamer docs]) ([heos docs]) ([harman_kardon_avr docs]) ([fully_kiosk docs]) +- Use new media player enums [m-o] ([@epenet] - [#78057]) ([onkyo docs]) ([openhome docs]) ([mpd docs]) ([nad docs]) ([monoprice docs]) +- Use new media player enums [p] ([@epenet] - [#78058]) ([ps4 docs]) ([plex docs]) ([panasonic_viera docs]) ([pioneer docs]) ([philips_js docs]) ([pjlink docs]) ([panasonic_bluray docs]) ([pandora docs]) +- Use new media player enums [r] ([@epenet] - [#78062]) ([roku docs]) ([russound_rio docs]) ([russound_rnet docs]) ([roon docs]) +- Use new media player enums [s] ([@epenet] - [#78064]) ([sisyphus docs]) ([sonos docs]) ([spotify docs]) ([samsungtv docs]) ([squeezebox docs]) ([songpal docs]) ([slimproto docs]) +- Use new media player enums [u-w] ([@epenet] - [#78067]) +- Use new media player enums [x-z] ([@epenet] - [#78068]) ([yamaha_musiccast docs]) ([yamaha docs]) ([xiaomi_tv docs]) ([ziggo_mediabox_xl docs]) ([xbox docs]) +- Add iBeacon start byte to allowed Apple Bluetooth advertisements ([@apt-itude] - [#78088]) ([bluetooth docs]) +- Fix DB migration to schema version 29 ([@emontnemery] - [#78037]) ([recorder docs]) +- Use new enums in cast ([@epenet] - [#77946]) ([cast docs]) ([lovelace docs]) ([plex docs]) +- Use new constants in dlna_dmr media player ([@epenet] - [#78045]) ([dlna_dmr docs]) +- Deprecate SUPPORT_* constants for color_mode ([@epenet] - [#69269]) +- Support unique_id for Universal Media Player ([@holysoles] - [#77461]) ([universal docs]) (noteworthy) +- Escape media_content_id in media player proxy ([@uvjustin] - [#77811]) ([media_player docs]) +- Use new media player enums in mediaroom ([@epenet] - [#78108]) ([mediaroom docs]) +- Expose climate constants at the top level ([@epenet] - [#78018]) ([climate docs]) +- Additional cleanup for Sensibo ([@gjohansson-ST] - [#78144]) ([sensibo docs]) +- Add zwave_js speed configuration for Leviton ZW4SF fans ([@mkowalchuk] - [#60677]) ([zwave_js docs]) (breaking-change) +- Start logbook stream faster ([@bdraco] - [#77921]) ([logbook docs]) +- Add BTHome binary sensors ([@Ernst79] - [#78151]) ([bthome docs]) (new-platform) +- Use new media player enums in esphome ([@epenet] - [#78099]) ([esphome docs]) +- Use new media player enums in frontier_silicon ([@epenet] - [#78101]) ([frontier_silicon docs]) (breaking-change) +- Use new media player enums in group ([@epenet] - [#78104]) ([group docs]) +- Use new media player enums in kodi ([@epenet] - [#78106]) ([kodi docs]) +- Use new media player enums in snapcast ([@epenet] - [#78109]) ([snapcast docs]) +- Use new media player enums in soundtouch ([@epenet] - [#78110]) ([soundtouch docs]) +- Use new media player enums in universal ([@epenet] - [#78112]) ([universal docs]) +- Import climate constants from root [a-l] ([@epenet] - [#78177]) +- Import climate constants from root [m-z] ([@epenet] - [#78178]) +- Expose logbook constants at the top level ([@epenet] - [#78184]) ([logbook docs]) +- Use alphabetical order for platforms in pylint plugin ([@epenet] - [#78126]) +- Use new media player enums in emby ([@epenet] - [#78098]) ([emby docs]) +- Use new media player enums in demo ([@epenet] - [#78114]) ([demo docs]) +- Add is_host_valid util ([@Drafteed] - [#76589]) ([braviatv docs]) ([dunehd docs]) ([brother docs]) ([vilfo docs]) +- Import automation constants from root ([@epenet] - [#78238]) ([analytics docs]) +- Switch to new entity naming schema across zwave_js ([@raman325] - [#77434]) ([zwave_js docs]) +- Remove unused mypy ignore statements ([@epenet] - [#78292]) +- Add extra precision to ADC voltage (from 1 decimal to 2 decimals) ([@alakdae] - [#77889]) ([shelly docs]) +- Add ZigStar ZeroConf ([@mercenaruss] - [#78237]) ([zha docs]) +- Import logbook constants from root ([@epenet] - [#78236]) ([automation docs]) ([script docs]) ([mobile_app docs]) ([homeassistant docs]) +- Import trace constants from root ([@epenet] - [#78243]) ([automation docs]) ([script docs]) +- Import notify constants from root ([@epenet] - [#78244]) ([simplepush docs]) ([aws docs]) +- Expose and use lovelace constants from root ([@epenet] - [#78246]) ([websocket_api docs]) ([lovelace docs]) +- Import stt constants from root ([@epenet] - [#78247]) ([demo docs]) ([cloud docs]) +- Import number constants from root ([@epenet] - [#78248]) ([juicenet docs]) ([homekit_controller docs]) ([xiaomi_miio docs]) ([template docs]) +- Expose websocket_api constants in root ([@epenet] - [#78249]) ([websocket_api docs]) +- Import update constants from root ([@epenet] - [#78251]) ([demo docs]) ([zwave_js docs]) +- Expose device_automation constants in root ([@epenet] - [#78266]) ([device_automation docs]) +- Expose http constants in root ([@epenet] - [#78267]) ([http docs]) +- Expose constants in device_tracker root ([@epenet] - [#78240]) ([device_tracker docs]) +- Expose media-source constants in root ([@epenet] - [#78268]) ([media_source docs]) +- Expose modbus constants in root ([@epenet] - [#78269]) ([modbus docs]) +- Import constants from root ([@epenet] - [#78271]) +- Add STT checks to pylint plugin ([@epenet] - [#78284]) +- Use new media player enums ([@epenet] - [#78264]) +- Improve sun typing ([@epenet] - [#78298]) ([sun docs]) +- Add type hints to TTS provider ([@epenet] - [#78285]) ([tts docs]) +- Improve media-player typing ([@epenet] - [#78300]) ([media_player docs]) +- Adjust components to use relative imports ([@epenet] - [#78279]) ([recorder docs]) ([insteon docs]) ([zwave_js docs]) ([overkiz docs]) +- Improve zone typing ([@epenet] - [#78294]) ([zone docs]) +- Import http constants from root ([@epenet] - [#78274]) ([onboarding docs]) +- Import media source constants from root ([@epenet] - [#78275]) ([system_bridge docs]) +- Import modbus constants from root ([@epenet] - [#78273]) ([stiebel_eltron docs]) ([flexit docs]) +- Import device automation constants from root ([@epenet] - [#78272]) ([binary_sensor docs]) +- Rename zwave_js trigger helper to avoid confusion ([@cdce8p] - [#78331]) ([zwave_js docs]) +- Import device tracker constants from root ([@epenet] - [#78242]) +- Import websocket api constants from root ([@epenet] - [#78250]) ([media_player docs]) ([recorder docs]) ([config docs]) ([zwave_js docs]) +- Drop old migration code from entity registry ([@emontnemery] - [#78278]) +- Add SwitchBee Integration ([@jafar-atili] - [#70201]) ([switchbee docs]) (new-integration) +- Update solax to 0.3.0 ([@squishykid] - [#78219]) ([solax docs]) (dependency) +- Expose humidifier constants at the top level ([@epenet] - [#78033]) ([humidifier docs]) +- Use new media player enums in forked_daapd ([@epenet] - [#78100]) ([forked_daapd docs]) +- Bump mill-local to 0.2.0 ([@Danielhiversen] - [#78302]) ([mill docs]) (dependency) +- Import network constants from root ([@epenet] - [#78342]) ([nmap_tracker docs]) +- Import humidifier constants from root ([@epenet] - [#78343]) ([ecobee docs]) ([homekit_controller docs]) ([generic_hygrostat docs]) +- Prevent use of deprecated media-player constants ([@epenet] - [#77937]) +- Bump home-assistant/builder from 2022.07.0 to 2022.09.0 ([@dependabot[bot]] - [#78103]) (dependency) +- Improve type hints in image-processing ([@epenet] - [#78351]) ([image_processing docs]) +- Improve type hints in trace ([@epenet] - [#78366]) ([trace docs]) +- Fix Sensibo Pure sensitivity sensor text ([@gjohansson-ST] - [#78313]) ([sensibo docs]) +- Bump pylutron-caseta to 0.15.1 ([@bdraco] - [#78209]) ([lutron_caseta docs]) (dependency) +- Expose SOURCE_CLOUD in google-assistant root ([@epenet] - [#78394]) ([google_assistant docs]) +- Bump aioecowitt 2022.09.2 ([@pvizeli] - [#78287]) ([ecowitt docs]) +- Improve type hints in geo-location ([@epenet] - [#78352]) ([geo_location docs]) +- Improve type hints in mailbox ([@epenet] - [#78353]) ([asterisk_mbox docs]) ([mailbox docs]) +- Use media player enums in dlna_dms ([@epenet] - [#78393]) ([dlna_dms docs]) +- Fix race in logbook websocket test ([@bdraco] - [#78390]) ([logbook docs]) +- Improve type hints in integration ([@epenet] - [#78345]) ([integration docs]) +- Improve type hints in script helpers ([@epenet] - [#78364]) +- Adjust pylint plugin for relative imports ([@epenet] - [#78277]) +- Import constants from component root ([@epenet] - [#78395]) ([alexa docs]) ([cloud docs]) ([google_assistant docs]) +- Bump fritzconnection to 1.10.3 ([@chemelli74] - [#77847]) ([fritz docs]) ([fritzbox_callmonitor docs]) (dependency) +- Remove Ambee integration ([@frenck] - [#78427]) ([ambee docs]) (breaking-change) +- Fix image-processing type hint ([@epenet] - [#78426]) ([image_processing docs]) ([demo docs]) +- Improve type hints in weather ([@epenet] - [#78346]) ([weather docs]) +- Improve type hints in scene ([@epenet] - [#78347]) ([scene docs]) +- Improve type hints in proximity ([@epenet] - [#78348]) ([proximity docs]) +- Improve type hints in group ([@epenet] - [#78350]) ([group docs]) +- Refactor forked_daapd to use _async_announce ([@epenet] - [#78446]) ([forked_daapd docs]) +- Binary sensor description for BTHome ([@Ernst79] - [#78408]) ([bthome docs]) +- Use async_timeout in forked_daapd ([@epenet] - [#78451]) ([forked_daapd docs]) +- Sort coveragerc ([@epenet] - [#78447]) +- Replace asyncio.wait_for with async_timeout in baf ([@bdraco] - [#78445]) ([baf docs]) +- Improve type hints in automation ([@epenet] - [#78368]) ([automation docs]) +- Add demo to strict-typing ([@epenet] - [#77596]) ([demo docs]) +- Sort constants in forked_daapd ([@uvjustin] - [#78455]) ([forked_daapd docs]) +- Make LimitedSizeDict a generic ([@epenet] - [#78440]) ([trace docs]) +- Improve type hints in light ([@epenet] - [#78349]) ([light docs]) +- Force root import of const from other components ([@epenet] - [#78014]) +- Rework Z-Wave.Me switch multilevel devices to also use light entity ([@PoltoS] - [#77969]) ([zwave_me docs]) +- Cleanup async_announce in forked_daapd ([@uvjustin] - [#78457]) ([forked_daapd docs]) +- Bump openevsewifi to 1.1.2 ([@cdce8p] - [#78460]) ([openevse docs]) (dependency) +- Move Trace classes to separate module ([@epenet] - [#78433]) ([trace docs]) +- Pass tasks instead of coros to asyncio.wait in forked_daapd ([@uvjustin] - [#78462]) ([forked_daapd docs]) +- Support AMD SoC CPU temperature ([@agners] - [#78472]) ([systemmonitor docs]) +- Fix device_class in demo ([@epenet] - [#78463]) ([demo docs]) ([google_assistant docs]) +- Make EntityComponent generic ([@epenet] - [#78473]) +- Add Google Sheets integration ([@tkdrob] - [#77853]) ([google_drive docs]) (new-integration) +- Improve MQTT debug log of retained messages ([@emontnemery] - [#78453]) ([mqtt docs]) +- Remove U.S. Citizenship and Immigration Services (USCIS) integration ([@frenck] - [#78432]) ([uscis docs]) (breaking-change) +- Bump aioswitcher to 3.0.0 ([@thecode] - [#78471]) ([switcher_kis docs]) (dependency) +- Catch up with statistics after DB migration is done ([@emontnemery] - [#78469]) ([recorder docs]) +- Deduplicate some code in scripts and automations ([@emontnemery] - [#78443]) ([automation docs]) ([script docs]) +- Allow setting number selector step size to 'any' ([@emontnemery] - [#78265]) ([threshold docs]) +- Use asyncio in XiaomiAqara instead of threading ([@starkillerOG] - [#74979]) ([xiaomi_aqara docs]) (dependency) +- Add infrared brightness select entity for LIFX Night Vision bulbs ([@Djelibeybi] - [#77943]) ([lifx docs]) +- Add device class TV to AndroidTV ([@ollo69] - [#78487]) ([androidtv docs]) +- Update sentry-sdk to 1.9.8 ([@frenck] - [#78496]) ([sentry docs]) (dependency) +- Update pipdeptree to 2.3.1 ([@frenck] - [#78497]) (dependency) +- Bump ultraheat-api to 0.4.3 ([@vpathuis] - [#78295]) ([landisgyr_heat_meter docs]) (dependency) +- Bump aioftp to 0.21.3 ([@fmarani] - [#78257]) ([yi docs]) (dependency) +- Move mypy override for device_registry ([@epenet] - [#78493]) +- Use new media player enums in bluesound ([@epenet] - [#78096]) ([bluesound docs]) (breaking-change) +- Use reload helper to reload rest component ([@emontnemery] - [#78491]) ([rest docs]) +- Enable disallow-any-generics in update ([@epenet] - [#78501]) ([update docs]) +- Make use of generic EntityComponent ([@epenet] - [#78492]) ([camera docs]) ([group docs]) ([automation docs]) ([remote docs]) ([person docs]) +- Update pyotp to 2.7.0 ([@frenck] - [#78500]) ([otp docs]) (dependency) +- Update pytest to 7.1.3 ([@frenck] - [#78503]) (dependency) +- Sort strict-typing alphabetically ([@epenet] - [#78506]) +- Update sqlalchemy to 1.4.41 ([@frenck] - [#78507]) ([recorder docs]) ([sql docs]) (dependency) +- Enable disallow-any-generics in number ([@epenet] - [#78502]) ([number docs]) +- Use new media player enums in homekit_controller ([@epenet] - [#78105]) ([homekit_controller docs]) (breaking-change) +- Avoid mutating globals in nina tests ([@emontnemery] - [#78513]) ([nina docs]) +- Sort some code in the search integration ([@emontnemery] - [#78519]) ([search docs]) +- Update black to 22.8.0 ([@frenck] - [#78509]) (dependency) +- Adjust MEDIA_CLASS_MAP in dlna-dms ([@epenet] - [#78458]) ([dlna_dms docs]) +- Bump awesomeversion from 22.8.0 to 22.9.0 ([@ludeeus] - [#78525]) (dependency) +- Use self._attr_state in vlc_telnet media player ([@epenet] - [#78517]) ([vlc_telnet docs]) +- Update requests_mock to 1.10.0 ([@frenck] - [#78510]) +- Use self._attr_state in demo media player ([@epenet] - [#78520]) ([demo docs]) +- Enable disallow-any-generics in light ([@epenet] - [#78499]) ([light docs]) +- Add version to templates ([@ludeeus] - [#78484]) (noteworthy) +- Bump pyfritzhome to 0.6.7 ([@mib1185] - [#78324]) ([fritzbox docs]) (dependency) +- Remove some low level calls from Fritz ([@chemelli74] - [#77848]) ([fritz docs]) +- Cleanup self._attr_state in samsungtv media player ([@epenet] - [#78518]) ([samsungtv docs]) +- Enforce MediaPlayerState in hdmi_cec media player ([@epenet] - [#78522]) ([hdmi_cec docs]) +- Improve type hints in trace ([@epenet] - [#78441]) ([trace docs]) +- Display statistics in the source's unit ([@emontnemery] - [#78031]) ([recorder docs]) ([demo docs]) ([sensor docs]) ([tibber docs]) +- crownstone-sse: bump to 2.0.4 ([@RicArch97] - [#78538]) ([crownstone docs]) (dependency) +- Make async_extract_entities generic ([@epenet] - [#78490]) +- Bump life360 package to 5.1.1 ([@pnbruckner] - [#78550]) ([life360 docs]) +- Update LaMetric config entry using DHCP discovery data ([@frenck] - [#78527]) ([lametric docs]) +- Remove name key from config flow in Mikrotik ([@engrbm87] - [#78571]) ([mikrotik docs]) +- Reduce overhead to update passive bluetooth devices ([@bdraco] - [#78545]) ([bluetooth docs]) ([yalexs_ble docs]) (breaking-change) +- Update pyupgrade to v2.38.0 ([@frenck] - [#78573]) (dependency) +- Improve notify typing ([@MartinHjelmare] - [#78575]) ([notify docs]) +- Address late review of SwitchBee ([@jafar-atili] - [#78412]) ([switchbee docs]) +- Fix kira remote implementation ([@epenet] - [#77878]) ([kira docs]) +- Address late review of SwitchBee ([@jafar-atili] - [#78585]) ([switchbee docs]) +- Use commands enum in LG Netcast ([@hurzelchen] - [#78584]) ([lg_netcast docs]) +- Use vol.Coerce for notify SourceType enum ([@cdce8p] - [#77930]) ([device_tracker docs]) +- Update Awair config entry on discovery ([@frenck] - [#78521]) ([awair docs]) +- Bump pylitterbot to 2022.9.3 ([@natekspencer] - [#78590]) ([litterrobot docs]) (dependency) +- Use attributes in demo media-player ([@epenet] - [#78461]) ([demo docs]) +- Add Airly gas sensors ([@KloudJack] - [#77908]) ([airly docs]) +- Replace SimpliSafe `clear_notifications` service with a button ([@bachya] - [#75283]) ([simplisafe docs]) (deprecation) +- Correct unit for here_travel_time distance sensor ([@eifinger] - [#78303]) ([here_travel_time docs]) +- Switch emulated_hue to use async_timeout instead of asyncio.wait_for ([@bdraco] - [#78608]) ([emulated_hue docs]) +- Switch yeelight to use async_timeout instead of asyncio.wait_for ([@bdraco] - [#78606]) ([yeelight docs]) +- Ensure bluetooth callbacks are only fired when advertisement data changes ([@bdraco] - [#78609]) ([bluetooth docs]) +- Handle connection issues with Traccar ([@ludeeus] - [#78624]) ([traccar docs]) +- Change litterrobot integration to cloud_push ([@natekspencer] - [#77741]) ([litterrobot docs]) +- Add litter level sensor for Litter-Robot 4 ([@natekspencer] - [#78602]) ([litterrobot docs]) +- Automatically set up Awair during onboarding ([@frenck] - [#78632]) ([awair docs]) +- Improve light typing ([@cdce8p] - [#78641]) ([light docs]) +- Make use of generic EntityComponent (part 2) ([@epenet] - [#78494]) +- Bump smhi-pkg to 1.0.16 ([@gjohansson-ST] - [#78639]) ([smhi docs]) (dependency) +- Switch recorder to use async_timeout instead of asyncio.wait_for ([@bdraco] - [#78607]) ([recorder docs]) +- Fix rachio not being able to be ignored ([@bdraco] - [#78636]) ([rachio docs]) +- Add additional status sensor state strings for Litter-Robot 4 ([@natekspencer] - [#78652]) ([litterrobot docs]) +- Fix lutron_caseta get_triggers() raising error for non-button devices (caseta and ra3/hwqsx) ([@danaues] - [#78397]) ([lutron_caseta docs]) +- Enable disallow-any-generics in media-player ([@epenet] - [#78498]) ([media_player docs]) +- Replace Guardian `disable_ap` and `enable_ap` services with a switch ([@bachya] - [#75034]) ([guardian docs]) (deprecation) +- Restore history from bluetooth stack at startup ([@bdraco] - [#78612]) ([bluetooth docs]) +- Remove deprecated Guardian services (scheduled for 2022.10.0) ([@bachya] - [#78663]) ([guardian docs]) (breaking-change) +- Bump melnor-bluetooth to v0.0.20 ([@vanstinator] - [#78642]) ([melnor docs]) (dependency) +- Allow multiple instances of OpenUV via the `homeassistant.update_entity` service ([@bachya] - [#76878]) ([openuv docs]) (deprecation) +- Improve media_player typing ([@cdce8p] - [#78666]) ([media_player docs]) +- Remove low level call from fritzbox_callmonitor ([@cdce8p] - [#78668]) ([fritzbox_callmonitor docs]) +- Remove deprecated update binary sensor from Supervisor ([@ludeeus] - [#78664]) ([hassio docs]) (breaking-change) +- Limit Github event subscription if polling is disabled ([@ludeeus] - [#78662]) ([github docs]) +- Add missing typing met config flow ([@gjohansson-ST] - [#78645]) ([met docs]) +- Cache template regex compiles ([@bdraco] - [#78529]) +- Revert unintended OpenUV unique ID change ([@bachya] - [#78691]) ([openuv docs]) +- Warn user if Tasmota devices are configured with invalid MQTT topics ([@emontnemery] - [#77640]) ([tasmota docs]) +- Address code review from litterrobot PR ([@natekspencer] - [#78699]) ([litterrobot docs]) +- Make Guardian Repairs strings more consistent (and instructive) ([@bachya] - [#78694]) ([guardian docs]) +- Create repair issue if zwave-js-server is too old ([@raman325] - [#78670]) ([zwave_js docs]) +- Code Quality Improvements for Advantage Air ([@Bre77] - [#77695]) ([advantage_air docs]) +- Fix Vallox extract and supply fan speed measurement units ([@viiru-] - [#77692]) ([vallox docs]) +- Seperate timeout errors in rest requests ([@ludeeus] - [#78710]) ([rest docs]) +- Add state_class to Waze travel time for statistics support ([@oradsa] - [#77386]) ([waze_travel_time docs]) +- Bump `brother` backend library ([@bieniu] - [#78072]) ([brother docs]) (dependency) +- Add GALA currency to Coinbase ([@TomBrien] - [#78708]) ([coinbase docs]) +- Add tests for switchbot sensor platform ([@bdraco] - [#78611]) ([switchbot docs]) +- Add tests for LitterRobot sensors ([@tkdrob] - [#78638]) ([litterrobot docs]) +- Apply hass-relative-import to tests (d-h) ([@epenet] - [#78730]) +- Apply hass-relative-import to tests (i-r) ([@epenet] - [#78732]) +- Apply hass-relative-import to tests (a-c) ([@epenet] - [#78728]) +- Apply hass-relative-import to tests (s-z) ([@epenet] - [#78733]) +- Adjust homekit-controller test imports ([@epenet] - [#78731]) ([homekit_controller docs]) +- Improve sonos typing ([@cdce8p] - [#78661]) ([sonos docs]) +- Use attributes in kef media player ([@epenet] - [#77650]) ([kef docs]) +- Fix litterrobot tests ([@epenet] - [#78741]) ([litterrobot docs]) +- Add LaMetric integration init tests ([@frenck] - [#78679]) ([lametric docs]) +- Apply hass-relative-import to recorder tests ([@epenet] - [#78734]) ([recorder docs]) +- Apply hass-relative-import to bluetooth tests ([@epenet] - [#78736]) ([bluetooth docs]) +- Improve type hints in keenetic_ndms2 ([@epenet] - [#77649]) ([keenetic_ndms2 docs]) +- Update psutil to 5.9.2 ([@tjorim] - [#78745]) ([systemmonitor docs]) +- Adjust relative-import plugin for tests ([@epenet] - [#78742]) +- Bump pyoverkiz to 1.5.3 in Overkiz integration ([@iMicknl] - [#78743]) ([overkiz docs]) (dependency) +- Add support for controlling manual watering time on Melnor Bluetooth devices ([@vanstinator] - [#78653]) ([melnor docs]) +- Adjust pylint plugin for tests directory ([@epenet] - [#78727]) +- Adjust root-import in tomorrowio tests ([@epenet] - [#78763]) ([tomorrowio docs]) +- Use attributes in zoneminder ([@epenet] - [#77895]) ([zoneminder docs]) +- Use correct constant in anthemav tests ([@epenet] - [#78759]) ([anthemav docs]) +- Use DOMAIN constant in plex ([@epenet] - [#78764]) ([sonos docs]) ([plex docs]) +- Adjust root-import in tests ([@epenet] - [#78761]) +- Fix Airly CO sensor unit ([@KloudJack] - [#78649]) ([airly docs]) +- Adjust root-import in alexa tests ([@epenet] - [#78766]) ([alexa docs]) +- Adjust root-import in google-assistant tests ([@epenet] - [#78768]) ([google_assistant docs]) +- Adjust root-import in nest tests ([@epenet] - [#78769]) ([nest docs]) +- Adjust root-import in motioneye tests ([@epenet] - [#78770]) ([motioneye docs]) +- Adjust root-import in netatmo tests ([@epenet] - [#78771]) ([netatmo docs]) +- Add unit constant for revolutions per minute ([@epenet] - [#78752]) ([comfoconnect docs]) ([xiaomi_miio docs]) +- Adjust root-import in demo humidifier tests ([@epenet] - [#78772]) ([demo docs]) +- Migrate Trafikverket Train to new entity naming style ([@gjohansson-ST] - [#75208]) ([trafikverket_train docs]) +- Add support for imperial units of measure in volvooncall ([@y34hbuddy] - [#77669]) ([volvooncall docs]) (dependency) +- Bumped AIOAladdinConnect 0.1.46 ([@mkmer] - [#78767]) ([aladdin_connect docs]) (dependency) +- Bump pylitterbot to 2022.9.5 ([@natekspencer] - [#78785]) ([litterrobot docs]) (dependency) +- Add unique_id to ohmconnect ([@magic7s] - [#78479]) ([ohmconnect docs]) (noteworthy) +- Teach sqlite3 about HAFakeDatetime ([@emontnemery] - [#78756]) +- Use black to format hassfest generated files ([@emontnemery] - [#78794]) +- Prevent tilt_ble from matching generic ibeacons ([@bdraco] - [#78722]) ([tilt_ble docs]) +- Change bluetooth source to be the address of the adapter on Linux ([@bdraco] - [#78795]) ([bluetooth docs]) (breaking-change) +- Fix failing bluetooth tests ([@bdraco] - [#78757]) ([bluetooth docs]) +- Create an issue when Bluetooth is active on old HAOS ([@bdraco] - [#78430]) ([bluetooth docs]) +- Add iBeacon Tracker integration ([@bdraco] - [#78671]) ([ibeacon docs]) (new-integration) +- Bump codecov/codecov-action from 3.1.0 to 3.1.1 ([@dependabot[bot]] - [#78812]) (dependency) +- Cleanup DeviceClass and StateClass in tests ([@epenet] - [#78811]) +- Cleanup EntityCategory in tests ([@epenet] - [#78808]) ([zha docs]) ([hue docs]) +- Cleanup SourceType in tests ([@epenet] - [#78809]) ([device_tracker docs]) ([zha docs]) ([person docs]) ([dhcp docs]) ([mazda docs]) +- Add query data to google assistant diagnostic ([@elupus] - [#78828]) ([google_assistant docs]) +- Add Lidarr integration ([@tkdrob] - [#66438]) ([lidarr docs]) (new-integration) +- Cleanup MediaClass and MediaType in tests ([@epenet] - [#78817]) +- Cleanup ColorMode in tests ([@epenet] - [#78807]) ([abode docs]) ([hue docs]) ([homekit docs]) +- Add MqttData helper to mqtt ([@epenet] - [#78825]) ([mqtt docs]) +- Update PyJWT to 2.5.0 ([@frenck] - [#78776]) (dependency) +- Move constants in kostal_plenticore ([@epenet] - [#78837]) ([kostal_plenticore docs]) +- Cleanup HVACAction and HVACMode in tests ([@epenet] - [#78813]) +- Fix Sonos cover art when browsing albums ([@skrobul] - [#75105]) ([sonos docs]) +- Allow selecting display unit when fetching statistics ([@emontnemery] - [#78578]) ([recorder docs]) ([sensor docs]) (noteworthy) +- Add deconz current hvac operation to thermostate based on "state" ([@EmJay276] - [#59989]) ([deconz docs]) +- Cleanup FlowResultType in tests ([@epenet] - [#78810]) ([simplisafe docs]) ([pushover docs]) ([escea docs]) ([landisgyr_heat_meter docs]) +- Cleanup EntityFeature in tests ([@epenet] - [#78859]) +- Change minimal brightness value for hue.activate_scene service to 1 ([@Midbin] - [#78154]) ([hue docs]) +- Use SensorEntityDescription in kostal plenticore ([@epenet] - [#78842]) ([kostal_plenticore docs]) +- Improve code readability in iBeacon integration ([@bdraco] - [#78844]) ([ibeacon docs]) +- Bump pySwitchbot to 0.19.11 ([@bdraco] - [#78857]) ([switchbot docs]) +- Remove deprecated Flu Near You integration ([@bachya] - [#78700]) ([flunearyou docs]) (breaking-change) +- Use SwitchEntityDescription in kostal plenticore ([@epenet] - [#78841]) ([kostal_plenticore docs]) +- Use SelectEntityDescription in kostal plenticore ([@epenet] - [#78840]) ([kostal_plenticore docs]) +- Remove leftover debug print from Melnor ([@frenck] - [#78870]) ([melnor docs]) +- Adjust Plenticore switch initialisation ([@epenet] - [#78871]) ([kostal_plenticore docs]) +- Adjust Plenticore select initialisation ([@epenet] - [#78873]) ([kostal_plenticore docs]) +- Adjust Plenticore sensor initialisation ([@epenet] - [#78869]) ([kostal_plenticore docs]) +- Use m3 as intermediate unit for volume conversions ([@epenet] - [#78861]) +- Fix typo in tuya select ([@epenet] - [#78881]) ([tuya docs]) +- Cleanup properties in Plenticore sensor ([@epenet] - [#78879]) ([kostal_plenticore docs]) +- Cleanup Plenticore switch entity ([@epenet] - [#78878]) ([kostal_plenticore docs]) +- Add LaMetric button tests ([@frenck] - [#78754]) ([lametric docs]) +- Update yarl to 1.8.1 ([@frenck] - [#78866]) (dependency) +- Cleanup Plenticore select entity ([@epenet] - [#78877]) ([kostal_plenticore docs]) +- Add new power utility ([@epenet] - [#78867]) ([recorder docs]) ([sensor docs]) +- Add support for Kegtron Smart (Beer) Keg Monitor BLE devices ([@Ernst79] - [#78709]) ([kegtron docs]) (new-integration) +- Validate units when importing statistics ([@emontnemery] - [#78891]) ([recorder docs]) ([demo docs]) ([energy docs]) +- Cleanup root component imports in tests ([@epenet] - [#78893]) +- Add new energy utility ([@epenet] - [#78883]) ([recorder docs]) ([sensor docs]) +- Bump unifi-discovery to 1.1.7 ([@bdraco] - [#78898]) ([unifiprotect docs]) (dependency) +- Bump pylutron_caseta to 0.15.2 ([@bdraco] - [#78900]) ([lutron_caseta docs]) +- Support announce and enqueue in forked-daapd ([@uvjustin] - [#77744]) ([forked_daapd docs]) +- Add Keymitt BLE integration ([@spycle] - [#76575]) ([microbot_push docs]) (new-integration) +- Prompt user to remove application credentials when deleting config entries ([@allenporter] - [#74825]) ([application_credentials docs]) +- Bump pytomorrowio to 0.3.5 ([@raman325] - [#78914]) ([tomorrowio docs]) (dependency) +- Introduce UnitConverter protocol ([@epenet] - [#78888]) ([recorder docs]) ([sensor docs]) ([number docs]) +- Support for nibe heat pumps with local access ([@elupus] - [#78542]) ([nibe_local docs]) (new-integration) +- Add NORMALISED_UNIT to UnitConverter ([@epenet] - [#78920]) ([recorder docs]) ([sensor docs]) +- Add debug logging to tomorrowio and mask API key ([@raman325] - [#78915]) ([tomorrowio docs]) +- Bump actions/stale from 5 to 6.0.0 ([@dependabot[bot]] - [#78922]) (dependency) +- Nibe Heat Pump after merge fixups ([@elupus] - [#78931]) ([nibe_heatpump docs]) +- Convert UnitConverter protocol to a class ([@epenet] - [#78934]) ([recorder docs]) ([sensor docs]) ([number docs]) +- Add Button platform to switchbee integration ([@jafar-atili] - [#78386]) ([switchbee docs]) (new-platform) +- Move energy and power utilites to unit_conversion ([@epenet] - [#78950]) ([recorder docs]) ([sensor docs]) +- Move pressure utility to unit_conversion ([@epenet] - [#78953]) ([recorder docs]) ([sensor docs]) +- Move volume utility to unit_conversion ([@epenet] - [#78955]) ([recorder docs]) ([sensor docs]) +- Add binary sensor platform to Nibe Heatpump ([@elupus] - [#78927]) ([nibe_heatpump docs]) (new-platform) +- Move temperature utility to unit_conversion ([@epenet] - [#78960]) ([recorder docs]) ([sensor docs]) +- Rename property in Plugwise EntityDescription ([@epenet] - [#78935]) ([plugwise docs]) +- Make _is_valid_unit private in unit system ([@epenet] - [#78924]) +- Replace RainMachine freeze protection temperature sensor with a select ([@bachya] - [#76484]) ([rainmachine docs]) (deprecation) +- Bump pylitterbot to 2022.9.6 ([@natekspencer] - [#78970]) ([litterrobot docs]) (dependency) +- Minor tweaks of hassfest and loader.py ([@emontnemery] - [#78929]) +- Simplify energy settings ([@emontnemery] - [#78947]) ([energy docs]) +- Radarr Config Flow ([@tkdrob] - [#78965]) ([radarr docs]) (breaking-change) (config-flow) +- Remove min rssi setting from iBeacon ([@bdraco] - [#78843]) ([ibeacon docs]) +- Fix flapping bluetooth scanner test ([@bdraco] - [#78961]) ([bluetooth docs]) +- Retire climacell entirely ([@raman325] - [#78901]) ([climacell docs]) ([tomorrowio docs]) (breaking-change) +- Move distance and speed util to unit_conversion ([@epenet] - [#78967]) +- Adjust normalization routines in recorder statistics ([@epenet] - [#78966]) ([recorder docs]) +- Add PSK auth and SSDP discovery to Bravia TV ([@Drafteed] - [#77772]) ([braviatv docs]) +- Add Button platform to Bravia TV ([@Drafteed] - [#78093]) ([braviatv docs]) (noteworthy) +- Correct ssdp generation for bravia ([@elupus] - [#79002]) +- Test sum AND mean in recorder tests ([@epenet] - [#78998]) ([recorder docs]) +- Enable strict typing for rfxtrx ([@elupus] - [#74927]) ([rfxtrx docs]) +- Avoid creating iBeacon trackers when the device has no name ([@bdraco] - [#78983]) ([ibeacon docs]) +- Enable Thread transport in homekit_controller ([@Jc2k] - [#78994]) ([homekit_controller docs]) (noteworthy) +- Increase code coverage for migrated utilities ([@epenet] - [#78990]) +- Use unit_conversion in components ([@epenet] - [#78991]) ([google_assistant docs]) ([weather docs]) ([homekit docs]) ([smhi docs]) ([template docs]) +- Use device class duration for relevant Xiaomi Miio sensors ([@starkillerOG] - [#78974]) ([xiaomi_miio docs]) +- Remove unused custom data in Google Assistant ([@balloob] - [#79003]) ([google_assistant docs]) +- Move MQTT debug_info to dataclass ([@jbouwh] - [#78788]) ([mqtt docs]) +- Bump `regenmaschine` to 2022.09.2 ([@bachya] - [#79010]) ([rainmachine docs]) (dependency) +- Add base entity to switchbee ([@epenet] - [#78987]) ([switchbee docs]) +- Replace two RainMachine binary sensors with config switches ([@bachya] - [#76478]) ([rainmachine docs]) (deprecation) +- Handle iBeacons that broadcast multiple different uuids ([@bdraco] - [#79011]) ([ibeacon docs]) (dependency) +- Update to bleak 0.18.0 ([@bdraco] - [#79008]) ([bluetooth docs]) +- Clean up Speech-to-text integration and add tests ([@balloob] - [#79012]) ([stt docs]) +- Bump shelly backend library to version 2.0.2 ([@bieniu] - [#79026]) ([shelly docs]) (dependency) +- Bump dbus-fast to 1.9.0 ([@bdraco] - [#79024]) ([bluetooth docs]) (dependency) +- Bump bluetooth dependencies ([@bdraco] - [#79035]) ([bluetooth docs]) +- Add reauth flow to Shelly integration ([@bieniu] - [#78786]) ([shelly docs]) +- Fix a bug where SMS will not be sent as GSM-alphabet ([@ocalvo] - [#78800]) ([sms docs]) +- Stop ignoring test coverage in zwave_js ([@raman325] - [#79049]) ([zwave_js docs]) +- Add diagnostic sensor to Radarr ([@tkdrob] - [#79044]) ([radarr docs]) +- Bump aiounifi to v35 ([@Kane610] - [#79040]) ([unifi docs]) +- Bump cryptography to 38 ([@balloob] - [#79067]) +- Fix Radarr import ([@tkdrob] - [#79037]) ([radarr docs]) +- Add binary sensor to Radarr ([@tkdrob] - [#79043]) ([radarr docs]) (new-platform) +- Handle battery services that only report low battery in HomeKit Controller ([@bdraco] - [#79072]) ([homekit_controller docs]) +- Migrate Radarr to new entity naming style ([@tkdrob] - [#79042]) ([radarr docs]) +- Change Skybell color mode to RGB ([@tkdrob] - [#78078]) ([skybell docs]) +- Add support for newer Magic Home sockets ([@bdraco] - [#79074]) ([flux_led docs]) +- TTS Cleanup and expose get audio ([@balloob] - [#79065]) ([tts docs]) ([media_source docs]) +- Add nibe heat pump select entities ([@elupus] - [#78942]) ([nibe_heatpump docs]) +- Bump dbus-fast to 1.14.0 ([@bdraco] - [#79063]) ([bluetooth docs]) (dependency) +- Finish migration of recorder to unit conversion ([@epenet] - [#78985]) ([sensor docs]) +- Add RSSI sensor to HomeKit Controller ([@bdraco] - [#78906]) ([homekit_controller docs]) +- More details about SMS modem ([@PaulAnnekov] - [#75694]) ([sms docs]) +- Netatmo refactor to use pyatmo 7.0.1 (#73482) ([@cgtobi] - [#78523]) ([netatmo docs]) +- Migrate Overkiz to new entity naming style ([@iMicknl] - [#76687]) ([overkiz docs]) +- Remove unnecessary boolean checks for callables ([@cdce8p] - [#78819]) ([kostal_plenticore docs]) ([goodwe docs]) +- Fix Bayesian sensor to use negative observations ([@HarvsG] - [#67631]) ([bayesian docs]) (breaking-change) +- Add missing doc strings and requirements in Google Sheets ([@tkdrob] - [#78616]) ([google_sheets docs]) +- Migrate attributes to sensors in Litter-Robot ([@tkdrob] - [#78580]) ([litterrobot docs]) (deprecation) +- Add range to min_max ([@jsherman256] - [#78282]) ([min_max docs]) (noteworthy) +- Add config flow and MQTT autodiscover to dsmr_reader integration ([@Glodenox] - [#71617]) ([dsmr_reader docs]) (config-flow) +- IntelliFire Fan Support ([@jeeftor] - [#74181]) ([intellifire docs]) (new-platform) (noteworthy) +- Netgear add router switches ([@starkillerOG] - [#72171]) ([netgear docs]) (dependency) (noteworthy) +- Fix mqtt tests ([@bdraco] - [#79079]) ([mqtt docs]) +- Enable the move firmware effect on multizone lights ([@Djelibeybi] - [#78918]) ([lifx docs]) +- Bump aiohomekit to 2.0.1 ([@bdraco] - [#79080]) ([homekit_controller docs]) (dependency) +- Adjust switch as X to inherit entity category ([@frenck] - [#79081]) ([switch_as_x docs]) +- Add nibe heat pump number entities ([@elupus] - [#78941]) ([nibe_heatpump docs]) +- Bump ha-av to v10.0.0.b5 ([@uvjustin] - [#78977]) ([stream docs]) ([generic docs]) (dependency) +- Fix name truncation and unusual entity names for LaCrosse View ([@IceBotYT] - [#78254]) ([lacrosse_view docs]) +- Update aioecowitt to 2022.09.3 ([@pvizeli] - [#79087]) ([ecowitt docs]) +- Add nibe heat pump switch entities ([@elupus] - [#78943]) ([nibe_heatpump docs]) (new-platform) +- Allow multiple entries in Tautulli ([@tkdrob] - [#74406]) ([tautulli docs]) +- Improve performance of Bluetooth device fallback ([@bdraco] - [#79078]) ([esphome docs]) ([bluetooth docs]) (dependency) +- Bump plugwise to v0.21.3, add related new features ([@bouwew] - [#76610]) ([plugwise docs]) +- Start deprecation yaml moon ([@gjohansson-ST] - [#77780]) ([moon docs]) (deprecation) +- Start deprecation yaml season ([@gjohansson-ST] - [#77781]) ([season docs]) (deprecation) +- Start deprecation yaml uptime ([@gjohansson-ST] - [#77782]) ([uptime docs]) (deprecation) +- Support VLC 4 pause ([@MartinHjelmare] - [#77302]) ([vlc_telnet docs]) +- Remove deprecated YAML import for here_travel_time ([@eifinger] - [#77959]) ([here_travel_time docs]) (breaking-change) +- Remove unused alexa code ([@cdce8p] - [#79100]) ([alexa docs]) +- Bump bleak-retry-connector to 2.1.3 ([@bdraco] - [#79105]) ([bluetooth docs]) (dependency) +- Bump dbus-fast to 0.15.1 ([@bdraco] - [#79111]) ([bluetooth docs]) (dependency) +- Update mypy to 0.981 ([@cdce8p] - [#79115]) ([recorder docs]) ([esphome docs]) ([norway_air docs]) ([plex docs]) ([izone docs]) (dependency) +- Remove unused icloud code ([@cdce8p] - [#79116]) ([icloud docs]) +- Update xknx to 1.1.0 - Routing flow control ([@farmio] - [#79118]) ([knx docs]) (dependency) +- Remove issue from Radarr ([@tkdrob] - [#79127]) ([radarr docs]) +- Fix rfxtrx typing ([@cdce8p] - [#79125]) ([rfxtrx docs]) +- Add image_processing device_class StrEnum ([@cdce8p] - [#79124]) ([image_processing docs]) ([openalpr_local docs]) ([seven_segments docs]) +- Use explicit return value in frontend ([@cdce8p] - [#79122]) ([frontend docs]) +- Add browse media to forked-daapd ([@uvjustin] - [#79009]) ([forked_daapd docs]) (noteworthy) +- Make VALID_UNITS a set ([@epenet] - [#79104]) +- Listen to out of band coil updates in Nibe Heat Pumps ([@elupus] - [#78976]) ([nibe_heatpump docs]) +- Add unique id to entity reg list response ([@bramkragten] - [#78945]) ([config docs]) +- Remove parametrization in recorder websocket api tests ([@epenet] - [#78864]) ([recorder docs]) +- Microsoft TTS: Add support for gender and type ([@khenderick] - [#78848]) ([microsoft docs]) +- Support converting statistics to another unit ([@emontnemery] - [#79117]) ([recorder docs]) +- Add serial_number to device registry entries ([@emontnemery] - [#77713]) ([config docs]) +- Drop some unused constants from recorder ([@emontnemery] - [#79138]) ([recorder docs]) +- Indicate in statistics issues when units can be converted ([@emontnemery] - [#79121]) ([sensor docs]) +- Goodwe reset to 0 at midnight ([@starkillerOG] - [#76793]) ([goodwe docs]) +- Add unique ID to dsmr_reader sensors ([@Glodenox] - [#79101]) ([dsmr_reader docs]) +- Add distance to SensorDeviceClass ([@epenet] - [#77951]) ([recorder docs]) ([sensor docs]) +- Revert "Add serial_number to device registry entries" ([@emontnemery] - [#79139]) ([config docs]) +- Fix recorder fixtures ([@emontnemery] - [#79147]) +- Correct typing of async_track_state_change ([@emontnemery] - [#79150]) +- Add speed to SensorDeviceClass ([@epenet] - [#77953]) ([recorder docs]) ([sensor docs]) +- Fix Withings authentication to leverage default redirect URI ([@frenck] - [#79158]) ([withings docs]) +- Add volume to SensorDeviceClass ([@epenet] - [#77960]) ([recorder docs]) ([sensor docs]) +- Add new distance device class to iBeacons ([@bdraco] - [#79162]) ([ibeacon docs]) +- Break out esphome domain data ([@bdraco] - [#79134]) ([esphome docs]) +- Ensure bleak_retry_connector uses HaBleakClientWrapper ([@bdraco] - [#79132]) ([bluetooth docs]) +- Cleanup add browse media forked daapd #79009 ([@uvjustin] - [#79157]) ([forked_daapd docs]) +- Add spotify support to forked-daapd ([@uvjustin] - [#79136]) ([forked_daapd docs]) (noteworthy) +- Keep storing statistics for sensors which change device class ([@emontnemery] - [#79155]) ([sensor docs]) +- New ZONNSMART TRVs ([@javicalle] - [#79169]) ([zha docs]) +- Bump ZHA quirks lib ([@dmulcahey] - [#79175]) ([zha docs]) (dependency) +- Bump dbus-fast to 0.17.0 ([@bdraco] - [#79177]) ([bluetooth docs]) (dependency) +- Update pySwitchbot for newer firmwares ([@bdraco] - [#79174]) ([switchbot docs]) (dependency) +- Fix bluetooth active update coordinator not returning on failure ([@bdraco] - [#79167]) ([bluetooth docs]) +- Fix EZVIZ spelling case ([@scop] - [#79164]) ([ezviz docs]) +- Bump ibeacon-ble to 0.7.1 ([@bdraco] - [#79182]) ([ibeacon docs]) +- Bump aiopyarr to 22.9.0 ([@tkdrob] - [#79173]) ([sonarr docs]) ([radarr docs]) ([lidarr docs]) (dependency) +- Landis+Gyr Heat Meter: add heat previous year GJ as diagnostic ([@vpathuis] - [#78690]) ([landisgyr_heat_meter docs]) +- Avoid multiline lambdas in Fritz!Smarthome sensors ([@mib1185] - [#78524]) ([fritzbox docs]) +- Improve check of new_entity_id in entity_registry.async_update_entity ([@emontnemery] - [#78276]) ([config docs]) +- Refactor Trend to use `async_setup_platform` ([@boswelja] - [#78216]) ([trend docs]) +- SQL fix entry options save ([@gjohansson-ST] - [#78145]) ([sql docs]) +- Refactor apcupsd to use config flow ([@yuxincs] - [#64809]) ([apcupsd docs]) (config-flow) (deprecation) +- Bump switchbot to fix assertion error on processing humidifer data ([@bdraco] - [#79180]) ([switchbot docs]) +- Update roomba config flow description ([@JQWeb] - [#77974]) ([roomba docs]) +- Remove type ignore from bluetooth ([@cdce8p] - [#79146]) ([bluetooth docs]) +- Fix overriding a script's entity_id ([@emontnemery] - [#78765]) ([script docs]) +- Bump holidays to 0.16 ([@TomBrien] - [#78832]) ([workday docs]) (breaking-change) (dependency) +- Allow controlling PrusaLink print jobs ([@balloob] - [#78720]) ([prusalink docs]) (noteworthy) +- Use new DISTANCE and VOLUME device classes in Renault ([@epenet] - [#77488]) ([renault docs]) +- Remove argument validation in Unit Converter ([@epenet] - [#79107]) +- Add new weight device class ([@epenet] - [#79185]) ([recorder docs]) ([sensor docs]) +- Allow fetching automation config ([@balloob] - [#79130]) ([automation docs]) +- Add typing hints to mikrotik tests ([@engrbm87] - [#79144]) ([mikrotik docs]) +- Add missing quality scales for internal integrations ([@rytilahti] - [#76499]) +- Cleanup unit conversion ([@epenet] - [#79197]) ([recorder docs]) ([sensor docs]) +- Bump pyswitchbee to 1.5.3 ([@jafar-atili] - [#78583]) +- Allow fetching script config ([@balloob] - [#79131]) ([script docs]) +- Improve Life360 address attribute ([@pnbruckner] - [#76269]) ([life360 docs]) +- Move MQTT discovery hass.data globals to dataclass ([@jbouwh] - [#78706]) ([mqtt docs]) ([mqtt_room docs]) +- Add additional integration_type options for integration manifests ([@emontnemery] - [#79193]) ([air_quality docs]) ([analytics docs]) +- Fix spelling in switchbee ([@jafar-atili] - [#79195]) ([switchbee docs]) +- Add long term stats support to Withings sensors ([@ColinRobbins] - [#74829]) ([withings docs]) +- Use unit_conversion in unit_system utility ([@epenet] - [#79004]) +- Add daily energy consumption sensor for melcloud ([@vilppuvuorinen] - [#78682]) ([melcloud docs]) +- Bump pybravia to 0.2.3 ([@bieniu] - [#79200]) ([braviatv docs]) (dependency) +- Adjust docstring for SensorDeviceClass.WEIGHT ([@epenet] - [#79201]) ([sensor docs]) +- Use unit_conversion in components ([@epenet] - [#79204]) +- Add light platform for switchbee integration ([@jafar-atili] - [#78382]) ([switchbee docs]) (new-platform) +- Migrate MetOffice to new entity naming style ([@avee87] - [#74978]) ([metoffice docs]) +- Add missing error catch in Shelly reauth flow ([@bieniu] - [#79205]) ([shelly docs]) +- Make script entities register their own service ([@emontnemery] - [#79202]) ([script docs]) +- Add support for integrations v2 ([@emontnemery] - [#78801]) ([config docs]) +- Refactor duplicate code in switchbee ([@jafar-atili] - [#79209]) ([switchbee docs]) +- Rename Google Calendars to Google Calendar ([@allenporter] - [#79210]) ([google docs]) +- Update frontend to 20220928.0 ([@bramkragten] - [#79217]) ([frontend docs]) +- Shelly migrate to update entity ([@starkillerOG] - [#78305]) ([shelly docs]) (noteworthy) +- Update iBeacon UUID Major and Minor format for compatibility ([@dshokouhi] - [#79220]) ([ibeacon docs]) +- Deprecate conversion utilities ([@epenet] - [#78957]) (deprecation) +- Add ESPHome BleakClient ([@bdraco] - [#78911]) ([esphome docs]) ([bluetooth docs]) (noteworthy) +- Add configuration entities and device actions for Inovelli Blue Series switch to ZHA ([@dmulcahey] - [#79106]) ([zha docs]) +- Bump pyswitchbee to 1.5.5 ([@jafar-atili] - [#79206]) ([switchbee docs]) (dependency) +- Resolve traceback error when using variables in template triggers ([@ehendrix23] - [#77287]) ([template docs]) (beta fix) +- Allow entries with same user_key for Pushover ([@engrbm87] - [#77904]) ([pushover docs]) (beta fix) +- Bump zwave-js-server-python to 0.42.0 ([@raman325] - [#79020]) ([zwave_js docs]) (breaking-change) (beta fix) (dependency) +- Add to issue registry if user has mirrored entries for breaking in #67631 ([@HarvsG] - [#79208]) ([bayesian docs]) (beta fix) +- Bump yalexs to 1.2.4 ([@bdraco] - [#79222]) ([august docs]) (beta fix) (dependency) +- Finish Google brand ([@balloob] - [#79225]) ([nest docs]) (beta fix) +- Add fritz brand ([@balloob] - [#79226]) (beta fix) +- Add Apple brand ([@balloob] - [#79227]) (beta fix) +- Add Denon brand ([@balloob] - [#79230]) (beta fix) +- Add Cast + Chat to Google brand ([@balloob] - [#79231]) (beta fix) +- Add ubiquiti brand ([@balloob] - [#79232]) ([unifi_direct docs]) ([unifiled docs]) (beta fix) +- Update huisbaasje-client 0.1.0 to energyflip-client 0.2.0 ([@dennisschroer] - [#79233]) ([huisbaasje docs]) (beta fix) +- Add Leviton brand ([@balloob] - [#79244]) ([zwave_js docs]) (beta fix) +- Add DialogFlow to Google brand ([@balloob] - [#79245]) (beta fix) +- Wait for disconnect when we are out of connection ble slots in esphome ([@bdraco] - [#79246]) ([esphome docs]) (beta fix) +- Use SensorDeviceClass.VOLUME in components ([@epenet] - [#79253]) ([flo docs]) (beta fix) +- Use SensorDeviceClass.SPEED in rfxtrx ([@epenet] - [#79261]) ([rfxtrx docs]) (beta fix) +- Use SensorDeviceClass.SPEED in components ([@epenet] - [#79262]) ([netatmo docs]) (beta fix) +- Use SensorDeviceClass.SPEED in metoffice ([@epenet] - [#79263]) ([metoffice docs]) (beta fix) +- Use SensorDeviceClass.WEIGHT in components ([@epenet] - [#79277]) ([mysensors docs]) ([litterrobot docs]) ([bthome docs]) (beta fix) +- Use SensorDeviceClass.DISTANCE in components ([@epenet] - [#79285]) ([mysensors docs]) ([environment_canada docs]) ([opengarage docs]) ([metoffice docs]) ([buienradar docs]) ([starline docs]) ([wallbox docs]) (beta fix) +- Check if `new_version` is not empty string in Shelly update platform ([@bieniu] - [#79300]) ([shelly docs]) (beta fix) +- Add repair for missing Bayesian `prob_given_false` ([@HarvsG] - [#79303]) ([bayesian docs]) (beta fix) +- Use correct exception type for RainMachine select API error ([@bachya] - [#79309]) ([rainmachine docs]) (beta fix) +- Don't create Repairs issue on RainMachine entity replacement ([@bachya] - [#79310]) ([rainmachine docs]) (beta fix) +- Don't create Repairs issue on Guardian entity replacement ([@bachya] - [#79311]) ([guardian docs]) (beta fix) +- Update frontend to 20220929.0 ([@bramkragten] - [#79317]) ([frontend docs]) (beta fix) +- Store alternative domain for Zeroconf homekit discovery ([@balloob] - [#79240]) ([zeroconf docs]) (beta fix) +- Mask spotify content in owntone library ([@uvjustin] - [#79247]) ([forked_daapd docs]) (beta fix) +- Improve naming of units used in statistics ([@emontnemery] - [#79276]) ([recorder docs]) ([demo docs]) ([sensor docs]) (beta fix) +- Unregister Google sheets services during unload ([@tkdrob] - [#79314]) ([google_sheets docs]) (beta fix) +- Handle short local names from esphome proxies ([@bdraco] - [#79321]) ([esphome docs]) (beta fix) +- Use SensorDeviceClass.VOLUME in HomeWizard ([@DCSBL] - [#79323]) ([homewizard docs]) (beta fix) +- Switch to using new esphome bluetooth_proxy_version field ([@bdraco] - [#79331]) ([esphome docs]) (beta fix) +- Remove iBeacon devices that rotate their major,minor and mac ([@bdraco] - [#79338]) ([ibeacon docs]) (beta fix) +- Bump govee-ble to 0.19.1 to handle another H5181 ([@bdraco] - [#79340]) ([govee_ble docs]) (beta fix) (dependency) +- Add Third Reality to Zigbee Iot standards ([@zsarnett] - [#79341]) (beta fix) +- Adjust icons with new device classes ([@epenet] - [#79348]) ([mysensors docs]) ([litterrobot docs]) ([homewizard docs]) (beta fix) +- Make temperature conversions private ([@epenet] - [#79349]) ([prometheus docs]) ([mold_indicator docs]) ([openweathermap docs]) (beta fix) +- Realign util constants with 2022.9.7 ([@epenet] - [#79357]) (beta fix) +- Fjaraskupan stop on 0 percentage ([@elupus] - [#79367]) ([fjaraskupan docs]) (beta fix) +- Make Shelly update sensors disabled by default ([@thecode] - [#79376]) ([shelly docs]) (beta fix) +- Address Google Sheets PR feedback ([@allenporter] - [#78889]) ([google_sheets docs]) (beta fix) +- Powerview bump aiopvapi to 2.0.2 ([@kingy444] - [#79274]) ([hunterdouglas_powerview docs]) (beta fix) +- Enable delete device support for iBeacon ([@bdraco] - [#79339]) ([ibeacon docs]) (beta fix) +- Fix _attr_name issue in Yale Smart Alarm ([@gjohansson-ST] - [#79378]) ([yale_smart_alarm docs]) (beta fix) +- Improve robustness of linking homekit yaml to config entries ([@bdraco] - [#79386]) ([homekit docs]) (beta fix) +- Ensure bluetooth disconnect callback fires if esphome config entry is reloaded ([@bdraco] - [#79389]) ([esphome docs]) (beta fix) +- Fix onvif snapshot fallback ([@uvjustin] - [#79394]) ([onvif docs]) (beta fix) +- Do not use AQI device class for CAQI sensor in Airly integration ([@bieniu] - [#79402]) ([airly docs]) (beta fix) +- Fix unifiprotect test failing CI ([@thecode] - [#79406]) ([unifiprotect docs]) (beta fix) +- Fix low speed cover in Overkiz integration ([@iMicknl] - [#79416]) ([overkiz docs]) (beta fix) +- Bump aiowebostv to 0.2.1 ([@thecode] - [#79423]) ([webostv docs]) (beta fix) (dependency) +- vicare: Don't create unsupportedd button entites ([@oischinger] - [#79425]) ([vicare docs]) (beta fix) +- Fix mqtt reconnect fail when token expired ([@matrixd2] - [#79428]) ([yolink docs]) (beta fix) (dependency) +- Fix checking of upgrade API availability during setup of Synology DSM integration ([@mib1185] - [#79435]) ([synology_dsm docs]) (beta fix) +- Fix Netatmo scope issue with HA cloud ([@cgtobi] - [#79437]) ([netatmo docs]) (beta fix) +- Bump dbus-fast to 1.18.0 ([@bdraco] - [#79440]) ([bluetooth docs]) (beta fix) +- Bump bluetooth-adapters to 0.5.3 ([@bdraco] - [#79442]) ([bluetooth docs]) (beta fix) (dependency) +- Bump ibeacon-ble to 0.7.3 ([@bdraco] - [#79443]) ([ibeacon docs]) (beta fix) (dependency) +- Fix overkiz entity name ([@nyroDev] - [#79229]) ([overkiz docs]) (beta fix) +- Remove state_unit_of_measurement from metadata DB table ([@emontnemery] - [#79370]) ([recorder docs]) ([demo docs]) ([sensor docs]) ([tibber docs]) ([energy docs]) (beta fix) +- Update nest climate to avoid duplicate set mode commands ([@allenporter] - [#79445]) ([nest docs]) (beta fix) +- Skip parsing Flume sensors without location ([@hungnguyenm] - [#79456]) ([flume docs]) (beta fix) +- Add EVOLVEO Heat M30v2 TRV ([@zbeky] - [#79462]) ([zha docs]) (beta fix) +- Bump dbus-fast to 1.20.0 ([@bdraco] - [#79465]) ([bluetooth docs]) (beta fix) (dependency) +- Remove unnecessary config entity from ZHA ([@dmulcahey] - [#79472]) ([zha docs]) (beta fix) +- Fix LaCrosse View not updating ([@IceBotYT] - [#79474]) ([lacrosse_view docs]) (beta fix) +- Fix empty default ZHA configuration ([@TheJulianJES] - [#79475]) ([zha docs]) (beta fix) +- Fix missing string message in UniFi ([@Kane610] - [#79487]) ([unifi docs]) (beta fix) +- Update frontend to 20221002.0 ([@bramkragten] - [#79491]) ([frontend docs]) (beta fix) +- Set Synology DSM update entity to unavailable in case no data from api gathered ([@mib1185] - [#79508]) ([synology_dsm docs]) (beta fix) +- Remove deprecated update binary sensor from Synology DSM ([@mib1185] - [#79509]) ([synology_dsm docs]) (breaking-change) (beta fix) +- Bump bluetooth dependencies ([@bdraco] - [#79514]) ([bluetooth docs]) (beta fix) (dependency) +- Bump aioesphomeapi to 11.1.0 ([@jesserockz] - [#79515]) ([esphome docs]) (beta fix) (dependency) +- Add option to set a stun server for RTSPtoWebRTC ([@allenporter] - [#72574]) ([rtsp_to_webrtc docs]) (beta fix) +- Improve device_automation trigger validation ([@veleek] - [#75044]) ([device_automation docs]) (beta fix) +- Bumb velbusaio to 2022.10.1 ([@Cereal2nd] - [#79471]) ([velbus docs]) (beta fix) +- Align temperature conversion with other converters ([@epenet] - [#79521]) ([alexa docs]) (beta fix) +- Bump dbus-fast to 1.22.0 ([@bdraco] - [#79527]) (beta fix) +- Bump velbusaio to 2022.10.2 ([@Cereal2nd] - [#79537]) ([velbus docs]) (beta fix) (dependency) +- Update frontend to 20221003.0 ([@bramkragten] - [#79551]) ([frontend docs]) (beta fix) +- Fix preserving long term statistics when entity_id is changed ([@emontnemery] - [#79556]) ([recorder docs]) (beta fix) +- Remove call to deprecated bleak register_detection_callback ([@bdraco] - [#79558]) ([bluetooth docs]) (beta fix) +- Remove repairs issue per PR review request ([@natekspencer] - [#79561]) ([litterrobot docs]) (beta fix) +- Netatmo bump pyatmo to 7.1.0 ([@cgtobi] - [#79562]) ([netatmo docs]) (beta fix) +- Bump ZHA dependencies ([@puddly] - [#79565]) ([zha docs]) (beta fix) (dependency) +- Bump zwave_js lib to 0.43.0 and fix multi-file firmware updates ([@raman325] - [#79342]) ([zwave_js docs]) (breaking-change) (beta fix) +- Address late review of ViCare ([@oischinger] - [#79458]) ([vicare docs]) (beta fix) +- Bump dbus-fast to 1.23.0 ([@bdraco] - [#79570]) ([bluetooth docs]) (beta fix) (dependency) +- Set zwave_js climate entity target temp attributes based on current mode ([@kpine] - [#79575]) ([zwave_js docs]) (beta fix) +- Collect all brands ([@frenck] - [#79579]) (beta fix) +- Add docstring to US volume constants ([@epenet] - [#79582]) (beta fix) +- Set system & entity integration types ([@frenck] - [#79593]) (beta fix) +- Add a couple more brands ([@balloob] - [#79600]) (beta fix) +- Update frontend to 20221004.0 ([@bramkragten] - [#79602]) ([frontend docs]) (beta fix) +- Netatmo add supported brands ([@cgtobi] - [#79563]) ([netatmo docs]) (beta fix) +- Add supported brands for switchbee ([@jafar-atili] - [#79595]) ([switchbee docs]) (beta fix) +- Bump dbus-fast to 1.24.0 ([@bdraco] - [#79608]) ([bluetooth docs]) (beta fix) (dependency) +- Handle state is None in InfluxDB ([@mdegat01] - [#79609]) ([influxdb docs]) (beta fix) +- Supervisor update entity auto update from api ([@mdegat01] - [#79611]) ([hassio docs]) (beta fix) +- Bump UniFi dependency to v37 ([@Kane610] - [#79617]) ([unifi docs]) (beta fix) (dependency) +- Bump ZHA dependencies ([@puddly] - [#79623]) (beta fix) (dependency) +- Allow picking multiple entity targets for zwave_js.refresh_value service ([@kpine] - [#79634]) ([zwave_js docs]) (beta fix) +- Fix search throwing on templated services ([@emontnemery] - [#79637]) ([search docs]) (beta fix) +- Enhanced switchbee device naming ([@jafar-atili] - [#79641]) ([switchbee docs]) (beta fix) +- Normalize to kWh when handling WS energy/fossil_energy_consumption ([@emontnemery] - [#79649]) ([energy docs]) (beta fix) +- Update frontend to 20221005.0 ([@bramkragten] - [#79656]) ([frontend docs]) (beta fix) + +[#50913]: https://github.com/home-assistant/core/pull/50913 +[#59989]: https://github.com/home-assistant/core/pull/59989 +[#60677]: https://github.com/home-assistant/core/pull/60677 +[#64809]: https://github.com/home-assistant/core/pull/64809 +[#66438]: https://github.com/home-assistant/core/pull/66438 +[#67631]: https://github.com/home-assistant/core/pull/67631 +[#69269]: https://github.com/home-assistant/core/pull/69269 +[#70201]: https://github.com/home-assistant/core/pull/70201 +[#71617]: https://github.com/home-assistant/core/pull/71617 +[#72171]: https://github.com/home-assistant/core/pull/72171 +[#72574]: https://github.com/home-assistant/core/pull/72574 +[#73592]: https://github.com/home-assistant/core/pull/73592 +[#74015]: https://github.com/home-assistant/core/pull/74015 +[#74181]: https://github.com/home-assistant/core/pull/74181 +[#74300]: https://github.com/home-assistant/core/pull/74300 +[#74406]: https://github.com/home-assistant/core/pull/74406 +[#74437]: https://github.com/home-assistant/core/pull/74437 +[#74825]: https://github.com/home-assistant/core/pull/74825 +[#74829]: https://github.com/home-assistant/core/pull/74829 +[#74927]: https://github.com/home-assistant/core/pull/74927 +[#74978]: https://github.com/home-assistant/core/pull/74978 +[#74979]: https://github.com/home-assistant/core/pull/74979 +[#75034]: https://github.com/home-assistant/core/pull/75034 +[#75044]: https://github.com/home-assistant/core/pull/75044 +[#75105]: https://github.com/home-assistant/core/pull/75105 +[#75208]: https://github.com/home-assistant/core/pull/75208 +[#75283]: https://github.com/home-assistant/core/pull/75283 +[#75694]: https://github.com/home-assistant/core/pull/75694 +[#76269]: https://github.com/home-assistant/core/pull/76269 +[#76478]: https://github.com/home-assistant/core/pull/76478 +[#76484]: https://github.com/home-assistant/core/pull/76484 +[#76499]: https://github.com/home-assistant/core/pull/76499 +[#76575]: https://github.com/home-assistant/core/pull/76575 +[#76589]: https://github.com/home-assistant/core/pull/76589 +[#76610]: https://github.com/home-assistant/core/pull/76610 +[#76687]: https://github.com/home-assistant/core/pull/76687 +[#76688]: https://github.com/home-assistant/core/pull/76688 +[#76690]: https://github.com/home-assistant/core/pull/76690 +[#76694]: https://github.com/home-assistant/core/pull/76694 +[#76793]: https://github.com/home-assistant/core/pull/76793 +[#76878]: https://github.com/home-assistant/core/pull/76878 +[#77140]: https://github.com/home-assistant/core/pull/77140 +[#77287]: https://github.com/home-assistant/core/pull/77287 +[#77302]: https://github.com/home-assistant/core/pull/77302 +[#77328]: https://github.com/home-assistant/core/pull/77328 +[#77386]: https://github.com/home-assistant/core/pull/77386 +[#77434]: https://github.com/home-assistant/core/pull/77434 +[#77439]: https://github.com/home-assistant/core/pull/77439 +[#77461]: https://github.com/home-assistant/core/pull/77461 +[#77488]: https://github.com/home-assistant/core/pull/77488 +[#77508]: https://github.com/home-assistant/core/pull/77508 +[#77546]: https://github.com/home-assistant/core/pull/77546 +[#77576]: https://github.com/home-assistant/core/pull/77576 +[#77581]: https://github.com/home-assistant/core/pull/77581 +[#77584]: https://github.com/home-assistant/core/pull/77584 +[#77585]: https://github.com/home-assistant/core/pull/77585 +[#77586]: https://github.com/home-assistant/core/pull/77586 +[#77587]: https://github.com/home-assistant/core/pull/77587 +[#77588]: https://github.com/home-assistant/core/pull/77588 +[#77590]: https://github.com/home-assistant/core/pull/77590 +[#77592]: https://github.com/home-assistant/core/pull/77592 +[#77594]: https://github.com/home-assistant/core/pull/77594 +[#77596]: https://github.com/home-assistant/core/pull/77596 +[#77606]: https://github.com/home-assistant/core/pull/77606 +[#77633]: https://github.com/home-assistant/core/pull/77633 +[#77635]: https://github.com/home-assistant/core/pull/77635 +[#77640]: https://github.com/home-assistant/core/pull/77640 +[#77643]: https://github.com/home-assistant/core/pull/77643 +[#77644]: https://github.com/home-assistant/core/pull/77644 +[#77647]: https://github.com/home-assistant/core/pull/77647 +[#77648]: https://github.com/home-assistant/core/pull/77648 +[#77649]: https://github.com/home-assistant/core/pull/77649 +[#77650]: https://github.com/home-assistant/core/pull/77650 +[#77652]: https://github.com/home-assistant/core/pull/77652 +[#77653]: https://github.com/home-assistant/core/pull/77653 +[#77655]: https://github.com/home-assistant/core/pull/77655 +[#77656]: https://github.com/home-assistant/core/pull/77656 +[#77657]: https://github.com/home-assistant/core/pull/77657 +[#77659]: https://github.com/home-assistant/core/pull/77659 +[#77660]: https://github.com/home-assistant/core/pull/77660 +[#77663]: https://github.com/home-assistant/core/pull/77663 +[#77665]: https://github.com/home-assistant/core/pull/77665 +[#77666]: https://github.com/home-assistant/core/pull/77666 +[#77669]: https://github.com/home-assistant/core/pull/77669 +[#77674]: https://github.com/home-assistant/core/pull/77674 +[#77676]: https://github.com/home-assistant/core/pull/77676 +[#77692]: https://github.com/home-assistant/core/pull/77692 +[#77695]: https://github.com/home-assistant/core/pull/77695 +[#77696]: https://github.com/home-assistant/core/pull/77696 +[#77700]: https://github.com/home-assistant/core/pull/77700 +[#77703]: https://github.com/home-assistant/core/pull/77703 +[#77713]: https://github.com/home-assistant/core/pull/77713 +[#77714]: https://github.com/home-assistant/core/pull/77714 +[#77715]: https://github.com/home-assistant/core/pull/77715 +[#77716]: https://github.com/home-assistant/core/pull/77716 +[#77740]: https://github.com/home-assistant/core/pull/77740 +[#77741]: https://github.com/home-assistant/core/pull/77741 +[#77744]: https://github.com/home-assistant/core/pull/77744 +[#77750]: https://github.com/home-assistant/core/pull/77750 +[#77751]: https://github.com/home-assistant/core/pull/77751 +[#77772]: https://github.com/home-assistant/core/pull/77772 +[#77778]: https://github.com/home-assistant/core/pull/77778 +[#77780]: https://github.com/home-assistant/core/pull/77780 +[#77781]: https://github.com/home-assistant/core/pull/77781 +[#77782]: https://github.com/home-assistant/core/pull/77782 +[#77794]: https://github.com/home-assistant/core/pull/77794 +[#77803]: https://github.com/home-assistant/core/pull/77803 +[#77809]: https://github.com/home-assistant/core/pull/77809 +[#77811]: https://github.com/home-assistant/core/pull/77811 +[#77814]: https://github.com/home-assistant/core/pull/77814 +[#77816]: https://github.com/home-assistant/core/pull/77816 +[#77817]: https://github.com/home-assistant/core/pull/77817 +[#77818]: https://github.com/home-assistant/core/pull/77818 +[#77822]: https://github.com/home-assistant/core/pull/77822 +[#77824]: https://github.com/home-assistant/core/pull/77824 +[#77825]: https://github.com/home-assistant/core/pull/77825 +[#77826]: https://github.com/home-assistant/core/pull/77826 +[#77828]: https://github.com/home-assistant/core/pull/77828 +[#77829]: https://github.com/home-assistant/core/pull/77829 +[#77833]: https://github.com/home-assistant/core/pull/77833 +[#77836]: https://github.com/home-assistant/core/pull/77836 +[#77838]: https://github.com/home-assistant/core/pull/77838 +[#77841]: https://github.com/home-assistant/core/pull/77841 +[#77842]: https://github.com/home-assistant/core/pull/77842 +[#77847]: https://github.com/home-assistant/core/pull/77847 +[#77848]: https://github.com/home-assistant/core/pull/77848 +[#77853]: https://github.com/home-assistant/core/pull/77853 +[#77871]: https://github.com/home-assistant/core/pull/77871 +[#77872]: https://github.com/home-assistant/core/pull/77872 +[#77874]: https://github.com/home-assistant/core/pull/77874 +[#77875]: https://github.com/home-assistant/core/pull/77875 +[#77878]: https://github.com/home-assistant/core/pull/77878 +[#77879]: https://github.com/home-assistant/core/pull/77879 +[#77880]: https://github.com/home-assistant/core/pull/77880 +[#77881]: https://github.com/home-assistant/core/pull/77881 +[#77882]: https://github.com/home-assistant/core/pull/77882 +[#77883]: https://github.com/home-assistant/core/pull/77883 +[#77884]: https://github.com/home-assistant/core/pull/77884 +[#77885]: https://github.com/home-assistant/core/pull/77885 +[#77886]: https://github.com/home-assistant/core/pull/77886 +[#77887]: https://github.com/home-assistant/core/pull/77887 +[#77888]: https://github.com/home-assistant/core/pull/77888 +[#77889]: https://github.com/home-assistant/core/pull/77889 +[#77890]: https://github.com/home-assistant/core/pull/77890 +[#77894]: https://github.com/home-assistant/core/pull/77894 +[#77895]: https://github.com/home-assistant/core/pull/77895 +[#77897]: https://github.com/home-assistant/core/pull/77897 +[#77899]: https://github.com/home-assistant/core/pull/77899 +[#77900]: https://github.com/home-assistant/core/pull/77900 +[#77901]: https://github.com/home-assistant/core/pull/77901 +[#77902]: https://github.com/home-assistant/core/pull/77902 +[#77903]: https://github.com/home-assistant/core/pull/77903 +[#77904]: https://github.com/home-assistant/core/pull/77904 +[#77908]: https://github.com/home-assistant/core/pull/77908 +[#77919]: https://github.com/home-assistant/core/pull/77919 +[#77921]: https://github.com/home-assistant/core/pull/77921 +[#77930]: https://github.com/home-assistant/core/pull/77930 +[#77932]: https://github.com/home-assistant/core/pull/77932 +[#77937]: https://github.com/home-assistant/core/pull/77937 +[#77939]: https://github.com/home-assistant/core/pull/77939 +[#77940]: https://github.com/home-assistant/core/pull/77940 +[#77941]: https://github.com/home-assistant/core/pull/77941 +[#77943]: https://github.com/home-assistant/core/pull/77943 +[#77944]: https://github.com/home-assistant/core/pull/77944 +[#77946]: https://github.com/home-assistant/core/pull/77946 +[#77948]: https://github.com/home-assistant/core/pull/77948 +[#77949]: https://github.com/home-assistant/core/pull/77949 +[#77951]: https://github.com/home-assistant/core/pull/77951 +[#77952]: https://github.com/home-assistant/core/pull/77952 +[#77953]: https://github.com/home-assistant/core/pull/77953 +[#77959]: https://github.com/home-assistant/core/pull/77959 +[#77960]: https://github.com/home-assistant/core/pull/77960 +[#77969]: https://github.com/home-assistant/core/pull/77969 +[#77974]: https://github.com/home-assistant/core/pull/77974 +[#78011]: https://github.com/home-assistant/core/pull/78011 +[#78013]: https://github.com/home-assistant/core/pull/78013 +[#78014]: https://github.com/home-assistant/core/pull/78014 +[#78018]: https://github.com/home-assistant/core/pull/78018 +[#78020]: https://github.com/home-assistant/core/pull/78020 +[#78021]: https://github.com/home-assistant/core/pull/78021 +[#78022]: https://github.com/home-assistant/core/pull/78022 +[#78031]: https://github.com/home-assistant/core/pull/78031 +[#78032]: https://github.com/home-assistant/core/pull/78032 +[#78033]: https://github.com/home-assistant/core/pull/78033 +[#78037]: https://github.com/home-assistant/core/pull/78037 +[#78045]: https://github.com/home-assistant/core/pull/78045 +[#78049]: https://github.com/home-assistant/core/pull/78049 +[#78054]: https://github.com/home-assistant/core/pull/78054 +[#78056]: https://github.com/home-assistant/core/pull/78056 +[#78057]: https://github.com/home-assistant/core/pull/78057 +[#78058]: https://github.com/home-assistant/core/pull/78058 +[#78062]: https://github.com/home-assistant/core/pull/78062 +[#78064]: https://github.com/home-assistant/core/pull/78064 +[#78067]: https://github.com/home-assistant/core/pull/78067 +[#78068]: https://github.com/home-assistant/core/pull/78068 +[#78072]: https://github.com/home-assistant/core/pull/78072 +[#78078]: https://github.com/home-assistant/core/pull/78078 +[#78088]: https://github.com/home-assistant/core/pull/78088 +[#78093]: https://github.com/home-assistant/core/pull/78093 +[#78096]: https://github.com/home-assistant/core/pull/78096 +[#78098]: https://github.com/home-assistant/core/pull/78098 +[#78099]: https://github.com/home-assistant/core/pull/78099 +[#78100]: https://github.com/home-assistant/core/pull/78100 +[#78101]: https://github.com/home-assistant/core/pull/78101 +[#78103]: https://github.com/home-assistant/core/pull/78103 +[#78104]: https://github.com/home-assistant/core/pull/78104 +[#78105]: https://github.com/home-assistant/core/pull/78105 +[#78106]: https://github.com/home-assistant/core/pull/78106 +[#78108]: https://github.com/home-assistant/core/pull/78108 +[#78109]: https://github.com/home-assistant/core/pull/78109 +[#78110]: https://github.com/home-assistant/core/pull/78110 +[#78112]: https://github.com/home-assistant/core/pull/78112 +[#78114]: https://github.com/home-assistant/core/pull/78114 +[#78126]: https://github.com/home-assistant/core/pull/78126 +[#78144]: https://github.com/home-assistant/core/pull/78144 +[#78145]: https://github.com/home-assistant/core/pull/78145 +[#78151]: https://github.com/home-assistant/core/pull/78151 +[#78154]: https://github.com/home-assistant/core/pull/78154 +[#78177]: https://github.com/home-assistant/core/pull/78177 +[#78178]: https://github.com/home-assistant/core/pull/78178 +[#78184]: https://github.com/home-assistant/core/pull/78184 +[#78209]: https://github.com/home-assistant/core/pull/78209 +[#78216]: https://github.com/home-assistant/core/pull/78216 +[#78219]: https://github.com/home-assistant/core/pull/78219 +[#78236]: https://github.com/home-assistant/core/pull/78236 +[#78237]: https://github.com/home-assistant/core/pull/78237 +[#78238]: https://github.com/home-assistant/core/pull/78238 +[#78240]: https://github.com/home-assistant/core/pull/78240 +[#78242]: https://github.com/home-assistant/core/pull/78242 +[#78243]: https://github.com/home-assistant/core/pull/78243 +[#78244]: https://github.com/home-assistant/core/pull/78244 +[#78246]: https://github.com/home-assistant/core/pull/78246 +[#78247]: https://github.com/home-assistant/core/pull/78247 +[#78248]: https://github.com/home-assistant/core/pull/78248 +[#78249]: https://github.com/home-assistant/core/pull/78249 +[#78250]: https://github.com/home-assistant/core/pull/78250 +[#78251]: https://github.com/home-assistant/core/pull/78251 +[#78254]: https://github.com/home-assistant/core/pull/78254 +[#78257]: https://github.com/home-assistant/core/pull/78257 +[#78264]: https://github.com/home-assistant/core/pull/78264 +[#78265]: https://github.com/home-assistant/core/pull/78265 +[#78266]: https://github.com/home-assistant/core/pull/78266 +[#78267]: https://github.com/home-assistant/core/pull/78267 +[#78268]: https://github.com/home-assistant/core/pull/78268 +[#78269]: https://github.com/home-assistant/core/pull/78269 +[#78271]: https://github.com/home-assistant/core/pull/78271 +[#78272]: https://github.com/home-assistant/core/pull/78272 +[#78273]: https://github.com/home-assistant/core/pull/78273 +[#78274]: https://github.com/home-assistant/core/pull/78274 +[#78275]: https://github.com/home-assistant/core/pull/78275 +[#78276]: https://github.com/home-assistant/core/pull/78276 +[#78277]: https://github.com/home-assistant/core/pull/78277 +[#78278]: https://github.com/home-assistant/core/pull/78278 +[#78279]: https://github.com/home-assistant/core/pull/78279 +[#78282]: https://github.com/home-assistant/core/pull/78282 +[#78284]: https://github.com/home-assistant/core/pull/78284 +[#78285]: https://github.com/home-assistant/core/pull/78285 +[#78287]: https://github.com/home-assistant/core/pull/78287 +[#78292]: https://github.com/home-assistant/core/pull/78292 +[#78294]: https://github.com/home-assistant/core/pull/78294 +[#78295]: https://github.com/home-assistant/core/pull/78295 +[#78298]: https://github.com/home-assistant/core/pull/78298 +[#78300]: https://github.com/home-assistant/core/pull/78300 +[#78302]: https://github.com/home-assistant/core/pull/78302 +[#78303]: https://github.com/home-assistant/core/pull/78303 +[#78305]: https://github.com/home-assistant/core/pull/78305 +[#78313]: https://github.com/home-assistant/core/pull/78313 +[#78324]: https://github.com/home-assistant/core/pull/78324 +[#78331]: https://github.com/home-assistant/core/pull/78331 +[#78342]: https://github.com/home-assistant/core/pull/78342 +[#78343]: https://github.com/home-assistant/core/pull/78343 +[#78345]: https://github.com/home-assistant/core/pull/78345 +[#78346]: https://github.com/home-assistant/core/pull/78346 +[#78347]: https://github.com/home-assistant/core/pull/78347 +[#78348]: https://github.com/home-assistant/core/pull/78348 +[#78349]: https://github.com/home-assistant/core/pull/78349 +[#78350]: https://github.com/home-assistant/core/pull/78350 +[#78351]: https://github.com/home-assistant/core/pull/78351 +[#78352]: https://github.com/home-assistant/core/pull/78352 +[#78353]: https://github.com/home-assistant/core/pull/78353 +[#78364]: https://github.com/home-assistant/core/pull/78364 +[#78366]: https://github.com/home-assistant/core/pull/78366 +[#78368]: https://github.com/home-assistant/core/pull/78368 +[#78382]: https://github.com/home-assistant/core/pull/78382 +[#78386]: https://github.com/home-assistant/core/pull/78386 +[#78390]: https://github.com/home-assistant/core/pull/78390 +[#78393]: https://github.com/home-assistant/core/pull/78393 +[#78394]: https://github.com/home-assistant/core/pull/78394 +[#78395]: https://github.com/home-assistant/core/pull/78395 +[#78397]: https://github.com/home-assistant/core/pull/78397 +[#78408]: https://github.com/home-assistant/core/pull/78408 +[#78412]: https://github.com/home-assistant/core/pull/78412 +[#78426]: https://github.com/home-assistant/core/pull/78426 +[#78427]: https://github.com/home-assistant/core/pull/78427 +[#78430]: https://github.com/home-assistant/core/pull/78430 +[#78432]: https://github.com/home-assistant/core/pull/78432 +[#78433]: https://github.com/home-assistant/core/pull/78433 +[#78440]: https://github.com/home-assistant/core/pull/78440 +[#78441]: https://github.com/home-assistant/core/pull/78441 +[#78443]: https://github.com/home-assistant/core/pull/78443 +[#78445]: https://github.com/home-assistant/core/pull/78445 +[#78446]: https://github.com/home-assistant/core/pull/78446 +[#78447]: https://github.com/home-assistant/core/pull/78447 +[#78451]: https://github.com/home-assistant/core/pull/78451 +[#78453]: https://github.com/home-assistant/core/pull/78453 +[#78455]: https://github.com/home-assistant/core/pull/78455 +[#78457]: https://github.com/home-assistant/core/pull/78457 +[#78458]: https://github.com/home-assistant/core/pull/78458 +[#78460]: https://github.com/home-assistant/core/pull/78460 +[#78461]: https://github.com/home-assistant/core/pull/78461 +[#78462]: https://github.com/home-assistant/core/pull/78462 +[#78463]: https://github.com/home-assistant/core/pull/78463 +[#78469]: https://github.com/home-assistant/core/pull/78469 +[#78471]: https://github.com/home-assistant/core/pull/78471 +[#78472]: https://github.com/home-assistant/core/pull/78472 +[#78473]: https://github.com/home-assistant/core/pull/78473 +[#78479]: https://github.com/home-assistant/core/pull/78479 +[#78484]: https://github.com/home-assistant/core/pull/78484 +[#78487]: https://github.com/home-assistant/core/pull/78487 +[#78490]: https://github.com/home-assistant/core/pull/78490 +[#78491]: https://github.com/home-assistant/core/pull/78491 +[#78492]: https://github.com/home-assistant/core/pull/78492 +[#78493]: https://github.com/home-assistant/core/pull/78493 +[#78494]: https://github.com/home-assistant/core/pull/78494 +[#78496]: https://github.com/home-assistant/core/pull/78496 +[#78497]: https://github.com/home-assistant/core/pull/78497 +[#78498]: https://github.com/home-assistant/core/pull/78498 +[#78499]: https://github.com/home-assistant/core/pull/78499 +[#78500]: https://github.com/home-assistant/core/pull/78500 +[#78501]: https://github.com/home-assistant/core/pull/78501 +[#78502]: https://github.com/home-assistant/core/pull/78502 +[#78503]: https://github.com/home-assistant/core/pull/78503 +[#78506]: https://github.com/home-assistant/core/pull/78506 +[#78507]: https://github.com/home-assistant/core/pull/78507 +[#78509]: https://github.com/home-assistant/core/pull/78509 +[#78510]: https://github.com/home-assistant/core/pull/78510 +[#78513]: https://github.com/home-assistant/core/pull/78513 +[#78517]: https://github.com/home-assistant/core/pull/78517 +[#78518]: https://github.com/home-assistant/core/pull/78518 +[#78519]: https://github.com/home-assistant/core/pull/78519 +[#78520]: https://github.com/home-assistant/core/pull/78520 +[#78521]: https://github.com/home-assistant/core/pull/78521 +[#78522]: https://github.com/home-assistant/core/pull/78522 +[#78523]: https://github.com/home-assistant/core/pull/78523 +[#78524]: https://github.com/home-assistant/core/pull/78524 +[#78525]: https://github.com/home-assistant/core/pull/78525 +[#78527]: https://github.com/home-assistant/core/pull/78527 +[#78529]: https://github.com/home-assistant/core/pull/78529 +[#78538]: https://github.com/home-assistant/core/pull/78538 +[#78542]: https://github.com/home-assistant/core/pull/78542 +[#78545]: https://github.com/home-assistant/core/pull/78545 +[#78550]: https://github.com/home-assistant/core/pull/78550 +[#78571]: https://github.com/home-assistant/core/pull/78571 +[#78573]: https://github.com/home-assistant/core/pull/78573 +[#78575]: https://github.com/home-assistant/core/pull/78575 +[#78578]: https://github.com/home-assistant/core/pull/78578 +[#78580]: https://github.com/home-assistant/core/pull/78580 +[#78583]: https://github.com/home-assistant/core/pull/78583 +[#78584]: https://github.com/home-assistant/core/pull/78584 +[#78585]: https://github.com/home-assistant/core/pull/78585 +[#78590]: https://github.com/home-assistant/core/pull/78590 +[#78602]: https://github.com/home-assistant/core/pull/78602 +[#78606]: https://github.com/home-assistant/core/pull/78606 +[#78607]: https://github.com/home-assistant/core/pull/78607 +[#78608]: https://github.com/home-assistant/core/pull/78608 +[#78609]: https://github.com/home-assistant/core/pull/78609 +[#78611]: https://github.com/home-assistant/core/pull/78611 +[#78612]: https://github.com/home-assistant/core/pull/78612 +[#78616]: https://github.com/home-assistant/core/pull/78616 +[#78624]: https://github.com/home-assistant/core/pull/78624 +[#78632]: https://github.com/home-assistant/core/pull/78632 +[#78636]: https://github.com/home-assistant/core/pull/78636 +[#78638]: https://github.com/home-assistant/core/pull/78638 +[#78639]: https://github.com/home-assistant/core/pull/78639 +[#78641]: https://github.com/home-assistant/core/pull/78641 +[#78642]: https://github.com/home-assistant/core/pull/78642 +[#78645]: https://github.com/home-assistant/core/pull/78645 +[#78649]: https://github.com/home-assistant/core/pull/78649 +[#78652]: https://github.com/home-assistant/core/pull/78652 +[#78653]: https://github.com/home-assistant/core/pull/78653 +[#78661]: https://github.com/home-assistant/core/pull/78661 +[#78662]: https://github.com/home-assistant/core/pull/78662 +[#78663]: https://github.com/home-assistant/core/pull/78663 +[#78664]: https://github.com/home-assistant/core/pull/78664 +[#78666]: https://github.com/home-assistant/core/pull/78666 +[#78668]: https://github.com/home-assistant/core/pull/78668 +[#78670]: https://github.com/home-assistant/core/pull/78670 +[#78671]: https://github.com/home-assistant/core/pull/78671 +[#78679]: https://github.com/home-assistant/core/pull/78679 +[#78682]: https://github.com/home-assistant/core/pull/78682 +[#78690]: https://github.com/home-assistant/core/pull/78690 +[#78691]: https://github.com/home-assistant/core/pull/78691 +[#78694]: https://github.com/home-assistant/core/pull/78694 +[#78699]: https://github.com/home-assistant/core/pull/78699 +[#78700]: https://github.com/home-assistant/core/pull/78700 +[#78706]: https://github.com/home-assistant/core/pull/78706 +[#78708]: https://github.com/home-assistant/core/pull/78708 +[#78709]: https://github.com/home-assistant/core/pull/78709 +[#78710]: https://github.com/home-assistant/core/pull/78710 +[#78720]: https://github.com/home-assistant/core/pull/78720 +[#78722]: https://github.com/home-assistant/core/pull/78722 +[#78727]: https://github.com/home-assistant/core/pull/78727 +[#78728]: https://github.com/home-assistant/core/pull/78728 +[#78730]: https://github.com/home-assistant/core/pull/78730 +[#78731]: https://github.com/home-assistant/core/pull/78731 +[#78732]: https://github.com/home-assistant/core/pull/78732 +[#78733]: https://github.com/home-assistant/core/pull/78733 +[#78734]: https://github.com/home-assistant/core/pull/78734 +[#78736]: https://github.com/home-assistant/core/pull/78736 +[#78741]: https://github.com/home-assistant/core/pull/78741 +[#78742]: https://github.com/home-assistant/core/pull/78742 +[#78743]: https://github.com/home-assistant/core/pull/78743 +[#78745]: https://github.com/home-assistant/core/pull/78745 +[#78752]: https://github.com/home-assistant/core/pull/78752 +[#78754]: https://github.com/home-assistant/core/pull/78754 +[#78756]: https://github.com/home-assistant/core/pull/78756 +[#78757]: https://github.com/home-assistant/core/pull/78757 +[#78759]: https://github.com/home-assistant/core/pull/78759 +[#78761]: https://github.com/home-assistant/core/pull/78761 +[#78763]: https://github.com/home-assistant/core/pull/78763 +[#78764]: https://github.com/home-assistant/core/pull/78764 +[#78765]: https://github.com/home-assistant/core/pull/78765 +[#78766]: https://github.com/home-assistant/core/pull/78766 +[#78767]: https://github.com/home-assistant/core/pull/78767 +[#78768]: https://github.com/home-assistant/core/pull/78768 +[#78769]: https://github.com/home-assistant/core/pull/78769 +[#78770]: https://github.com/home-assistant/core/pull/78770 +[#78771]: https://github.com/home-assistant/core/pull/78771 +[#78772]: https://github.com/home-assistant/core/pull/78772 +[#78776]: https://github.com/home-assistant/core/pull/78776 +[#78785]: https://github.com/home-assistant/core/pull/78785 +[#78786]: https://github.com/home-assistant/core/pull/78786 +[#78788]: https://github.com/home-assistant/core/pull/78788 +[#78794]: https://github.com/home-assistant/core/pull/78794 +[#78795]: https://github.com/home-assistant/core/pull/78795 +[#78800]: https://github.com/home-assistant/core/pull/78800 +[#78801]: https://github.com/home-assistant/core/pull/78801 +[#78807]: https://github.com/home-assistant/core/pull/78807 +[#78808]: https://github.com/home-assistant/core/pull/78808 +[#78809]: https://github.com/home-assistant/core/pull/78809 +[#78810]: https://github.com/home-assistant/core/pull/78810 +[#78811]: https://github.com/home-assistant/core/pull/78811 +[#78812]: https://github.com/home-assistant/core/pull/78812 +[#78813]: https://github.com/home-assistant/core/pull/78813 +[#78817]: https://github.com/home-assistant/core/pull/78817 +[#78819]: https://github.com/home-assistant/core/pull/78819 +[#78825]: https://github.com/home-assistant/core/pull/78825 +[#78828]: https://github.com/home-assistant/core/pull/78828 +[#78832]: https://github.com/home-assistant/core/pull/78832 +[#78837]: https://github.com/home-assistant/core/pull/78837 +[#78840]: https://github.com/home-assistant/core/pull/78840 +[#78841]: https://github.com/home-assistant/core/pull/78841 +[#78842]: https://github.com/home-assistant/core/pull/78842 +[#78843]: https://github.com/home-assistant/core/pull/78843 +[#78844]: https://github.com/home-assistant/core/pull/78844 +[#78848]: https://github.com/home-assistant/core/pull/78848 +[#78857]: https://github.com/home-assistant/core/pull/78857 +[#78859]: https://github.com/home-assistant/core/pull/78859 +[#78861]: https://github.com/home-assistant/core/pull/78861 +[#78864]: https://github.com/home-assistant/core/pull/78864 +[#78866]: https://github.com/home-assistant/core/pull/78866 +[#78867]: https://github.com/home-assistant/core/pull/78867 +[#78869]: https://github.com/home-assistant/core/pull/78869 +[#78870]: https://github.com/home-assistant/core/pull/78870 +[#78871]: https://github.com/home-assistant/core/pull/78871 +[#78873]: https://github.com/home-assistant/core/pull/78873 +[#78877]: https://github.com/home-assistant/core/pull/78877 +[#78878]: https://github.com/home-assistant/core/pull/78878 +[#78879]: https://github.com/home-assistant/core/pull/78879 +[#78881]: https://github.com/home-assistant/core/pull/78881 +[#78883]: https://github.com/home-assistant/core/pull/78883 +[#78888]: https://github.com/home-assistant/core/pull/78888 +[#78889]: https://github.com/home-assistant/core/pull/78889 +[#78891]: https://github.com/home-assistant/core/pull/78891 +[#78893]: https://github.com/home-assistant/core/pull/78893 +[#78898]: https://github.com/home-assistant/core/pull/78898 +[#78900]: https://github.com/home-assistant/core/pull/78900 +[#78901]: https://github.com/home-assistant/core/pull/78901 +[#78906]: https://github.com/home-assistant/core/pull/78906 +[#78911]: https://github.com/home-assistant/core/pull/78911 +[#78914]: https://github.com/home-assistant/core/pull/78914 +[#78915]: https://github.com/home-assistant/core/pull/78915 +[#78918]: https://github.com/home-assistant/core/pull/78918 +[#78920]: https://github.com/home-assistant/core/pull/78920 +[#78922]: https://github.com/home-assistant/core/pull/78922 +[#78924]: https://github.com/home-assistant/core/pull/78924 +[#78927]: https://github.com/home-assistant/core/pull/78927 +[#78929]: https://github.com/home-assistant/core/pull/78929 +[#78931]: https://github.com/home-assistant/core/pull/78931 +[#78934]: https://github.com/home-assistant/core/pull/78934 +[#78935]: https://github.com/home-assistant/core/pull/78935 +[#78941]: https://github.com/home-assistant/core/pull/78941 +[#78942]: https://github.com/home-assistant/core/pull/78942 +[#78943]: https://github.com/home-assistant/core/pull/78943 +[#78945]: https://github.com/home-assistant/core/pull/78945 +[#78947]: https://github.com/home-assistant/core/pull/78947 +[#78950]: https://github.com/home-assistant/core/pull/78950 +[#78953]: https://github.com/home-assistant/core/pull/78953 +[#78955]: https://github.com/home-assistant/core/pull/78955 +[#78957]: https://github.com/home-assistant/core/pull/78957 +[#78960]: https://github.com/home-assistant/core/pull/78960 +[#78961]: https://github.com/home-assistant/core/pull/78961 +[#78965]: https://github.com/home-assistant/core/pull/78965 +[#78966]: https://github.com/home-assistant/core/pull/78966 +[#78967]: https://github.com/home-assistant/core/pull/78967 +[#78970]: https://github.com/home-assistant/core/pull/78970 +[#78974]: https://github.com/home-assistant/core/pull/78974 +[#78976]: https://github.com/home-assistant/core/pull/78976 +[#78977]: https://github.com/home-assistant/core/pull/78977 +[#78983]: https://github.com/home-assistant/core/pull/78983 +[#78985]: https://github.com/home-assistant/core/pull/78985 +[#78987]: https://github.com/home-assistant/core/pull/78987 +[#78990]: https://github.com/home-assistant/core/pull/78990 +[#78991]: https://github.com/home-assistant/core/pull/78991 +[#78994]: https://github.com/home-assistant/core/pull/78994 +[#78998]: https://github.com/home-assistant/core/pull/78998 +[#79002]: https://github.com/home-assistant/core/pull/79002 +[#79003]: https://github.com/home-assistant/core/pull/79003 +[#79004]: https://github.com/home-assistant/core/pull/79004 +[#79008]: https://github.com/home-assistant/core/pull/79008 +[#79009]: https://github.com/home-assistant/core/pull/79009 +[#79010]: https://github.com/home-assistant/core/pull/79010 +[#79011]: https://github.com/home-assistant/core/pull/79011 +[#79012]: https://github.com/home-assistant/core/pull/79012 +[#79020]: https://github.com/home-assistant/core/pull/79020 +[#79024]: https://github.com/home-assistant/core/pull/79024 +[#79026]: https://github.com/home-assistant/core/pull/79026 +[#79035]: https://github.com/home-assistant/core/pull/79035 +[#79037]: https://github.com/home-assistant/core/pull/79037 +[#79040]: https://github.com/home-assistant/core/pull/79040 +[#79042]: https://github.com/home-assistant/core/pull/79042 +[#79043]: https://github.com/home-assistant/core/pull/79043 +[#79044]: https://github.com/home-assistant/core/pull/79044 +[#79049]: https://github.com/home-assistant/core/pull/79049 +[#79063]: https://github.com/home-assistant/core/pull/79063 +[#79065]: https://github.com/home-assistant/core/pull/79065 +[#79067]: https://github.com/home-assistant/core/pull/79067 +[#79072]: https://github.com/home-assistant/core/pull/79072 +[#79074]: https://github.com/home-assistant/core/pull/79074 +[#79078]: https://github.com/home-assistant/core/pull/79078 +[#79079]: https://github.com/home-assistant/core/pull/79079 +[#79080]: https://github.com/home-assistant/core/pull/79080 +[#79081]: https://github.com/home-assistant/core/pull/79081 +[#79087]: https://github.com/home-assistant/core/pull/79087 +[#79100]: https://github.com/home-assistant/core/pull/79100 +[#79101]: https://github.com/home-assistant/core/pull/79101 +[#79104]: https://github.com/home-assistant/core/pull/79104 +[#79105]: https://github.com/home-assistant/core/pull/79105 +[#79106]: https://github.com/home-assistant/core/pull/79106 +[#79107]: https://github.com/home-assistant/core/pull/79107 +[#79111]: https://github.com/home-assistant/core/pull/79111 +[#79115]: https://github.com/home-assistant/core/pull/79115 +[#79116]: https://github.com/home-assistant/core/pull/79116 +[#79117]: https://github.com/home-assistant/core/pull/79117 +[#79118]: https://github.com/home-assistant/core/pull/79118 +[#79121]: https://github.com/home-assistant/core/pull/79121 +[#79122]: https://github.com/home-assistant/core/pull/79122 +[#79124]: https://github.com/home-assistant/core/pull/79124 +[#79125]: https://github.com/home-assistant/core/pull/79125 +[#79127]: https://github.com/home-assistant/core/pull/79127 +[#79130]: https://github.com/home-assistant/core/pull/79130 +[#79131]: https://github.com/home-assistant/core/pull/79131 +[#79132]: https://github.com/home-assistant/core/pull/79132 +[#79134]: https://github.com/home-assistant/core/pull/79134 +[#79136]: https://github.com/home-assistant/core/pull/79136 +[#79138]: https://github.com/home-assistant/core/pull/79138 +[#79139]: https://github.com/home-assistant/core/pull/79139 +[#79144]: https://github.com/home-assistant/core/pull/79144 +[#79146]: https://github.com/home-assistant/core/pull/79146 +[#79147]: https://github.com/home-assistant/core/pull/79147 +[#79150]: https://github.com/home-assistant/core/pull/79150 +[#79155]: https://github.com/home-assistant/core/pull/79155 +[#79157]: https://github.com/home-assistant/core/pull/79157 +[#79158]: https://github.com/home-assistant/core/pull/79158 +[#79162]: https://github.com/home-assistant/core/pull/79162 +[#79164]: https://github.com/home-assistant/core/pull/79164 +[#79167]: https://github.com/home-assistant/core/pull/79167 +[#79169]: https://github.com/home-assistant/core/pull/79169 +[#79173]: https://github.com/home-assistant/core/pull/79173 +[#79174]: https://github.com/home-assistant/core/pull/79174 +[#79175]: https://github.com/home-assistant/core/pull/79175 +[#79177]: https://github.com/home-assistant/core/pull/79177 +[#79180]: https://github.com/home-assistant/core/pull/79180 +[#79182]: https://github.com/home-assistant/core/pull/79182 +[#79185]: https://github.com/home-assistant/core/pull/79185 +[#79193]: https://github.com/home-assistant/core/pull/79193 +[#79195]: https://github.com/home-assistant/core/pull/79195 +[#79197]: https://github.com/home-assistant/core/pull/79197 +[#79200]: https://github.com/home-assistant/core/pull/79200 +[#79201]: https://github.com/home-assistant/core/pull/79201 +[#79202]: https://github.com/home-assistant/core/pull/79202 +[#79204]: https://github.com/home-assistant/core/pull/79204 +[#79205]: https://github.com/home-assistant/core/pull/79205 +[#79206]: https://github.com/home-assistant/core/pull/79206 +[#79208]: https://github.com/home-assistant/core/pull/79208 +[#79209]: https://github.com/home-assistant/core/pull/79209 +[#79210]: https://github.com/home-assistant/core/pull/79210 +[#79217]: https://github.com/home-assistant/core/pull/79217 +[#79220]: https://github.com/home-assistant/core/pull/79220 +[#79222]: https://github.com/home-assistant/core/pull/79222 +[#79225]: https://github.com/home-assistant/core/pull/79225 +[#79226]: https://github.com/home-assistant/core/pull/79226 +[#79227]: https://github.com/home-assistant/core/pull/79227 +[#79229]: https://github.com/home-assistant/core/pull/79229 +[#79230]: https://github.com/home-assistant/core/pull/79230 +[#79231]: https://github.com/home-assistant/core/pull/79231 +[#79232]: https://github.com/home-assistant/core/pull/79232 +[#79233]: https://github.com/home-assistant/core/pull/79233 +[#79240]: https://github.com/home-assistant/core/pull/79240 +[#79244]: https://github.com/home-assistant/core/pull/79244 +[#79245]: https://github.com/home-assistant/core/pull/79245 +[#79246]: https://github.com/home-assistant/core/pull/79246 +[#79247]: https://github.com/home-assistant/core/pull/79247 +[#79253]: https://github.com/home-assistant/core/pull/79253 +[#79261]: https://github.com/home-assistant/core/pull/79261 +[#79262]: https://github.com/home-assistant/core/pull/79262 +[#79263]: https://github.com/home-assistant/core/pull/79263 +[#79274]: https://github.com/home-assistant/core/pull/79274 +[#79276]: https://github.com/home-assistant/core/pull/79276 +[#79277]: https://github.com/home-assistant/core/pull/79277 +[#79285]: https://github.com/home-assistant/core/pull/79285 +[#79300]: https://github.com/home-assistant/core/pull/79300 +[#79303]: https://github.com/home-assistant/core/pull/79303 +[#79309]: https://github.com/home-assistant/core/pull/79309 +[#79310]: https://github.com/home-assistant/core/pull/79310 +[#79311]: https://github.com/home-assistant/core/pull/79311 +[#79314]: https://github.com/home-assistant/core/pull/79314 +[#79317]: https://github.com/home-assistant/core/pull/79317 +[#79321]: https://github.com/home-assistant/core/pull/79321 +[#79323]: https://github.com/home-assistant/core/pull/79323 +[#79331]: https://github.com/home-assistant/core/pull/79331 +[#79338]: https://github.com/home-assistant/core/pull/79338 +[#79339]: https://github.com/home-assistant/core/pull/79339 +[#79340]: https://github.com/home-assistant/core/pull/79340 +[#79341]: https://github.com/home-assistant/core/pull/79341 +[#79342]: https://github.com/home-assistant/core/pull/79342 +[#79348]: https://github.com/home-assistant/core/pull/79348 +[#79349]: https://github.com/home-assistant/core/pull/79349 +[#79357]: https://github.com/home-assistant/core/pull/79357 +[#79367]: https://github.com/home-assistant/core/pull/79367 +[#79370]: https://github.com/home-assistant/core/pull/79370 +[#79376]: https://github.com/home-assistant/core/pull/79376 +[#79378]: https://github.com/home-assistant/core/pull/79378 +[#79386]: https://github.com/home-assistant/core/pull/79386 +[#79389]: https://github.com/home-assistant/core/pull/79389 +[#79394]: https://github.com/home-assistant/core/pull/79394 +[#79402]: https://github.com/home-assistant/core/pull/79402 +[#79406]: https://github.com/home-assistant/core/pull/79406 +[#79416]: https://github.com/home-assistant/core/pull/79416 +[#79423]: https://github.com/home-assistant/core/pull/79423 +[#79425]: https://github.com/home-assistant/core/pull/79425 +[#79428]: https://github.com/home-assistant/core/pull/79428 +[#79435]: https://github.com/home-assistant/core/pull/79435 +[#79437]: https://github.com/home-assistant/core/pull/79437 +[#79440]: https://github.com/home-assistant/core/pull/79440 +[#79442]: https://github.com/home-assistant/core/pull/79442 +[#79443]: https://github.com/home-assistant/core/pull/79443 +[#79445]: https://github.com/home-assistant/core/pull/79445 +[#79456]: https://github.com/home-assistant/core/pull/79456 +[#79458]: https://github.com/home-assistant/core/pull/79458 +[#79462]: https://github.com/home-assistant/core/pull/79462 +[#79465]: https://github.com/home-assistant/core/pull/79465 +[#79471]: https://github.com/home-assistant/core/pull/79471 +[#79472]: https://github.com/home-assistant/core/pull/79472 +[#79474]: https://github.com/home-assistant/core/pull/79474 +[#79475]: https://github.com/home-assistant/core/pull/79475 +[#79487]: https://github.com/home-assistant/core/pull/79487 +[#79491]: https://github.com/home-assistant/core/pull/79491 +[#79508]: https://github.com/home-assistant/core/pull/79508 +[#79509]: https://github.com/home-assistant/core/pull/79509 +[#79514]: https://github.com/home-assistant/core/pull/79514 +[#79515]: https://github.com/home-assistant/core/pull/79515 +[#79521]: https://github.com/home-assistant/core/pull/79521 +[#79527]: https://github.com/home-assistant/core/pull/79527 +[#79537]: https://github.com/home-assistant/core/pull/79537 +[#79551]: https://github.com/home-assistant/core/pull/79551 +[#79556]: https://github.com/home-assistant/core/pull/79556 +[#79558]: https://github.com/home-assistant/core/pull/79558 +[#79561]: https://github.com/home-assistant/core/pull/79561 +[#79562]: https://github.com/home-assistant/core/pull/79562 +[#79563]: https://github.com/home-assistant/core/pull/79563 +[#79565]: https://github.com/home-assistant/core/pull/79565 +[#79570]: https://github.com/home-assistant/core/pull/79570 +[#79575]: https://github.com/home-assistant/core/pull/79575 +[#79579]: https://github.com/home-assistant/core/pull/79579 +[#79582]: https://github.com/home-assistant/core/pull/79582 +[#79593]: https://github.com/home-assistant/core/pull/79593 +[#79595]: https://github.com/home-assistant/core/pull/79595 +[#79600]: https://github.com/home-assistant/core/pull/79600 +[#79602]: https://github.com/home-assistant/core/pull/79602 +[#79608]: https://github.com/home-assistant/core/pull/79608 +[#79609]: https://github.com/home-assistant/core/pull/79609 +[#79611]: https://github.com/home-assistant/core/pull/79611 +[#79617]: https://github.com/home-assistant/core/pull/79617 +[#79623]: https://github.com/home-assistant/core/pull/79623 +[#79634]: https://github.com/home-assistant/core/pull/79634 +[#79637]: https://github.com/home-assistant/core/pull/79637 +[#79641]: https://github.com/home-assistant/core/pull/79641 +[#79649]: https://github.com/home-assistant/core/pull/79649 +[#79656]: https://github.com/home-assistant/core/pull/79656 +[@Bre77]: https://github.com/Bre77 +[@Cereal2nd]: https://github.com/Cereal2nd +[@ColinRobbins]: https://github.com/ColinRobbins +[@DCSBL]: https://github.com/DCSBL +[@Danielhiversen]: https://github.com/Danielhiversen +[@Djelibeybi]: https://github.com/Djelibeybi +[@Drafteed]: https://github.com/Drafteed +[@EmJay276]: https://github.com/EmJay276 +[@Ernst79]: https://github.com/Ernst79 +[@Glodenox]: https://github.com/Glodenox +[@HarvsG]: https://github.com/HarvsG +[@IceBotYT]: https://github.com/IceBotYT +[@JQWeb]: https://github.com/JQWeb +[@Jc2k]: https://github.com/Jc2k +[@Kane610]: https://github.com/Kane610 +[@KloudJack]: https://github.com/KloudJack +[@LaStrada]: https://github.com/LaStrada +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@Midbin]: https://github.com/Midbin +[@PaulAnnekov]: https://github.com/PaulAnnekov +[@PoltoS]: https://github.com/PoltoS +[@RicArch97]: https://github.com/RicArch97 +[@TheJulianJES]: https://github.com/TheJulianJES +[@TomBrien]: https://github.com/TomBrien +[@agners]: https://github.com/agners +[@alakdae]: https://github.com/alakdae +[@allenporter]: https://github.com/allenporter +[@amitfin]: https://github.com/amitfin +[@apt-itude]: https://github.com/apt-itude +[@avee87]: https://github.com/avee87 +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@bieniu]: https://github.com/bieniu +[@boswelja]: https://github.com/boswelja +[@bouwew]: https://github.com/bouwew +[@bramkragten]: https://github.com/bramkragten +[@cdce8p]: https://github.com/cdce8p +[@cgtobi]: https://github.com/cgtobi +[@chemelli74]: https://github.com/chemelli74 +[@danaues]: https://github.com/danaues +[@dennisschroer]: https://github.com/dennisschroer +[@dependabot[bot]]: https://github.com/apps/dependabot +[@dgomes]: https://github.com/dgomes +[@dmulcahey]: https://github.com/dmulcahey +[@dshokouhi]: https://github.com/dshokouhi +[@ehendrix23]: https://github.com/ehendrix23 +[@eifinger]: https://github.com/eifinger +[@elupus]: https://github.com/elupus +[@emontnemery]: https://github.com/emontnemery +[@engrbm87]: https://github.com/engrbm87 +[@epenet]: https://github.com/epenet +[@farmio]: https://github.com/farmio +[@fmarani]: https://github.com/fmarani +[@frenck]: https://github.com/frenck +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@holysoles]: https://github.com/holysoles +[@hungnguyenm]: https://github.com/hungnguyenm +[@hurzelchen]: https://github.com/hurzelchen +[@iMicknl]: https://github.com/iMicknl +[@jafar-atili]: https://github.com/jafar-atili +[@javicalle]: https://github.com/javicalle +[@jbouwh]: https://github.com/jbouwh +[@jeeftor]: https://github.com/jeeftor +[@jesserockz]: https://github.com/jesserockz +[@jsherman256]: https://github.com/jsherman256 +[@khenderick]: https://github.com/khenderick +[@kingy444]: https://github.com/kingy444 +[@kpine]: https://github.com/kpine +[@lscheibel]: https://github.com/lscheibel +[@ludeeus]: https://github.com/ludeeus +[@magic7s]: https://github.com/magic7s +[@matrixd2]: https://github.com/matrixd2 +[@mdegat01]: https://github.com/mdegat01 +[@mercenaruss]: https://github.com/mercenaruss +[@mib1185]: https://github.com/mib1185 +[@mkmer]: https://github.com/mkmer +[@mkowalchuk]: https://github.com/mkowalchuk +[@natekspencer]: https://github.com/natekspencer +[@nyroDev]: https://github.com/nyroDev +[@ocalvo]: https://github.com/ocalvo +[@oischinger]: https://github.com/oischinger +[@ollo69]: https://github.com/ollo69 +[@oradsa]: https://github.com/oradsa +[@oyvindwe]: https://github.com/oyvindwe +[@pnbruckner]: https://github.com/pnbruckner +[@puddly]: https://github.com/puddly +[@pvizeli]: https://github.com/pvizeli +[@raman325]: https://github.com/raman325 +[@rappenze]: https://github.com/rappenze +[@rytilahti]: https://github.com/rytilahti +[@scop]: https://github.com/scop +[@skrobul]: https://github.com/skrobul +[@spycle]: https://github.com/spycle +[@squishykid]: https://github.com/squishykid +[@starkillerOG]: https://github.com/starkillerOG +[@thecode]: https://github.com/thecode +[@tjorim]: https://github.com/tjorim +[@tkdrob]: https://github.com/tkdrob +[@uvjustin]: https://github.com/uvjustin +[@vanstinator]: https://github.com/vanstinator +[@veleek]: https://github.com/veleek +[@viiru-]: https://github.com/viiru- +[@vilppuvuorinen]: https://github.com/vilppuvuorinen +[@vpathuis]: https://github.com/vpathuis +[@y34hbuddy]: https://github.com/y34hbuddy +[@yuxincs]: https://github.com/yuxincs +[@zbeky]: https://github.com/zbeky +[@zsarnett]: https://github.com/zsarnett +[abode docs]: /integrations/abode/ +[advantage_air docs]: /integrations/advantage_air/ +[air_quality docs]: /integrations/air_quality/ +[airly docs]: /integrations/airly/ +[aladdin_connect docs]: /integrations/aladdin_connect/ +[alexa docs]: /integrations/alexa/ +[ambee docs]: /integrations/ambee/ +[analytics docs]: /integrations/analytics/ +[androidtv docs]: /integrations/androidtv/ +[anthemav docs]: /integrations/anthemav/ +[apcupsd docs]: /integrations/apcupsd/ +[apple_tv docs]: /integrations/apple_tv/ +[application_credentials docs]: /integrations/application_credentials/ +[asterisk_mbox docs]: /integrations/asterisk_mbox/ +[august docs]: /integrations/august/ +[automation docs]: /integrations/automation/ +[awair docs]: /integrations/awair/ +[aws docs]: /integrations/aws/ +[baf docs]: /integrations/baf/ +[bayesian docs]: /integrations/bayesian/ +[binary_sensor docs]: /integrations/binary_sensor/ +[bluesound docs]: /integrations/bluesound/ +[bluetooth docs]: /integrations/bluetooth/ +[braviatv docs]: /integrations/braviatv/ +[brother docs]: /integrations/brother/ +[bthome docs]: /integrations/bthome/ +[buienradar docs]: /integrations/buienradar/ +[calendar docs]: /integrations/calendar/ +[camera docs]: /integrations/camera/ +[cast docs]: /integrations/cast/ +[climacell docs]: /integrations/climacell/ +[climate docs]: /integrations/climate/ +[cloud docs]: /integrations/cloud/ +[coinbase docs]: /integrations/coinbase/ +[comfoconnect docs]: /integrations/comfoconnect/ +[config docs]: /integrations/config/ +[crownstone docs]: /integrations/crownstone/ +[deconz docs]: /integrations/deconz/ +[demo docs]: /integrations/demo/ +[device_automation docs]: /integrations/device_automation/ +[device_tracker docs]: /integrations/device_tracker/ +[dhcp docs]: /integrations/dhcp/ +[dlna_dmr docs]: /integrations/dlna_dmr/ +[dlna_dms docs]: /integrations/dlna_dms/ +[dsmr_reader docs]: /integrations/dsmr_reader/ +[dunehd docs]: /integrations/dunehd/ +[ecobee docs]: /integrations/ecobee/ +[ecowitt docs]: /integrations/ecowitt/ +[emby docs]: /integrations/emby/ +[emulated_hue docs]: /integrations/emulated_hue/ +[energy docs]: /integrations/energy/ +[enigma2 docs]: /integrations/enigma2/ +[environment_canada docs]: /integrations/environment_canada/ +[epson docs]: /integrations/epson/ +[escea docs]: /integrations/escea/ +[esphome docs]: /integrations/esphome/ +[ezviz docs]: /integrations/ezviz/ +[fibaro docs]: /integrations/fibaro/ +[file docs]: /integrations/file/ +[fjaraskupan docs]: /integrations/fjaraskupan/ +[flexit docs]: /integrations/flexit/ +[flo docs]: /integrations/flo/ +[flume docs]: /integrations/flume/ +[flunearyou docs]: /integrations/flunearyou/ +[flux_led docs]: /integrations/flux_led/ +[forked_daapd docs]: /integrations/forked_daapd/ +[fritz docs]: /integrations/fritz/ +[fritzbox docs]: /integrations/fritzbox/ +[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/ +[frontend docs]: /integrations/frontend/ +[frontier_silicon docs]: /integrations/frontier_silicon/ +[fully_kiosk docs]: /integrations/fully_kiosk/ +[generic docs]: /integrations/generic/ +[generic_hygrostat docs]: /integrations/generic_hygrostat/ +[geo_location docs]: /integrations/geo_location/ +[github docs]: /integrations/github/ +[goodwe docs]: /integrations/goodwe/ +[google docs]: /integrations/google/ +[google_assistant docs]: /integrations/google_assistant/ +[google_drive docs]: /integrations/google_drive/ +[google_sheets docs]: /integrations/google_sheets/ +[govee_ble docs]: /integrations/govee_ble/ +[group docs]: /integrations/group/ +[gstreamer docs]: /integrations/gstreamer/ +[guardian docs]: /integrations/guardian/ +[harman_kardon_avr docs]: /integrations/harman_kardon_avr/ +[hassio docs]: /integrations/hassio/ +[hdmi_cec docs]: /integrations/hdmi_cec/ +[heatmiser docs]: /integrations/heatmiser/ +[heos docs]: /integrations/heos/ +[here_travel_time docs]: /integrations/here_travel_time/ +[hisense_aehw4a1 docs]: /integrations/hisense_aehw4a1/ +[history docs]: /integrations/history/ +[hive docs]: /integrations/hive/ +[home_connect docs]: /integrations/home_connect/ +[homeassistant docs]: /integrations/homeassistant/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homewizard docs]: /integrations/homewizard/ +[horizon docs]: /integrations/horizon/ +[http docs]: /integrations/http/ +[huawei_lte docs]: /integrations/huawei_lte/ +[hue docs]: /integrations/hue/ +[huisbaasje docs]: /integrations/huisbaasje/ +[humidifier docs]: /integrations/humidifier/ +[hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/ +[hvv_departures docs]: /integrations/hvv_departures/ +[ibeacon docs]: /integrations/ibeacon/ +[icloud docs]: /integrations/icloud/ +[image_processing docs]: /integrations/image_processing/ +[influxdb docs]: /integrations/influxdb/ +[insteon docs]: /integrations/insteon/ +[integration docs]: /integrations/integration/ +[intellifire docs]: /integrations/intellifire/ +[ipma docs]: /integrations/ipma/ +[itunes docs]: /integrations/itunes/ +[izone docs]: /integrations/izone/ +[juicenet docs]: /integrations/juicenet/ +[kaleidescape docs]: /integrations/kaleidescape/ +[keenetic_ndms2 docs]: /integrations/keenetic_ndms2/ +[kef docs]: /integrations/kef/ +[kegtron docs]: /integrations/kegtron/ +[kira docs]: /integrations/kira/ +[knx docs]: /integrations/knx/ +[kodi docs]: /integrations/kodi/ +[kostal_plenticore docs]: /integrations/kostal_plenticore/ +[kraken docs]: /integrations/kraken/ +[kulersky docs]: /integrations/kulersky/ +[lacrosse_view docs]: /integrations/lacrosse_view/ +[lametric docs]: /integrations/lametric/ +[landisgyr_heat_meter docs]: /integrations/landisgyr_heat_meter/ +[lastfm docs]: /integrations/lastfm/ +[lg_netcast docs]: /integrations/lg_netcast/ +[lg_soundbar docs]: /integrations/lg_soundbar/ +[lidarr docs]: /integrations/lidarr/ +[life360 docs]: /integrations/life360/ +[lifx docs]: /integrations/lifx/ +[light docs]: /integrations/light/ +[litterrobot docs]: /integrations/litterrobot/ +[logbook docs]: /integrations/logbook/ +[lookin docs]: /integrations/lookin/ +[lovelace docs]: /integrations/lovelace/ +[lutron_caseta docs]: /integrations/lutron_caseta/ +[lw12wifi docs]: /integrations/lw12wifi/ +[mailbox docs]: /integrations/mailbox/ +[mazda docs]: /integrations/mazda/ +[media_player docs]: /integrations/media_player/ +[media_source docs]: /integrations/media_source/ +[mediaroom docs]: /integrations/mediaroom/ +[melcloud docs]: /integrations/melcloud/ +[melnor docs]: /integrations/melnor/ +[met docs]: /integrations/met/ +[meteoalarm docs]: /integrations/meteoalarm/ +[metoffice docs]: /integrations/metoffice/ +[microbot_push docs]: /integrations/microbot_push/ +[microsoft docs]: /integrations/microsoft/ +[mikrotik docs]: /integrations/mikrotik/ +[mill docs]: /integrations/mill/ +[min_max docs]: /integrations/min_max/ +[mobile_app docs]: /integrations/mobile_app/ +[modbus docs]: /integrations/modbus/ +[mold_indicator docs]: /integrations/mold_indicator/ +[monoprice docs]: /integrations/monoprice/ +[moon docs]: /integrations/moon/ +[motioneye docs]: /integrations/motioneye/ +[mpd docs]: /integrations/mpd/ +[mqtt docs]: /integrations/mqtt/ +[mqtt_room docs]: /integrations/mqtt_room/ +[mysensors docs]: /integrations/mysensors/ +[nad docs]: /integrations/nad/ +[nest docs]: /integrations/nest/ +[netatmo docs]: /integrations/netatmo/ +[netgear docs]: /integrations/netgear/ +[nibe_heatpump docs]: /integrations/nibe_heatpump/ +[nibe_local docs]: /integrations/nibe_local/ +[nightscout docs]: /integrations/nightscout/ +[nina docs]: /integrations/nina/ +[nmap_tracker docs]: /integrations/nmap_tracker/ +[nobo_hub docs]: /integrations/nobo_hub/ +[norway_air docs]: /integrations/norway_air/ +[notify docs]: /integrations/notify/ +[number docs]: /integrations/number/ +[ohmconnect docs]: /integrations/ohmconnect/ +[onboarding docs]: /integrations/onboarding/ +[onkyo docs]: /integrations/onkyo/ +[onvif docs]: /integrations/onvif/ +[openalpr_local docs]: /integrations/openalpr_local/ +[openevse docs]: /integrations/openevse/ +[opengarage docs]: /integrations/opengarage/ +[openhome docs]: /integrations/openhome/ +[opensky docs]: /integrations/opensky/ +[openuv docs]: /integrations/openuv/ +[openweathermap docs]: /integrations/openweathermap/ +[otp docs]: /integrations/otp/ +[overkiz docs]: /integrations/overkiz/ +[panasonic_bluray docs]: /integrations/panasonic_bluray/ +[panasonic_viera docs]: /integrations/panasonic_viera/ +[pandora docs]: /integrations/pandora/ +[person docs]: /integrations/person/ +[philips_js docs]: /integrations/philips_js/ +[pioneer docs]: /integrations/pioneer/ +[pjlink docs]: /integrations/pjlink/ +[plex docs]: /integrations/plex/ +[plugwise docs]: /integrations/plugwise/ +[prometheus docs]: /integrations/prometheus/ +[proximity docs]: /integrations/proximity/ +[prusalink docs]: /integrations/prusalink/ +[ps4 docs]: /integrations/ps4/ +[pushover docs]: /integrations/pushover/ +[qbittorrent docs]: /integrations/qbittorrent/ +[qnap docs]: /integrations/qnap/ +[rachio docs]: /integrations/rachio/ +[radarr docs]: /integrations/radarr/ +[rainmachine docs]: /integrations/rainmachine/ +[recorder docs]: /integrations/recorder/ +[remote docs]: /integrations/remote/ +[renault docs]: /integrations/renault/ +[rest docs]: /integrations/rest/ +[rflink docs]: /integrations/rflink/ +[rfxtrx docs]: /integrations/rfxtrx/ +[roku docs]: /integrations/roku/ +[roomba docs]: /integrations/roomba/ +[roon docs]: /integrations/roon/ +[rtsp_to_webrtc docs]: /integrations/rtsp_to_webrtc/ +[russound_rio docs]: /integrations/russound_rio/ +[russound_rnet docs]: /integrations/russound_rnet/ +[samsungtv docs]: /integrations/samsungtv/ +[scene docs]: /integrations/scene/ +[schedule docs]: /integrations/schedule/ +[script docs]: /integrations/script/ +[search docs]: /integrations/search/ +[season docs]: /integrations/season/ +[sensibo docs]: /integrations/sensibo/ +[sensor docs]: /integrations/sensor/ +[sentry docs]: /integrations/sentry/ +[seven_segments docs]: /integrations/seven_segments/ +[shelly docs]: /integrations/shelly/ +[shopping_list docs]: /integrations/shopping_list/ +[simplepush docs]: /integrations/simplepush/ +[simplisafe docs]: /integrations/simplisafe/ +[sisyphus docs]: /integrations/sisyphus/ +[skybell docs]: /integrations/skybell/ +[slimproto docs]: /integrations/slimproto/ +[smhi docs]: /integrations/smhi/ +[sms docs]: /integrations/sms/ +[snapcast docs]: /integrations/snapcast/ +[solax docs]: /integrations/solax/ +[sonarr docs]: /integrations/sonarr/ +[songpal docs]: /integrations/songpal/ +[sonos docs]: /integrations/sonos/ +[soundtouch docs]: /integrations/soundtouch/ +[spotify docs]: /integrations/spotify/ +[sql docs]: /integrations/sql/ +[squeezebox docs]: /integrations/squeezebox/ +[starline docs]: /integrations/starline/ +[stiebel_eltron docs]: /integrations/stiebel_eltron/ +[stream docs]: /integrations/stream/ +[stt docs]: /integrations/stt/ +[sun docs]: /integrations/sun/ +[surepetcare docs]: /integrations/surepetcare/ +[switch_as_x docs]: /integrations/switch_as_x/ +[switchbee docs]: /integrations/switchbee/ +[switchbot docs]: /integrations/switchbot/ +[switcher_kis docs]: /integrations/switcher_kis/ +[synology_dsm docs]: /integrations/synology_dsm/ +[system_bridge docs]: /integrations/system_bridge/ +[systemmonitor docs]: /integrations/systemmonitor/ +[tasmota docs]: /integrations/tasmota/ +[tautulli docs]: /integrations/tautulli/ +[tellstick docs]: /integrations/tellstick/ +[template docs]: /integrations/template/ +[threshold docs]: /integrations/threshold/ +[tibber docs]: /integrations/tibber/ +[tilt_ble docs]: /integrations/tilt_ble/ +[tomorrowio docs]: /integrations/tomorrowio/ +[traccar docs]: /integrations/traccar/ +[trace docs]: /integrations/trace/ +[trafikverket_train docs]: /integrations/trafikverket_train/ +[trend docs]: /integrations/trend/ +[tts docs]: /integrations/tts/ +[tuya docs]: /integrations/tuya/ +[ue_smart_radio docs]: /integrations/ue_smart_radio/ +[unifi docs]: /integrations/unifi/ +[unifi_direct docs]: /integrations/unifi_direct/ +[unifiled docs]: /integrations/unifiled/ +[unifiprotect docs]: /integrations/unifiprotect/ +[universal docs]: /integrations/universal/ +[update docs]: /integrations/update/ +[uptime docs]: /integrations/uptime/ +[uscis docs]: /integrations/uscis/ +[uvc docs]: /integrations/uvc/ +[vallox docs]: /integrations/vallox/ +[velbus docs]: /integrations/velbus/ +[vicare docs]: /integrations/vicare/ +[vilfo docs]: /integrations/vilfo/ +[vlc_telnet docs]: /integrations/vlc_telnet/ +[volvooncall docs]: /integrations/volvooncall/ +[wallbox docs]: /integrations/wallbox/ +[waze_travel_time docs]: /integrations/waze_travel_time/ +[weather docs]: /integrations/weather/ +[webostv docs]: /integrations/webostv/ +[websocket_api docs]: /integrations/websocket_api/ +[withings docs]: /integrations/withings/ +[workday docs]: /integrations/workday/ +[xbox docs]: /integrations/xbox/ +[xbox_live docs]: /integrations/xbox_live/ +[xiaomi_aqara docs]: /integrations/xiaomi_aqara/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[xiaomi_tv docs]: /integrations/xiaomi_tv/ +[xs1 docs]: /integrations/xs1/ +[yale_smart_alarm docs]: /integrations/yale_smart_alarm/ +[yalexs_ble docs]: /integrations/yalexs_ble/ +[yamaha docs]: /integrations/yamaha/ +[yamaha_musiccast docs]: /integrations/yamaha_musiccast/ +[yeelight docs]: /integrations/yeelight/ +[yi docs]: /integrations/yi/ +[yolink docs]: /integrations/yolink/ +[zabbix docs]: /integrations/zabbix/ +[zamg docs]: /integrations/zamg/ +[zeroconf docs]: /integrations/zeroconf/ +[zha docs]: /integrations/zha/ +[zhong_hong docs]: /integrations/zhong_hong/ +[ziggo_mediabox_xl docs]: /integrations/ziggo_mediabox_xl/ +[zone docs]: /integrations/zone/ +[zoneminder docs]: /integrations/zoneminder/ +[zwave_js docs]: /integrations/zwave_js/ +[zwave_me docs]: /integrations/zwave_me/ diff --git a/source/changelogs/core-2022.9.markdown b/source/changelogs/core-2022.9.markdown index f9273bfc8c8..882a7dc8964 100644 --- a/source/changelogs/core-2022.9.markdown +++ b/source/changelogs/core-2022.9.markdown @@ -3,7 +3,7 @@ title: Full Changelog for Home Assistant Core 2022.9 description: Detailed changelog for the Home Assistant Core 2022.9 release --- -These are all the changes included in the Home Assistant Core 2202.9 release. +These are all the changes included in the Home Assistant Core 2022.9 release. For a summary in a more readable format: [Release notes blog for this release](/blog/2022/09/07/release-20229/). diff --git a/source/dashboards/cards.markdown b/source/dashboards/cards.markdown index dd983055b65..4606b410eff 100644 --- a/source/dashboards/cards.markdown +++ b/source/dashboards/cards.markdown @@ -3,6 +3,6 @@ title: "Cards" description: "Cards." --- -Cards provide a structure for interfacing with your dashboard. +Your dashboard is made up of Cards. There are several built-in card types, each with their own configuration options. Select a card from the menu to view additional details and the options for that card. diff --git a/source/dashboards/views.markdown b/source/dashboards/views.markdown index 9a6294216a6..b53cb439336 100644 --- a/source/dashboards/views.markdown +++ b/source/dashboards/views.markdown @@ -130,6 +130,8 @@ frontend: View can be marked as "Subview". Subviews won’t show up in the navigation bar. When on the subview, the navigation bar only show the name of the subview and a back button. By default, clicking on back button will navigate to the previous view but a custom back path (`back_path`) can be set. +You can access subviews from other parts of your dashboard by using [cards that support the `navigate` action](/dashboards/actions). + #### Example Simple subview: diff --git a/source/help/index.markdown b/source/help/index.markdown index 219fc5e0468..1d543e03304 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -72,7 +72,7 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/). - [Smart Home Home Assistant Konfiguration mit YAML](https://onesmarthome.de/smart-home-home-assistant-konfiguration/) - July 2017 - [Why can't we have the Internet of Nice Things?](https://opensource.com/article/17/7/home-automation-primer) - July 2017 - [Smart Home Home Assistant Raspberry Pi Installation Hassbian](http://onesmarthome.de/smart-home-home-assistant-raspberry-pi-installation-hassbian/) - July 2017 -- [Jupiter Broadcasting - No Privacy Compromise Home Automation](https://www.jupiterbroadcasting.com/115566/no-privacy-compromise-home-automation/) - June 2017 +- [Jupiter Broadcasting - No Privacy Compromise Home Automation](https://www.youtube.com/watch?v=LQbOtUmITv8) - June 2017 - [Monitor IoT devices with Home Assistant and Datadog](https://www.datadoghq.com/blog/monitor-home-assistant/) - June 2017 - [Castálio Podcast - Episódio 102: Marcelo Mello - Red Hat e Automação Residencial com Home Assistant](https://youtu.be/hZq8ucpzjCs) - May 2017 - [Paulus Schoutsen and Home Assistant - Episode 8](https://codepop.com/open-sourcecraft/episodes/paulus-schoutsen/) - March 2017 diff --git a/source/images/blog/2022-10-13-third-reality-partner/devices.jpg b/source/images/blog/2022-10-13-third-reality-partner/devices.jpg new file mode 100644 index 00000000000..006260dd552 Binary files /dev/null and b/source/images/blog/2022-10-13-third-reality-partner/devices.jpg differ diff --git a/source/images/blog/2022-10-13-third-reality-partner/social.png b/source/images/blog/2022-10-13-third-reality-partner/social.png new file mode 100644 index 00000000000..9aeeb5483f6 Binary files /dev/null and b/source/images/blog/2022-10-13-third-reality-partner/social.png differ diff --git a/source/images/blog/2022-10/add-integration.png b/source/images/blog/2022-10/add-integration.png new file mode 100644 index 00000000000..601c4bf30e6 Binary files /dev/null and b/source/images/blog/2022-10/add-integration.png differ diff --git a/source/images/blog/2022-10/google-sheets.png b/source/images/blog/2022-10/google-sheets.png new file mode 100644 index 00000000000..9af79401694 Binary files /dev/null and b/source/images/blog/2022-10/google-sheets.png differ diff --git a/source/images/blog/2022-10/new-dialogs.png b/source/images/blog/2022-10/new-dialogs.png new file mode 100644 index 00000000000..9866ad76a8e Binary files /dev/null and b/source/images/blog/2022-10/new-dialogs.png differ diff --git a/source/images/blog/2022-10/social.png b/source/images/blog/2022-10/social.png new file mode 100644 index 00000000000..7910d1f9847 Binary files /dev/null and b/source/images/blog/2022-10/social.png differ diff --git a/source/images/blog/2022-10/subview-navigation.gif b/source/images/blog/2022-10/subview-navigation.gif new file mode 100644 index 00000000000..e508981abae Binary files /dev/null and b/source/images/blog/2022-10/subview-navigation.gif differ diff --git a/source/images/blog/2022-10/subview-toggle.png b/source/images/blog/2022-10/subview-toggle.png new file mode 100644 index 00000000000..a97c6d93406 Binary files /dev/null and b/source/images/blog/2022-10/subview-toggle.png differ diff --git a/source/images/blog/2022-10/yaml-automation-editor.png b/source/images/blog/2022-10/yaml-automation-editor.png new file mode 100644 index 00000000000..194f0c4a5e1 Binary files /dev/null and b/source/images/blog/2022-10/yaml-automation-editor.png differ diff --git a/source/images/skyconnect/skyconnect-cover.png b/source/images/skyconnect/skyconnect-cover.png new file mode 100644 index 00000000000..37414f55172 Binary files /dev/null and b/source/images/skyconnect/skyconnect-cover.png differ diff --git a/source/images/skyconnect/skyconnect_horizontal.png b/source/images/skyconnect/skyconnect_horizontal.png new file mode 100644 index 00000000000..7e60655ea0d Binary files /dev/null and b/source/images/skyconnect/skyconnect_horizontal.png differ diff --git a/source/images/skyconnect/skyconnect_isometric.png b/source/images/skyconnect/skyconnect_isometric.png new file mode 100644 index 00000000000..93ed17974e1 Binary files /dev/null and b/source/images/skyconnect/skyconnect_isometric.png differ diff --git a/source/images/skyconnect/skyconnect_landing_page.jpg b/source/images/skyconnect/skyconnect_landing_page.jpg new file mode 100644 index 00000000000..673a5bd156b Binary files /dev/null and b/source/images/skyconnect/skyconnect_landing_page.jpg differ diff --git a/source/images/skyconnect/skyconnect_square.jpg b/source/images/skyconnect/skyconnect_square.jpg new file mode 100644 index 00000000000..18c328132cb Binary files /dev/null and b/source/images/skyconnect/skyconnect_square.jpg differ diff --git a/source/index.html b/source/index.html index 7970700cfe3..a440d92a333 100644 --- a/source/index.html +++ b/source/index.html @@ -89,6 +89,22 @@ feedback: false
+ +
+
+ Home Assistant SkyConnect +
+ Best way to add Zigbee and Matter to Home Assistant +
+
+ +
+
+ + #landingpage .banner .title { + text-shadow: 0px 0px 10px rgba(0, 0, 0), 0px 0px 10px rgba(0, 0, 0); + } + #landingpage .content .bullet-points, + #landingpage .sub-title { + margin-top: 100px; + } + .multi-pan { + max-width: 750px; + margin: 100px auto; + } + + +
+ + +
+
+ Compatible + Zigbee + Works with Home Assistant and Zigbee2MQTT +
+
+ Reliable + Range + +20 dBm +
+
+ Future Proof + Updatable + Updates delivered via Home Assistant +
+
+ Zero Setup + Plug and Play + Automatically detected by Home Assistant +
+
+
+ +
+

Concurrent Zigbee and Thread on a single chip

+

+ Out of the box the Home Assistant SkyConnect will support only Zigbee. We're + working on a firmware update that makes it possible to run both Zigbee and + Thread at the same time. Thread is the mesh networking protocol that powers + Matter, the new standard for smart home devices. +

+

+ Once available, Home Assistant SkyConnect will run part of the software that + normally runs inside Zigbee and Thread chips inside Home Assistant add-ons. + These add-ons will be installed and updated automatically without requiring + user interaction. +

+

+ We will make this multi-protocol set-up first available for Home Assistant + OS installations. We will be looking into making this available for Home + Assistant Supervised and Home Assistant Container installations afterwards. +

+
+ +
Specifications
+
+
+
+

Components

+
+
Radio Chipset
+
Silabs EFR32MG21
+ +
Frequency
+
2.4GHz
+ +
TX Power
+
up to +20dBm
+ +
Protocols
+
Zigbee, Thread (Matter)
+ +
USB
+
+ 2.0 full-speed, Silicon Labs CP2102N USB-to-UART bridge +
+ +
Supply
+
5V DC / up to 150mA
+
+
+
+
+
+

Form Factor

+
+
Width
+
18 mm/0.7 inch
+
Height
+
4.5 mm/1.4 inch
+
Depth
+
38.5 mm/1.5 inch
+
Weight
+
4 g/0.14 oz
+
+
+
+
+ +

FAQs

+
+ {% details "Why start with Home Assistant OS support for multi-protocol?" %} A + standalone Zigbee or standalone Thread stick works by turning radio signals + into radio packets and then processing those radio packets and making that + available over a serial port.

+ With multi-protocol, the processing of the radio packets is moved into Linux + daemons. This means we run one daemon to split the radio packets into Zigbee + and Thread streams, one daemon to process the Zigbee radio packets and one + daemon to process the Thread radio packets.

+ To make this all work together, we need to strictly manage the version of the + firmware on the stick and the three different Linux daemons. The easiest way + for us to do this is using Home Assistant add-ons in a known host environment, + which is Home Assistant OS. {% enddetails %} {% details "Why include a USB + extension cable?" %} USB 3.0 ports (the ones with blue on the inside) + are known to cause significant noise and radio interference to any 2.4Ghz + wireless devices. This includes Zigbee and Thread. If you do not use the + extension cable, it may not work at all, and if it does, it could be flaky at + best with intermittent problems (issues with pairing, device dropouts, unreachable + devices, timeout errors, etc). {% enddetails %} +
+ +
+ +
+ + + + PRE-ORDER SKYCONNECT +
+ +