From 18ca55963f68412bf487f01b99938a1e206600e8 Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Mon, 19 Sep 2022 14:36:50 +0300 Subject: [PATCH 01/31] Add brand (#24163) --- source/_integrations/led_ble.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/led_ble.markdown b/source/_integrations/led_ble.markdown index e8803452fc6..8fbaec6d290 100644 --- a/source/_integrations/led_ble.markdown +++ b/source/_integrations/led_ble.markdown @@ -42,6 +42,7 @@ These devices have been sold under many brands, including: - ILC - LEDBlue - LED BLE +- Magic Blue - MCWOFI - PHOPOLLO - RESHAKE From dfcd2c61894b3a79c3b614e0cbc797741ab628da Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Mon, 19 Sep 2022 15:45:06 +0200 Subject: [PATCH 02/31] Add some hints to Synology DSM (#24176) --- source/_integrations/synology_dsm.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_integrations/synology_dsm.markdown b/source/_integrations/synology_dsm.markdown index 25684887cac..8ed6c549f18 100644 --- a/source/_integrations/synology_dsm.markdown +++ b/source/_integrations/synology_dsm.markdown @@ -25,7 +25,7 @@ ha_platforms: ha_integration_type: integration --- -The Synology DSM sensor platform provides access to various statistics from your [Synology NAS](https://www.synology.com) as well as cameras from the [Surveillance Station](https://www.synology.com/en-us/surveillance). +The Synology DSM integration provides access to various statistics from your [Synology NAS](https://www.synology.com) (_DSM 5.x and higher_) as well as cameras from the [Surveillance Station](https://www.synology.com/en-us/surveillance). {% include integrations/config_flow.md %} @@ -52,6 +52,8 @@ Due to the nature of the Synology DSM API, it is required to grant the user admi When creating the user, it is possible to deny access to all locations and applications. By doing this, the user will not be able to login to the web interface or view any of the files on the Synology NAS. It is still able to read the utilization and storage information using the API. +If you want to add cameras from [Surveillance Station](https://www.synology.com/en-us/surveillance), the user needs application permission for [Surveillance Station](https://www.synology.com/en-us/surveillance). + ### If you utilize 2-Step Verification or Two Factor Authentication (2FA) with your Synology NAS If you have the "Enforce 2-step verification for the following users" option checked under **Control Panel > User > Advanced > 2-Step Verification**, you'll need to configure the 2-step verification/one-time password (OTP) for the user you just created before the credentials for this user will work with Home Assistant. From 7f4ab79782d34e1cfb0fdd065aae9206aeeed647 Mon Sep 17 00:00:00 2001 From: kerta1n <36344851+kerta1n@users.noreply.github.com> Date: Mon, 19 Sep 2022 09:52:46 -0400 Subject: [PATCH 03/31] Docker Compose V2 changes (#24177) --- source/_includes/installation/container.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_includes/installation/container.md b/source/_includes/installation/container.md index cf5097142b6..7b1685a619b 100644 --- a/source/_includes/installation/container.md +++ b/source/_includes/installation/container.md @@ -51,7 +51,7 @@ If you change the configuration you have to restart the server. To do that you h content: | ```bash - docker-compose restart + docker compose restart ``` {% endtabbed_block %} @@ -59,19 +59,19 @@ If you change the configuration you have to restart the server. To do that you h ### Docker Compose
- - In order to use `docker-compose` you first need to [install `docker-compose`](https://docs.docker.com/compose/install/) on your system. + + `docker compose` should [already be installed](https://www.docker.com/blog/announcing-compose-v2-general-availability/) on your system. If not, you can [manually](https://docs.docker.com/compose/install/linux/) install it.
-As the Docker command becomes more complex, switching to `docker-compose` can be preferable and support automatically restarting on failure or system restart. Create a `docker-compose.yml` file: +As the Docker command becomes more complex, switching to `docker compose` can be preferable and support automatically restarting on failure or system restart. Create a `compose.yml` file: {% include installation/container/compose.md %} Start it by running: ```bash -docker-compose up -d +docker compose up -d ``` Once the Home Assistant Container is running Home Assistant should be accessible using `http://:8123` (replace with the hostname or IP of the system). You can continue with onboarding. From 6e5f4a08e306918e254f3f914506ec49b96ca3ef Mon Sep 17 00:00:00 2001 From: Hedda Date: Tue, 20 Sep 2022 02:06:26 +0200 Subject: [PATCH 04/31] Add guidance for dealing with Bluetooth interference (#23688) Co-authored-by: J. Nick Koston --- source/_integrations/bluetooth.markdown | 42 ++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/source/_integrations/bluetooth.markdown b/source/_integrations/bluetooth.markdown index cd4edf6f346..9599b1de385 100644 --- a/source/_integrations/bluetooth.markdown +++ b/source/_integrations/bluetooth.markdown @@ -128,10 +128,42 @@ Deleting the config entry for this integration will release control of the adapt ### Bluetooth interference with other devices -Devices that are using the 2.4 GHz band, like Wi-Fi, Zigbee, and USB3 devices (and their cable connections) are known to affect Bluetooth reception. Especially external SSD drives with USB3 cables are known to block the Bluetooth signal. Also, metal casings can decrease the Bluetooth performance of internal Bluetooth Adapters. +Sources of interference for radios can lead to transmission/reception loss or connection problems and show symptoms such as errors/failures when sending and receiving Bluetooth messages that can cause significant degradation in performance. Below are some basic but essential tips for getting a good setup starting point to achieve better signal quality, coverage, and extended range. -The following tips may improve reception of the Bluetooth Adapter: +Following all these optimization tips below should significantly improve the reception of your Bluetooth radio adapter. The below insights describe working around the well-known limitations of low-power 2.4 GHz digital radio. It can resolve or avoid many known issues caused by interference or poor placement of your Bluetooth radio adapter or devices. -- Try to place USB3 devices (SSD, etc.) as far away as possible from your Bluetooth Adapter, e.g., by using an extension cable. -- Use a USB3 extension cable with proper shielding and ferrite clamps. -- Use a (good quality) external Bluetooth adapter with an antenna. +Computers, peripherals, and devices generate [electromagnetic interference (also known as EMI/EMI/RMI)](https://en.wikipedia.org/wiki/Electromagnetic_interference), which can interfere with signals transmissions on the 2.4 GHz radio band frequency, and degrade the wireless communication with your Bluetooth adapter/devices. + +For example, unshielded USB 3 port and their cables are especially infamously known to affect 2.4 GHz radio reception. Place your Bluetooth adapter far away as possible from any potential sources of EMI/EMI/RMI by using a long, adequately shielded USB extension cable. + +#### Simple actions that should improve most Bluetooth setups and common root causes of interference + +- Bluetooth adapter hardware: + - Bad performance from old/outdated Bluetooth adapter hardware or poor Bluetooth adapter antenna: + - Buy and use a supported Bluetooth USB adapter based on newer/modern chip hardware. + - Consider a Bluetooth adapter that has an external antenna. + - While older adapters might work, they could have obsolete hardware or old firmware, which prevents reliable operation. + - Poor or outdated Bluetooth adapter firmware on the Bluetooth adapter: + - Update to the latest Bluetooth chip firmware on the Bluetooth adapter. Updating firmware is usually straightforward if the manufacturer or the chip maker provides one. +- Bluetooth adapters are RFI sensitive and can be very susceptible to all types of EMI/EMF interference: + - Poor placement of the Bluetooth adapter or wrong orientation of Bluetooth adapter antenna: + - Use a long USB extension cable to place the Bluetooth adapter away from interference and obstacles. + - Ensure the USB extension cable is adequately shielded (thick cables usually have this). + - A USB extension cable makes orienting the Bluetooth adapter/antenna easier. + - Try different physical placement and orientations of the Bluetooth adapter or its antenna: + - The optimal placement of the Bluetooth adapter is close to the middle of the house as possible. + - 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). + - 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. + - Shield any unshielded computers/peripherals/devices by adding all-metal enclosures/chassis/casings. + - Single-board-computers and USB 3.x hard drives are especially known as source of EMF/EMI/RFI. + - Be aware metal casings can decrease the performance of internal/built-in Bluetooth adapters. + - Also, be sure to use adequately shielded USB cables for any such peripherals/devices too. + - 2.4 GHz RF Interference (RFI) from Wi-Fi Routers and Wi-Fi Access Points or other devices: + - While Bluetooth is designed to coexist with Wi-Fi, its stronger signal can interfere. + - To play it safe, try to place your Bluetooth adapter away from Wi-Fi access points. + - Place Bluetooth adapters far away from electrical/power wires/cables, power supplies, and household appliances. From b7ecea939732e1a922ae330095a0a7f5bf49df2f Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 20 Sep 2022 01:20:56 +0000 Subject: [PATCH 05/31] Embed Matter workshop video --- ...29-matter-in-home-assistant-workshop-announcement.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_posts/2022-05-29-matter-in-home-assistant-workshop-announcement.markdown b/source/_posts/2022-05-29-matter-in-home-assistant-workshop-announcement.markdown index 1af915b0990..5d183df08ab 100644 --- a/source/_posts/2022-05-29-matter-in-home-assistant-workshop-announcement.markdown +++ b/source/_posts/2022-05-29-matter-in-home-assistant-workshop-announcement.markdown @@ -12,7 +12,9 @@ categories: og_image: /images/blog/2022-05-matter-in-home-assistant-workshop-announcement/social.png --- -Decorative header. + + + ## [The workshop instructions can be found here.](/matter-june-22) From 3896980244c3cb5176ab25f7bbbef5b17f7f1fa6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Sep 2022 16:53:46 +0200 Subject: [PATCH 06/31] Bump textlint from 12.2.1 to 12.2.2 (#24185) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 328 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 166 insertions(+), 164 deletions(-) diff --git a/package-lock.json b/package-lock.json index f66dc1a71c2..d975887287c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "remark-lint-fenced-code-flag": "^3.1.1", "remark-lint-no-shell-dollars": "^3.1.1", "remark-stringify": "^10.0.2", - "textlint": "^12.2.1", + "textlint": "^12.2.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", "textlint-rule-terminology": "^3.0.3" @@ -228,44 +228,44 @@ "dev": true }, "node_modules/@textlint/ast-node-types": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.2.1.tgz", - "integrity": "sha512-NXYza6aG1+LdZ4g83gjRhDht+gdrTjJYkdcQhpvzNCtTar/sVpaykkauRcAKLhkIWrQpfb311pfMlU6qNDW76Q==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.2.2.tgz", + "integrity": "sha512-VQAXUSGdmEajHXrMxeM9ZTS8UBJSVB0ghJFHpFfqYKlcDsjIqClSmTprY6521HoCoSLoUIGBxTC3jQyUMJFIWw==", "dev": true }, "node_modules/@textlint/ast-tester": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.2.1.tgz", - "integrity": "sha512-QGg7wxFLpsEAb7uxYPAO6F/QxDoX50wQ8aQ378RbpcQK57J9r9TQfV5Sieuta5dJORUrrMIuIrP4qU7P+1YyUw==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.2.2.tgz", + "integrity": "sha512-l5VP2LG+cFCjVvBR3uRrXBeoElKLic2rG+tTQUsH/rywh3TeeDKsHZBk1gGz8kAHVoeEuuH7lx0Wu8AjP4AqGw==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^12.2.1", + "@textlint/ast-node-types": "^12.2.2", "debug": "^4.3.4" } }, "node_modules/@textlint/ast-traverse": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.2.1.tgz", - "integrity": "sha512-uwppnDZRmRhH8R4WrkKAvwAbKcYux2yG/XqKlADuFd2T4hSMTlZOBLxDvXohLKY617HHM32/G99HJlmFFvP4GA==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.2.2.tgz", + "integrity": "sha512-ROd6W9P76DFA9hv7wCf1+Dc6aehLcsd0/3qKerQN/Luc3B2ek+/qJbGgWeAEsSBKl9LVLJhTBydmdgOAHrVjwA==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^12.2.1" + "@textlint/ast-node-types": "^12.2.2" } }, "node_modules/@textlint/feature-flag": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.2.1.tgz", - "integrity": "sha512-Vwn1VKaqNvhMteXNdvk+5duGzlG0MwSjkufU3AVaBQsS4SH4dchSvULpKc+r4BOTSzybNappN0APEcMjOx0Lxg==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.2.2.tgz", + "integrity": "sha512-L0v/ZjxmdzRXygja1WiXBjA2ZczvU3cG6qkwME4JGKwUsbEa9UzpwD8i3yBoO7ISkjkMpPM5BYD3AtJgQpCuEg==", "dev": true }, "node_modules/@textlint/fixer-formatter": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.2.1.tgz", - "integrity": "sha512-Y4FT2zVyYCxZCJ19tdfhBKr/FtCDP03iW+gfF6zHAjQaNPEGUU7ZfVUBJVVYBWOuHT/Zk22kcJZVFSINacPybQ==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.2.2.tgz", + "integrity": "sha512-uKJScqlJvIP9ttVxSq4632kYUjeEhsqc1mLmbViFd+H+GGtrKMwhHYI4zs9/6PQQxE1sUy6dBVkh/LAjgqOaUA==", "dev": true, "dependencies": { - "@textlint/module-interop": "^12.2.1", - "@textlint/types": "^12.2.1", + "@textlint/module-interop": "^12.2.2", + "@textlint/types": "^12.2.2", "chalk": "^4.1.2", "debug": "^4.3.4", "diff": "^4.0.2", @@ -277,33 +277,33 @@ } }, "node_modules/@textlint/kernel": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.2.1.tgz", - "integrity": "sha512-imKBeglOKVwsVmrCDzIHf8uiYXtEy0VFyPPb7GYiLhA2pImh59QOtuoPiMT0h8ctV5Aa2konOQVV6jM+JJ9xkQ==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.2.2.tgz", + "integrity": "sha512-rDa//HGBQh2BTcJvsgMDP1WRaVxwa57zeE6FPXUdaIA41GGKupQq9GXX8P0PcAVo9gxzOFnMrtbBw7mkQYu4hQ==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^12.2.1", - "@textlint/ast-tester": "^12.2.1", - "@textlint/ast-traverse": "^12.2.1", - "@textlint/feature-flag": "^12.2.1", - "@textlint/source-code-fixer": "^12.2.1", - "@textlint/types": "^12.2.1", - "@textlint/utils": "^12.2.1", + "@textlint/ast-node-types": "^12.2.2", + "@textlint/ast-tester": "^12.2.2", + "@textlint/ast-traverse": "^12.2.2", + "@textlint/feature-flag": "^12.2.2", + "@textlint/source-code-fixer": "^12.2.2", + "@textlint/types": "^12.2.2", + "@textlint/utils": "^12.2.2", "debug": "^4.3.4", "deep-equal": "^1.1.1", "structured-source": "^3.0.2" } }, "node_modules/@textlint/linter-formatter": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.2.1.tgz", - "integrity": "sha512-xfVRM+DRrJzBswzrYpmNDJDfapYyogOGlwOXb9Omc7/MvipVreG0WvtgSgxchJ+1nPJwsOPES8PAgQYcPR20+Q==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.2.2.tgz", + "integrity": "sha512-R4/n02lNPqiTT1WuxBe4Lh1vUZUME020y+cD8fDn++GR4QlEcWaWWaYNz5ZDtRJ6Li9CYnc6MC6uf2jnTcmFXw==", "dev": true, "dependencies": { "@azu/format-text": "^1.0.1", "@azu/style-format": "^1.0.0", - "@textlint/module-interop": "^12.2.1", - "@textlint/types": "^12.2.1", + "@textlint/module-interop": "^12.2.2", + "@textlint/types": "^12.2.2", "chalk": "^4.1.2", "debug": "^4.3.4", "is-file": "^1.0.0", @@ -319,13 +319,14 @@ } }, "node_modules/@textlint/markdown-to-ast": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.2.1.tgz", - "integrity": "sha512-p+LlVcrgHnSNEWWflYU412uu+v4Cejs6hmI4SgZCheNg4u7Ik78aKgpe4jT5BhjLSBZ/KP6IrJxtCUOoJIUWmQ==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.2.2.tgz", + "integrity": "sha512-OP0cnGCzt8Bbfhn8fO/arQSHBhmuXB4maSXH8REJAtKRpTADWOrbuxAOaI9mjQ7EMTDiml02RZ9MaELQAWAsqQ==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^12.2.1", + "@textlint/ast-node-types": "^12.2.2", "debug": "^4.3.4", + "mdast-util-gfm-autolink-literal": "^0.1.0", "remark-footnotes": "^3.0.0", "remark-frontmatter": "^3.0.0", "remark-gfm": "^1.0.0", @@ -653,61 +654,61 @@ } }, "node_modules/@textlint/module-interop": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.2.1.tgz", - "integrity": "sha512-/SixwKngWuTvVl9AArK4FEWGrNAwD7/ABvLCy/pdFprljnUa87P5JvSi7/v1PjpAXcnMQ2r04wDJjegs9oblBA==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.2.2.tgz", + "integrity": "sha512-3OVZDJ8GCgQ3V+dm5btCwhZhJUEO5xR7jEMI6i9n1/gA6yePBM4b1qT1gwYUItthNRFqy6q5x4zTx9MKqBGVGg==", "dev": true }, "node_modules/@textlint/source-code-fixer": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.2.1.tgz", - "integrity": "sha512-yNkWcTxCcoz24b64rGUVDr2MzQdv3I1o2o7HuphCmGlAQztVzMGvY/GNzqUWW42+k8S0zRq3Saxz1XoMUvR5UA==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.2.2.tgz", + "integrity": "sha512-wk/8MmF3m1U9IAqGrvR0yehHsRGDfXuVAkXSahyRmafSwn88p8oS/iY6qDjECADVXJEnuRuxOcQ1GPlKM/eFOg==", "dev": true, "dependencies": { - "@textlint/types": "^12.2.1", + "@textlint/types": "^12.2.2", "debug": "^4.3.4" } }, "node_modules/@textlint/text-to-ast": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.2.1.tgz", - "integrity": "sha512-NcuFa8iQglIMBQ1OaR1IYAIYJfBcTACVD0YtPGrdN0gkqC8TEfP5xIldiSxhkWiLPr3TQ4Mg7d6Ev5RH67n7pA==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.2.2.tgz", + "integrity": "sha512-LgCqy1y4oQfDws6rqYSlQaYyiIGRQHcGMT+ukbpBkwEtzzh9urbr6NIeVnHhEuZUITl+pZCHyHeKF2/RlGsn6Q==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^12.2.1" + "@textlint/ast-node-types": "^12.2.2" } }, "node_modules/@textlint/textlint-plugin-markdown": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.2.1.tgz", - "integrity": "sha512-BAjkVPMO5fzf6n5M5SwgHNyTwByE86BmjaNpBDhKNcSBctUnfX7nLCvQY8mGMkvefHufyi3oWIqDcZoZQn0PYQ==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.2.2.tgz", + "integrity": "sha512-ougYCuGavxCPwsFZZ/fCGzoaMxwvy2yM1siKa7Ra9chZHjxtj3y76m0QtJkboFcz/FEZV8tqh96T9Bq/4jD+nQ==", "dev": true, "dependencies": { - "@textlint/markdown-to-ast": "^12.2.1" + "@textlint/markdown-to-ast": "^12.2.2" } }, "node_modules/@textlint/textlint-plugin-text": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.2.1.tgz", - "integrity": "sha512-8Dt1Sn9AdqvweVxCLvlj1IC+pDxPRpdgERY6FzD6kLNpMAyl7luVWtpql19CvTYlxhPUHRxsETDBkRCQFClXsw==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.2.2.tgz", + "integrity": "sha512-0HLOr9kQRXKqEcZvIaNAnOhixNfTSpveOHBuhHepByDXkXcUrb+BJdxZzhtgVu4twBAR3qJ3KYhDE8XPHc9iDg==", "dev": true, "dependencies": { - "@textlint/text-to-ast": "^12.2.1" + "@textlint/text-to-ast": "^12.2.2" } }, "node_modules/@textlint/types": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.2.1.tgz", - "integrity": "sha512-nOQ3udAz9ulDZgETFY3vr3R+ubL2cevPLA3GmDs29ErvIHfK3pD+PpyO/OsS7HZKXolmpuMonVA9+J9Jybf3/Q==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.2.2.tgz", + "integrity": "sha512-fmKH9w8O3XOvIvf3cPNI7PWdJScRIiJYJ5VsoIMp/o41Hlkt5m//MObfAPYpQ/3nuXhzlB05kfRUxyj/NvcPAQ==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^12.2.1" + "@textlint/ast-node-types": "^12.2.2" } }, "node_modules/@textlint/utils": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.2.1.tgz", - "integrity": "sha512-e4jDM6bMZddFi48e5CzbvnG9ombeK2ZkjLnCaSWalJI3NTlCDm/ZDqfaqac/YPFbzoRQMqNkaoTW/9GZVjr6Hg==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.2.2.tgz", + "integrity": "sha512-74p3VWj5KlmXs+gFRJALEuUsyt/Sz4t91KQ//LAX1zNTY/aK0nk8LxipUcDZeBHArn3Gh5nf3SwlTgUZ7jvNrQ==", "dev": true }, "node_modules/@types/concat-stream": { @@ -1443,9 +1444,9 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, "dependencies": { "function-bind": "^1.1.1", @@ -5291,22 +5292,22 @@ "dev": true }, "node_modules/textlint": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/textlint/-/textlint-12.2.1.tgz", - "integrity": "sha512-e6xKNLbTt10KbnG0x3eVE7l8A7uOC9bj0Hc8cWk6VoLffjrdw4o8kJjWVIspNzfb0kUEs2dBKgXZo0ob4tMWAg==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/textlint/-/textlint-12.2.2.tgz", + "integrity": "sha512-+xORGVnAceaP3+77vGuALOtnNNtexh8VK9ssAK2r3vAr0iMApSMyvGaXousbsfLiwK5L/X0X/78yJDvXwGQPjA==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^12.2.1", - "@textlint/ast-traverse": "^12.2.1", - "@textlint/feature-flag": "^12.2.1", - "@textlint/fixer-formatter": "^12.2.1", - "@textlint/kernel": "^12.2.1", - "@textlint/linter-formatter": "^12.2.1", - "@textlint/module-interop": "^12.2.1", - "@textlint/textlint-plugin-markdown": "^12.2.1", - "@textlint/textlint-plugin-text": "^12.2.1", - "@textlint/types": "^12.2.1", - "@textlint/utils": "^12.2.1", + "@textlint/ast-node-types": "^12.2.2", + "@textlint/ast-traverse": "^12.2.2", + "@textlint/feature-flag": "^12.2.2", + "@textlint/fixer-formatter": "^12.2.2", + "@textlint/kernel": "^12.2.2", + "@textlint/linter-formatter": "^12.2.2", + "@textlint/module-interop": "^12.2.2", + "@textlint/textlint-plugin-markdown": "^12.2.2", + "@textlint/textlint-plugin-text": "^12.2.2", + "@textlint/types": "^12.2.2", + "@textlint/utils": "^12.2.2", "debug": "^4.3.4", "deep-equal": "^1.1.1", "file-entry-cache": "^5.0.1", @@ -6377,44 +6378,44 @@ "dev": true }, "@textlint/ast-node-types": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.2.1.tgz", - "integrity": "sha512-NXYza6aG1+LdZ4g83gjRhDht+gdrTjJYkdcQhpvzNCtTar/sVpaykkauRcAKLhkIWrQpfb311pfMlU6qNDW76Q==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.2.2.tgz", + "integrity": "sha512-VQAXUSGdmEajHXrMxeM9ZTS8UBJSVB0ghJFHpFfqYKlcDsjIqClSmTprY6521HoCoSLoUIGBxTC3jQyUMJFIWw==", "dev": true }, "@textlint/ast-tester": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.2.1.tgz", - "integrity": "sha512-QGg7wxFLpsEAb7uxYPAO6F/QxDoX50wQ8aQ378RbpcQK57J9r9TQfV5Sieuta5dJORUrrMIuIrP4qU7P+1YyUw==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.2.2.tgz", + "integrity": "sha512-l5VP2LG+cFCjVvBR3uRrXBeoElKLic2rG+tTQUsH/rywh3TeeDKsHZBk1gGz8kAHVoeEuuH7lx0Wu8AjP4AqGw==", "dev": true, "requires": { - "@textlint/ast-node-types": "^12.2.1", + "@textlint/ast-node-types": "^12.2.2", "debug": "^4.3.4" } }, "@textlint/ast-traverse": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.2.1.tgz", - "integrity": "sha512-uwppnDZRmRhH8R4WrkKAvwAbKcYux2yG/XqKlADuFd2T4hSMTlZOBLxDvXohLKY617HHM32/G99HJlmFFvP4GA==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.2.2.tgz", + "integrity": "sha512-ROd6W9P76DFA9hv7wCf1+Dc6aehLcsd0/3qKerQN/Luc3B2ek+/qJbGgWeAEsSBKl9LVLJhTBydmdgOAHrVjwA==", "dev": true, "requires": { - "@textlint/ast-node-types": "^12.2.1" + "@textlint/ast-node-types": "^12.2.2" } }, "@textlint/feature-flag": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.2.1.tgz", - "integrity": "sha512-Vwn1VKaqNvhMteXNdvk+5duGzlG0MwSjkufU3AVaBQsS4SH4dchSvULpKc+r4BOTSzybNappN0APEcMjOx0Lxg==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.2.2.tgz", + "integrity": "sha512-L0v/ZjxmdzRXygja1WiXBjA2ZczvU3cG6qkwME4JGKwUsbEa9UzpwD8i3yBoO7ISkjkMpPM5BYD3AtJgQpCuEg==", "dev": true }, "@textlint/fixer-formatter": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.2.1.tgz", - "integrity": "sha512-Y4FT2zVyYCxZCJ19tdfhBKr/FtCDP03iW+gfF6zHAjQaNPEGUU7ZfVUBJVVYBWOuHT/Zk22kcJZVFSINacPybQ==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.2.2.tgz", + "integrity": "sha512-uKJScqlJvIP9ttVxSq4632kYUjeEhsqc1mLmbViFd+H+GGtrKMwhHYI4zs9/6PQQxE1sUy6dBVkh/LAjgqOaUA==", "dev": true, "requires": { - "@textlint/module-interop": "^12.2.1", - "@textlint/types": "^12.2.1", + "@textlint/module-interop": "^12.2.2", + "@textlint/types": "^12.2.2", "chalk": "^4.1.2", "debug": "^4.3.4", "diff": "^4.0.2", @@ -6426,33 +6427,33 @@ } }, "@textlint/kernel": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.2.1.tgz", - "integrity": "sha512-imKBeglOKVwsVmrCDzIHf8uiYXtEy0VFyPPb7GYiLhA2pImh59QOtuoPiMT0h8ctV5Aa2konOQVV6jM+JJ9xkQ==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.2.2.tgz", + "integrity": "sha512-rDa//HGBQh2BTcJvsgMDP1WRaVxwa57zeE6FPXUdaIA41GGKupQq9GXX8P0PcAVo9gxzOFnMrtbBw7mkQYu4hQ==", "dev": true, "requires": { - "@textlint/ast-node-types": "^12.2.1", - "@textlint/ast-tester": "^12.2.1", - "@textlint/ast-traverse": "^12.2.1", - "@textlint/feature-flag": "^12.2.1", - "@textlint/source-code-fixer": "^12.2.1", - "@textlint/types": "^12.2.1", - "@textlint/utils": "^12.2.1", + "@textlint/ast-node-types": "^12.2.2", + "@textlint/ast-tester": "^12.2.2", + "@textlint/ast-traverse": "^12.2.2", + "@textlint/feature-flag": "^12.2.2", + "@textlint/source-code-fixer": "^12.2.2", + "@textlint/types": "^12.2.2", + "@textlint/utils": "^12.2.2", "debug": "^4.3.4", "deep-equal": "^1.1.1", "structured-source": "^3.0.2" } }, "@textlint/linter-formatter": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.2.1.tgz", - "integrity": "sha512-xfVRM+DRrJzBswzrYpmNDJDfapYyogOGlwOXb9Omc7/MvipVreG0WvtgSgxchJ+1nPJwsOPES8PAgQYcPR20+Q==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.2.2.tgz", + "integrity": "sha512-R4/n02lNPqiTT1WuxBe4Lh1vUZUME020y+cD8fDn++GR4QlEcWaWWaYNz5ZDtRJ6Li9CYnc6MC6uf2jnTcmFXw==", "dev": true, "requires": { "@azu/format-text": "^1.0.1", "@azu/style-format": "^1.0.0", - "@textlint/module-interop": "^12.2.1", - "@textlint/types": "^12.2.1", + "@textlint/module-interop": "^12.2.2", + "@textlint/types": "^12.2.2", "chalk": "^4.1.2", "debug": "^4.3.4", "is-file": "^1.0.0", @@ -6468,13 +6469,14 @@ } }, "@textlint/markdown-to-ast": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.2.1.tgz", - "integrity": "sha512-p+LlVcrgHnSNEWWflYU412uu+v4Cejs6hmI4SgZCheNg4u7Ik78aKgpe4jT5BhjLSBZ/KP6IrJxtCUOoJIUWmQ==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.2.2.tgz", + "integrity": "sha512-OP0cnGCzt8Bbfhn8fO/arQSHBhmuXB4maSXH8REJAtKRpTADWOrbuxAOaI9mjQ7EMTDiml02RZ9MaELQAWAsqQ==", "dev": true, "requires": { - "@textlint/ast-node-types": "^12.2.1", + "@textlint/ast-node-types": "^12.2.2", "debug": "^4.3.4", + "mdast-util-gfm-autolink-literal": "^0.1.0", "remark-footnotes": "^3.0.0", "remark-frontmatter": "^3.0.0", "remark-gfm": "^1.0.0", @@ -6690,61 +6692,61 @@ } }, "@textlint/module-interop": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.2.1.tgz", - "integrity": "sha512-/SixwKngWuTvVl9AArK4FEWGrNAwD7/ABvLCy/pdFprljnUa87P5JvSi7/v1PjpAXcnMQ2r04wDJjegs9oblBA==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.2.2.tgz", + "integrity": "sha512-3OVZDJ8GCgQ3V+dm5btCwhZhJUEO5xR7jEMI6i9n1/gA6yePBM4b1qT1gwYUItthNRFqy6q5x4zTx9MKqBGVGg==", "dev": true }, "@textlint/source-code-fixer": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.2.1.tgz", - "integrity": "sha512-yNkWcTxCcoz24b64rGUVDr2MzQdv3I1o2o7HuphCmGlAQztVzMGvY/GNzqUWW42+k8S0zRq3Saxz1XoMUvR5UA==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.2.2.tgz", + "integrity": "sha512-wk/8MmF3m1U9IAqGrvR0yehHsRGDfXuVAkXSahyRmafSwn88p8oS/iY6qDjECADVXJEnuRuxOcQ1GPlKM/eFOg==", "dev": true, "requires": { - "@textlint/types": "^12.2.1", + "@textlint/types": "^12.2.2", "debug": "^4.3.4" } }, "@textlint/text-to-ast": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.2.1.tgz", - "integrity": "sha512-NcuFa8iQglIMBQ1OaR1IYAIYJfBcTACVD0YtPGrdN0gkqC8TEfP5xIldiSxhkWiLPr3TQ4Mg7d6Ev5RH67n7pA==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.2.2.tgz", + "integrity": "sha512-LgCqy1y4oQfDws6rqYSlQaYyiIGRQHcGMT+ukbpBkwEtzzh9urbr6NIeVnHhEuZUITl+pZCHyHeKF2/RlGsn6Q==", "dev": true, "requires": { - "@textlint/ast-node-types": "^12.2.1" + "@textlint/ast-node-types": "^12.2.2" } }, "@textlint/textlint-plugin-markdown": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.2.1.tgz", - "integrity": "sha512-BAjkVPMO5fzf6n5M5SwgHNyTwByE86BmjaNpBDhKNcSBctUnfX7nLCvQY8mGMkvefHufyi3oWIqDcZoZQn0PYQ==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.2.2.tgz", + "integrity": "sha512-ougYCuGavxCPwsFZZ/fCGzoaMxwvy2yM1siKa7Ra9chZHjxtj3y76m0QtJkboFcz/FEZV8tqh96T9Bq/4jD+nQ==", "dev": true, "requires": { - "@textlint/markdown-to-ast": "^12.2.1" + "@textlint/markdown-to-ast": "^12.2.2" } }, "@textlint/textlint-plugin-text": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.2.1.tgz", - "integrity": "sha512-8Dt1Sn9AdqvweVxCLvlj1IC+pDxPRpdgERY6FzD6kLNpMAyl7luVWtpql19CvTYlxhPUHRxsETDBkRCQFClXsw==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.2.2.tgz", + "integrity": "sha512-0HLOr9kQRXKqEcZvIaNAnOhixNfTSpveOHBuhHepByDXkXcUrb+BJdxZzhtgVu4twBAR3qJ3KYhDE8XPHc9iDg==", "dev": true, "requires": { - "@textlint/text-to-ast": "^12.2.1" + "@textlint/text-to-ast": "^12.2.2" } }, "@textlint/types": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.2.1.tgz", - "integrity": "sha512-nOQ3udAz9ulDZgETFY3vr3R+ubL2cevPLA3GmDs29ErvIHfK3pD+PpyO/OsS7HZKXolmpuMonVA9+J9Jybf3/Q==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.2.2.tgz", + "integrity": "sha512-fmKH9w8O3XOvIvf3cPNI7PWdJScRIiJYJ5VsoIMp/o41Hlkt5m//MObfAPYpQ/3nuXhzlB05kfRUxyj/NvcPAQ==", "dev": true, "requires": { - "@textlint/ast-node-types": "^12.2.1" + "@textlint/ast-node-types": "^12.2.2" } }, "@textlint/utils": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.2.1.tgz", - "integrity": "sha512-e4jDM6bMZddFi48e5CzbvnG9ombeK2ZkjLnCaSWalJI3NTlCDm/ZDqfaqac/YPFbzoRQMqNkaoTW/9GZVjr6Hg==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.2.2.tgz", + "integrity": "sha512-74p3VWj5KlmXs+gFRJALEuUsyt/Sz4t91KQ//LAX1zNTY/aK0nk8LxipUcDZeBHArn3Gh5nf3SwlTgUZ7jvNrQ==", "dev": true }, "@types/concat-stream": { @@ -7320,9 +7322,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -9990,22 +9992,22 @@ "dev": true }, "textlint": { - "version": "12.2.1", - "resolved": "https://registry.npmjs.org/textlint/-/textlint-12.2.1.tgz", - "integrity": "sha512-e6xKNLbTt10KbnG0x3eVE7l8A7uOC9bj0Hc8cWk6VoLffjrdw4o8kJjWVIspNzfb0kUEs2dBKgXZo0ob4tMWAg==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/textlint/-/textlint-12.2.2.tgz", + "integrity": "sha512-+xORGVnAceaP3+77vGuALOtnNNtexh8VK9ssAK2r3vAr0iMApSMyvGaXousbsfLiwK5L/X0X/78yJDvXwGQPjA==", "dev": true, "requires": { - "@textlint/ast-node-types": "^12.2.1", - "@textlint/ast-traverse": "^12.2.1", - "@textlint/feature-flag": "^12.2.1", - "@textlint/fixer-formatter": "^12.2.1", - "@textlint/kernel": "^12.2.1", - "@textlint/linter-formatter": "^12.2.1", - "@textlint/module-interop": "^12.2.1", - "@textlint/textlint-plugin-markdown": "^12.2.1", - "@textlint/textlint-plugin-text": "^12.2.1", - "@textlint/types": "^12.2.1", - "@textlint/utils": "^12.2.1", + "@textlint/ast-node-types": "^12.2.2", + "@textlint/ast-traverse": "^12.2.2", + "@textlint/feature-flag": "^12.2.2", + "@textlint/fixer-formatter": "^12.2.2", + "@textlint/kernel": "^12.2.2", + "@textlint/linter-formatter": "^12.2.2", + "@textlint/module-interop": "^12.2.2", + "@textlint/textlint-plugin-markdown": "^12.2.2", + "@textlint/textlint-plugin-text": "^12.2.2", + "@textlint/types": "^12.2.2", + "@textlint/utils": "^12.2.2", "debug": "^4.3.4", "deep-equal": "^1.1.1", "file-entry-cache": "^5.0.1", diff --git a/package.json b/package.json index b163f9ba7cd..1da45b259a6 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "remark-lint-fenced-code-flag": "^3.1.1", "remark-lint-no-shell-dollars": "^3.1.1", "remark-stringify": "^10.0.2", - "textlint": "^12.2.1", + "textlint": "^12.2.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", "textlint-rule-terminology": "^3.0.3" From 9a4c6d35e15b27158347ec63fdd879454bb8a59b Mon Sep 17 00:00:00 2001 From: AlexSchmitz222 Date: Tue, 20 Sep 2022 20:34:22 +0200 Subject: [PATCH 07/31] Update sms.markdown (#24186) --- source/_integrations/sms.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_integrations/sms.markdown b/source/_integrations/sms.markdown index 44483158788..660af3713c3 100644 --- a/source/_integrations/sms.markdown +++ b/source/_integrations/sms.markdown @@ -117,15 +117,15 @@ You will need a USB GSM stick modem or device like SIM800L v2 connected via USB ### List of modems known to work - [SIM800C HAT form factor](https://www.amazon.com/gp/product/B07PQLRCNR/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1) Make sure to `enable_uart=1` on your `config.txt` boot file. - [SIM800C](https://www.amazon.com/gp/product/B087Z6F953/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1) -- [Huawei E3372-510](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)( -Need to unlock it using [this guide](http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html)) -- [Huawei E3531](https://www.amazon.com/Modem-Huawei-Unlocked-Caribbean-Desbloqueado/dp/B011YZZ6Q2/ref=sr_1_1?keywords=Huawei+E3531&qid=1581447800&sr=8-1) +- [Huawei E3372](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)( +Note: E3372h-153 and E3372h-510 need to be unlocked [this guide](http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html), The Huawei E3372h-320 won't work at all, since it is locked down too much) +- [Huawei E3531](https://www.amazon.com/Modem-Huawei-Unlocked-Caribbean-Desbloqueado/dp/B011YZZ6Q2/ref=sr_1_1?keywords=Huawei+E3531&qid=1581447800&sr=8-1) (note: Devices with firmare versions 22.XX need to be unlocked using [this guide](https://community.home-assistant.io/t/trouble-setting-up-huawei-e3531s-2-with-sms-notifications-via-gsm-modem-integration/462737/9?u=alexschmitz222)) - [Huawei E3272](https://www.amazon.com/Huawei-E3272s-506-Unlocked-Americas-Europe/dp/B00HBL51OQ) - ZTE K3565-Z ### List of modems known to NOT work -- No known modems +- Huawei E3372h-320 ### List of modems that may work From 758ab4f7a11fa1b2fc2f72cd1153a597d1f6f785 Mon Sep 17 00:00:00 2001 From: Phill Price Date: Wed, 21 Sep 2022 09:29:56 +0100 Subject: [PATCH 08/31] Formatting Changes (#24196) --- source/_integrations/timer.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/timer.markdown b/source/_integrations/timer.markdown index 793b3bc01e8..d8002cb77cd 100644 --- a/source/_integrations/timer.markdown +++ b/source/_integrations/timer.markdown @@ -22,7 +22,7 @@ You can also click the following button to be redirected to the Helpers page of {% my helpers badge %} -To be able to add Helpers via the user interface you should have default_config: in your configuration.yaml, it should already be there by default unless you removed it. If you removed default_config: from your configuration, you must add timer: to your configuration.yaml first, then you can use the UI. +To be able to add Helpers via the user interface you should have `default_config:` in your `configuration.yaml`, it should already be there by default unless you removed it. If you removed `default_config:` from your configuration, you must add `timer:` to your `configuration.yaml` first, then you can use the UI. Timers can also be configured via configuration.yaml: To add a timer to your installation, add the following to your `configuration.yaml` file: From b22056c9812b49dadb74d81a2303d90663ea5aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Wed, 21 Sep 2022 18:53:29 +0200 Subject: [PATCH 09/31] Update sign CLA URL (#24175) --- source/developers/cla_sign.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/cla_sign.html b/source/developers/cla_sign.html index 8921dbd91bc..3099af1dd17 100644 --- a/source/developers/cla_sign.html +++ b/source/developers/cla_sign.html @@ -471,7 +471,7 @@ description: "The Home Assistant contributor license agreement (CLA) signature p } $.ajax({ type: "POST", - url: "https://cla.home-assistant.io/sign", + url: "https://service-hub-bots.home-assistant.io/cla-sign", data: JSON.stringify(payload), contentType: "application/json", }).done(function(data){ From 4ecafbfa517bde597441362a8422419f86039fa8 Mon Sep 17 00:00:00 2001 From: Cromefire_ Date: Wed, 21 Sep 2022 19:41:40 +0200 Subject: [PATCH 10/31] Add HZW1004 ro supported panasonic TVs (#24202) --- source/_integrations/panasonic_viera.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/panasonic_viera.markdown b/source/_integrations/panasonic_viera.markdown index 57e8c78a33a..d91e60310a3 100644 --- a/source/_integrations/panasonic_viera.markdown +++ b/source/_integrations/panasonic_viera.markdown @@ -159,5 +159,6 @@ The list with all known valid keys can be found [here](https://github.com/floria - TX-P42VT30E - TX-P50GT30Y - TX-P50GT60E +- TX-65HZ1000W If your model is not on the list, give it a test. If everything works correctly, then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_integrations/panasonic_viera.markdown). From 760a16ec32da23607d4e172704cdeb40796a58b5 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 21 Sep 2022 16:31:12 -0400 Subject: [PATCH 11/31] Promote State of the Open Home (#24203) --- source/images/frontpage/hacktoberfest.png | Bin 129205 -> 0 bytes .../frontpage/state-of-the-open-home-2022.png | Bin 0 -> 26269 bytes source/index.html | 10 +++++++++- 3 files changed, 9 insertions(+), 1 deletion(-) delete mode 100644 source/images/frontpage/hacktoberfest.png create mode 100644 source/images/frontpage/state-of-the-open-home-2022.png diff --git a/source/images/frontpage/hacktoberfest.png b/source/images/frontpage/hacktoberfest.png deleted file mode 100644 index b8bc641a3499875eb4deb0cfab587e323fa5f5c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129205 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 Y4;qAzASEpq{r~^~07*qoM6N<$f=sWW@Bjb+ literal 0 HcmV?d00001 diff --git a/source/index.html b/source/index.html index a2db2cb28e5..16b66ca833f 100644 --- a/source/index.html +++ b/source/index.html @@ -89,7 +89,15 @@ feedback: false
- + +
Date: Thu, 22 Sep 2022 09:05:10 +0200 Subject: [PATCH 12/31] update API credentials info (#24212) --- source/_integrations/smappee.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/smappee.markdown b/source/_integrations/smappee.markdown index 4c3c64f4822..8674ea52933 100644 --- a/source/_integrations/smappee.markdown +++ b/source/_integrations/smappee.markdown @@ -59,7 +59,7 @@ Switch entities are created for each Smappee Switch and Smappee Comfort Plug. ## Cloud API configuration -To use the Smappee cloud integration you need a personal `client_id` and `client_secret` and add these to your `configuration.yaml` file. The `client_id` and `client_secret` can be obtained by contacting [info@smappee.com](mailto:info@smappee.com) and require a recurring monthly fee. +To use the Smappee cloud integration you need a personal `client_id` and `client_secret` and add these to your `configuration.yaml` file. For personal use, access to the API is free and credentials can be obtained by contacting [support@smappee.com](mailto:support@smappee.com). For commercial usage, it is based on a recurring fee and credentials can be obtained by contacting [info@smappee.com](mailto:info@smappee.com). For any information about the use of the API please refer to the [Smappee API space](https://smappee.atlassian.net/wiki/spaces/DEVAPI/overview). ```yaml From 0505d4128ca0e03d0cc90d9762243767383a8a08 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Sep 2022 09:10:20 +0200 Subject: [PATCH 13/31] Bump commonmarker from 0.23.5 to 0.23.6 (#24208) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 06b0f6c847b..65491dff267 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,7 +5,7 @@ GEM public_suffix (>= 2.0.2, < 6.0) chunky_png (1.4.0) colorator (1.1.0) - commonmarker (0.23.5) + commonmarker (0.23.6) compass (1.0.3) chunky_png (~> 1.2) compass-core (~> 1.0.2) From e92776c0967437db929d04f976ecfc2e52a28cb6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Sep 2022 09:14:42 +0200 Subject: [PATCH 14/31] Bump actions/stale from 5 to 6 (#24211) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Franck Nijhof --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index d4ceb357057..48ade5355e7 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@v5 + - uses: actions/stale@v6.0.0 if: ${{ github.repository_owner == 'home-assistant' }} with: repo-token: ${{ secrets.GITHUB_TOKEN }} From 6ee415ecdea8b1f48435651272f11ff7429ef8a1 Mon Sep 17 00:00:00 2001 From: Fabrizio Leonelli Date: Thu, 22 Sep 2022 09:35:40 +0200 Subject: [PATCH 15/31] Update statistics.markdown's change* platform (#24213) --- source/_integrations/statistics.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/statistics.markdown b/source/_integrations/statistics.markdown index 7786c557bcd..850aeca44f4 100644 --- a/source/_integrations/statistics.markdown +++ b/source/_integrations/statistics.markdown @@ -43,9 +43,9 @@ The following characteristics are supported for `sensor` source sensors: | `average_linear` | The average value of stored measurements under consideration of the time distances between them. A linear interpolation is applied per measurement pair. Good suited to observe a source sensor with non-periodic sensor updates and when continuous behavior is represented by the measurements (e.g. outside temperature). | `average_step` | The average value of stored measurements under consideration of the time distances between them. LOCF (last observation carried forward weighting) is applied, meaning, that the old value is assumed between two measurements. The resulting step function represents well the behavior of non-continuous behavior, like the set temperature of a boiler. | `average_timeless` | The average value of stored measurements. This method assumes that all measurements are equally spaced and, therefore, time is ignored and a simple average of values is computed. Equal to `mean`. -| `change_sample` | The average change per sample. The difference between the oldest and newest measurement is divided by the number of in-between measurements (n-1). -| `change_second` | The average change per second. The difference between the oldest and newest measurement is divided by seconds between them. -| `change` | The difference between the oldest and newest measurement. +| `change_sample` | The average change per sample. The difference between the newest and the oldest measurement is divided by the number of in-between measurements (n-1). +| `change_second` | The average change per second. The difference between the newest and the oldest measurement is divided by seconds between them. +| `change` | The difference between the newest and the oldest measurement. | `count` | The number of stored source sensor readings. This number is limited by `sampling_size` and can be low within the bounds of `max_age`. | `datetime_newest` | The timestamp of the newest measurement. | `datetime_oldest` | The timestamp of the oldest measurement. From 95949fe40fc9e7cc6ec1b364c1e14d651873bd44 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 22 Sep 2022 03:38:52 -0400 Subject: [PATCH 16/31] Remove Google Analytics (#24204) --- _config.yml | 2 +- source/_includes/google_analytics.html | 13 ------------- source/_includes/javascripts/scripts.html | 7 ------- 3 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 source/_includes/google_analytics.html diff --git a/_config.yml b/_config.yml index a3b9345251c..6ef0398ccd8 100644 --- a/_config.yml +++ b/_config.yml @@ -91,7 +91,7 @@ twitter_user: balloob twitter_tweet_button: true # Google Analytics -google_analytics_tracking_id: UA-57927901-1 +# google_analytics_tracking_id: UA-57927901-1 # Facebook Like facebook_like: true diff --git a/source/_includes/google_analytics.html b/source/_includes/google_analytics.html deleted file mode 100644 index 4d4d5969060..00000000000 --- a/source/_includes/google_analytics.html +++ /dev/null @@ -1,13 +0,0 @@ -{% if site.google_analytics_tracking_id %} - -{% endif %} diff --git a/source/_includes/javascripts/scripts.html b/source/_includes/javascripts/scripts.html index 92a1615098c..68dea471f5a 100644 --- a/source/_includes/javascripts/scripts.html +++ b/source/_includes/javascripts/scripts.html @@ -1,10 +1,3 @@ - - From 193492d99d9cfee486384cf3a0ec0f17373a2861 Mon Sep 17 00:00:00 2001 From: Mike Degatano Date: Thu, 22 Sep 2022 03:48:16 -0400 Subject: [PATCH 17/31] Unsupported restart policy information (#24206) --- .../unsupported/restart_policy.markdown | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 source/more-info/unsupported/restart_policy.markdown diff --git a/source/more-info/unsupported/restart_policy.markdown b/source/more-info/unsupported/restart_policy.markdown new file mode 100644 index 00000000000..3cb7a53943c --- /dev/null +++ b/source/more-info/unsupported/restart_policy.markdown @@ -0,0 +1,26 @@ +--- +title: "Restart policy" +description: "More information on why changing the docker restart policy for containers marks the system as unsupported." +--- + +## The issue + +Supervisor needs to start the containers it manages for addons, plugins and Home Assistant in the +correct order after a system reboot. Changing the restart policy it sets on those containers may +cause them to start in the wrong order and create errors. + +## The solution + +If the restart policy of observer was changed, fix it from the host shell with this: + +```sh +docker update hassio_observer --restart always +``` + +For everything else, the restart policy can be fixed with the following command: + +```sh +docker update --restart no +``` + +The supervisor log should contain a list of container names with incorrect restart policies. From dfd0b22a21caeb56c8f99471a0a407e258b57195 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 22 Sep 2022 04:30:50 -0400 Subject: [PATCH 18/31] 2022.9.6 (#24209) Co-authored-by: Franck Nijhof --- _config.yml | 4 +- .../_posts/2022-09-07-release-20229.markdown | 85 +++++++++++++++++++ 2 files changed, 87 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 6ef0398ccd8..b7d33f37c21 100644 --- a/_config.yml +++ b/_config.yml @@ -107,8 +107,8 @@ social: # Home Assistant release details current_major_version: 2022 current_minor_version: 9 -current_patch_version: 5 -date_released: 2022-09-18 +current_patch_version: 6 +date_released: 2022-09-22 # 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/source/_posts/2022-09-07-release-20229.markdown b/source/_posts/2022-09-07-release-20229.markdown index bb0fc40afa9..a73060a0612 100644 --- a/source/_posts/2022-09-07-release-20229.markdown +++ b/source/_posts/2022-09-07-release-20229.markdown @@ -42,6 +42,7 @@ Now I know that everyone usually expects [@frenck] to be writing these release n - [Release 2022.9.3 - September 13](#release-202293---september-13) - [Release 2022.9.4 - September 14](#release-202294---september-14) - [Release 2022.9.5 - September 18](#release-202295---september-18) +- [Release 2022.9.6 - September 22](#release-202296---september-22) - [Need help? Join the community](#need-help-join-the-community) - [Breaking Changes](#breaking-changes) - [All changes](#all-changes) @@ -602,6 +603,90 @@ The following integrations are now available via the Home Assistant UI: [yalexs_ble docs]: /integrations/yalexs_ble/ [zwave_js docs]: /integrations/zwave_js/ +## Release 2022.9.6 - September 22 + +- Handle Modalias missing from the bluetooth adapter details on older BlueZ ([@bdraco] - [#78716]) ([bluetooth docs]) +- Refactor MQTT tests to use modern platform schema part 1 ([@jbouwh] - [#77387]) ([mqtt docs]) +- Refactor MQTT tests to use modern platform schema part 2 ([@jbouwh] - [#77525]) ([mqtt docs]) +- Refactor common MQTT tests to use modern schema ([@jbouwh] - [#77583]) ([mqtt docs]) +- Make hass.data["mqtt"] an instance of a DataClass ([@jbouwh] - [#77972]) ([mqtt docs]) +- Add status codes 23 and 26 to Xiaomi Miio vacuum ([@starkillerOG] - [#78289]) ([xiaomi_miio docs]) +- Link manually added MQTT entities the the MQTT config entry ([@jbouwh] - [#78547]) ([mqtt docs]) +- Drop PARALLEL_UPDATES from switchbot ([@bdraco] - [#78713]) ([switchbot docs]) +- Bump aioimaplib to 1.0.1 ([@N1c093] - [#78738]) ([imap docs]) (dependency) +- Fix bug wherein RainMachine services use the wrong controller ([@bachya] - [#78780]) ([rainmachine docs]) +- Guard Guardian switches from redundant on/off calls ([@bachya] - [#78791]) ([guardian docs]) +- Bump dbus-fast to 1.5.1 ([@bdraco] - [#78802]) ([bluetooth docs]) (dependency) +- If brightness is not available, don't set a value ([@elupus] - [#78827]) ([google_assistant docs]) +- Pin Python patch versions [ci] ([@cdce8p] - [#78830]) +- Fix parsing Eve Energy characteristic data ([@Jc2k] - [#78880]) ([homekit_controller docs]) +- Check Surveillance Station permissions during setup of Synology DSM integration ([@mib1185] - [#78884]) ([synology_dsm docs]) +- Handle default RSSI values from bleak in bluetooth ([@bdraco] - [#78908]) ([bluetooth docs]) +- Disable force update Netatmo ([@balloob] - [#78913]) ([netatmo docs]) +- Correct return typing for `catch_log_exception` ([@jbouwh] - [#78399]) +- Fix samsungtv to abort when ATTR_UPNP_MANUFACTURER is missing ([@bdraco] - [#78895]) ([samsungtv docs]) +- Handle timeout fetching bond token in config flow ([@bdraco] - [#78896]) ([bond docs]) +- Bump bimmer_connected to 0.10.4 ([@rikroe] - [#78910]) ([bmw_connected_drive docs]) (dependency) + +[#77387]: https://github.com/home-assistant/core/pull/77387 +[#77525]: https://github.com/home-assistant/core/pull/77525 +[#77583]: https://github.com/home-assistant/core/pull/77583 +[#77968]: https://github.com/home-assistant/core/pull/77968 +[#77972]: https://github.com/home-assistant/core/pull/77972 +[#78081]: https://github.com/home-assistant/core/pull/78081 +[#78169]: https://github.com/home-assistant/core/pull/78169 +[#78289]: https://github.com/home-assistant/core/pull/78289 +[#78399]: https://github.com/home-assistant/core/pull/78399 +[#78410]: https://github.com/home-assistant/core/pull/78410 +[#78438]: https://github.com/home-assistant/core/pull/78438 +[#78547]: https://github.com/home-assistant/core/pull/78547 +[#78703]: https://github.com/home-assistant/core/pull/78703 +[#78713]: https://github.com/home-assistant/core/pull/78713 +[#78716]: https://github.com/home-assistant/core/pull/78716 +[#78738]: https://github.com/home-assistant/core/pull/78738 +[#78780]: https://github.com/home-assistant/core/pull/78780 +[#78791]: https://github.com/home-assistant/core/pull/78791 +[#78802]: https://github.com/home-assistant/core/pull/78802 +[#78827]: https://github.com/home-assistant/core/pull/78827 +[#78830]: https://github.com/home-assistant/core/pull/78830 +[#78880]: https://github.com/home-assistant/core/pull/78880 +[#78884]: https://github.com/home-assistant/core/pull/78884 +[#78895]: https://github.com/home-assistant/core/pull/78895 +[#78896]: https://github.com/home-assistant/core/pull/78896 +[#78908]: https://github.com/home-assistant/core/pull/78908 +[#78910]: https://github.com/home-assistant/core/pull/78910 +[#78913]: https://github.com/home-assistant/core/pull/78913 +[@Jc2k]: https://github.com/Jc2k +[@N1c093]: https://github.com/N1c093 +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@cdce8p]: https://github.com/cdce8p +[@elupus]: https://github.com/elupus +[@frenck]: https://github.com/frenck +[@jbouwh]: https://github.com/jbouwh +[@mib1185]: https://github.com/mib1185 +[@rikroe]: https://github.com/rikroe +[@starkillerOG]: https://github.com/starkillerOG +[abode docs]: /integrations/abode/ +[accuweather docs]: /integrations/accuweather/ +[acmeda docs]: /integrations/acmeda/ +[bluetooth docs]: /integrations/bluetooth/ +[bmw_connected_drive docs]: /integrations/bmw_connected_drive/ +[bond docs]: /integrations/bond/ +[frontend docs]: /integrations/frontend/ +[google_assistant docs]: /integrations/google_assistant/ +[guardian docs]: /integrations/guardian/ +[homekit_controller docs]: /integrations/homekit_controller/ +[imap docs]: /integrations/imap/ +[mqtt docs]: /integrations/mqtt/ +[netatmo docs]: /integrations/netatmo/ +[rainmachine docs]: /integrations/rainmachine/ +[samsungtv docs]: /integrations/samsungtv/ +[switchbot docs]: /integrations/switchbot/ +[synology_dsm docs]: /integrations/synology_dsm/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ + ## Need help? Join the community Home Assistant has a great community of users who are all more than willing From 476d1431eb1ff1664bddb816da1d90b280f2d27f Mon Sep 17 00:00:00 2001 From: blhoward2 <33612110+blhoward2@users.noreply.github.com> Date: Thu, 22 Sep 2022 10:39:57 -0400 Subject: [PATCH 19/31] Rename zwavejs2mqtt to zwave-js-ui in docs (#24207) Co-authored-by: Franck Nijhof --- source/_docs/z-wave/controllers.markdown | 2 +- source/_integrations/zwave_js.markdown | 60 ++++++++++++------------ 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index 68b4af6f9f3..0496eacdaff 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -42,7 +42,7 @@ Users should upgrade the firmware on all 700 series controllers to version 7.17. - Z-Wave.Me RaZberry 7 Pro (700 series) - Z-Wave.Me Razberry 2 (500 series) -If you are just starting out, we recommend that you purchase a 500 series controller. +If you are just starting out, we recommend that you purchase a 700 series controller.
If you're using Home Assistant OS, Supervised, or Container, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through. diff --git a/source/_integrations/zwave_js.markdown b/source/_integrations/zwave_js.markdown index 045713e72d6..22bc3a44ceb 100644 --- a/source/_integrations/zwave_js.markdown +++ b/source/_integrations/zwave_js.markdown @@ -649,23 +649,21 @@ _This option is only available for Home Assistant OS (the recommended installati This add-on can only be configured via the built-in Z-Wave control panel in Home Assistant. -**Option 2: The Zwavejs2Mqtt (aka "Z-Wave JS to MQTT") add-on installed from the community add-on store** +**Option 2: The Z-Wave JS UI add-on installed from the community add-on store** _This option is only available for Home Assistant OS (the recommended installation type) and Home Assistant Supervised installations._ -This add-on includes the Z-Wave JS Server as part of the Zwavejs2Mqtt application. Despite the name, MQTT is not required to run this add-on and both provide the same Z-Wave JS driver. +This add-on includes the Z-Wave JS Server as part of the Z-Wave JS UI application. The Z-Wave network can be configured via the built-in Z-Wave control panel in Home Assistant and alternatively via the Z-Wave control panel built into Z-Wave JS UI. It provides you with a full-fledged, attractive, and feature-complete UI to manage your Z-Wave nodes and settings, which may support more advanced use cases as development continues on the Z-Wave control panel. -The Z-Wave network can be configured via the built-in Z-Wave control panel in Home Assistant and alternatively via the Z-Wave control panel built into Zwavejs2Mqtt. It provides you with a full-fledged, attractive, and feature-complete UI to manage your Z-Wave nodes and settings, which may support more advanced use cases as development continues on the Z-Wave control panel. +**Option 3: The Z-Wave JS UI Docker container** -**Option 3: The Zwavejs2Mqtt Docker container** +This is the recommended approach if you're running Home Assistant Container. See the [Z-Wave JS UI documentation](https://zwave-js.github.io/zwave-js-ui//#/getting-started/quick-start) for instructions. -This is the recommended approach if you're running Home Assistant Container. See the [Zwavejs2Mqtt documentation](https://zwave-js.github.io/zwavejs2mqtt/#/getting-started/quick-start) for instructions. - -This method provides the same server application and UI as the Zwavejs2Mqtt add-on. After installing the Docker image, make sure you enable the WS Server in the Home Assistant section of Settings page. +This method provides the same server application and UI as the Z-Wave JS UI add-on. After installing the Docker image, make sure you enable the WS Server in the Home Assistant section of Settings page. **Option 4: Run the Z-Wave JS server yourself** -This is considered a very advanced use case. In this case you run the Z-Wave JS Server or Zwavejs2Mqtt NodeJS application directly. Installation and maintaining this is out of scope for this document. See the [Z-Wave JS server](https://github.com/zwave-js/zwave-js-server) or [Zwavejs2Mqtt](https://github.com/zwave-js/zwavejs2mqtt) GitHub repository for information. +This is considered a very advanced use case. In this case you run the Z-Wave JS Server or Z-Wave JS UI NodeJS application directly. Installation and maintaining this is out of scope for this document. See the [Z-Wave JS server](https://github.com/zwave-js/zwave-js-server) or [Z-Wave JS UI](https://github.com/zwave-js/zwave-js-ui/) GitHub repository for information.
@@ -677,7 +675,7 @@ This is considered a very advanced use case. In this case you run the Z-Wave JS **Network keys** are used to connect securely to compatible devices. The network keys consist of 32 hexadecimal characters, for example, `2232666D100F795E5BB17F0A1BB7A146` (do not use this one, pick a random one). Without network keys security enabled devices cannot be added securely and will not function correctly. You must provide these network keys in the configuration part of the Z-Wave JS Server. -For new installations, unique default keys will be auto-generated for you by the Z-Wave JS add-on. You can also generate those network keys in the Settings section of Zwavejs2Mqtt. +For new installations, unique default keys will be auto-generated for you by the Z-Wave JS add-on. You can also generate those network keys in the Settings section of Z-Wave JS UI. If migrating from the legacy `zwave` integration, your network key from those integration should be entered as the S0 network key. Those integrations did not support S2 security, so you will not yet have S2 network keys to configure. @@ -689,9 +687,9 @@ Make sure that you keep a backup of these keys in a safe place. You will need to Once you have the Z-Wave JS server up and running, you need to install and configure the integration in Home Assistant (as described above). -If you're running full Home Assistant with supervisor, you will be presented with a dialog that asks if you want to use the Z-Wave JS Supervisor add-on. You **must** uncheck this box if you are running the Z-Wave JS server in any manner other than the official Z-Wave JS add-on, including using Z-Wave JS to MQTT add-on. +If you're running full Home Assistant with supervisor, you will be presented with a dialog that asks if you want to use the Z-Wave JS Supervisor add-on. You **must** uncheck this box if you are running the Z-Wave JS server in any manner other than the official Z-Wave JS add-on, including using Z-Wave JS UI add-on. -If you're not running the supervisor or you've unchecked the above mentioned box, you will be asked to enter a websocket URL (defaults to ws://localhost:3000). It is very important that you fill in the correct (Docker) IP/hostname here. For example for the Z-Wave JS to MQTT add-on this is `ws://a0d7b954-zwavejs2mqtt:3000`. +If you're not running the supervisor or you've unchecked the above-mentioned box, you will be asked to enter a websocket URL (defaults to ws://localhost:3000). It is very important that you fill in the correct (Docker) IP/hostname here. For example for the Z-Wave JS UI add-on this is `ws://a0d7b954-zwavejs2mqtt:3000`. ## Frequently Asked Questions @@ -707,7 +705,7 @@ You can also keep track of the roadmap for the Z-Wave integration [here](https:/ #### Which Z-Wave controller should I buy? -Z-Wave supports all known 500 and 700 series Z-Wave controllers. If you are just starting out, we recommend that you purchase a 500 series controller. +Z-Wave supports all known 500 and 700 series Z-Wave controllers. If you are just starting out, we recommend that you purchase a 700 series controller (with firmware updated to >=7.17.2). For more information, see [Supported Z-Wave dongles](/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules) @@ -741,11 +739,15 @@ Node {{ node }};{{ s.name }};{{ s.entity_id }}{% endfor %} {% endraw %} -#### Can I switch between the Official Z-Wave JS add-on and Zwavejs2Mqtt? +#### What happened to Zwavejs2Mqtt or the Z-Wave JS to MQTT add-on? + +Zwavejs2Mqtt was renamed Z-Wave JS UI in September 2022. They are synonymous with no difference between their capabilities. + +#### Can I switch between the Official Z-Wave JS add-on and the Z-Wave JS UI add-on? You can, but you cannot run them both at the same time. Only one of them can be active at the same time. -#### How do I switch between the Official Z-Wave JS add-on and Zwavejs2Mqtt? +#### How do I switch between the Official Z-Wave JS add-on and the Z-Wave JS UI add-on? Switching does not require renaming your devices. @@ -753,7 +755,7 @@ Switching does not require renaming your devices. 2. Note your network security keys from the official add-on. -3. Install and configure the Z-Wave JS to MQTT add-on, including setting the location of your Z-Wave device and the network security keys. +3. Install and configure the Z-Wave JS UI add-on, including setting the location of your Z-Wave device and the network security keys. 4. Add the Z-Wave integration again (even though it is still installed), and uncheck the "Use the Z-Wave JS Supervisor add-on". Enter the correct address for the community add-on in the URL field in the next step. @@ -761,30 +763,30 @@ Switching does not require renaming your devices. 6. Enable the Z-Wave integration. -#### What's the benefit of using Zwavejs2Mqtt over the official Add-On? +#### What's the benefit of using Z-Wave JS UI add-on over the official Add-On? The official add-on provides the Z-Wave Server in its bare minimum variant, just enough to serve the Home Assistant integration. -The Zwavejs2Mqtt project includes the Z-Wave JS Server for convenience but also provides a Z-Wave Control panel and the ability (hence its name) to serve your Z-Wave network to MQTT. You can leave the MQTT Gateway disabled and only use the Control panel but you can even have the MQTT features enabled at the same time. For example to interact with Z-Wave from other devices, while the Home Assistant integration still works (as long as you keep the WS Server enabled in Zwavejs2Mqtt). +The Z-Wave JS UI project includes the Z-Wave JS Server for convenience but also provides a Z-Wave Control panel and the ability to serve your Z-Wave network to MQTT. This allows you to use the control panel, and if you so choose, to also use MQTT at the same time. For example, some users may use MQTT to interact with Z-Wave from other devices, while the Home Assistant integration still works (as long as you keep the WS Server enabled in Z-Wave JS UI). -#### Zwavejs2Mqtt seems to provide discovery of Home Assistant devices on its own too, now I'm confused +#### Z-Wave JS UI seems to provide discovery of Home Assistant devices on its own too, now I'm confused -Correct, the Zwavejs2Mqtt project existed before Home Assistant had plans to move to the Z-Wave JS Driver. You should use the integration for device discovery and _not_ the MQTT discovery provided by Zwavejs2Mqtt. +Correct, the Z-Wave JS UI project existed before Home Assistant had plans to move to the Z-Wave JS Driver. You should use the integration for device discovery and _not_ the MQTT discovery provided by Z-Wave JS UI. -#### Can I run Zwavejs2Mqtt only for the control panel and nothing else? +#### Can I run Z-Wave JS UI only for the control panel and nothing else? -Sure, in the settings of Zwavejs2Mqtt, make sure to enable "WS Server" and disable "Gateway". +Sure, in the settings of Z-Wave JS UI, make sure to enable "WS Server" and disable "Gateway". -#### How do I use my OZW network key in Zwavejs2Mqtt? +#### How do I use my OZW network key in Z-Wave JS UI? -You can use your existing network key in Zwavejs2Mqtt but you need to slightly adjust it. -The OZW looks like this: `0x01, 0x02, 0x03 etc.` while the network key format accepted in Zwavejs2Mqtt looks like this `0102030405 etc.`. You can simply edit your existing key and remove the `"0x"` part and the `", "` part so it becomes one large string of numbers. +You can use your existing network key in Z-Wave JS UI but you need to slightly adjust it. +The OZW looks like this: `0x01, 0x02, 0x03 etc.` while the network key format accepted in Z-Wave JS UI looks like this `0102030405 etc.`. You can simply edit your existing key and remove the `"0x"` part and the `", "` part so it becomes one large string of numbers. -#### Should I name my devices in Home Assistant, or in Zwavejs2Mqtt? +#### Should I name my devices in Home Assistant, or in Z-Wave JS UI? -Ultimately, this is a personal decision. If you provide a name or location for a device in the Zwavejs2Mqtt UI, that name will be imported into Home Assistant when the integration is reloaded or Home Assistant is restarted. Any entity names, however, will not change if the device has already been set up by Home Assistant. Names set in Zwavejs2Mqtt _will not_ overwrite changes that have already been made in Home Assistant. +Ultimately, this is a personal decision. If you provide a name or location for a device in the Z-Wave JS UI, that name will be imported into Home Assistant when the integration is reloaded or Home Assistant is restarted. Any entity names, however, will not change if the device has already been set up by Home Assistant. Names set in Z-Wave JS UI _will not_ overwrite changes that have already been made in Home Assistant. -Names set in Home Assistant will not import into Zwavejs2Mqtt. +Names set in Home Assistant will not import into Z-Wave JS UI. ### Using Z-Wave @@ -848,9 +850,9 @@ Your device might not send automatic status updates to the controller. While the Z-Wave does not automatically poll devices on a regular basis. Polling can quickly lead to network congestion and should be used very sparingly and only where necessary. -- We provide a `zwave_js.refresh_value` service to allow you to manually poll a value, for example from an automation that only polls a device when there is motion in that same room. If you **really** need polling, you can enable this in Zwavejs2Mqtt but not in the official add-on. +- We provide a `zwave_js.refresh_value` service to allow you to manually poll a value, for example from an automation that only polls a device when there is motion in that same room. If you **really** need polling, you can enable this in Z-Wave JS UI but not in the official add-on. -- Zwavejs2Mqtt allows you to configure scheduled polling on a per-value basis, which you can use to keep certain values updated. It also allows you to poll individual values on-demand from your automations, which should be preferred over blindly polling all the time if possible. +- Z-Wave JS UI allows you to configure scheduled polling on a per-value basis, which you can use to keep certain values updated. It also allows you to poll individual values on-demand from your automations, which should be preferred over blindly polling all the time if possible.
Polling should only be used as a last resort. You must use it with care and accept the negative impact on your network. Z-Wave is a very low speed network and poll requests can easily flood your network and slow down your commands. From 4768d1a9a783583406fb17cf2e4ce8c0b437d1cf Mon Sep 17 00:00:00 2001 From: liquidbear99 <53712660+liquidbear99@users.noreply.github.com> Date: Thu, 22 Sep 2022 19:17:31 -0500 Subject: [PATCH 20/31] Amended the push update instructions for Yale Access Bluetooth (#24219) --- source/_integrations/yalexs_ble.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/yalexs_ble.markdown b/source/_integrations/yalexs_ble.markdown index dbf8ba6d06b..6d4e24de8ce 100644 --- a/source/_integrations/yalexs_ble.markdown +++ b/source/_integrations/yalexs_ble.markdown @@ -49,6 +49,8 @@ These devices do not send updates, but can be locked and unlocked. Some locks only send push updates when they have an active HomeKit pairing. If your lock is not sending push updates, ensure it's paired with a HomeKit using an iOS device or the HomeKit controller integration. The lock cannot be paired via HomeKit Controller and the Yale Access Bluetooth integration on the same Home Assistant instance as they will both try to access the lock simultaneously and fail. +One easy way to fix this is to create a new/second home in the Apple Home app and add the lock to that new home. Push updates should occur as intended after the lock is added. + Alternatively, call the `homeassistant.update_entity` service to force the integration to update the lock state. ## Door Sensors From 61c4ed9b7b80f40b21a3f72399f694cbcbd228a8 Mon Sep 17 00:00:00 2001 From: Sven Serlier <85389871+wrt54g@users.noreply.github.com> Date: Sun, 25 Sep 2022 18:04:40 +0200 Subject: [PATCH 21/31] Update URL (#24241) --- source/_docs/automation/trigger.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 92510eeac6d..895f474972d 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -558,7 +558,7 @@ automation: {% endraw %} -If you want to get more precise, you can use this [solar calculator](https://www.esrl.noaa.gov/gmd/grad/solcalc/), which will help you estimate what the solar elevation will be at any specific time. Then from this, you can select from the defined twilight numbers. +If you want to get more precise, you can use this [solar calculator](https://gml.noaa.gov/grad/solcalc/), which will help you estimate what the solar elevation will be at any specific time. Then from this, you can select from the defined twilight numbers. Although the actual amount of light depends on weather, topography and land cover, they are defined as: From 9799fb09b1b8e3b9c53790b1c25017569d334922 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Sep 2022 14:19:48 +0200 Subject: [PATCH 22/31] Bump sinatra from 2.2.2 to 3.0.0 (#24246) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Gemfile b/Gemfile index 9753d9ced3a..c859899de8b 100644 --- a/Gemfile +++ b/Gemfile @@ -19,7 +19,7 @@ group :jekyll_plugins do gem 'jekyll-toc', '0.17.1' end -gem 'sinatra', '2.2.2' +gem 'sinatra', '3.0.0' gem 'nokogiri', '1.13.8' # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem diff --git a/Gemfile.lock b/Gemfile.lock index 65491dff267..54bc27c79f4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -68,7 +68,7 @@ GEM mercenary (0.4.0) mini_portile2 (2.8.0) multi_json (1.15.0) - mustermann (2.0.2) + mustermann (3.0.0) ruby2_keywords (~> 0.0.1) nokogiri (1.13.8) mini_portile2 (~> 2.8.0) @@ -80,7 +80,7 @@ GEM public_suffix (5.0.0) racc (1.6.0) rack (2.2.4) - rack-protection (2.2.2) + rack-protection (3.0.0) rack rake (13.0.6) rb-fsevent (0.11.2) @@ -97,10 +97,10 @@ GEM ffi (~> 1.9) sassc (2.1.0-x64-mingw32) ffi (~> 1.9) - sinatra (2.2.2) - mustermann (~> 2.0) - rack (~> 2.2) - rack-protection (= 2.2.2) + sinatra (3.0.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.0.0) tilt (~> 2.0) stringex (2.8.5) terminal-table (2.0.0) @@ -127,7 +127,7 @@ DEPENDENCIES rake (= 13.0.6) sass-globbing (= 1.1.5) sassc (= 2.1.0) - sinatra (= 2.2.2) + sinatra (= 3.0.0) stringex (= 2.8.5) tzinfo (~> 2.0) tzinfo-data From 9fe4f5c5fdc88e122d387f0e2db3f71ec8a798d3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Sep 2022 15:03:27 +0200 Subject: [PATCH 23/31] Bump tzinfo-data from 1.2022.3 to 1.2022.4 (#24245) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 54bc27c79f4..b35cfba35e4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -108,7 +108,7 @@ GEM tilt (2.0.11) tzinfo (2.0.5) concurrent-ruby (~> 1.0) - tzinfo-data (1.2022.3) + tzinfo-data (1.2022.4) tzinfo (>= 1.0.0) unicode-display_width (1.8.0) From 1baffeeb85267730f40507095ee35686c98b1186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 26 Sep 2022 17:01:49 +0200 Subject: [PATCH 24/31] Add pull_request to CLA sign data (#24249) --- source/developers/cla_sign.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/developers/cla_sign.html b/source/developers/cla_sign.html index 3099af1dd17..6c7571430b9 100644 --- a/source/developers/cla_sign.html +++ b/source/developers/cla_sign.html @@ -464,7 +464,8 @@ description: "The Home Assistant contributor license agreement (CLA) signature p "region": $("#region").val(), "signing_for": $('input[name="signing_for"]:checked').val(), "i_agree": $("#i_agree").val(), - "github_user_id": $("#github_user_id").val() + "github_user_id": $("#github_user_id").val(), + "pull_request": localStorage.getItem("pr"), }; if ($("#company_name").val() != "") { payload.company_name = $("#company_name").val(); From 8bbf90b1ecb7fda1de777de6b941f2d2c252ef07 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 26 Sep 2022 14:05:02 +0000 Subject: [PATCH 25/31] 2022.9.7 --- _config.yml | 4 +- .../_posts/2022-09-07-release-20229.markdown | 61 +++++++++++++++++++ 2 files changed, 63 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index b7d33f37c21..9436666b35c 100644 --- a/_config.yml +++ b/_config.yml @@ -107,8 +107,8 @@ social: # Home Assistant release details current_major_version: 2022 current_minor_version: 9 -current_patch_version: 6 -date_released: 2022-09-22 +current_patch_version: 7 +date_released: 2022-09-26 # 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/source/_posts/2022-09-07-release-20229.markdown b/source/_posts/2022-09-07-release-20229.markdown index a73060a0612..29acdc552e9 100644 --- a/source/_posts/2022-09-07-release-20229.markdown +++ b/source/_posts/2022-09-07-release-20229.markdown @@ -43,6 +43,7 @@ Now I know that everyone usually expects [@frenck] to be writing these release n - [Release 2022.9.4 - September 14](#release-202294---september-14) - [Release 2022.9.5 - September 18](#release-202295---september-18) - [Release 2022.9.6 - September 22](#release-202296---september-22) +- [Release 2022.9.7 - September 26](#release-202297---september-26) - [Need help? Join the community](#need-help-join-the-community) - [Breaking Changes](#breaking-changes) - [All changes](#all-changes) @@ -687,6 +688,66 @@ The following integrations are now available via the Home Assistant UI: [synology_dsm docs]: /integrations/synology_dsm/ [xiaomi_miio docs]: /integrations/xiaomi_miio/ +## Release 2022.9.7 - September 26 + +- Bump pyipma to 3.0.5 ([@dgomes] - [#78936]) ([ipma docs]) +- Bump motionblinds to 0.6.13 ([@starkillerOG] - [#78946]) ([motion_blinds docs]) +- Set OWM default mode to hourly legacy API ([@jbouwh] - [#78951]) ([openweathermap docs]) +- Bump yalexs to 1.2.2 ([@bdraco] - [#78978]) ([august docs]) +- Fix velbus matching ignored entries in config flow ([@Cereal2nd] - [#78999]) ([velbus docs]) +- Bumped boschshcpy 0.2.30 to 0.2.35 ([@tschamm] - [#79017]) ([bosch_shc docs]) +- Fix failing LaMetric pairing message during config flow ([@frenck] - [#79031]) ([lametric docs]) +- Fix MQTT device_tracker generating unique id-s - regression on #78547 ([@jbouwh] - [#79033]) ([mqtt docs]) +- Bump govee-ble to 0.19.0 ([@bdraco] - [#79038]) ([govee_ble docs]) +- Always install requirements of after_dependencies ([@emontnemery] - [#79094]) +- Pin pyOpenSSL to 22.0.0 ([@balloob] - [#79066]) + +[#77968]: https://github.com/home-assistant/core/pull/77968 +[#78081]: https://github.com/home-assistant/core/pull/78081 +[#78169]: https://github.com/home-assistant/core/pull/78169 +[#78410]: https://github.com/home-assistant/core/pull/78410 +[#78438]: https://github.com/home-assistant/core/pull/78438 +[#78703]: https://github.com/home-assistant/core/pull/78703 +[#78916]: https://github.com/home-assistant/core/pull/78916 +[#78936]: https://github.com/home-assistant/core/pull/78936 +[#78946]: https://github.com/home-assistant/core/pull/78946 +[#78951]: https://github.com/home-assistant/core/pull/78951 +[#78978]: https://github.com/home-assistant/core/pull/78978 +[#78999]: https://github.com/home-assistant/core/pull/78999 +[#79017]: https://github.com/home-assistant/core/pull/79017 +[#79031]: https://github.com/home-assistant/core/pull/79031 +[#79033]: https://github.com/home-assistant/core/pull/79033 +[#79038]: https://github.com/home-assistant/core/pull/79038 +[#79066]: https://github.com/home-assistant/core/pull/79066 +[#79094]: https://github.com/home-assistant/core/pull/79094 +[@Cereal2nd]: https://github.com/Cereal2nd +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@dgomes]: https://github.com/dgomes +[@emontnemery]: https://github.com/emontnemery +[@frenck]: https://github.com/frenck +[@jbouwh]: https://github.com/jbouwh +[@starkillerOG]: https://github.com/starkillerOG +[@tschamm]: https://github.com/tschamm +[abode docs]: /integrations/abode/ +[accuweather docs]: /integrations/accuweather/ +[acmeda docs]: /integrations/acmeda/ +[august docs]: /integrations/august/ +[bluetooth docs]: /integrations/bluetooth/ +[bosch_shc docs]: /integrations/bosch_shc/ +[frontend docs]: /integrations/frontend/ +[google_assistant docs]: /integrations/google_assistant/ +[govee_ble docs]: /integrations/govee_ble/ +[guardian docs]: /integrations/guardian/ +[homekit_controller docs]: /integrations/homekit_controller/ +[imap docs]: /integrations/imap/ +[ipma docs]: /integrations/ipma/ +[lametric docs]: /integrations/lametric/ +[motion_blinds docs]: /integrations/motion_blinds/ +[mqtt docs]: /integrations/mqtt/ +[openweathermap docs]: /integrations/openweathermap/ +[velbus docs]: /integrations/velbus/ + ## Need help? Join the community Home Assistant has a great community of users who are all more than willing From 446a6baf41e16a1a655c9d9564c2807d95d85b0c Mon Sep 17 00:00:00 2001 From: Mike Degatano Date: Mon, 26 Sep 2022 12:41:45 -0400 Subject: [PATCH 26/31] Update connectivity check solution for uri not set (#24183) --- .../unsupported/connectivity_check.markdown | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/source/more-info/unsupported/connectivity_check.markdown b/source/more-info/unsupported/connectivity_check.markdown index f563473a83a..b89ea23536b 100644 --- a/source/more-info/unsupported/connectivity_check.markdown +++ b/source/more-info/unsupported/connectivity_check.markdown @@ -10,8 +10,41 @@ Without this check you will face an increased number of errors and performance i ## The solution -From the host shell execute the following command to re-enable Network Manager's connectivity check: +From the host shell, first execute the following: + +```sh +busctl get-property org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager ConnectivityCheckAvailable +``` + +### Output is `b true` + +You just need to re-enable connectivity checks by executing this command: ```sh busctl set-property org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager ConnectivityCheckEnabled b true ``` + +It may take a bit for the message to go away as all checks are scheduled on timers. You can force it to recheck immediately by executing the following commands: + +```sh +ha host reload +ha resolution healthcheck +``` + +### Output is `b false` + +You need to set the connectivity uri in Network Manager's config. You can do this by adding the following to `/etc/NetworkManager/NetworkManager.conf`: + +```txt +[connectivity] +uri=http://checkonline.home-assistant.io/online.txt +interval=600 +``` + +Afterwards you will need to restart NetworkManager by either rebooting the host or executing this command: + +```sh +systemctl restart NetworkManager +``` + +As mentioned above, the checks are on timers so the message may not go away immediately unless you force an immediate re-check. If you continue to see the message after a while or after forcing a re-check then start over at the top of this solution. You may need to separately enable the check now that it is available. From 2ed9a602cb2a7f3cacd531e783aeb305b347882a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 26 Sep 2022 18:46:39 +0200 Subject: [PATCH 27/31] Adjust the OS/Supervised docs for spesific version (#24234) --- source/_includes/common-tasks/beta_version.md | 4 +++- source/_includes/common-tasks/development_version.md | 4 +++- source/_includes/common-tasks/specific_version.md | 10 +++++++++- source/_includes/common-tasks/update.md | 4 +++- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/source/_includes/common-tasks/beta_version.md b/source/_includes/common-tasks/beta_version.md index e6e3f759574..651b2f33256 100644 --- a/source/_includes/common-tasks/beta_version.md +++ b/source/_includes/common-tasks/beta_version.md @@ -33,9 +33,11 @@ If you would like to test next release before anyone else, you can install the b 3. Update Home Assistant core to the latest beta version ```bash - ha core update + ha core update --backup ``` + _The_ `--backup` _flag here ensures that you have a partial backup of your current setup incase you need to downgrade._ + {% endtabbed_block %} {% elsif page.installation == "container" %} diff --git a/source/_includes/common-tasks/development_version.md b/source/_includes/common-tasks/development_version.md index 8c8d8cd5d2b..98483671822 100644 --- a/source/_includes/common-tasks/development_version.md +++ b/source/_includes/common-tasks/development_version.md @@ -25,9 +25,11 @@ If you want to stay on the bleeding-edge Home Assistant Core development branch, 3. Update Home Assistant core to the latest dev version ```bash - ha core update + ha core update --backup ``` + _The_ `--backup` _flag here ensures that you have a partial backup of your current setup incase you need to downgrade._ + {% elsif page.installation == "container" %} ```bash diff --git a/source/_includes/common-tasks/specific_version.md b/source/_includes/common-tasks/specific_version.md index f093bf13b5f..5be8aeab77e 100644 --- a/source/_includes/common-tasks/specific_version.md +++ b/source/_includes/common-tasks/specific_version.md @@ -2,14 +2,22 @@ {% assign current_version = site.current_major_version | append: "." | append: site.current_minor_version | append: "." | append: site.current_patch_version %} +{% if page.installation != "os" and page.installation != "supervised" %} + In the event that a Home Assistant Core version doesn't play well with your hardware setup, you can downgrade to a previous release. In this example `{{current_version}}` is used as the target version but you can choose the version you desire to run. +{% endif %} + {% if page.installation == "os" or page.installation == "supervised" %} +You can use the CLI to upgrade to a specific version (`{{current_version}}` in this example), to downgrade your installation you should do a partial restore of a [backup](#backups) instead. + ```bash -ha core update --version {{current_version}} +ha core update --version {{current_version}} --backup ``` +_The_ `--backup` _flag here ensures that you have a partial backup of your current setup incase you need to downgrade._ + {% elsif page.installation == "container" %} ```bash diff --git a/source/_includes/common-tasks/update.md b/source/_includes/common-tasks/update.md index 8959598f3e7..af01fb90445 100644 --- a/source/_includes/common-tasks/update.md +++ b/source/_includes/common-tasks/update.md @@ -29,9 +29,11 @@ To update Home Assistant Core when you run Home Assistant {{ page.installation_n content: | ```bash - ha core update + ha core update --backup ``` + _The_ `--backup` _flag here ensures that you have a partial backup of your current setup incase you need to downgrade._ + {% endtabbed_block %} {% elsif page.installation == "container" %} From d8928f5d14802937dbeb91cbab34eaa4a5bc5e61 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 26 Sep 2022 06:49:27 -1000 Subject: [PATCH 28/31] Update bluetooth requirements in documentation (#24214) Co-authored-by: Franck Nijhof --- source/_integrations/bluetooth.markdown | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/source/_integrations/bluetooth.markdown b/source/_integrations/bluetooth.markdown index 9599b1de385..e20ab3d36a0 100644 --- a/source/_integrations/bluetooth.markdown +++ b/source/_integrations/bluetooth.markdown @@ -28,16 +28,23 @@ While this integration is part of [`default_config:`](/integrations/default_conf bluetooth: ``` -## D-Bus and BlueZ are required on Linux +## Requirements for Linux systems -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 Bluetooth adapter must be accessible to D-Bus and running [BlueZ](http://www.bluez.org/) >= 5.43. +For Bluetooth to function on Linux systems: -- Home Assistant Operating System: no additional steps are required. Home Assistant OS version 8.4 or later is recommended for performance reasons. +- 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. + +### Additional requirements by install method + +- Home Assistant Operating System: Upgrade to Home Assistant OS version 9.0 or later. - Home Assistant Container: The host system must run BlueZ, and the D-Bus socket must be accessible to Home Assistant **inside** the container. - Home Assistant Supervised: The host system must run BlueZ, and the D-Bus socket must be accessible to Home Assistant **inside** the container. - Home Assistant Core: The system must run BlueZ, and the D-Bus socket must be accessible to Home Assistant. -### Additional details for Container installs +### Additional details for Container, Core, and Supervised installs {% details Making the DBus socket available in the Docker container %} @@ -45,7 +52,11 @@ For most systems, the Dbus socket is in `/run/dbus`. The socket must be availabl {% enddetails %} -### Additional details for Container and Supervised installs +{% details Switching from dbus-daemon to dbus-broker %} + +Follow [the instructions](https://github.com/bus1/dbus-broker/wiki) to switch to dbus-broker. + +{% enddetails %} {% details Installing BlueZ %} From f3ed2860914456c30a4d90b230ef976964901aec Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Mon, 26 Sep 2022 18:49:54 +0200 Subject: [PATCH 29/31] Explain default behavior of `expire_after` option for MQTT sensors (#24237) --- source/_integrations/binary_sensor.mqtt.markdown | 2 +- source/_integrations/sensor.mqtt.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/binary_sensor.mqtt.markdown b/source/_integrations/binary_sensor.mqtt.markdown index 035cabd138b..348d2d8e7b3 100644 --- a/source/_integrations/binary_sensor.mqtt.markdown +++ b/source/_integrations/binary_sensor.mqtt.markdown @@ -151,7 +151,7 @@ entity_category: type: string default: None expire_after: - description: Defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`. + description: If set, it defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`. Default the sensors state never expires. required: false type: integer force_update: diff --git a/source/_integrations/sensor.mqtt.markdown b/source/_integrations/sensor.mqtt.markdown index 75418f5e1d0..ed0fffb2d60 100644 --- a/source/_integrations/sensor.mqtt.markdown +++ b/source/_integrations/sensor.mqtt.markdown @@ -143,7 +143,7 @@ entity_category: type: string default: None expire_after: - description: Defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`. + description: If set, it defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`. Default the sensors state never expires. required: false type: integer default: 0 From bff87279b14c80b914fcbf4206b79d79881def0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 26 Sep 2022 18:50:13 +0200 Subject: [PATCH 30/31] Hide core instructions for caldav (#24239) --- source/_integrations/caldav.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown index c6d4f6e2027..048527e6352 100644 --- a/source/_integrations/caldav.markdown +++ b/source/_integrations/caldav.markdown @@ -17,12 +17,16 @@ The `caldav` platform allows you to connect to your WebDAV calendar and generate 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. +{% details "Notes for Home Assistant Core Installations" %} + You might need some additional system packages to compile the Python CalDAV library. On a Debian based system, install them by: ```bash sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev ``` +{% enddetails %} + ## Basic Setup To integrate a WebDAV calendar in Home Assistant, add the following section to your `configuration.yaml` file: From a6c318e644d586e50a88a6f59487dab3cbc26f4b Mon Sep 17 00:00:00 2001 From: HarvsG <11440490+HarvsG@users.noreply.github.com> Date: Mon, 26 Sep 2022 17:02:09 +0000 Subject: [PATCH 31/31] [Bayesian] Make examples easier to understand, adds tips (#21899) --- source/_integrations/bayesian.markdown | 74 ++++++++++++++++++-------- 1 file changed, 51 insertions(+), 23 deletions(-) diff --git a/source/_integrations/bayesian.markdown b/source/_integrations/bayesian.markdown index 4dc6c8444cc..472ca1f07c0 100644 --- a/source/_integrations/bayesian.markdown +++ b/source/_integrations/bayesian.markdown @@ -17,6 +17,23 @@ The `bayesian` binary sensor platform observes the state from multiple sensors a This allows for the detection of complex events that may not be readily observable, e.g., cooking, showering, in bed, the start of a morning routine, etc. It can also be used to gain greater confidence about events that _are_ directly observable, but for which the sensors can be unreliable, e.g., presence. +## Theory + +A key concept in Bayes' Rule is the difference between the probability of the 'event given the observation' and the probability of the 'observation given the event'. In some cases these probabilities will be similar. The probability that someone is in the room given that motion is detected is similar to the probability motion is detected given that someone is in the room. In other cases, the distinction is much more important. The probability I have just arrived home (the event) each time the front door contact sensor reports `open` (the observation) (p=0.2) is not the same as the probability the front door contact sensor reports `open` (the observation) when I come home (the event) (p=0.999). + +In the configuration use the probability of the observation (the sensor state in question) given the event (the assumed state of the Bayesian binary_sensor). + +## Estimating probabilities + +1. Avoid `0` and `1`, these will mess with the odds and are rarely true - sensors fail. +2. When using `0.99` and `0.001`. The number of `9`s and `0`s matters. +3. Most probabilities will be time-based - the fraction of time something is true is also the probability it will be true. +4. Use your Home Assistant history to help estimate the probabilities. + - `prob_given_true:` - Select the sensor in question over a time range when you think the `bayesian` sensor should have been `true`. `prob_given_true:` is the fraction of the time the sensor was in `to_state:`. + - `prob_given_false:` - Select the sensor in question over a time range when you think the `bayesian` sensor should have been `false`. `prob_given_false:` is the fraction of the time the sensor was in `to_state:`. +5. Don't work backwards by tweaking `prob_given_true:` and `prob_given_false:` to give the results and behaviors you want, use #4 to try and get probabilities as close to the 'truth' as you can, if your behavior is not as expected consider adding more sensors or see #7. +6. If your Bayesian sensor ends up triggering `on` too easily, re-check that the probabilities set and estimated make sense, then consider increasing `probability_threshold:` and vice-versa. + ## Configuration To enable the Bayesian sensor, add the following lines to your `configuration.yaml`: @@ -37,12 +54,15 @@ binary_sensor: {% configuration %} prior: description: > - The prior probability of the event. At any point in time - (ignoring all external influences) how likely is this event to occur? + The prior probability of the event (0 to 1). At any point in time + (ignoring all external influences) how likely is this event to be occurring? required: true type: float probability_threshold: - description: The probability at which the sensor should trigger to `on`. + description: > + The posterior probability at which the sensor should trigger to `on`. + use higher values to reduce false positives (and increase false negatives) + Note: If the threshold is higher than the prior then the default state will be `off` required: false type: float default: 0.5 @@ -52,7 +72,7 @@ name: type: string default: Bayesian Binary Sensor observations: - description: The observations which should influence the likelihood that the given event has occurred. + description: The observations which should influence the probability that the given event is occurring. required: true type: list keys: @@ -67,23 +87,23 @@ observations: description: Name of the entity to monitor. Required for `state` and `numeric_state`. required: false type: string + to_state: + description: The entity state that defines the observation. Required (for `state`). + required: false + type: string value_template: - description: Defines the template to be used. Required for `template`. + description: Defines the template to be used, should evaluate to `true` or `false`. Required for `template`. required: false type: template prob_given_true: - description: The probability of the observation occurring, given the event is `true`. + description: > + Assuming the bayesian binary_sensor is `true`, the probability the entity state is occurring. required: true type: float prob_given_false: - description: The probability of the observation occurring, given the event is `false` can be set as well. - required: false + description: Assuming the bayesian binary_sensor is `false` the probability of this entity state is occurring. + required: true type: float - default: "`1 - prob_given_true` if `prob_given_false` is not set" - to_state: - description: The target state. Required (for `state`). - required: false - type: string {% endconfiguration %} ## Full examples @@ -95,27 +115,33 @@ The following is an example for the `state` observation platform. binary_sensor: name: "in_bed" platform: "bayesian" - prior: 0.25 - probability_threshold: 0.95 + prior: 0.25 # I spend 6 hours a day in bed 6hr/24hr is 0.25 + probability_threshold: 0.8 # I am going to be using this sensor to turn out the lights so I only want to to activate when I am sure observations: - platform: "state" entity_id: "sensor.living_room_motion" - prob_given_true: 0.4 - prob_given_false: 0.2 + prob_given_true: 0.05 # If I am in bed then I shouldn't be in the living room, very occasionally I have guests, however + prob_given_false: 0.2 # My sensor history shows If I am not in bed I spend about a fifth of my time in the living room to_state: "off" - platform: "state" entity_id: "sensor.basement_motion" - prob_given_true: 0.5 - prob_given_false: 0.4 + prob_given_true: 0.5 # My sensor history shows, when I am in bed, my basement motion sensor is active about half the time because of my cat + prob_given_false: 0.3 # As above but my cat tends to spend more time upstairs or outside when I am awake and I rarely use the basement to_state: "off" - platform: "state" entity_id: "sensor.bedroom_motion" - prob_given_true: 0.5 + prob_given_true: 0.5 # My sensor history shows when I am in bed the sensor picks me up about half the time + prob_given_false: 0.1 # My sensor history shows I spend about 10% of my waking hours in my bedroom to_state: "on" - platform: "state" entity_id: "sun.sun" - prob_given_true: 0.7 + prob_given_true: 0.7 # If I am in bed then there is a good chance the sun will be down, but in the summer mornings I may still be in bed to_state: "below_horizon" + - platform: "state" + entity_id: "sensor.android_charger_type" + prob_given_true: 0.95 # When I am in bed, I nearly always plug my phone in to charge + prob_given_false: 0.1 # When I am awake, I occasionally AC charge my phone + to_state: "ac" ``` Next up an example which targets the `numeric_state` observation platform, @@ -132,10 +158,11 @@ binary_sensor: - platform: "numeric_state" entity_id: "sensor.outside_air_temperature_fahrenheit" prob_given_true: 0.95 + prob_given_false: 0.05 below: 50 ``` -Finally, here's an example for `template` observation platform, as seen in the configuration it requires `value_template`. +Finally, here's an example for `template` observation platform, as seen in the configuration it requires `value_template`. This template will evaluate to true if the device tracker `device_tracker.paulus` shows `not_home` and it last changed its status more than 5 minutes ago. {% raw %} @@ -150,7 +177,8 @@ binary_sensor: - platform: template value_template: > {{is_state('device_tracker.paulus','not_home') and ((as_timestamp(now()) - as_timestamp(states.device_tracker.paulus.last_changed)) > 300)}} - prob_given_true: 0.95 + prob_given_true: 0.05 + prob_given_false: 0.99 ``` {% endraw %}