diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown
index c73ea8258cc..c6d4f6e2027 100644
--- a/source/_integrations/caldav.markdown
+++ b/source/_integrations/caldav.markdown
@@ -45,6 +45,15 @@ calendar:
url: https://nextcloud.example.com/remote.php/dav
```
+```yaml
+# Example configuration.yaml entry for Radicale, calendars will be found automatically
+calendar:
+ - platform: caldav
+ username: john.doe
+ password: !secret caldav
+ url: https://radicale.example.com/
+```
+
```yaml
# Example configuration.yaml entry for iCloud, calendars will be found automatically
calendar:
diff --git a/source/_integrations/derivative.markdown b/source/_integrations/derivative.markdown
index 023586005eb..f428c7c2ebc 100644
--- a/source/_integrations/derivative.markdown
+++ b/source/_integrations/derivative.markdown
@@ -21,6 +21,8 @@ ha_integration_type: helper
The derivative ([Wikipedia](https://en.wikipedia.org/wiki/Derivative)) integration creates a sensor that estimates the derivative of the
values provided by another sensor (the **source sensor**). Derivative sensors are updated upon changes of the **source sensor**.
+For sensors that reset to zero after a power interruption and need a "non-negative derivative", such as bandwidth counters in routers, or rain gauges, consider using the [Utility Meter](/integrations/utility_meter/) integration instead. Otherwise, each reset will register a significant change in the derivative sensor.
+
{% include integrations/config_flow.md %}
{% configuration_basic %}
Name:
diff --git a/source/_integrations/esphome.markdown b/source/_integrations/esphome.markdown
index 3256ba64a52..2668228b743 100644
--- a/source/_integrations/esphome.markdown
+++ b/source/_integrations/esphome.markdown
@@ -29,6 +29,8 @@ ha_platforms:
- switch
ha_integration_type: integration
ha_dhcp: true
+works_with:
+ - local
---
This integration allows [ESPHome](https://esphome.io) devices to connect directly to Home Assistant with the [native ESPHome API](https://esphome.io/components/api.html).
diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown
index 8d1a533bed0..3740b33a15b 100644
--- a/source/_integrations/google_assistant.markdown
+++ b/source/_integrations/google_assistant.markdown
@@ -300,7 +300,9 @@ There is no TV channel object in Home Assistant. TV channel can only be changed
#### 404 errors on request sync
-Syncing may fail after a period of time, likely around 30 days, due to the fact that your Actions on Google app is technically in testing mode and has never been published. Eventually, it seems that the test expires. Control of devices will continue to work but syncing may not. If you say "Ok Google, sync my devices" and get the response "Unable to sync Home Assistant" (or whatever you named your project), this can usually be resolved by going back to your test app in the [Actions on Google console](https://console.actions.google.com/) and clicking `Simulator` under `TEST`. Regenerate the draft version Test App and try asking Google to sync your devices again. If regenerating the draft does not work, go back to the `Action` section and just hit the `enter` key for the URL to recreate the Preview.
+Syncing from Google Assistant may fail after a period of time, likely around 30 days, due to the fact that your Actions on Google app is technically in testing mode and has never been published. Eventually, it seems that the test expires. Control of devices will continue to work but syncing may not. If you say "Ok Google, sync my devices" and get the response "Unable to sync Home Assistant" (or whatever you named your project), this can usually be resolved by going back to your test app in the [Actions on Google console](https://console.actions.google.com/) and clicking `Simulator` under `TEST`. Regenerate the draft version Test App and try asking Google to sync your devices again. If regenerating the draft does not work, go back to the `Action` section and just hit the `enter` key for the URL to recreate the Preview.
+
+Syncing from Home Assistant will always work and will automatically update entity changes.
The `request_sync` service requires that the initial sync from Google includes the `agent_user_id`. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlenest/answer/7126338) from Home Control and relink.
diff --git a/source/_integrations/group.markdown b/source/_integrations/group.markdown
index a543e98f8bd..3c6c1fa7518 100644
--- a/source/_integrations/group.markdown
+++ b/source/_integrations/group.markdown
@@ -77,7 +77,7 @@ In short, when any group member entity is `on`, the group will also be `on`. A c
- Otherwise, the group state is `off`.
### Lock groups
-In short, when any group member entity is `unlocked`, the group will also be `unlocked`. A complete overview of how fan groups behave:
+In short, when any group member entity is `unlocked`, the group will also be `unlocked`. A complete overview of how lock groups behave:
- The group state is `unavailable` if all group members are `unavailable`.
- Otherwise, the group state is `unknown` if all group members are `unknown` or `unavailable`.
diff --git a/source/_integrations/integration.markdown b/source/_integrations/integration.markdown
index d60a996d200..456122bd216 100644
--- a/source/_integrations/integration.markdown
+++ b/source/_integrations/integration.markdown
@@ -93,7 +93,7 @@ method:
default: trapezoidal
{% endconfiguration %}
-In case you have an appliance which produces spikey consumption (like an on/off electrical boiler) you should opt for the `left` method to get accurate readings.
+In case you expect that your source sensor will provide several subsequent values that are equal, you should opt for the `left` method to get accurate readings.
The unit of `source` together with `unit_prefix` and `unit_time` is used to generate a unit for the integral product (e.g. a source in `W` with prefix `k` and time `h` would result in `kWh`). Note that `unit_prefix` and `unit_time` are _also_ relevant to the Riemann sum calculation.
diff --git a/source/_integrations/notify.markdown b/source/_integrations/notify.markdown
index 42a282d7a0c..cb7a13af816 100644
--- a/source/_integrations/notify.markdown
+++ b/source/_integrations/notify.markdown
@@ -30,6 +30,8 @@ The notify integration supports specifying [templates](/topics/templating/). Thi
In an [action](/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject.
+Be aware that you might want to change the actual service to whatever service you are actually using since `notify.notify` is shorthand for the first notify service the system can find and might therefore not be working as intended.
+
```yaml
action:
service: notify.notify
diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown
index 152c179f471..496a80496d5 100644
--- a/source/_integrations/opentherm_gw.markdown
+++ b/source/_integrations/opentherm_gw.markdown
@@ -41,11 +41,11 @@ The following configuration options are available:
{% configuration_basic %}
name:
- description: "The friendly name used for the OpenTherm Gateway and its entities."
-path:
- description: "Path to the OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)."
+ description: "The friendly name used for the OpenTherm Gateway and its entities. This is used to generate the display name of the created device and all related entities.
Examples: `Thermostat`, `Living Room`"
+path or url:
+ description: "Path to the OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html). This is usually either a path to a serial device in `/dev/` if the gateway is connected via serial or USB or a URL in the form of `socket://[IP address]:[port]` if it is connected over the network.
Examples: `/dev/ttyUSB0`, `socket://192.168.0.250:7686`"
id:
- description: "The `gateway_id` for this OpenTherm Gateway's entity IDs and services. The entered value will be slugified."
+ description: "The `gateway_id` for this OpenTherm Gateway. This is used to identify this specific gateway in service calls and to generate the entity IDs for the entities related to this gateway. The entered value will be slugified, i.e. all spaces and special characters will be converted to underscores and any accents will be removed from their characters. The default value is the slugified version of the `name` given above.
Examples: `thermostat`, `living_room`"
{% endconfiguration_basic %}
diff --git a/source/_integrations/sql.markdown b/source/_integrations/sql.markdown
index 5f20a446744..5fe8f3c0f9c 100644
--- a/source/_integrations/sql.markdown
+++ b/source/_integrations/sql.markdown
@@ -25,7 +25,7 @@ This can be used to present statistics about Home Assistant sensors if used with
See [supported engines](/integrations/recorder/#custom-database-engines) for which you can connect with this integration.
-The SQL integration will connect to default recorder if Database URL is not specified.
+The SQL integration will connect to the default SQLite if "Database URL" has not been specified. If you use a different database recorder (eg MariaDB or others), you will have to specify the "Database URL" manually during integration setup.
There is no explicit configuration required for attributes. The integration will set all additional columns returned by the query as attributes.
@@ -67,7 +67,7 @@ Use `state` as column for value.
#### Postgres
```sql
-"SELECT (pg_database_size('dsmrreader')/1024/1024) as db_size;"
+SELECT (pg_database_size('dsmrreader')/1024/1024) as db_size;
```
Use `db_size` as column for value.
@@ -76,7 +76,7 @@ Use `db_size` as column for value.
Change `table_schema="hass"` to the name that you use as the database name, to ensure that your sensor will work properly.
```sql
-'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="hass" GROUP BY table_schema;'
+SELECT table_schema "database", Round(Sum(data_length + index_length) / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="hass" GROUP BY table_schema;
```
Use `value` as column for value.
@@ -85,7 +85,7 @@ Use `value` as column for value.
If you are using the `recorder` integration then you don't need to specify the location of the database. For all other cases, add `sqlite:////path/to/database.db` as Database URL.
```sql
-'SELECT ROUND(page_count * page_size / 1024 / 1024, 1) as size FROM pragma_page_count(), pragma_page_size();'
+SELECT ROUND(page_count * page_size / 1024 / 1024, 1) as size FROM pragma_page_count(), pragma_page_size();
```
Use `size` as column for value.
@@ -96,6 +96,6 @@ Use the same Database URL as for the `recorder` integration. Change `DB_NAME` to
Example Database URL: `"mssql+pyodbc://username:password@SERVER_IP:1433/DB_NAME?charset=utf8&driver=FreeTDS"`
```sql
-"SELECT TOP 1 SUM(m.size) * 8 / 1024 as size FROM sys.master_files m INNER JOIN sys.databases d ON d.database_id=m.database_id WHERE d.name='DB_NAME';"
+SELECT TOP 1 SUM(m.size) * 8 / 1024 as size FROM sys.master_files m INNER JOIN sys.databases d ON d.database_id=m.database_id WHERE d.name='DB_NAME';
```
Use `size` as column for value.
diff --git a/source/_integrations/statistics.markdown b/source/_integrations/statistics.markdown
index ce4d0635d8e..2f1fcba5ed0 100644
--- a/source/_integrations/statistics.markdown
+++ b/source/_integrations/statistics.markdown
@@ -137,7 +137,7 @@ sampling_size:
default: 20
type: integer
max_age:
- description: Maximum age of source sensor measurements stored. Setting this to a time period will cause older values to be discarded. If omitted, the number of considered source sensor measurements is limitted by `sampling_size` only. Set both parameters appropriately to create suited limits for your use case. The sensor value will become `unkown` if the source sensor is not updated within the time period.
+ description: Maximum age of source sensor measurements stored. Setting this to a time period will cause older values to be discarded. If omitted, the number of considered source sensor measurements is limitted by `sampling_size` only. Set both parameters appropriately to create suited limits for your use case. The sensor value will become `unknown` if the source sensor is not updated within the time period.
required: false
type: time
precision:
diff --git a/source/_integrations/stream.markdown b/source/_integrations/stream.markdown
index 3346b262438..e2a685c66a7 100644
--- a/source/_integrations/stream.markdown
+++ b/source/_integrations/stream.markdown
@@ -59,21 +59,10 @@ stream:
## Technical Details
-The integration currently supports proxying H.264 and H.265 source streams to the HLS protocol and requires at least FFmpeg >= 4. Note that H.265 support is limited to Safari, iOS, and Android. The `stream` integration also provides limited support for audio. PCM codecs (e.g. G.711/G.723/G.726/G.729) are not supported. ADTS AAC audio is also currently not supported. Most other AAC and MP3 encoded audio should work.
+The integration currently supports proxying H.264 and H.265 source streams to the HLS (and LL-HLS) protocol.
-## Troubleshooting
+Note that while H.265 works on Android and iOS, it does not work in many browsers. This is a browser limitation and not a Home Assistant issue. Safari has native H.265 support, and H.265 also works in Edge on Windows when "HEVC Video Extensions" is installed. Chrome versions >= 104 may also work when started with the `--enable-features=PlatformHEVCDecoderSupport` option.
-Users on manual installs with FFmpeg < 4 may see an error similar to:
+For testing HEVC browser support, do not rely on the https://www.caniuse.com charts or the https://html5test.com site. They are inaccurate. You can instead use the ["Unprefixed tests" from caniuse.com](https://tests.caniuse.com/?feat=hevc) or the [hls.js demo app with an HEVC HLS stream](https://hls-js.netlify.app/demo/?src=https%3A%2F%2Fbitmovin-a.akamaihd.net%2Fcontent%2Fdataset%2Fmulti-codec%2Fhevc%2Fstream_fmp4.m3u8). The videos there should play if your browser supports H.265.
-```text
-2020-04-28 13:35:43 ERROR (SyncWorker_5) [homeassistant.util.package] Unable to install package av==7.0.1: ERROR: Command errored out with exit status 1:
- command: /mnt/c/dev/home-assistant/venv/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-twd7glz2/av/setup.py'"'"'; __file__='"'"'/tmp/pip-install-twd7glz2/av/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-x9tw2ql2/install-record.txt --single-version-externally-managed --compile --install-headers /mnt/c/dev/home-assistant/venv/include/site/python3.7/av
- cwd: /tmp/pip-install-twd7glz2/av/
-```
-
-You can solve this by running the following steps to update FFmpeg >= 4:
-
-```text
-sudo add-apt-repository ppa:jonathonf/ffmpeg-4
-sudo apt upgrade
-```
+The `stream` integration supports AAC and MP3 audio. PCM codecs (e.g. G.711/G.723/G.726/G.729) are not supported.
diff --git a/source/_integrations/universal.markdown b/source/_integrations/universal.markdown
index 717607e8ff7..0cc899d7494 100644
--- a/source/_integrations/universal.markdown
+++ b/source/_integrations/universal.markdown
@@ -279,29 +279,29 @@ media_player:
turn_on:
service: remote.turn_on
target:
- entity_id: remote.remote.harmony_hub
+ entity_id: remote.harmony_hub
turn_off:
service: remote.turn_off
target:
- entity_id: remote.remote.harmony_hub
+ entity_id: remote.harmony_hub
volume_up:
service: remote.send_command
target:
- entity_id: remote.remote.harmony_hub
+ entity_id: remote.harmony_hub
data:
device: Receiver
command: VolumeUp
volume_down:
service: remote.send_command
target:
- entity_id: remote.remote.harmony_hub
+ entity_id: remote.harmony_hub
data:
device: Receiver
command: VolumeDown
select_source:
service: remote.turn_on
target:
- entity_id: remote.remote.harmony_hub
+ entity_id: remote.harmony_hub
data:
activity: "{{ source }}"
device_class: tv
diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown
index b42998f555c..d62517ae1dc 100644
--- a/source/_integrations/zha.markdown
+++ b/source/_integrations/zha.markdown
@@ -460,7 +460,7 @@ Using a Philips Hue Dimmer Switch or Lutron Connected Bulb Remote is probably th
1. Turn on your Hue bulb/light you want to reset. (It is important that the bulb has just been turned).
2. Hold the Philips Hue Dimmer Switch near your bulb (closer than 10 centimeters / 4 inches).
3. Press and hold the (I)/(ON) and (O)/(OFF) buttons on the Philips Hue Dimmer Switch. The bulb should start blinking in 10-20 seconds. The bulb will blink, then turn off, then turn on. You can now release the dimmer buttons.
-4. Your bulb is now factor resey and ready for pairing. A green light on the top left of the dimmer remote indicates that your bulb has been successfully reset to factory default settings.
+4. Your bulb is now factor reset and ready for pairing. A green light on the top left of the dimmer remote indicates that your bulb has been successfully reset to factory default settings.
Note: If you are unable to reset the bulb, remove it from the Hue Bridge and retry the procedure.
diff --git a/source/_posts/2022-07-06-release-20227.markdown b/source/_posts/2022-07-06-release-20227.markdown
index 1499e226c22..f22423ba901 100644
--- a/source/_posts/2022-07-06-release-20227.markdown
+++ b/source/_posts/2022-07-06-release-20227.markdown
@@ -56,6 +56,7 @@ like. So without further due: Enjoy the release!
- [Release 2022.7.3 - July 10](#release-202273---july-10)
- [Release 2022.7.4 - July 13](#release-202274---july-13)
- [Release 2022.7.5 - July 14](#release-202275---july-14)
+- [Release 2022.7.6 - July 20](#release-202276---july-20)
- [Need help? Join the community!](#need-help-join-the-community)
- [Breaking Changes](#breaking-changes)
- [Farewell to the following](#farewell-to-the-following)
@@ -632,6 +633,92 @@ The following integrations are now available via the Home Assistant UI:
[unifiprotect docs]: /integrations/unifiprotect/
[zha docs]: /integrations/zha/
+## Release 2022.7.6 - July 20
+
+- Fix ZHA light turn on issues ([@dmulcahey] - [#75220]) ([zha docs])
+- Fix aruba ssh host key algorithm ([@apaperclip] - [#75224]) ([aruba docs])
+- Force `_attr_native_value` to metric in bmw_connected_drive ([@rikroe] - [#75225]) ([bmw_connected_drive docs])
+- Bump venstarcolortouch to 0.18 ([@craftyguy] - [#75237]) ([venstar docs]) (dependency)
+- Improve UniFi Protect unauth handling ([@AngellusMortis] - [#75269]) ([unifiprotect docs])
+- Update pyotgw to 2.0.0 ([@mvn23] - [#75285]) ([opentherm_gw docs]) (dependency)
+- Add fixes for hive light ([@KJonline] - [#75286]) ([hive docs])
+- Bump bimmer_connected to 0.10.1 ([@rikroe] - [#75287]) ([bmw_connected_drive docs]) (dependency)
+- Bump simplisafe-python to 2022.07.0 ([@bachya] - [#75294]) ([simplisafe docs]) (dependency)
+- Upgrade ness_alarm dependencies ([@nickw444] - [#75298]) ([ness_alarm docs])
+- Use the orjson equivalent default encoder when save_json is passed the default encoder ([@bdraco] - [#74377])
+- Use default encoder when saving storage ([@bdraco] - [#75319])
+- Apply filter to libav.hls logging namespace ([@uvjustin] - [#75330]) ([stream docs])
+- Handle (and better log) more AirVisual cloud API errors ([@bachya] - [#75332]) ([airvisual docs])
+- Fix HKC device triggers ([@bdraco] - [#75371]) ([homekit_controller docs])
+- Bump AIOAladdinConnect to 0.1.27 ([@mkmer] - [#75400]) ([aladdin_connect docs]) (dependency)
+- Bump pytomorrowio to 0.3.4 ([@raman325] - [#75478]) ([tomorrowio docs]) (dependency)
+- Bump pySwitchbot to 0.14.1 ([@pascalwinters] - [#75487]) ([switchbot docs]) (dependency)
+- Fix Netgear update entity ([@starkillerOG] - [#75496]) ([netgear docs])
+- Fix - Forcast.solar issue on saving settings in options flow without api key ([@klaasnicolaas] - [#75504]) ([forecast_solar docs])
+- Fix failure to raise on bad YAML syntax from include files ([@bdraco] - [#75510])
+- Fix incorrect Ambient PWS lightning strike sensor state classes ([@bachya] - [#75520]) ([ambient_station docs])
+- Bump aioshelly to 2.0.1 ([@thecode] - [#75523]) ([shelly docs]) (dependency)
+
+[#74377]: https://github.com/home-assistant/core/pull/74377
+[#75220]: https://github.com/home-assistant/core/pull/75220
+[#75224]: https://github.com/home-assistant/core/pull/75224
+[#75225]: https://github.com/home-assistant/core/pull/75225
+[#75237]: https://github.com/home-assistant/core/pull/75237
+[#75269]: https://github.com/home-assistant/core/pull/75269
+[#75285]: https://github.com/home-assistant/core/pull/75285
+[#75286]: https://github.com/home-assistant/core/pull/75286
+[#75287]: https://github.com/home-assistant/core/pull/75287
+[#75294]: https://github.com/home-assistant/core/pull/75294
+[#75298]: https://github.com/home-assistant/core/pull/75298
+[#75319]: https://github.com/home-assistant/core/pull/75319
+[#75330]: https://github.com/home-assistant/core/pull/75330
+[#75332]: https://github.com/home-assistant/core/pull/75332
+[#75371]: https://github.com/home-assistant/core/pull/75371
+[#75400]: https://github.com/home-assistant/core/pull/75400
+[#75478]: https://github.com/home-assistant/core/pull/75478
+[#75487]: https://github.com/home-assistant/core/pull/75487
+[#75496]: https://github.com/home-assistant/core/pull/75496
+[#75504]: https://github.com/home-assistant/core/pull/75504
+[#75510]: https://github.com/home-assistant/core/pull/75510
+[#75520]: https://github.com/home-assistant/core/pull/75520
+[#75523]: https://github.com/home-assistant/core/pull/75523
+[@AngellusMortis]: https://github.com/AngellusMortis
+[@KJonline]: https://github.com/KJonline
+[@apaperclip]: https://github.com/apaperclip
+[@bachya]: https://github.com/bachya
+[@bdraco]: https://github.com/bdraco
+[@craftyguy]: https://github.com/craftyguy
+[@dmulcahey]: https://github.com/dmulcahey
+[@klaasnicolaas]: https://github.com/klaasnicolaas
+[@mkmer]: https://github.com/mkmer
+[@mvn23]: https://github.com/mvn23
+[@nickw444]: https://github.com/nickw444
+[@pascalwinters]: https://github.com/pascalwinters
+[@raman325]: https://github.com/raman325
+[@rikroe]: https://github.com/rikroe
+[@starkillerOG]: https://github.com/starkillerOG
+[@thecode]: https://github.com/thecode
+[@uvjustin]: https://github.com/uvjustin
+[airvisual docs]: /integrations/airvisual/
+[aladdin_connect docs]: /integrations/aladdin_connect/
+[ambient_station docs]: /integrations/ambient_station/
+[aruba docs]: /integrations/aruba/
+[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
+[forecast_solar docs]: /integrations/forecast_solar/
+[hive docs]: /integrations/hive/
+[homekit_controller docs]: /integrations/homekit_controller/
+[ness_alarm docs]: /integrations/ness_alarm/
+[netgear docs]: /integrations/netgear/
+[opentherm_gw docs]: /integrations/opentherm_gw/
+[shelly docs]: /integrations/shelly/
+[simplisafe docs]: /integrations/simplisafe/
+[stream docs]: /integrations/stream/
+[switchbot docs]: /integrations/switchbot/
+[tomorrowio docs]: /integrations/tomorrowio/
+[unifiprotect docs]: /integrations/unifiprotect/
+[venstar docs]: /integrations/venstar/
+[zha docs]: /integrations/zha/
+
## Need help? Join the community!
Home Assistant has a great community of users who are all more than willing
diff --git a/source/dashboards/actions.markdown b/source/dashboards/actions.markdown
index a54b7b4a0cd..3d8a6756415 100644
--- a/source/dashboards/actions.markdown
+++ b/source/dashboards/actions.markdown
@@ -215,3 +215,7 @@ tap_action:
hold_action:
action: more-info
```
+
+## Limitations
+
+It is not possible to use templates for actions. But calling a [script](/docs/scripts/) is a good alternative.
diff --git a/source/images/works_with/works-with-bluetooth.png b/source/images/works_with/works-with-bluetooth.png
new file mode 100644
index 00000000000..c270dd7a6dd
Binary files /dev/null and b/source/images/works_with/works-with-bluetooth.png differ
diff --git a/source/images/works_with/works-with-cloud.png b/source/images/works_with/works-with-cloud.png
new file mode 100644
index 00000000000..398dbed82b8
Binary files /dev/null and b/source/images/works_with/works-with-cloud.png differ
diff --git a/source/images/works_with/works-with-local.png b/source/images/works_with/works-with-local.png
new file mode 100644
index 00000000000..f198ca1cfa3
Binary files /dev/null and b/source/images/works_with/works-with-local.png differ
diff --git a/source/images/works_with/works-with-matter.png b/source/images/works_with/works-with-matter.png
new file mode 100644
index 00000000000..21bd1606b62
Binary files /dev/null and b/source/images/works_with/works-with-matter.png differ
diff --git a/source/images/works_with/works-with-zigbee.png b/source/images/works_with/works-with-zigbee.png
new file mode 100644
index 00000000000..f92977777b0
Binary files /dev/null and b/source/images/works_with/works-with-zigbee.png differ
diff --git a/source/images/works_with/works-with-zwave.png b/source/images/works_with/works-with-zwave.png
new file mode 100644
index 00000000000..4572cd8f113
Binary files /dev/null and b/source/images/works_with/works-with-zwave.png differ
diff --git a/source/more-info/unhealthy/supervisor.markdown b/source/more-info/unhealthy/supervisor.markdown
index 13b771bd35e..36d0c4d225d 100644
--- a/source/more-info/unhealthy/supervisor.markdown
+++ b/source/more-info/unhealthy/supervisor.markdown
@@ -15,3 +15,5 @@ This can also be done with the CLI, by running the following command:
```bash
ha supervisor update
```
+
+In case this doesn't work. Check the logs, if there's an error where a host can't be resolved (eg: lookup ghcr.io: no such host) there might be a problem with your network settings (eg: dns server that can't be reached).