diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 05b5d6de111..8a799459262 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -57,7 +57,7 @@ jobs:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Ruby 2.6
- uses: ruby/setup-ruby@v1.70.0
+ uses: ruby/setup-ruby@v1.70.1
with:
ruby-version: 2.6
- name: Setup Ruby Gems cache
diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown
index c876f1a0120..f1de345d3bb 100644
--- a/source/_docs/tools/dev-tools.markdown
+++ b/source/_docs/tools/dev-tools.markdown
@@ -54,9 +54,12 @@ For example, changing the `light.bedroom` state from `off` to `on` does not turn
## Events
-This Events section is as basic as it can get. It does only one thing – fires events on the event bus.
+In the Events section, you can either fire an event on the event bus or subscribe to an event type in order to view the event data JSON.
+
+### Fire an event
+
To fire an event, simply type the name of the event, and pass the event data in JSON format.
-For ex: To fire a custom event, enter the `event_type` as `event_light_state_changed` and the event data JSON as
+For example, to fire a custom event, enter the `event_type` as `event_light_state_changed` and the event data JSON as
```yaml
state: on
@@ -75,6 +78,32 @@ If there is an automation that handles that event, it will be automatically trig
message: "Light is turned {{ trigger.event.data.state }}"
```
+### Subscribe to an event
+
+To subscribe to an event, enter the event event type under "Listen to events" and click "Start listening". Some events types are listed in the Events section under "Available events". You can usually find information about event types for a particular integration in its documentation. You can then examine the event data JSON to find the correct parameters for your automations.
+
+For example, subscribing to the event type `shelly.click` of the Shelly integration, returns event data JSON similar to the following on a button press.
+
+```json
+Event 0 fired 9:53 AM:
+{
+ "event_type": "shelly.click",
+ "data": {
+ "device_id": "e09c64a22553484d804353ef97f6fcd6",
+ "device": "shellybutton1-A4C12A45174",
+ "channel": 1,
+ "click_type": "single"
+ },
+ "origin": "LOCAL",
+ "time_fired": "2021-04-28T08:53:12.755729+00:00",
+ "context": {
+ "id": "e0f379706563aaa0c2c1fda5174b5a0e",
+ "parent_id": null,
+ "user_id": null
+ }
+}
+```
+
## Template Editor
The Template Editor provides a way to quickly test templates prior to placing them into automations and scripts. A code editor is on the left side and your real-time output is displayed in the preview on the right side.
diff --git a/source/_docs/z-wave.markdown b/source/_docs/z-wave.markdown
index 9dffc7e31d7..479f0206ab7 100644
--- a/source/_docs/z-wave.markdown
+++ b/source/_docs/z-wave.markdown
@@ -3,6 +3,12 @@ title: "Z-Wave"
description: "Using Z-Wave with Home Assistant."
---
+
+
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
+
+
+
[Z-Wave](https://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick or module](/docs/z-wave/controllers/) to be plugged into the host.
There is currently support for climate, covers, lights, locks, sensors, switches, and thermostats. All will be picked up automatically after configuring this platform.
diff --git a/source/_docs/z-wave/adding.markdown b/source/_docs/z-wave/adding.markdown
index f7c3d3467b8..9aff94c29b5 100644
--- a/source/_docs/z-wave/adding.markdown
+++ b/source/_docs/z-wave/adding.markdown
@@ -3,6 +3,12 @@ title: "Z-Wave Devices - Adding and Removing"
description: "How to add and remove Z-Wave devices."
---
+
+
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
+
+
+
## Adding Devices
To add a [Z-Wave device](/docs/z-wave/devices/):
diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown
index bf9290e4263..b9fd52a7b4e 100644
--- a/source/_docs/z-wave/controllers.markdown
+++ b/source/_docs/z-wave/controllers.markdown
@@ -3,6 +3,12 @@ title: "Z-Wave Controllers"
description: "Extended instructions how to setup Z-Wave."
---
+
+
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
+
+
+
## Supported Z-Wave USB Sticks & Hardware Modules
You need to have a compatible Z-Wave stick or module installed. This needs to be a *static controller*, which most Z-Wave sticks and modules will be. If yours is a *bridge* device then it won't work with [OpenZWave](http://openzwave.com/), which is what provides Home Assistant's Z-Wave capabilities. USB sticks using the new 700 series Z-Wave platform are not compatible. The following devices have been confirmed to work:
diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown
index 4f1235009c1..980a7a12b29 100644
--- a/source/_docs/z-wave/device-specific.markdown
+++ b/source/_docs/z-wave/device-specific.markdown
@@ -3,6 +3,12 @@ title: "Z-Wave Device Specific Settings"
description: "Notes for specific Z-Wave devices."
---
+
+
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
+
+
+
## Device Categories
### Motion or alarm sensors
diff --git a/source/_docs/z-wave/devices.markdown b/source/_docs/z-wave/devices.markdown
index 2a629c2d7e6..b30926faf76 100644
--- a/source/_docs/z-wave/devices.markdown
+++ b/source/_docs/z-wave/devices.markdown
@@ -3,6 +3,12 @@ title: "Z-Wave Devices"
description: "What you need to know about Z-Wave devices."
---
+
+
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
+
+
+
## Devices, Nodes, Entities
The *device* is the hardware, and also used when referring to the node and all its entities. There are 3 main types of devices:
diff --git a/source/_docs/z-wave/entities.markdown b/source/_docs/z-wave/entities.markdown
index 089ccf628f9..6b8fc943aca 100644
--- a/source/_docs/z-wave/entities.markdown
+++ b/source/_docs/z-wave/entities.markdown
@@ -5,7 +5,7 @@ description: "A summary of common entity names."
-This is a work in progress, based upon reports in the forum, the author's own devices and reading of various documentation. It will be incomplete, so if you have a device that isn't reported here or have a device that reports a different value, please provide a report in the [Z-Wave section](https://community.home-assistant.io/c/configuration/zwave) of the forum or the `#zwave` channel on [Discord](https://discord.gg/RkajcgS).
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
diff --git a/source/_docs/z-wave/events.markdown b/source/_docs/z-wave/events.markdown
index 4ce3284e6fc..6003fad3a60 100644
--- a/source/_docs/z-wave/events.markdown
+++ b/source/_docs/z-wave/events.markdown
@@ -3,6 +3,12 @@ title: "Z-Wave Events"
description: "Events generated by the Z-Wave component."
---
+
+
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
+
+
+
## zwave.network_complete
Home Assistant will trigger an event when the Z-Wave network is complete, meaning all of the nodes on the network have been queried. This can take quite some time, depending on wakeup intervals on the battery-powered devices on the network.
diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown
index 55a87a9cf1f..397a9057e51 100644
--- a/source/_docs/z-wave/installation.markdown
+++ b/source/_docs/z-wave/installation.markdown
@@ -3,6 +3,13 @@ title: "Z-Wave"
description: "Installation of the Z-Wave component."
---
+
+
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
+
+
+
+
Z-Wave can be configured using the Z-Wave *Integration* in the *Configuration* menu, or manually using an entry in `configuration.yaml`
## Configuration
diff --git a/source/_docs/z-wave/query-stage.markdown b/source/_docs/z-wave/query-stage.markdown
index 81f5f1f5b7d..2d07055f5cd 100644
--- a/source/_docs/z-wave/query-stage.markdown
+++ b/source/_docs/z-wave/query-stage.markdown
@@ -3,6 +3,12 @@ title: "Z-Wave Query Stage"
description: "What are the Query Stages."
---
+
+
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
+
+
+
When the Z-Wave mesh is first started, the controller will go through all the following stages for every device on the mesh. This is a slow process, and to complete requires that the devices be awake. While devices that are mains or USB powered are always awake, battery-powered devices spend most of their time asleep. Because of this, you can expect that after startup your battery powered devices will spend time in `Initializing (CacheLoad)` - how long depends on the device.
Your devices will still function normally while marked as `Initializing`.
diff --git a/source/_docs/z-wave/services.markdown b/source/_docs/z-wave/services.markdown
index ba6a914e3b6..43d4bebcdbb 100644
--- a/source/_docs/z-wave/services.markdown
+++ b/source/_docs/z-wave/services.markdown
@@ -3,6 +3,12 @@ title: "Z-Wave Services"
description: "Services exposed by the Z-Wave component."
---
+
+
+This Z-Wave integration is deprecated and replaced with a [new implementation based on Z-Wave JS](/integrations/zwave_js); it's currently in beta, and you can [try it now](/integrations/zwave_js/).
+
+
+
The `zwave` integration exposes multiple services to help maintain the network. All of these are available through the Z-Wave control panel.
| Service | Description |
diff --git a/source/_includes/integrations/config_flow.md b/source/_includes/integrations/config_flow.md
index 20c04db3e1a..d6852ceda79 100644
--- a/source/_includes/integrations/config_flow.md
+++ b/source/_includes/integrations/config_flow.md
@@ -3,25 +3,31 @@
## Configuration
Adding {{ name }} to your Home Assistant instance can be done via the user
-interface, by taking the following steps:
+interface, by using this My button:
+
+{% my config_flow_start badge domain=page.ha_domain %}
+
+{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf %}
+{{ name }} can be auto-discovered by Home Assistant. If an instance was found,
+it will be shown as _"Discovered"_, which you can select to set it up right
+away.
+{% endif %}
+
+{% details "Manual configuration steps" %}
+{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf %}
+If there wasn't any discovered automatically, don't worry! You can set up a
+manual integration entry:
+{% else %}
+If the above My button doesn't work, you can also preform the following steps
+manually:
+{% endif %}
- Browse to your Home Assistant instance.
- In the sidebar click on _**{% my config icon %}**_.
- From the configuration menu select: _**{% my integrations icon %}**_.
-
-{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf %}
-{{ name }} can be auto-discovered by Home Assistant. If an instance was found,
-it will be shown in the top of the list of integrations as _"Discovered"_.
-If that is the case click on the _**Configure**_ button to start setting up
-the discovered instance.
-
-If there wasn't any discovered automatically, don't worry! You can set up a
-manual integration entry:
-{% endif %}
-
- In the bottom right, click on the
_**{% my config_flow_start icon domain=page.ha_domain %}**_ button.
- From the list, search and select _**"{{ name }}"**_.
- Follow the instruction on screen to complete the set up.
-After completing, the {{ name }} integration will be immediately available for use.
+{% enddetails %}
diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown
index 19cacb1917c..3236d2f4251 100644
--- a/source/_integrations/sensor.markdown
+++ b/source/_integrations/sensor.markdown
@@ -29,6 +29,8 @@ The type of data a sensor returns impacts how it is displayed in the frontend. T
- **pressure**: Pressure in hPa or mbar.
- **timestamp**: Datetime object or timestamp string (ISO 8601).
- **voltage**: Voltage in V.
+- **carbon_monoxide**: Carbon Monoxide in CO (Gas CNG/LPG)
+- **carbon_dioxine**: Carbon Dioxine in CO2 (Smoke)
diff --git a/source/more-info/unsupported/job_conditions.markdown b/source/more-info/unsupported/job_conditions.markdown
index f916f0e3658..b0c7f955ca8 100644
--- a/source/more-info/unsupported/job_conditions.markdown
+++ b/source/more-info/unsupported/job_conditions.markdown
@@ -11,7 +11,7 @@ If the system is not working as expected, certain tasks can result in breaking t
## The solution
-To solve this you need to re-enable the protection mechanism by removing all the ignored conditions by using the CLI:
+To solve this you need to re-enable the protection mechanism by removing all the ignored conditions by using the command-line interface (CLI):
```bash
ha jobs reset