diff --git a/Gemfile.lock b/Gemfile.lock
index 715a6404679a..ee9671e16e58 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -115,7 +115,7 @@ GEM
tilt (2.1.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
- tzinfo-data (1.2023.2)
+ tzinfo-data (1.2023.3)
tzinfo (>= 1.0.0)
unicode-display_width (2.4.2)
webrick (1.8.1)
diff --git a/source/_docs/energy/electricity-grid.markdown b/source/_docs/energy/electricity-grid.markdown
index a9b56ac7f956..85253b7d63cd 100644
--- a/source/_docs/energy/electricity-grid.markdown
+++ b/source/_docs/energy/electricity-grid.markdown
@@ -61,7 +61,7 @@ CT clamp sensors measure your energy usage by looking at the current passing thr
The off-the-shelf solution that we advise is the [Shelly EM](https://shop.shelly.cloud/shelly-em-2-x-120a-clamp-wifi-smart-home-automation?tracking=A7FsiPIfUWsFpnfKHa8SRyUYLXjr2hPq). The device has a local API, updates are pushed to Home Assistant and it has a high quality integration.
-You can build your own using ESPHome's [CT Clamp Current sensor](https://esphome.io/components/sensor/ct_clamp.html) or energy meter sensors like the [ATM90E32](https://esphome.io/components/sensor/atm90e32.html). For the DIY route, check out [this video by digiblur](https://www.youtube.com/watch?v=n2XZzciz0s4) to get started.
+You can build your own using ESPHome's [CT Clamp Current sensor](https://esphome.io/components/sensor/ct_clamp.html) or energy meter sensors like the [ATM90E32](https://esphome.io/components/sensor/atm90e32.html) or [PZEM-004T V3](https://esphome.io/components/sensor/pzemac.html). For the DIY route, check out [this video by digiblur](https://www.youtube.com/watch?v=n2XZzciz0s4) to get started.
_Attention! Installing CT clamp sensor devices requires opening your electrical cabinet. This work should be done by someone familiar with electrical wiring. Your qualified installer will know how to do this._
diff --git a/source/_integrations/androidtv.markdown b/source/_integrations/androidtv.markdown
index 2e79570a0767..a24c394984de 100644
--- a/source/_integrations/androidtv.markdown
+++ b/source/_integrations/androidtv.markdown
@@ -1,6 +1,6 @@
---
-title: Android TV
-description: Instructions on how to integrate Android TV and Fire TV devices into Home Assistant.
+title: Android Debug Bridge
+description: Instructions on how to integrate Android and Fire TV devices into Home Assistant.
ha_category:
- Media Player
ha_release: 0.7.6
@@ -16,7 +16,7 @@ ha_platforms:
ha_integration_type: device
---
-The `androidtv` platform allows you to control an Android TV device or [Amazon Fire TV](https://www.amazon.com/b/?node=8521791011) device.
+The Android Debug Bridge integration allows you to control an Android device or [Amazon Fire TV](https://www.amazon.com/b/?node=8521791011) device.
@@ -26,7 +26,7 @@ When setting up this integration, it is recommended that you do NOT use an ADB s
## Device preparation
-To set up your device, you will need to find its IP address and enable ADB debugging. For Android TV devices, please consult the documentation for your device.
+To set up your device, you will need to find its IP address and enable ADB debugging. For Android devices, please consult the documentation for your device.
For Fire TV devices, the instructions are as follows:
@@ -62,11 +62,11 @@ Configure State Detection Rules:
## ADB Setup
-This integration works by sending ADB commands to your Android TV / Fire TV device. There are two ways to accomplish this.
+This integration works by sending ADB commands to your Android / Fire TV device. There are two ways to accomplish this.
-When connecting to your device for the first time, a dialog will appear on your Android TV / Fire TV asking you to approve the connection. Check the box that says "always allow connections from this device" and hit OK.
+When connecting to your device for the first time, a dialog will appear on your Android / Fire TV asking you to approve the connection. Check the box that says "always allow connections from this device" and hit OK.
@@ -84,7 +84,7 @@ Prior to Home Assistant 0.101, this approach did not work well for newer devices
### 2. ADB Server
-The second option is to use an ADB server to connect to your Android TV and Fire TV devices.
+The second option is to use an ADB server to connect to your Android and Fire TV devices.
@@ -92,21 +92,21 @@ To configure ADB server on integration setup, you need to enable [advanced mode]
-Using this approach, Home Assistant will send the ADB commands to the server, which will then send them to the Android TV / Fire TV device and report back to Home Assistant. To use this option, add the `adb_server_ip` option to your configuration. If you are running the server on the same machine as Home Assistant, you can use `127.0.0.1` for this value.
+Using this approach, Home Assistant will send the ADB commands to the server, which will then send them to the Android / Fire TV device and report back to Home Assistant. To use this option, add the `adb_server_ip` option to your configuration. If you are running the server on the same machine as Home Assistant, you can use `127.0.0.1` for this value.
## ADB Troubleshooting
-If the setup for your Android TV or Fire TV device fails, then there is probably an issue with your ADB connection. Here are some possible causes.
+If the setup for your Android or Fire TV device fails, then there is probably an issue with your ADB connection. Here are some possible causes.
1. You have the wrong IP address for the device.
2. ADB is not enabled on your device.
-3. You are already connected to the Android TV / Fire TV via ADB from another device. Only one device can be connected, so disconnect the other device, restart the Android TV / Fire TV (for good measure), and then restart Home Assistant.
+3. You are already connected to the Android / Fire TV via ADB from another device. Only one device can be connected, so disconnect the other device, restart the Android / Fire TV (for good measure), and then restart Home Assistant.
4. You need to approve the ADB connection; see the note in the [ADB Setup](#adb-setup) section above.
-5. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to Wi-Fi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well.
+5. Some Android devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to Wi-Fi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well.
6. If your device drops off WiFi, breaking the ADB connection and causing the entity to become unavailable in Home Assistant, you could install a wake lock utility (such as [Wakelock](https://github.com/d4rken/wakelock-revamp)) to prevent this from happening. Some users have reported this problem with Xiaomi Mi Box devices.
@@ -138,11 +138,11 @@ stop_netflix:
### `androidtv.adb_command`
-The service `androidtv.adb_command` allows you to send either keys or ADB shell commands to your Android TV / Fire TV device. If there is any output, it will be stored in the `'adb_response'` attribute (i.e., `state_attr('media_player.android_tv_living_room', 'adb_response')` in a template) and logged at the INFO level.
+The service `androidtv.adb_command` allows you to send either keys or ADB shell commands to your Android / Fire TV device. If there is any output, it will be stored in the `'adb_response'` attribute (i.e., `state_attr('media_player.android_tv_living_room', 'adb_response')` in a template) and logged at the INFO level.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | no | Name(s) of Android TV / Fire TV entities.
+| `entity_id` | no | Name(s) of Android / Fire TV entities.
| `command` | no | Either a key command or an ADB shell command.
In an [action](/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this:
@@ -177,14 +177,14 @@ A list of various intents can be found [here](https://gist.github.com/mcfrojd/9e
### `androidtv.learn_sendevent` (for faster ADB commands)
-When sending commands like UP, DOWN, HOME, etc. via ADB, the device can be slow to respond. The problem isn't ADB, but rather the Android command `input` that is used to perform those actions. A faster way to send these commands is using the Android `sendevent` command. The challenge is that these commands are device-specific. To assist users in learning commands for their device, the Android TV integration provides the `androidtv.learn_sendevent` service. Its usage is as follows:
+When sending commands like UP, DOWN, HOME, etc. via ADB, the device can be slow to respond. The problem isn't ADB, but rather the Android command `input` that is used to perform those actions. A faster way to send these commands is using the Android `sendevent` command. The challenge is that these commands are device-specific. To assist users in learning commands for their device, the Android debug bridge integration provides the `androidtv.learn_sendevent` service. Its usage is as follows:
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | no | Name(s) of Android TV / Fire TV entities.
+| `entity_id` | no | Name(s) of Android / Fire TV entities.
1. Call the `androidtv.learn_sendevent` service.
-2. Within 8 seconds, hit a single button on your Android TV / Fire TV remote.
+2. Within 8 seconds, hit a single button on your Android / Fire TV remote.
3. After 8 seconds, a persistent notification will appear that contains the equivalent command that can be sent via the `androidtv.adb_command` service. This command can also be found in the `adb_response` attribute of the media player in Home Assistant, and it will be logged at the INFO level.
As an example, a service call in a [script](/docs/scripts) could be changed from this:
@@ -211,25 +211,25 @@ to this:
### `androidtv.download` and `androidtv.upload`
-You can use the `androidtv.download` service to download a file from your Android TV / Fire TV device to your Home Assistant instance.
+You can use the `androidtv.download` service to download a file from your Android / Fire TV device to your Home Assistant instance.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | no | Name of Android TV / Fire TV entity.
-| `device_path` | no | The filepath on the Android TV / Fire TV device.
+| `entity_id` | no | Name of Android / Fire TV entity.
+| `device_path` | no | The filepath on the Android / Fire TV device.
| `local_path` | no | The filepath on your Home Assistant instance.
-Similarly, you can use the `androidtv.upload` service to upload a file from Home Assistant instance to Android TV / Fire TV devices.
+Similarly, you can use the `androidtv.upload` service to upload a file from Home Assistant instance to Android / Fire TV devices.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | no | Name(s) of Android TV / Fire TV entities.
-| `device_path` | no | The filepath on the Android TV / Fire TV device.
+| `entity_id` | no | Name(s) of Android / Fire TV entities.
+| `device_path` | no | The filepath on the Android / Fire TV device.
| `local_path` | no | The filepath on your Home Assistant instance.
## Custom State Detection
-The Android TV integration works by polling the Android TV / Fire TV device at a regular interval and collecting a handful of properties. Unfortunately, there is no standard API for determining the state of the device to which all apps adhere. Instead, the backend `androidtv` package uses three of the properties that it collects to determine the state: `audio_state`, `media_session_state`, and `wake_lock_size`. The correct logic for determining the state differs depending on the current app, and the backend `androidtv` package implements app-specific state detection logic for a handful of apps. Of course, it is not feasible to implement custom logic for each and every app in the `androidtv` package. Moreover, the correct state detection logic may differ across devices and device configurations.
+The Android Debug Bridge integration works by polling the Android / Fire TV device at a regular interval and collecting a handful of properties. Unfortunately, there is no standard API for determining the state of the device to which all apps adhere. Instead, the backend `androidtv` package uses three of the properties that it collects to determine the state: `audio_state`, `media_session_state`, and `wake_lock_size`. The correct logic for determining the state differs depending on the current app, and the backend `androidtv` package implements app-specific state detection logic for a handful of apps. Of course, it is not feasible to implement custom logic for each and every app in the `androidtv` package. Moreover, the correct state detection logic may differ across devices and device configurations.
The solution to this problem is the `state_detection_rules` configuration parameter, which allows you to provide your own rules for state detection. The keys are app IDs, and the values are lists of rules that are evaluated in order. Valid rules are:
diff --git a/source/_integrations/ecobee.markdown b/source/_integrations/ecobee.markdown
index fcb013d0822d..fd3f4ac41801 100644
--- a/source/_integrations/ecobee.markdown
+++ b/source/_integrations/ecobee.markdown
@@ -58,7 +58,7 @@ Your new application will now appear on the left. Upon clicking on the applicati
1. In the **Settings** -> **Devices & Services** menu, click **+** and then select "ecobee" from the pop-up menu.
2. In the pop-up box, enter the API key you obtained from ecobee's [developer portal](https://ecobee.com/developers).
-3. In the next pop-up box, you will be presented with a unique four-character PIN code which you will need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by logging in, selecting **My Apps** from the hamburger menu, clicking **Add Application** on the left, entering the PIN code from Home Assistant, clicking **Validate** and then **Add Application** in the bottom right.
+3. In the next pop-up box, you will be presented with a unique 8 character code separated by a dash (format: XXXX-XXXX), which you will need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by logging in, selecting **My Apps** from the hamburger menu, clicking **Add Application** on the left, entering the PIN code from Home Assistant, clicking **Validate** and then **Add Application** in the bottom right.
4. After authorizing the app with ecobee, return to Home Assistant and click **Submit**. If the authorization was successful, a configuration entry will be created and your thermostats, ventilators and sensors will be available in Home Assistant.
## Manual Configuration
diff --git a/source/_integrations/smartthings.markdown b/source/_integrations/smartthings.markdown
index 87cf2f40eb65..4ac1b71c95a8 100644
--- a/source/_integrations/smartthings.markdown
+++ b/source/_integrations/smartthings.markdown
@@ -68,10 +68,11 @@ This integration requires an internet accessible incoming webhook to receive pus
## Setup instructions
-After completing the prerequisite steps above you are ready to setup the integration! See [troubleshooting](#troubleshooting) if you are having issues setting up the integration.
+After completing the prerequisite steps above, you are ready to setup the integration! See [troubleshooting](#troubleshooting) if you are having issues setting up the integration.
-1. From Home Assistant, navigate to 'Configuration' then 'Integrations'. Click the plus icon and type/select 'SmartThings'.
-1. Confirm the callback URL is correct. If using Home Assistant Cloud it will start with `https://hooks.nabuca.casa`. If the URL is not correct, update your Home Assistant configuration, restart, and try again.
+{% include integrations/config_flow.md %}
+
+1. Confirm the callback URL is correct. If using Home Assistant Cloud, it will start with `https://hooks.nabuca.casa`. If the URL is not correct, update your Home Assistant configuration, restart, and try again.
1. Enter your Personal Access Token.
1. Select the SmartThings Location to add to Home Assistant.
1. On the window that opens:
diff --git a/source/_posts/2023-03-31-android-20233.markdown b/source/_posts/2023-03-31-android-20233.markdown
new file mode 100644
index 000000000000..d50213464f0f
--- /dev/null
+++ b/source/_posts/2023-03-31-android-20233.markdown
@@ -0,0 +1,127 @@
+---
+layout: post
+title: "Android 2023.3: Multiple servers & Windows 11 app"
+description: "It's finally here: add multiple servers to the Home Assistant Android app, install the app on Windows 11 devices and more!"
+date: 2023-03-30 00:00:00
+date_formatted: "March 30, 2023"
+author: Joris Pelgröm
+comments: true
+categories:
+ - Release-Notes
+og_image: /images/blog/2023-03-30-android/social.png
+---
+
+
+
+It's finally here, one of the most common feature requests for the Home Assistant
+Android Companion app: you can now configure multiple Home Assistant servers. The
+app can send sensor updates to all servers and easily mix and match widgets, tiles,
+and controls for different servers 🎉
+
+Plus, a preview of the Home Assistant app is now available via the Amazon Appstore
+on Windows 11, which allows you to quickly connect your computer to Home Assistant.
+
+There are also other changes that add some polish to the app and improve support
+for features in the latest Home Assistant releases, so let's dig into the update!
+
+## Configure multiple Home Assistant servers
+
+Sometimes, one Home Assistant instance is not enough. You like Home Assistant so
+much that you decide to help someone else get started, there's a second home in
+your life, or you regularly visit someplace else where they're using Home Assistant.
+
+Before this update, if you wanted to access more than one server it was a bit of a
+hassle. Switching apps, creating bookmarks, and using different profiles. Let alone
+connecting your Android device to multiple servers for features like sensors
+and notifications.
+
+This issue now belongs to the past, as there's a new option in **{% my config title="Settings" %}** >
+**Companion app** to configure a second server, and another one after that, and another...
+They will all show up in the app, and you can use all features you've come to
+expect, like lots of sensors for your device and support for push notifications.
+Each one gets individual settings, so if you don't want to share your step count
+and enable location tracking everywhere, that's OK.
+
+
+
+That's not all - you can also use all servers _outside_ the app, mixing and
+matching servers when using shortcuts, notifications, widgets, tiles and controls.
+Toggling lights from three different homes side-by-side? No problem!
+
+Note: the Wear OS app does not yet support multiple servers.
+
+## Now available on Windows 11 (preview)
+
+The Home Assistant Android Companion app is now available [via the Amazon Appstore]
+on [supported Windows 11 devices]. While there are already great options to integrate your
+computer from the community out there, the Companion app makes it easy to start
+and benefits from all the work on the Android app, frequently adding new features.
+
+
+
+Windows does not always provide correct information to the app and may shut down
+background work, including sensors, after several minutes, which is why we are
+releasing Windows 11 support for the app as a preview. Android support in Windows
+11 continues to get better and we intend to make adjustments to improve the
+experience in the future.
+
+[via the Amazon Appstore]: amzn://apps/android?asin=B09RP3DM5T
+[supported Windows 11 devices]: https://support.microsoft.com/windows/f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c
+
+## Refining Wear OS
+
+The Home Assistant app has been available for over a year now on Wear OS watches
+and continues to improve. Earlier this year, initial support for Assist was added,
+and in this update [@dshokouhi] made it easier to access using a watchface
+complication. Now Assist is only a tap away!
+
+Got a lot of entities and want to hide the clutter on your watch? You could already
+add favorites which would be displayed at the top of the app, but it would still load
+all entities below them. Now, there is an option to only show favorites to reduce
+what gets loaded and prevent accidental changes. Try it out and let us know if you
+prefer this more focused experience!
+
+
+
+[@SkechyWolf] and [@dshokouhi] also worked on the look and feel of the app to make it
+fit in better with other modern Wear apps.
+
+[@SkechyWolf]: https://github.com/SkechyWolf
+[@dshokouhi]: https://github.com/dshokouhi
+
+
+
+## Other noteworthy changes
+
+There's more in this update, here are some highlights:
+
+- Any sensor with a location attached will now show up for navigation when using Android
+ Auto. Nice one, [@dshokouhi]!
+- [@jpelgrom] added initial support for the new Thread integration in 2023.3. Thank you!
+- [@Adi146] and [@dshokouhi] worked to make the Beacon Monitor more reliable when in the
+ background and when toggling it on and off, nice to see improvements!
+- Put a lot of work in a custom dashboard, only to have it break on your phone because of
+ text that is ever so slightly too small or unwanted auto-rotation? No more, as [@dmiales]
+ tweaked settings to prevent this from happening!
+- Got a notification that should only show up on your watch? In the previous update, support
+ was added for notifications to the Wear OS app, and in this update work continues by
+ [@dshokouhi], with the app now supporting TTS notifications.
+
+Even more people worked on fixing bugs in this update, like [@Suxsem] and [@JBassett]. Thanks
+to all of those who contributed. If you have a good idea to improve the app or found a bug to
+fix, feel free to [join us on the forums] or [contribute on GitHub].
+
+[join us on the forums]: https://community.home-assistant.io/c/mobile-apps/android-companion/42
+[contribute on GitHub]: https://github.com/home-assistant/android
+[@Adi146]: https://github.com/Adi146
+[@dmiales]: https://github.com/dmiales
+[@JBassett]: https://github.com/JBassett
+[@jpelgrom]: https://github.com/jpelgrom
+[@Suxsem]: https://github.com/Suxsem
+
+## All changes
+
+You can find a complete list of all changes made for this update here:
+[Full changelog for Home Assistant Android 2023.3.0].
+
+[Full changelog for Home Assistant Android 2023.3.0]: https://github.com/home-assistant/android/releases/tag/2023.3.0
diff --git a/source/images/blog/2023-03-30-android/multiserver.png b/source/images/blog/2023-03-30-android/multiserver.png
new file mode 100644
index 000000000000..140c51afec9e
Binary files /dev/null and b/source/images/blog/2023-03-30-android/multiserver.png differ
diff --git a/source/images/blog/2023-03-30-android/social.png b/source/images/blog/2023-03-30-android/social.png
new file mode 100644
index 000000000000..e194effa85e5
Binary files /dev/null and b/source/images/blog/2023-03-30-android/social.png differ
diff --git a/source/images/blog/2023-03-30-android/wear.png b/source/images/blog/2023-03-30-android/wear.png
new file mode 100644
index 000000000000..6ee536bcb79c
Binary files /dev/null and b/source/images/blog/2023-03-30-android/wear.png differ
diff --git a/source/images/blog/2023-03-30-android/windows.png b/source/images/blog/2023-03-30-android/windows.png
new file mode 100644
index 000000000000..c433c8409e63
Binary files /dev/null and b/source/images/blog/2023-03-30-android/windows.png differ