Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2022-04-26 14:36:18 +02:00
commit 129ec238fe
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
29 changed files with 469 additions and 307 deletions

View File

@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3.0.1
uses: actions/checkout@v3.0.2
- name: Setting up Node.js
uses: actions/setup-node@v3.1.1
with:
@ -25,7 +25,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3.0.1
uses: actions/checkout@v3.0.2
- name: Setting up Node.js
uses: actions/setup-node@v3.1.1
with:

View File

@ -57,7 +57,7 @@ GEM
nokogiri (~> 1.11)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.3.2)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)

View File

@ -107,8 +107,8 @@ social:
# Home Assistant release details
current_major_version: 2022
current_minor_version: 4
current_patch_version: 4
date_released: 2022-04-14
current_patch_version: 7
date_released: 2022-04-24
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -771,3 +771,10 @@ a.my {
border: 0px;
}
}
:target {
display: block;
position: relative;
top: -100px;
visibility: hidden;
}

View File

@ -21,6 +21,112 @@ automation kitchen:
You can add as many labeled `automation` blocks as you want.
{% configuration %}
alias:
description: Friendly name for the automation.
required: false
type: string
id:
description: A unique id for your automation, will allow you to make changes to the name and entity_id in the UI, and will enable debug traces.
required: false
type: string
description:
description: A description of the automation.
required: false
default: ''
type: string
initial_state:
description: Used to define the state of your automation at startup. When not set, the state will be restored from the last run. See [Automation initial state](#automation-initial-state).
required: false
type: boolean
default: Restored from last run
trace:
description: "Configuration values for the traces stored, currently only `stored_traces` can be configured."
required: false
default: {}
type: map
keys:
stored_traces:
description: "The number of traces which will be stored. See [Number of debug traces stored](#number-of-debug-traces-stored)."
type: integer
default: 5
required: false
variables:
description: "Variables that will be available inside your templates, both in `condition` and `action`."
required: false
default: {}
type: map
keys:
PARAMETER_NAME:
description: "The value of the variable. Any YAML is valid. Templates can also be used to pass a value to the variable."
type: any
trigger_variables:
description: "Variables that will be available inside your [templates triggers](/docs/automation/trigger/#template-trigger)."
required: false
default: {}
type: map
keys:
PARAMETER_NAME:
description: "The value of the variable. Any YAML is valid. Only [limited templates](/docs/configuration/templating/#limited-templates) can be used."
type: any
mode:
description: "Controls what happens when the automation is invoked while it is still running from one or more previous invocations. See [Automation Modes](#automation-modes)."
required: false
type: string
default: single
max:
description: "Controls maximum number of runs executing and/or queued up to run at a time. Only valid with modes `queued` and `parallel`."
required: false
type: integer
default: 10
max_exceeded:
description: "When `max` is exceeded (which is effectively 1 for `single` mode) a log message will be emitted to indicate this has happened. This option controls the severity level of that log message. See [Log Levels](/integrations/logger/#log-levels) for a list of valid options. Or `silent` may be specified to suppress the message from being emitted."
required: false
type: string
default: warning
trigger:
description: "The trigger(s) which will start the automation. Multiple triggers can be added and the automation will start when any of these triggers trigger."
required: true
type: list
keys:
id:
description: "An ID that can be used in the automation to determine which trigger caused the automation to start."
type: string
required: false
variables:
description: "Variables that will be available in the conditions and action sequence."
required: false
default: {}
type: map
keys:
PARAMETER_NAME:
description: "The value of the variable. Any YAML is valid. Templates can also be used to pass a value to the variable."
type: any
condition:
description: Conditions that have to be `true` to start the automation. By default all conditions listed have to be `true`, you can use [logical conditions](/docs/scripts/conditions/#logical-conditions) to change this default behavior.
required: false
type: list
action:
description: "The sequence of actions to be performed in the script."
required: true
type: list
{% endconfiguration %}
### Automation Modes
Mode | Description
-|-
`single` | Do not start a new run. Issue a warning.
`restart` | Start a new run after first stopping previous run.
`queued` | Start a new run after all previous runs complete. Runs are guaranteed to execute in the order they were queued.
`parallel` | Start a new, independent run in parallel with previous runs.
<p class='img'>
<img src='/images/integrations/script/script_modes.jpg'>
</p>
## YAML Example
Example of a YAML based automation that you can add to `configuration.yaml`.

View File

@ -12,7 +12,7 @@ Follow this guide if you want to get started with Home Assistant easily or if yo
We will need a few things to get started with installing Home Assistant. Links below lead to Amazon US. If youre not in the US, you should be able to find these items in web stores in your country.
- [Raspberry Pi 4](https://amzn.to/2S0Gcl1) (Raspberry Pi 3 is ok too, if you have one laying around). Raspberry Pi are currently hard to come by, use [RPilocator](https://rpilocator.com/?cat=PI4) to find webshops with stock.
- [Raspberry Pi 4](https://amzn.to/2S0Gcl1) (Raspberry Pi 3 is ok too, if you have one laying around). Raspberry Pi are currently hard to come by, use [RPilocator](https://rpilocator.com/?cat=PI4) or [Fast Alerts (US)](https://fastalerts.io/product/raspberry-pi-4/) to find webshops with stock.
- [Power Supply for Raspberry Pi 4](https://amzn.to/2ReZ2Vq) or [Power Supply for Raspberry Pi 3](https://amzn.to/2R8yG7h)
- [Micro SD Card](https://amzn.to/2X0Z2di). Ideally get one that is [Application Class 2](https://www.sdcard.org/developers/overview/application/index.html) as they handle small I/O much more consistently than cards not optimized to host applications. A 32 GB or bigger card is recommended.
- SD Card reader. This is already part of most laptops, but you can purchase a [standalone USB adapter](https://amzn.to/2WWxntY) if you don't have one. The brand doesn't matter, just pick the cheapest.

View File

@ -29,7 +29,7 @@ Once installed you can adjust the threshold for this location by clicking on the
## Sensors
The integration will add a two sensors for each location you configure:
The integration will add two sensors for each location you configure:
|Sensor Type|Values|Description|
|-|-|-|

View File

@ -40,7 +40,7 @@ There is no more need to set up platforms, except for custom IR/RF switches. Onc
The entities have the same name as the device by default. To change the name, icon or entity id, click the entity on the frontend and click the settings icon in the upper right. You can also disable the entity there if you don't think it is useful. Don't forget to click _Update_ to save your changes when you're done.
The entities are divided into three subdomains:
The entities are divided into four subdomains:
- [Remote](#remote)
- [Sensor](#sensor)

View File

@ -48,6 +48,7 @@ Known supported devices:
- Denon AVR-X4400H
- Denon AVR-X4500H
- Denon AVR-X6500H
- Denon AVR-X6700H
- Denon AVR-1912
- Denon AVR-2312CI
- Denon AVR-3311CI

View File

@ -18,7 +18,7 @@ ha_platforms:
ha_integration_type: helper
---
The derivative integration creates a sensor that estimates the derivative of the
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**.
{% include integrations/config_flow.md %}

View File

@ -60,11 +60,11 @@ By default, the radar entity uses the rain layer from 1 April to 30 November and
#### Temperature
- Temperature
- Wind chill
- Humidex
- Forecast high temperature
- Forecast low temperature
- Dewpoint
- Wind chill (only at temperatures below 0ºC)
- Humidex (only at temperatures above 19ºC)
#### Wind

View File

@ -34,6 +34,8 @@ To activate the call monitor on your FRITZ!Box, dial **#96\*5\*** from any phone
{% include integrations/config_flow.md %}
If you want Home Assistant to resolve numbers to names based on your FRITZ!Box phone book, you have to configure the correct prefixes. Usually, you just need one single prefix, which equals your country calling code, e.g. `+49` for Germany or `+33` for France. Find the right prefix on [Wikipedia](https://en.wikipedia.org/wiki/List_of_country_calling_codes) and add it on the configurations page.
## Examples
### Send notifications on state change

View File

@ -25,21 +25,18 @@ ha_platforms:
ha_integration_type: integration
---
This integration adds "local push" support for INSTEON Modems allowing linked INSTEON devices to be used within Home Assistant.
<p class='note warning'>The Insteon company has shut down and turned off their cloud as of April 2022.</p>
There is currently support for the following device types within Home Assistant:
This integration adds support for integrating your INSTEON network with Home Assistant. It is known to work with the [2413U] USB and [2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been tested to work with the [2242] and [2245] Hubs. Device support is provided by the underlying [pyinsteon] package.
- Binary Sensor
- Climate
- Cover
- Fan
- Light
- Sensor
- Switch
_If you have factory reset your device please see the instructions <a href="#recovering-after-factory-resetting-the-hub">Recovering After Factory Resetting The Hub</a> for how to proceed._
Device support is provided by the underlying [pyinsteon] package. It is known to work with the [2413U] USB and [2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been tested to work with the [2242] and [2245] Hubs.
{% include integrations/config_flow.md %}
You can configure the Insteon integration by going to the integrations page inside the configuration panel.
<p class='img'>
<img src='/images/integrations/insteon/insteon-products.jpg' alt='Overview of supported Insteon modems & hubs'>
Overview of supported Insteon modems & hubs
</p>
[pyinsteon]: https://github.com/pyinsteon/pyinsteon
[2413U]: https://www.insteon.com/powerlinc-modem-usb
@ -50,46 +47,23 @@ You can configure the Insteon integration by going to the integrations page insi
## Autodiscovery
The first time autodiscovery runs, the duration may require up to 60 seconds per device. Subsequent startups will occur much quicker using cached device information. If a device is not recognized during autodiscovery, trigger the device, such as toggling a button, to force the device to send a message to the modem. The device will then be discovered. You may need to trigger the device a few times. If for any reason this approach does not work, you can add the device to a **device override** in configuration options from the integrations page inside the configuration panel.
The first time autodiscovery runs, the duration may require up to 60 seconds per device. Subsequent startups will occur much quicker using cached device information. If a device is not recognized during autodiscovery, trigger the device, such as toggling a button, to force the device to send a message to the modem. The device will then be discovered. You may need to trigger the device a few times.
In order for a device to be discovered, it must be linked to the INSTEON Modem as either a responder or a controller.
## Linking Devices to the INSTEON Modem
## Adding Devices to the INSTEON Integration
In order for any two Insteon devices to talk with one another, they must be linked. For an overview of device linking, please read the Insteon page on [understanding linking]. The Insteon Modem module supports All-Linking through [Developer Tools] service calls. The following services are available:
- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking mode. The IM can be set as a controller or a responder. If the IM is a controller, put the IM into linking mode then press the SET button on the device. If the IM is a responder, press the SET button on the device then put the IM into linking mode.
Other services that support the management of the All-Link Database are:
- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an All-Link record from the All-Link Database of the IM and a device. Once the IM is set to delete the link, press the SET button on the corresponding device to complete the process.
- **insteon.load_all_link_database**: Load the All-Link Database for a device. WARNING - Loading a device All-Link database may take a LONG time and may need to be repeated to obtain all records.
- **insteon.print_all_link_database**: Print the All-Link Database for a device. Requires that the All-Link Database is loaded first.
- **insteon.print_im_all_link_database**: Print the All-Link Database for the INSTEON Modem (IM).
If you are looking for more advanced options, you can use the [insteon_tools] command-line tool that is distributed with the [pyinsteon] Python module. Please see the documentation on the [pyinsteon] GitHub site. Alternatively, you can download [HouseLinc], which runs on any Windows PC, or you can use [Insteon Terminal] which is open source and runs on most platforms. SmartHome no longer supports HouseLinc, but it still works. Insteon Terminal is a very useful tool but please read the disclaimers carefully, they are important.
- **insteon.add_default_links**: Add a set of default links between the modem and the device to facilitate proper communication between them.
[understanding linking]: https://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking
[Developer Tools]: /docs/tools/dev-tools/
[HouseLinc]: https://www.smarthome.com/houselinc.html
[Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal
[insteon_tools]: https://github.com/pyinsteon/pyinsteon
## Customization
The only configuration item that is necessary is the PLM port or Hub IP address, username and password so that Home Assistant can connect to the INSTEON Modem. This will expose all the supported INSTEON devices which exist in the modems ALL-Link database. However, devices will only be shown by their INSTEON hex address (e.g., “1A.2B.3C”) which can be a bit unwieldy. As you link and unlink devices using the Set buttons, theyll be added and removed from Home Assistant automatically.
You can use the normal Home Assistant [device customization] section of your configuration to assign friendly names and special icons to your devices. This is especially useful for setting device_class on your binary_sensor INSTEON devices.
[device customization]: /getting-started/customizing-devices/
## Device Overrides
INSTEON devices are added to Home Assistant using the platform(s) that make the most sense given the model and features of the hardware. The features of the INSTEON devices are built into the Home Assistant platform. Changing the platform is not recommended.
There are two primary uses for the **device override** feature:
- Devices that do not respond during autodiscovery. This is common for battery operated devices. Before using a device override, please trigger the device a few times and it will likely be discovered by Home Assistant.
- Devices that have not been fully developed. This allows an unknown device to be mapped to a device that operates similarly to another device.
Device overrides can be set up using the integrations page inside the configuration panel.
## INSTEON Scenes
@ -161,265 +135,29 @@ automation:
entity_id: light.some_light
```
## Manual configuration
## Device Overrides
Manual configuration is not required as all configuration options are available through the integrations page inside the configuration panel. However, manual setup is available using the following settings.
<p class='note warning'>Device overrides are not used to add a device to the Insteon integration. They are only used if a device that was linked correctly to the Insteon Modem but is not appearing in Home Assistant.
To set up an INSTEON Powerline Modem (PLM) device such as the [2413U], use the following configuration:
```yaml
# PLM configuration variables
insteon:
port: SERIAL_PORT
```
To set up an INSTEON Hub model [2245], use the following configuration:
```yaml
# Hub 2245 configuration variables
insteon:
host: HOST
ip_port: IP_PORT
username: USERNAME
password: PASSWORD
hub_version: 2
```
To set up an INSTEON Hub model [2242], use the following configuration:
```yaml
# Hub 2242 configuration variables
insteon:
host: HOST
hub_version: 1
```
Additional configuration items are available:
```yaml
insteon:
<PLM or Hub configuration>
device_override:
- address: ADDRESS
cat: CATEGORY
subcat: SUBCATEGORY
firmware: FIRMWARE
product_key: PRODUCT_KEY
x10_devices:
- housecode: HOUSECODE
unitcode: UNITCODE
platform: PLATFORM
steps: STEPS
```
{% configuration %}
port:
description: The serial or USB port for your device, e.g., `/dev/ttyUSB0` or `COM3`. Required for PLM setup.
required: false
type: string
host:
description: The hostname or IP address of the Hub. Required with Hub.
required: false
type: string
ip_port:
description: The IP port number of the Hub. For Hub model [2245] (i.e., Hub version 2) the default port is 25105. For the Hub model [2242] (i.e., Hub version 1) the default port is 9761. Use the Insteon app to find the port number for your specific Hub. Optional with Hub.
required: true
type: integer
username:
description: The username to login into the local Hub. You can find your Hub username on the bottom of the Hub or you can use the Insteon app. Required for Hub version 2 setup.
required: false
type: string
password:
description: The password to login into the local Hub. You can find your Hub password on the bottom of the Hub or you can use the Insteon app. Required for Hub version 2 setup.
required: false
type: string
hub_version:
description: The Hub version number where model [2242] is Hub version 1 and model [2245] is Hub version 2. Required for Hub version 1 setup.
required: false
default: 2
type: integer
device_override:
description: Override the default device definition.
required: false
type: list
keys:
address:
description: "Is found on the device itself in the form `1A.2B.3C` or `1a2b3c`. If there's no letter in the address you need to use quotation marks, e.g., `\"123456\"`, to avoid it becoming a number in YAML."
required: true
type: string
cat:
description: is found in the back of the device's User Guide in the form of 0x00 - 0xff.
required: false
type: integer
subcat:
description: is found in the back of the device's User Guide in the form of 0x00 - 0xff.
required: false
type: integer
firmware:
description: are more advanced options and will typically not be used.
required: false
type: string
product_key:
description: are more advanced options and will typically not be used.
required: false
type: integer
x10_devices:
description: Define X10 devices to control or respond to.
required: false
type: list
keys:
housecode:
description: is the X10 housecode values a - p
required: true
type: string
unitcode:
description: is the X10 unit code values 1 - 16
required: true
type: integer
platform:
description: "is the Home Assistant Platform to associate the device with. The following platforms are supported: binary_sensor: Used for on/off devices or keypad buttons that are read-only. light: Used for dimmable X10 devices. switch: Used for On/Off X10 devices."
required: true
type: string
dim_steps:
description: is the number of dim/bright steps the device supports. Used for dimmable X10 devices only.
required: false
default: 22
type: integer
{% endconfiguration %}
### Autodiscovery
The first time autodiscovery runs, the duration may require up to 60 seconds per device. Subsequent startups will occur much quicker using cached device information. If a device is not recognized during autodiscovery, trigger the device, such as toggling a button, to force the device to send a message to the modem. The device will then be discovered. You may need to trigger the device a few times. If for any reason this approach does not work, you can add the device to the **device_override** configuration.
In order for a device to be discovered, it must be linked to the INSTEON Modem as either a responder or a controller.
### Linking Devices to the INSTEON Modem
In order for any two Insteon devices to talk with one another, they must be linked. For an overview of device linking, please read the Insteon page on [understanding linking]. The Insteon Modem module supports All-Linking through [Developer Tools] service calls. The following services are available:
- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking mode. The IM can be set as a controller or a responder. If the IM is a controller, put the IM into linking mode then press the SET button on the device. If the IM is a responder, press the SET button on the device then put the IM into linking mode.
- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an All-Link record from the All-Link Database of the IM and a device. Once the IM is set to delete the link, press the SET button on the corresponding device to complete the process.
- **insteon.load_all_link_database**: Load the All-Link Database for a device. WARNING - Loading a device All-Link database may take a LONG time and may need to be repeated to obtain all records.
- **insteon.print_all_link_database**: Print the All-Link Database for a device. Requires that the All-Link Database is loaded first.
- **insteon.print_im_all_link_database**: Print the All-Link Database for the INSTEON Modem (IM).
If you are looking for more advanced options, you can use the [insteon_tools] command line tool that is distributed with the [pyinsteon] Python module. Please see the documentation on the [pyinsteon] GitHub site. Alternatively, you can download [HouseLinc] which runs on any Windows PC, or you can use [Insteon Terminal] which is open source and runs on most platforms. SmartHome no longer supports HouseLinc, but it still works. Insteon Terminal is a very useful tool but please read the disclaimers carefully, they are important.
[understanding linking]: https://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking
[Developer Tools]: /docs/tools/dev-tools/
[HouseLinc]: https://www.smarthome.com/houselinc.html
[Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal
[insteon_tools]: https://github.com/pyinsteon/pyinsteon
### Customization
The only configuration item that is necessary is the PLM port or Hub IP address, username and password so that Home Assistant can connect to the INSTEON Modem. This will expose all the supported INSTEON devices which exist in the modems ALL-Link database. However, devices will only be shown by their INSTEON hex address (e.g., “1A.2B.3C”) which can be a bit unwieldy. As you link and unlink devices using the Set buttons, theyll be added and removed from Home Assistant automatically.
You can use the normal Home Assistant [device customization] section of your configuration to assign friendly names and special icons to your devices. This is especially useful for setting device_class on your binary_sensor INSTEON devices.
[device customization]: /getting-started/customizing-devices/
### Device Overrides
INSTEON devices are added to Home Assistant using the platform(s) that make the most sense given the model and features of the hardware. The features of the INSTEON devices are built into the Home Assistant platform. Changing the platform is not recommended.
There are two primary uses for the **device_override** feature:
There are two primary uses for the **device override** feature:
- Devices that do not respond during autodiscovery. This is common for battery operated devices. Before using a device override, please trigger the device a few times and it will likely be discovered by Home Assistant.
- Devices that have not been fully developed. This allows an unknown device to be mapped to a device that operates similarly to another device.
### Example Configuration with Options
Device overrides can be set up using the integrations page inside the configuration panel.
```yaml
# Full example of Insteon configuration with a device override
## Recovering After Factory Resetting The Hub
insteon:
port: /dev/ttyUSB0
device_override:
- address: a1b2c3 # Hidden Door Sensor [2845-222]
cat: 0x10
subcat: 0x11
```
Many users tried to factory reset their Insteon Hub when the Insteon app stopped working in April 2022. If you are one of those users, you can perform the following steps to connect it to Home Assistant and get all of your devices up and working again.
### What NOT to do
1. Log into Home Assistant and add the Insteon integration. Select Insteon Hub v2 if you have a 2245-xxx or Hub V1 if you have a 2242-xxx.
Insteon Modem is a top-level integration and device discovery will identify the Home Assistant platform the device belongs in. As such, do not declare Insteon devices in other platforms. For example, this configuration will NOT work:
2. Follow the instructions on screen to add the integration.
```yaml
light:
- platform: insteon
address: 1a2b3c
```
- You will need the IP address of the Hub which you should be able to find on your network router. See the documentation for your specific router for instructions.
### INSTEON Scenes
- If you have a Hub v2 you will need the default username and password which are printed on the bottom of the Hub
Trigger an INSTEON scene on or off is done via automations. Two services are provided to support this feature:
3. Add devices to the Hub using the instructions for [Adding Devices to the INSTEON Integration](#adding-devices-to-the-insteon-integration)
- **insteon.scene_on**
- **group**: (required) The INSTEON scene number to trigger.
- **insteon.scene_off**
- **group**: (required) The INSTEON scene to turn off
```yaml
automation:
# Trigger an INSTEON scene 25
- id: trigger_scene_25_on
alias: "Turn on scene 25"
trigger:
- ...
action:
- service: insteon.scene_on
data:
group: 25
```
### Events and Mini-Remotes
Mini-Remote devices do not appear as Home Assistant entities, they generate events. The following events are available:
- **insteon.button_on**
- **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c)
- **button**: (Optional) The button id in lower case. For a 4-button remote the values are `a` to `d`. For an 8 button remote the values are `a` to `h`. For a one-button remote this field is not used.
- **insteon.button_off**
- **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c)
- **button**: (Optional) The button id in lower case. For a 4-button remote the values are a to d. For an 8 button remote the values are `a` to `h`. For a one-button remote this field is not used.
This allows the mini-remotes to be configured as triggers for automations. Here is an example of how to use these events for automations:
```yaml
automation:
# 4 or 8 button remote with button c pressed
- id: light_on
alias: "Turn a light on"
trigger:
- platform: event
event_type: insteon.button_on
event_data:
address: 1a2b3c
button: c
condition:
- condition: state
entity_id: light.some_light
state: "off"
action:
- service: light.turn_on
target:
entity_id: light.some_light
# single button remote
- id: light_off
alias: "Turn a light off"
trigger:
- platform: event
event_type: insteon.button_on
event_data:
address: 1a2b3c
condition:
- condition: state
entity_id: light.some_light
state: "off"
action:
- service: light.turn_on
target:
entity_id: light.some_light
```
Once your devices are linked to the Hub again they will appear in Home Assistant automatically.

View File

@ -21,6 +21,10 @@ IntelliFire Wi-Fi fireplace modules provide app-based and Alexa control to vario
{% include integrations/config_flow.md %}
## API Credentials
To fully configure the IntelliFire integration you will need to enter your IntelliFire credentials which are the same ones you would use with the mobile app.
### Sensor Types
@ -67,3 +71,21 @@ The following is a description of the various diagnostic error sensors and what
- **Offline** - Your appliance is currently offline.
- **Pilot Flame** - Pilot Flame Error: Your appliance has been safely disabled. Please contact your dealer and report this issue.
- **Soft Lock Out** - Sorry your appliance did not start. Try again by pressing Flame ON.
### Troubleshooting
The IFT module can suffer a variety of issues that will render it inoperable. Some of these have been confirmed by the manufacturer and some appear to be random. There are two paths to try when attempting to reset the module:
#### Issue a Soft Reset
There is a debug web interface available at [iftapi.net/webaccess](http://iftapi.net/webaccess/login.html). From here you can log in and then navigate to your individual fireplace unit and issue a **Soft Reset** as follows:
![soft_reset.png](/images/integrations/intellifire/soft_reset.png)
In some cases, this will restore control to the fireplace, but if it doesn't you are best to try the following method.
#### Power Cycle
The sure fire way to reset the IFT module is to just power-cycle it. This will work just about every time.

View File

@ -17,6 +17,10 @@ ha_integration_type: integration
The `nextcloud` integration pulls summary [Nextcloud](https://nextcloud.com/) information into Home Assistant.
The integration provides sensors and binary sensors for most of the data points that the built-in Nextcloud [serverinfo app](https://github.com/nextcloud/serverinfo) provides.
To see which datapoints your nextcloud instance exposes, browse to this url: `https://<your_nextcloud_url>/ocs/v2.php/apps/serverinfo/api/v1/info?format=json`.
![Nextcloud Example Sensor](/images/screenshots/nextcloud-sample-sensor.png)
## Configuration

View File

@ -111,6 +111,8 @@ Play media hosted on a Plex server on a Plex client or other supported device.
Required fields within the `media_content_id` payloads are marked as such, others are optional. There are special parameters that can be added to any query:
- `shuffle`: Shuffles the playback order of the media. Accepts `1` or `true` to enable.
- `resume`: Resumes playback at the last partially watched position if available, otherwise plays at the beginning.
- `offset`: The desired playback start position in seconds.
- `allow_multiple`: A search must find one specific item to succeed. This parameter accepts multiple matches in a search and enqueues all found items for playback. Accepts `1` or `true` to enable.
Simplified examples are provided for [music](#music), [TV episodes](#tv-episode), and [movies](#movie). See [advanced searches](#advanced-searches) for complex/smart search capabilities.
@ -179,7 +181,7 @@ media_content_id: '{ "playlist_name": "The Best of Disco", "shuffle": "1" }'
| Service data attribute | Description |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | `entity_id` of the client |
| `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`show_name` or `show.title`</li><li>`season_number` or `season.index`</li><li>`episode_number` or `episode.index`</li><li>`shuffle` (0 or 1)</li><li>`allow_multiple` (0 or 1)</li></ul> |
| `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`show_name` or `show.title`</li><li>`season_number` or `season.index`</li><li>`episode_number` or `episode.index`</li><li>`shuffle` (0 or 1)</li><li>`resume` (0 or 1)</li><li>`offset` (in seconds)</li><li>`allow_multiple` (0 or 1)</li></ul> |
| `media_content_type` | `EPISODE` |
##### Examples:
@ -200,12 +202,12 @@ media_content_type: EPISODE
media_content_id: '{ "library_name": "Kids TV", "show_name": "Sesame Street", "shuffle": "1" }'
```
Play the next unfinished episode of 60 Minutes from the library News TV
Resume the next unfinished episode of 60 Minutes from the library News TV
```yaml
entity_id: media_player.plex_player
media_content_type: EPISODE
media_content_id: '{ "library_name": "News TV", "show_name": "60 Minutes", "episode.unwatched": true, "episode.inProgress": [true, false], "sort": "addedAt:asc", "maxresults": 1 }'
media_content_id: '{ "library_name": "News TV", "show_name": "60 Minutes", "episode.unwatched": true, "episode.inProgress": [true, false], "resume": 1, "sort": "addedAt:asc", "maxresults": 1 }'
```
#### Movie
@ -213,7 +215,7 @@ media_content_id: '{ "library_name": "News TV", "show_name": "60 Minutes", "epis
| Service data attribute | Description |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `entity_id` | `entity_id` of the client |
| `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`title`</li></ul> |
| `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`title`</li><li>`resume` (0 or 1)</li><li>`offset` (in seconds)</li></ul> |
| `media_content_type` | `movie` |
##### Examples:

View File

@ -114,7 +114,7 @@ bus 000 device 002: ID 1232:15ca
Identify the brand for your GSM modem, copy the `brand_Id` and `product_id` (In this case `brand_id = 12d1` and `product_Id = 15ca`)
Set this content in file `udev\10-gsm-modem.rules` in the configuration USB:
Set this content in file `udev\10-gsm-modem.rules` in the [configuration USB](https://github.com/home-assistant/operating-system/blob/master/Documentation/configuration.md#automatic):
(Replace `brand_Id` and `product_id` for the numbers reported by `lsusb`)
```bash

View File

@ -65,11 +65,11 @@ switch:
type: template
default: true
turn_on:
description: Defines an action to run when the switch is turned on.
description: Defines an action or list of actions to run when the switch is turned on.
required: true
type: action
turn_off:
description: Defines an action to run when the switch is turned off.
description: Defines an action or list of actions to run when the switch is turned off.
required: true
type: action
icon_template:

View File

@ -322,7 +322,7 @@ a "Yes" or "No" (or similar) value in templates. Some examples:
```yaml
{{ iif(is_state('light.kitchen', 'on'), 'Yes', 'No') }}
{{ is_state('light.kitchen', 'on') | iif('Yes', 'No') }}
{{ (state('light.kitchen') == 'on') | iif('Yes', 'No') }}
{{ (states('light.kitchen') == 'on') | iif('Yes', 'No') }}
```
{% endraw %}

View File

@ -61,6 +61,9 @@ Enjoy the release!
- [Release 2022.4.2 - April 11](#release-202242---april-11)
- [Release 2022.4.3 - April 12](#release-202243---april-12)
- [Release 2022.4.4 - April 14](#release-202244---april-14)
- [Release 2022.4.5 - April 16](#release-202245---april-16)
- [Release 2022.4.6 - April 20](#release-202246---april-20)
- [Release 2022.4.7 - April 24](#release-202247---april-24)
- [Need help? Join the community!](#need-help-join-the-community)
- [Breaking Changes](#breaking-changes)
- [Farewell to the following](#farewell-to-the-following)
@ -898,6 +901,139 @@ The following integrations are now available via the Home Assistant UI:
[tomorrowio docs]: /integrations/tomorrowio/
[zha docs]: /integrations/zha/
## Release 2022.4.5 - April 16
- Fix retry when Met config entry fails ([@chemelli74] - [#70012]) ([met docs])
- Set source & sound mode at start in media player reproduce state ([@thecode] - [#70064]) ([media_player docs])
- Limit Supervisor refresh updates ([@ludeeus] - [#70075]) ([hassio docs])
- Correct tomorrowio weather units ([@raman325] - [#70107]) ([tomorrowio docs])
- update xknx to 0.20.3 ([@farmio] - [#70123]) ([knx docs]) (dependency)
- Bump pymazda to 0.3.3 ([@bdr99] - [#70136]) ([mazda docs]) (dependency)
- Ensure powerwall retries setup when api returns too many requests ([@bdraco] - [#70143]) ([powerwall docs])
- Fix StationInfo not string in Trafikverket Train ([@gjohansson-ST] - [#70153]) ([trafikverket_train docs])
[#70012]: https://github.com/home-assistant/core/pull/70012
[#70064]: https://github.com/home-assistant/core/pull/70064
[#70075]: https://github.com/home-assistant/core/pull/70075
[#70107]: https://github.com/home-assistant/core/pull/70107
[#70123]: https://github.com/home-assistant/core/pull/70123
[#70136]: https://github.com/home-assistant/core/pull/70136
[#70143]: https://github.com/home-assistant/core/pull/70143
[#70153]: https://github.com/home-assistant/core/pull/70153
[@bdr99]: https://github.com/bdr99
[@bdraco]: https://github.com/bdraco
[@chemelli74]: https://github.com/chemelli74
[@farmio]: https://github.com/farmio
[@gjohansson-ST]: https://github.com/gjohansson-ST
[@ludeeus]: https://github.com/ludeeus
[@raman325]: https://github.com/raman325
[@thecode]: https://github.com/thecode
[hassio docs]: /integrations/hassio/
[knx docs]: /integrations/knx/
[mazda docs]: /integrations/mazda/
[media_player docs]: /integrations/media_player/
[met docs]: /integrations/met/
[powerwall docs]: /integrations/powerwall/
[tomorrowio docs]: /integrations/tomorrowio/
[trafikverket_train docs]: /integrations/trafikverket_train/
## Release 2022.4.6 - April 20
- Fix bug in google calendar offset calculation (#70024) ([@allenporter] - [#70166]) ([google docs])
- Improve roon integraton ([@pavoni] - [#66000]) ([roon docs])
- Fix opening/closing for awning in Overkiz integration ([@tetienne] - [#68890]) ([overkiz docs])
- Move handling of non-secure login to the elkm1 library ([@bdraco] - [#69483]) ([elkm1 docs])
- Fix file size last_updated ([@chemelli74] - [#70114]) ([filesize docs])
- Revert zigpy-zigate to 0.7.4 ([@doudz] - [#70184]) ([zha docs])
- Fix handling of powerview stale state ([@bdraco] - [#70195]) ([hunterdouglas_powerview docs])
- Auto set content type for stream-only in generic camera ([@davet2001] - [#70200]) ([generic docs])
- Hide credentials from generated titles in generic camera ([@davet2001] - [#70204]) ([generic docs])
- Bump aiodiscover to 1.4.9 ([@bdraco] - [#70213]) ([dhcp docs])
- Screenlogic config: Filter unexpected host names ([@dieselrabbit] - [#70256]) ([screenlogic docs])
- Fix handling unassigned areas in lutron_caseta ([@bdraco] - [#70258]) ([lutron_caseta docs])
- Fix updating CameraZone coords for UniFi Protect ([@AngellusMortis] - [#70260]) ([unifiprotect docs])
- Add Insteon USB discovery ([@balloob] - [#70306]) ([insteon docs])
- Bump aiohomekit to 0.7.17 ([@bdraco] - [#70313]) ([homekit_controller docs])
- Fix #69952: Daikin AC Temperature jumps after being set ([@vanackej] - [#70326]) ([daikin docs])
[#66000]: https://github.com/home-assistant/core/pull/66000
[#68890]: https://github.com/home-assistant/core/pull/68890
[#69483]: https://github.com/home-assistant/core/pull/69483
[#70114]: https://github.com/home-assistant/core/pull/70114
[#70166]: https://github.com/home-assistant/core/pull/70166
[#70184]: https://github.com/home-assistant/core/pull/70184
[#70195]: https://github.com/home-assistant/core/pull/70195
[#70200]: https://github.com/home-assistant/core/pull/70200
[#70204]: https://github.com/home-assistant/core/pull/70204
[#70213]: https://github.com/home-assistant/core/pull/70213
[#70256]: https://github.com/home-assistant/core/pull/70256
[#70258]: https://github.com/home-assistant/core/pull/70258
[#70260]: https://github.com/home-assistant/core/pull/70260
[#70306]: https://github.com/home-assistant/core/pull/70306
[#70313]: https://github.com/home-assistant/core/pull/70313
[#70326]: https://github.com/home-assistant/core/pull/70326
[@AngellusMortis]: https://github.com/AngellusMortis
[@allenporter]: https://github.com/allenporter
[@balloob]: https://github.com/balloob
[@bdraco]: https://github.com/bdraco
[@chemelli74]: https://github.com/chemelli74
[@davet2001]: https://github.com/davet2001
[@dieselrabbit]: https://github.com/dieselrabbit
[@doudz]: https://github.com/doudz
[@pavoni]: https://github.com/pavoni
[@tetienne]: https://github.com/tetienne
[@vanackej]: https://github.com/vanackej
[daikin docs]: /integrations/daikin/
[dhcp docs]: /integrations/dhcp/
[elkm1 docs]: /integrations/elkm1/
[filesize docs]: /integrations/filesize/
[generic docs]: /integrations/generic/
[google docs]: /integrations/google/
[homekit_controller docs]: /integrations/homekit_controller/
[hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/
[insteon docs]: /integrations/insteon/
[lutron_caseta docs]: /integrations/lutron_caseta/
[overkiz docs]: /integrations/overkiz/
[roon docs]: /integrations/roon/
[screenlogic docs]: /integrations/screenlogic/
[unifiprotect docs]: /integrations/unifiprotect/
[zha docs]: /integrations/zha/
## Release 2022.4.7 - April 24
- Fixed syntax error in ALTER TABLE statement (#70304) ([@dmak] - [#70336]) ([recorder docs])
- Update xknx to version 0.20.4 ([@marvin-w] - [#70342]) ([knx docs])
- Bump aiodiscover to 1.4.10 ([@bdraco] - [#70348]) ([dhcp docs])
- Bump zwave-js-server-python to 0.35.3 ([@raman325] - [#70357]) ([zwave_js docs])
- Bump pyplaato to 0.0.18 ([@JohNan] - [#70391]) ([plaato docs])
- Bump aiodiscover to 1.4.11 ([@bdraco] - [#70413]) ([dhcp docs])
- Ensure rainmachine creates config entry titles as strings ([@bdraco] - [#70417]) ([rainmachine docs])
- Fix history not including start time state ([@bdraco] - [#70447]) ([recorder docs])
- Daikin AC : Round to nearest half degree (#70446) ([@vanackej] - [#70452]) ([daikin docs])
[#70336]: https://github.com/home-assistant/core/pull/70336
[#70342]: https://github.com/home-assistant/core/pull/70342
[#70348]: https://github.com/home-assistant/core/pull/70348
[#70357]: https://github.com/home-assistant/core/pull/70357
[#70391]: https://github.com/home-assistant/core/pull/70391
[#70413]: https://github.com/home-assistant/core/pull/70413
[#70417]: https://github.com/home-assistant/core/pull/70417
[#70447]: https://github.com/home-assistant/core/pull/70447
[#70452]: https://github.com/home-assistant/core/pull/70452
[@JohNan]: https://github.com/JohNan
[@bdraco]: https://github.com/bdraco
[@dmak]: https://github.com/dmak
[@marvin-w]: https://github.com/marvin-w
[@raman325]: https://github.com/raman325
[@vanackej]: https://github.com/vanackej
[daikin docs]: /integrations/daikin/
[dhcp docs]: /integrations/dhcp/
[knx docs]: /integrations/knx/
[plaato docs]: /integrations/plaato/
[rainmachine docs]: /integrations/rainmachine/
[recorder docs]: /integrations/recorder/
[zwave_js docs]: /integrations/zwave_js/
## Need help? Join the community!
Home Assistant has a great community of users who are all more than willing

View File

@ -0,0 +1,32 @@
---
layout: post
title: "Buying a device to run Home Assistant (April 2022 edition)"
description: "Chip shortages and global supply chain issues make getting a device complicated. Here is our latest overview."
date: 2022-04-16 00:00:00
date_formatted: "April 17, 2022"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories:
- Announcements
---
Home Assistant is a home automation platform with a focus on privacy and local control. It can function fully without an internet connection. Home Assistant is easy in day-to-day use, and we've been spending a lot of time streamlining this experience.
Due to the global chip shortage and supply chain issues, it's currently very difficult to get a device that runs Home Assistant. We're fixing that by creating [Home Assistant Yellow](/yellow/), a device with Home Assistant pre-installed. Bad news: Home Assistant Yellow is not ready yet and won't be shipping until later this year.
There is currently a big wave of people interested in running Home Assistant ([thanks Insteon](https://staceyoniot.com/insteon-is-down-and-may-not-be-coming-back/)) and so I thought it would be a good time to list the best options as of April 2022 to get a device that runs Home Assistant.
Home Assistant comes in [different flavors](/installation/#compare-installation-methods). As a new user, you want to use our operating system. It is what powers Home Assistant Yellow and turns the device into a user-friendly home automation hub that is easy to maintain.
**The best device that runs Home Assistant that is in stock is the [ODROID-N2+ Home Assistant Bundle](https://ameridroid.com/collections/kits/products/odroid-n2-home-assistant-blue-bundle-limited-edition?ref=eeb6nfw07e) from Ameridroid.** This bundle contains the ODROID-N2+ which is what also powers our [Home Assistant Blue](/blue/). It comes with Home Assistant pre-installed so it's ready to go. It's in stock today.
The ODROID-N2+ can also be bought from other stores or directly from the manufacturer, [Hardkernel](https://www.hardkernel.com/shop/odroid-n2-with-4gbyte-ram-2/). These configurations will not come with Home Assistant pre-installed and require following the [Home Assistant installation guide](/installation/odroid).
If you don't want to start using Home Assistant right now, we recommend our [Home Assistant Yellow](/yellow/). It is our own take on the best hardware to run Home Assistant. It supports Zigbee, will support Matter and with its M.2 slot, it's future proof.
By far the most popular way that people run Home Assistant is on a Raspberry Pi 4. Due to supply chain issues there is a huge shortage of Raspberry Pis and every time they are in stock they sell out quickly. Your best bet to get one is to use [rpilocator.com](https://rpilocator.com/), a website that tracks Raspberry Pi stock across all approved resellers.
If you follow them on Twitter, you can enable a notification whenever they tweet a new stock alert by clicking the bell icon on their profile. Note about Adafruit: you will need to configure two-factor authentication on your account before you can purchase a Raspberry Pi (it's to keep bots out).
_We get commissions for purchases made through some links in this post._

View File

@ -0,0 +1,54 @@
---
layout: post
title: "Hey Insteon users!"
description: "Collection of latest information to help Insteon users transition to Home Assistant."
date: 2022-04-19 00:00:00
date_formatted: "April 19, 2022"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories:
- Announcements
og_image: /images/integrations/insteon/insteon-products.jpg
---
_The US smart home company Insteon abruptly went dark and turned off its cloud. While Insteon products talk locally, the app and voice assistant integrations do not. Without this, users are not able to control and configure their hub and automations don't run._
If you're one of the impacted Insteon users, this post is for you.
The good news is that Home Assistant is able to talk to your Insteon devices via the Insteon hub or modem. You will be able to pair new devices and set up links as you're used to.
The other good news is that Home Assistant works 100% local. There is no cloud necessary for any part of it to function and no one can remotely shut it down.
<p class='img'>
<img src='/images/integrations/insteon/insteon-products.jpg' alt='Overview of supported Insteon modems & hubs'>
Overview of supported Insteon modems & hubs
</p>
There are many different ways to run Home Assistant. The easiest and best way is to [buy a dedicated device to run Home Assistant](/blog/2022/04/16/device-to-run-home-assistant/). Alternatively, if you have a server at home and are familiar with the technology, you can try our [virtual machine](/installation/alternative#install-home-assistant-operating-system) or [Docker container](/installation/alternative#install-home-assistant-container) installations.
Once you have Home Assistant up and running, see [the documentation](https://www.home-assistant.io/integrations/insteon/) for the Insteon integration on how to set it up. It works with the [2413U] USB and [2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been tested to work with the [2242] and [2245] Hubs.
[Tom Harris](https://github.com/teharris1) leads the development of the Insteon integration in Home Assistant and he is putting the final touches on a new Insteon page for the Home Assistant interface. This page makes it easier to manage your Insteon network, just like you would have done via the Insteon application. It's expected to be available in 1-2 weeks.
<p class='img'>
<img src='/images/blog/2022-04-for-insteon-users/insteon-panel-1.jpg' alt='Screenshot of the upcoming Insteon page'>
Screenshot of the upcoming Insteon page
</p>
Home Assistant is an open and friendly community which is happy to help new users. Join us on [Discord chat](/join-chat/) or on [our forums](https://www.home-assistant.io/join-chat/) if you get stuck.
If you're looking to connect with other Insteon users, we recommend the [/r/Insteon community on Reddit](https://www.reddit.com/r/insteon/).
To stay up to date on the latest releases of Home Assistant, follow us in [Twitter](https://twitter.com/home_assistant), [Facebook](https://www.facebook.com/homeassistantio) or [subscribe to our newsletter](/newsletter/).
<p class='img'>
<img src='/images/blog/2022-04-for-insteon-users/insteon-panel-2.jpg' alt='Another screenshot of the upcoming Insteon page'>
Another screenshot of the upcoming Insteon page
</p>
[2413U]: https://www.insteon.com/powerlinc-modem-usb
[2412S]: https://www.insteon.com/powerlinc-modem-serial
[2448A7]: https://www.smarthome.com/insteon-2448a7-portable-usb-adapter.html
[2245]: https://www.insteon.com/insteon-hub/
[2242]: https://www.insteon.com/support-knowledgebase/2014/9/26/insteon-hub-owners-manual

View File

@ -33,7 +33,7 @@ Finally, click Finish. Now you're brought to the Home Assistant web interface. T
The Home Assistant user interface.
</p>
Click on Configuration in the sidebar on the left. On the next screen, click on Integrations. At this screen you will be able to set up integrations with Home Assistant. You might notice a "discovered" section. This section contains integrations that were found on your network and can easily be added with a few clicks. If your integrations are not discovered, click the + button in the lower right and search for your integration in that list.
Click on "Configuration" in the sidebar on the left. On the next screen, click on "Devices & Services". At this screen you will be able to set up integrations with Home Assistant. You might notice a "discovered" section. This section contains integrations that were found on your network and can easily be added with a few clicks. If your integrations are not discovered, click the "Add integration" button in the lower right and search for your integration in that list.
<p class='img'>
<img src='/images/getting-started/integrations.png' />

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

View File

@ -0,0 +1,58 @@
---
title: "DNS server issues"
description: "More information on why issues with a DNS server marks the installation as unsupported."
---
## The issue
Home Assistant requires a working DNS server to function. Without one it may be
unable to provide functionality like checking and executing updates, showing
documentation, reach external services required by add-ons and integrations, etc.
## The solution
The easiest solution is to re-enable the fallback DNS option by executing the following
command in the CLI:
```sh
ha dns options --fallback=true
```
Alternatively review your system issues by executing the following command in the
CLI:
```sh
ha resolution info
```
You will see one or more issues with a context of `dns_server`. For each such issue,
take the following actions based on the issue type.
### `dns_server_failed`
1. Ensure the DNS server is operating normally
2. Ensure the DNS server has internet access
3. Ensure the hostname `_checkdns.home-assistant.io` is not blocked
### `dns_server_ipv6_error`
If you see this that means the application you are using for DNS is not handling
A and AAAA requests correctly. You can test this by executing the following commands:
```sh
server="<IP address of DNS server>"
dig "@$server" _checkdns.home-assistant.io +noall +comments +answer A
dig "@$server" _checkdns.home-assistant.io +noall +comments +answer AAAA
```
A DNS server handling A and AAAA requests correctly will respond with status `NOERROR`
for both of those queries even though there are no answers for the AAAA request.
A DNS server mishandling this request will only return a `NOERROR` response for
the first one and will return `NXDOMAIN`, `REFUSED`, `SERVFAIL` or some other error
status for the second.
It is important to use a DNS server that handles this situation correctly since
Home Assistant uses alpine for many of its containers. Alpine follows the DNS spec
and will treat the entire domain as if it can't be resolved if it receives an error
status for either query. Home Assistant will run into many unexpected issues in
this situation, particularly around updates and installing software.