Enforce Markdown unordered list style (#28172)

This commit is contained in:
Franck Nijhof 2023-07-11 14:44:41 +02:00 committed by GitHub
parent 613662db9a
commit 1170f37732
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
113 changed files with 1268 additions and 1246 deletions

View File

@ -14,6 +14,7 @@ var remarkrc = {
["lint-no-shell-dollars"],
["remark-lint-heading-increment"],
["remark-lint-heading-style", "atx"],
["remark-lint-unordered-list-marker-style", "-"],
[
"remark-lint-prohibited-strings",
[

View File

@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities

19
package-lock.json generated
View File

@ -16,6 +16,7 @@
"remark-lint-heading-style": "^3.1.2",
"remark-lint-no-shell-dollars": "^3.1.2",
"remark-lint-prohibited-strings": "^3.1.0",
"remark-lint-unordered-list-marker-style": "^3.1.2",
"remark-stringify": "^10.0.3",
"textlint": "^13.3.3",
"textlint-filter-rule-comments": "^1.2.2",
@ -3614,6 +3615,24 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/remark-lint-unordered-list-marker-style": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-3.1.2.tgz",
"integrity": "sha512-JFiyB4ZprJGGndCaFB8FssXd48m4Kh+CUqzNgu3lBLEiW8dEAGRlD9M2AzyyA+Q29WJP/FntDCbP22DeON91UA==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
"unified": "^10.0.0",
"unified-lint-rule": "^2.0.0",
"unist-util-generated": "^2.0.0",
"unist-util-position": "^4.0.0",
"unist-util-visit": "^4.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
"node_modules/remark-message-control": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-7.1.1.tgz",

View File

@ -11,6 +11,7 @@
"remark-lint-heading-style": "^3.1.2",
"remark-lint-no-shell-dollars": "^3.1.2",
"remark-lint-prohibited-strings": "^3.1.0",
"remark-lint-unordered-list-marker-style": "^3.1.2",
"remark-stringify": "^10.0.3",
"textlint": "^13.3.3",
"textlint-filter-rule-comments": "^1.2.2",

View File

@ -7,8 +7,8 @@ The Multi-factor Authentication (MFA) modules require you to solve a second chal
A password can be compromised in a number of ways, for example, it can be guessed if it is a simple password. MFA provides a second level of defense by requiring:
* something you know, like your username and password, and
* something you have, like a one-time password sent to your phone.
- something you know, like your username and password, and
- something you have, like a one-time password sent to your phone.
You can use MFA with any of the other authentication providers. If more than one MFA module is enabled, you can choose one when you log in.

View File

@ -179,7 +179,7 @@ name = John Doe
Leading and trailing whitespace, as well as lines starting with `#` are ignored. The following variables are supported. More may be added in the future.
* `name`: The real name of the user to be displayed in their profile.
- `name`: The real name of the user to be displayed in their profile.
Stderr is not read at all and just passed through to that of the Home Assistant process, hence you can use it for status messages or suchlike.

View File

@ -128,9 +128,9 @@ You should also check the README for details on the overlays. You might find it
This procedure has been tested with the following modules:
* Aeotec Z-Pi 7 Raspberry Pi HAT/Shield
* Z-Wave.Me RaZberry 7
* Z-Wave.Me RaZberry 7 Pro
- Aeotec Z-Pi 7 Raspberry Pi HAT/Shield
- Z-Wave.Me RaZberry 7
- Z-Wave.Me RaZberry 7 Pro
1. Make sure the module is properly seated on the Home Assistant Yellow.
![Aeotec Z-Pi 7 on Home Assistant Yellow](/images/docs/z-wave/zpi-7-yellow.jpg).

View File

@ -4,11 +4,11 @@ Backup of your Home Assistant and add-on data and configuration. They are stored
A full backup includes the following directories:
* `config`
* `share`
* `addons` (only manually installed or created add-ons, not those installed from the store)
* `ssl`
* `media`
- `config`
- `share`
- `addons` (only manually installed or created add-ons, not those installed from the store)
- `ssl`
- `media`
A partial backup consists of any number of the above default directories and installed add-ons.

View File

@ -63,17 +63,17 @@ This will configure the ODROID-N2+ and OTG to act as a memory card reader:
1. Connect the ODROID-N2+ to your PC via the micro-USB port at the front of the ODROID-N2+.
1. When the ODROID-N2 is recognized as a USB connected storage device, you can flash the eMMC with [Etcher](https://www.balena.io/etcher/).
* Use the latest stable version of Home Assistant OS for the [ODROID-N2+](https://github.com/home-assistant/operating-system/releases/download/{{site.data.version_data.hassos['odroid-n2']}}/haos_odroid-n2-{{site.data.version_data.hassos['odroid-n2']}}.img.xz) (haos_odroid-n2-{{site.data.version_data.hassos['odroid-n2']}}.img.xz).
- Use the latest stable version of Home Assistant OS for the [ODROID-N2+](https://github.com/home-assistant/operating-system/releases/download/{{site.data.version_data.hassos['odroid-n2']}}/haos_odroid-n2-{{site.data.version_data.hassos['odroid-n2']}}.img.xz) (haos_odroid-n2-{{site.data.version_data.hassos['odroid-n2']}}.img.xz).
1. When the flash process is complete, disconnect the ODROID-N2+ from your PC.
* Remove the power cable.
* Remove the USB and HDMI cables.
* Make sure to toggle the boot mode switch back to MMC.
- Remove the power cable.
- Remove the USB and HDMI cables.
- Make sure to toggle the boot mode switch back to MMC.
1. Put the ODROID back in its case.
1. Connect your ODROID-N2+ to your network with an Ethernet cable and plug in power.
1. If your router supports mDNS, you can reach your installation at `http://homeassistant.local:8123`.
* If your network doesnt support mDNS, youll have to use the IP address of your ODROID-N2+ instead of `homeassistant.local`. For example, `http://192.168.0.9:8123`.
* You should be able to find the IP address of your ODROID-N2+ from the admin interface of your router.
- If your network doesnt support mDNS, youll have to use the IP address of your ODROID-N2+ instead of `homeassistant.local`. For example, `http://192.168.0.9:8123`.
- You should be able to find the IP address of your ODROID-N2+ from the admin interface of your router.
1. Continue with [onboarding](/getting-started/onboarding/).

View File

@ -15,8 +15,8 @@ If you are using Docker then you need to be on at least version 19.03.9, ideally
Installation with Docker is straightforward. Adjust the following command so that:
* `/PATH_TO_YOUR_CONFIG` points at the folder where you want to store your configuration and run it.
* `MY_TIME_ZONE` is a [tz database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), like `TZ=America/Los_Angeles`.
- `/PATH_TO_YOUR_CONFIG` points at the folder where you want to store your configuration and run it.
- `MY_TIME_ZONE` is a [tz database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), like `TZ=America/Los_Angeles`.
{% endif %}

View File

@ -21,25 +21,25 @@ Home Assistant bundles (US market):
The bundles come with Home Assistant pre-installed.
* [ODROID N2+: 2 GB RAM / 16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748729286935?ref=eeb6nfw07e)
* [ODROID N2+: 4 GB RAM / 64 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748729221399?ref=eeb6nfw07e)
* ODROID M1: 4 GB RAM / 256 GB NVMe / [16 GB µSD](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44929573028119?ref=eeb6nfw07e) or [16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44994940567831?ref=eeb6nfw07e)
* ODROID M1: 8 GB RAM / 256 GB NVMe / [16 GB µSD](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44929573093655?ref=eeb6nfw07e) or [16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44994940633367?ref=eeb6nfw07e)
* [ODROID M1: 8 GB RAM / 1 TB NVMe / 64 GB eMMC ](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44994940698903?ref=eeb6nfw07e)
* ODROID XU4: 2 GB RAM / [32 GB µSD](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748729352471?ref=eeb6nfw07e) or [16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748782305559?ref=eeb6nfw07e)
- [ODROID N2+: 2 GB RAM / 16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748729286935?ref=eeb6nfw07e)
- [ODROID N2+: 4 GB RAM / 64 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748729221399?ref=eeb6nfw07e)
- ODROID M1: 4 GB RAM / 256 GB NVMe / [16 GB µSD](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44929573028119?ref=eeb6nfw07e) or [16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44994940567831?ref=eeb6nfw07e)
- ODROID M1: 8 GB RAM / 256 GB NVMe / [16 GB µSD](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44929573093655?ref=eeb6nfw07e) or [16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44994940633367?ref=eeb6nfw07e)
- [ODROID M1: 8 GB RAM / 1 TB NVMe / 64 GB eMMC ](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44994940698903?ref=eeb6nfw07e)
- ODROID XU4: 2 GB RAM / [32 GB µSD](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748729352471?ref=eeb6nfw07e) or [16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748782305559?ref=eeb6nfw07e)
Variants without pre-installed Home Assistant:
* ODROID N2+, [2 GB RAM](https://ameridroid.com/products/odroid-n2-plus?variant=40371828719650?ref=eeb6nfw07e) or [4 GB RAM](https://ameridroid.com/products/odroid-n2-plus?variant=40371828752418?ref=eeb6nfw07e)
* [ODROID C4](https://ameridroid.com/products/odroid-c4?ref=eeb6nfw07e)
* [ODROID M1](https://ameridroid.com/products/odroid-M1?ref=eeb6nfw07e)
- ODROID N2+, [2 GB RAM](https://ameridroid.com/products/odroid-n2-plus?variant=40371828719650?ref=eeb6nfw07e) or [4 GB RAM](https://ameridroid.com/products/odroid-n2-plus?variant=40371828752418?ref=eeb6nfw07e)
- [ODROID C4](https://ameridroid.com/products/odroid-c4?ref=eeb6nfw07e)
- [ODROID M1](https://ameridroid.com/products/odroid-M1?ref=eeb6nfw07e)
* [Power Supply](https://ameridroid.com/products/12v-2a-power-supply-plug?ref=eeb6nfw07e)
* [CR2032 Coin Cell](https://ameridroid.com/products/rtc-bios-battery?ref=eeb6nfw07e)
* [eMMC Module](https://ameridroid.com/products/emmc-module-n2-linux-red-dot?ref=eeb6nfw07e)
* [Case](https://ameridroid.com/products/odroid-n2-case?ref=eeb6nfw07e)
- [Power Supply](https://ameridroid.com/products/12v-2a-power-supply-plug?ref=eeb6nfw07e)
- [CR2032 Coin Cell](https://ameridroid.com/products/rtc-bios-battery?ref=eeb6nfw07e)
- [eMMC Module](https://ameridroid.com/products/emmc-module-n2-linux-red-dot?ref=eeb6nfw07e)
- [Case](https://ameridroid.com/products/odroid-n2-case?ref=eeb6nfw07e)
* These are affiliated links. We get commissions for purchases made through links in this post.*
*These are affiliated links. We get commissions for purchases made through links in this post.*
{% endif %}
@ -165,7 +165,7 @@ _Select and copy the URL or use the "copy" button that appear when you hover it.
![Screenshot of the Etcher software showing the Flash button highlighted.](/images/installation/etcher5.png)
1. When Balena Etcher has finished writing the image, you will see a confirmation.
![Screenshot of the Etcher software showing that the installation has completed.](/images/installation/etcher6.png)
* If you are having issues with Balena Etcher, try version [1.10](https://github.com/balena-io/etcher/releases/tag/v1.10.4).
- If you are having issues with Balena Etcher, try version [1.10](https://github.com/balena-io/etcher/releases/tag/v1.10.4).
### Start up your {{site.installation.types[page.installation_type].board}}

View File

@ -89,11 +89,11 @@ This platform supports the services `alarm_disarm`, `alarm_arm_away`, `alarm_arm
For this system to operate correctly, the following IFTTT applets have to be setup. Obviously, if your alarm device does not support some states, no applets have to be provided for those.
* **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** disarm the alarm system.
* **IF** Webhook event `YOUR_ARM_HOME_EVENT` is called, **THEN** set the alarm system to armed home.
* **IF** Webhook event `YOUR_ARM_NIGHT_EVENT` is called, **THEN** set the alarm system to armed away.
* **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** set the alarm system to armed night.
* **IF** the alarm system was disarmed, **THEN** perform a Webhook `POST` web request to URL `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "disarmed"}`.
* **IF** the alarm system state changed to armed home, **THEN** perform a Webhook `POST` web request to URL `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_home"}`.
* **IF** the alarm system state changed to armed away, **THEN** perform a Webhook `POST` web request to URL `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_away"}`.
* **IF** the alarm system state changed to armed night, **THEN** perform a Webhook `POST` web request to URL `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_night"}`.
- **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** disarm the alarm system.
- **IF** Webhook event `YOUR_ARM_HOME_EVENT` is called, **THEN** set the alarm system to armed home.
- **IF** Webhook event `YOUR_ARM_NIGHT_EVENT` is called, **THEN** set the alarm system to armed away.
- **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** set the alarm system to armed night.
- **IF** the alarm system was disarmed, **THEN** perform a Webhook `POST` web request to URL `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "disarmed"}`.
- **IF** the alarm system state changed to armed home, **THEN** perform a Webhook `POST` web request to URL `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_home"}`.
- **IF** the alarm system state changed to armed away, **THEN** perform a Webhook `POST` web request to URL `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_away"}`.
- **IF** the alarm system state changed to armed night, **THEN** perform a Webhook `POST` web request to URL `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_night"}`.

View File

@ -20,18 +20,18 @@ Both [Anthem]'s current and last generation of A/V Receivers and Processors supp
### A/V Receiver
* [MRX 540](https://www.anthemav.com/products-current/type=av-receiver/model=mrx-540/page=overview), [MRX 740](https://www.anthemav.com/products-current/type=av-receiver/model=mrx-740/page=overview), [MRX 1140](https://www.anthemav.com/products-current/type=av-receiver/model=mrx-1140/page=overview)
* [MRX 520](https://www.anthemav.com/products-current/series=mrx-series-gen3/model=mrx-520/page=overview), [MRX 720](https://www.anthemav.com/products-current/collection=performance/model=mrx-720/page=overview), [MRX 1120](https://www.anthemav.com/products-current/collection=performance/model=mrx-1120/page=overview)
* [MRX 310](https://www.anthemav.com/products-archived/type=av-receiver/model=mrx-310/page=overview), [MRX 510](https://www.anthemav.com/products-archived/series=mrx-series/model=mrx-510/page=overview), [MRX 710](https://www.anthemav.com/products-archived/type=av-receiver/model=mrx-710/page=overview)
- [MRX 540](https://www.anthemav.com/products-current/type=av-receiver/model=mrx-540/page=overview), [MRX 740](https://www.anthemav.com/products-current/type=av-receiver/model=mrx-740/page=overview), [MRX 1140](https://www.anthemav.com/products-current/type=av-receiver/model=mrx-1140/page=overview)
- [MRX 520](https://www.anthemav.com/products-current/series=mrx-series-gen3/model=mrx-520/page=overview), [MRX 720](https://www.anthemav.com/products-current/collection=performance/model=mrx-720/page=overview), [MRX 1120](https://www.anthemav.com/products-current/collection=performance/model=mrx-1120/page=overview)
- [MRX 310](https://www.anthemav.com/products-archived/type=av-receiver/model=mrx-310/page=overview), [MRX 510](https://www.anthemav.com/products-archived/series=mrx-series/model=mrx-510/page=overview), [MRX 710](https://www.anthemav.com/products-archived/type=av-receiver/model=mrx-710/page=overview)
### A/V Processor
* [AVM 60](https://www.anthemav.com/products-current/model=avm-60/page=overview)
- [AVM 60](https://www.anthemav.com/products-current/model=avm-60/page=overview)
### Distribution Solution
* [MDX 8](https://www.anthemav.com/products-current/type=distribution/model=mdx-8/page=overview), [MDX 16](https://www.anthemav.com/products-current/type=distribution/model=mdx-16/page=overview)
* Martin Logan [MDA 8](https://www.martinlogan.com/en/product/mda8), [MDA 16](https://www.martinlogan.com/en/product/mda16)
- [MDX 8](https://www.anthemav.com/products-current/type=distribution/model=mdx-8/page=overview), [MDX 16](https://www.anthemav.com/products-current/type=distribution/model=mdx-16/page=overview)
- Martin Logan [MDA 8](https://www.martinlogan.com/en/product/mda8), [MDA 16](https://www.martinlogan.com/en/product/mda16)
If your model is not on the list then give it a test, if everything works correctly then add it to the list by clicking on the **Edit this page on GitHub** link above.
@ -51,8 +51,8 @@ port:
## Notes and Limitations
* The tuner is currently unsupported as are the `media_player` play, pause, prev, and next controls.
* Enabling this platform will set and enforce "Standby IP Control On" in your Anthem device. You almost certainly want this. If you disable it on the device, it will just get re-enabled by Home Assistant.
- The tuner is currently unsupported as are the `media_player` play, pause, prev, and next controls.
- Enabling this platform will set and enforce "Standby IP Control On" in your Anthem device. You almost certainly want this. If you disable it on the device, it will just get re-enabled by Home Assistant.
<div class='note warning'>

View File

@ -17,8 +17,8 @@ This platform allows you to detect presence by looking at connected devices to a
This is one of the routers provided by:
* [Ziggo](https://www.ziggo.nl/), a cable operator in the Netherlands, to their customers as the Ziggo Connectbox.
* [Virgin Media](https://www.virginmedia.com/), a cable operator in the United Kingdom, to their customers as the Hub 3.
- [Ziggo](https://www.ziggo.nl/), a cable operator in the Netherlands, to their customers as the Ziggo Connectbox.
- [Virgin Media](https://www.virginmedia.com/), a cable operator in the United Kingdom, to their customers as the Hub 3.
<div class='note warning'>
The router prevents the admin user from logging in twice. This can cause problems with accessing the router's configuration pages while this platform is active.

View File

@ -19,7 +19,7 @@ In order to use it, SNMP must be enabled on your PDU. It is recommended to use S
Tested devices:
* [PE8324G](https://www.aten.com/eu/en/products/energy-intelligence-pduupsracks/rack-pdu/pe8324/)
- [PE8324G](https://www.aten.com/eu/en/products/energy-intelligence-pduupsracks/rack-pdu/pe8324/)
To set it up, add the following information to your `configuration.yaml` file:

View File

@ -37,13 +37,13 @@ This integration refreshes once every 5 minutes, based on the [default per-devic
The integration will fetch data from each device. The following sensors are supported:
* Temperature
* Humidity
* Carbon dioxide
* Total volatile organic compounds
* PM2.5 density
* PM10 density
* Sound level
* Luminescence
- Temperature
- Humidity
- Carbon dioxide
- Total volatile organic compounds
- PM2.5 density
- PM10 density
- Sound level
- Luminescence
Not all devices support all sensors; consult Awair's documentation to find out what sensors are present on your device. For first-generation Awair devices with a "dust" sensor, the integration will create identical PM2.5 and PM10 sensors (which reflects the capabilities of the sensor - it can detect dust between PM2.5 and PM10 but cannot differentiate between them).

View File

@ -282,11 +282,11 @@ script:
You can use `remote.delete_command` to remove commands that you've learned with the `remote.learn_command` service.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------- |
| `entity_id` | no | ID of the remote. |
| `device` | no | Name of the device. |
| `command` | no | Names of the commands to be deleted. |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------ |
| `entity_id` | no | ID of the remote. |
| `device` | no | Name of the device. |
| `command` | no | Names of the commands to be deleted. |
#### Deleting a command
@ -656,9 +656,9 @@ After a success, do one of the following two options:
```
2. To learn a button hold RF code, hold the button you wish to learn for 1-2 seconds then immediately press enter.
* You will see the same prompts for a short press as shown above. You should see it return a different base64 code.
* Test the base64 code to ensure it performs the button 'hold' command as expected, rather than the button 'press' command.
* This might take some trial and error to get the hold timing right before hitting enter to scan for the code.
- You will see the same prompts for a short press as shown above. You should see it return a different base64 code.
- Test the base64 code to ensure it performs the button 'hold' command as expected, rather than the button 'press' command.
- This might take some trial and error to get the hold timing right before hitting enter to scan for the code.
### Conversion of codes from other projects

View File

@ -49,24 +49,24 @@ The following entities will be created:
- **Barometer forecast**: A numeric barometric forecast (1 to 7)
- **Barometer forecast name**: A textual representation of the barometer forecast (eg: Thunderstorms, Stable, etc.)
- **Condition code**: A symbol and a unique code identifying the current weather condition
* `a`: sunny/clear
* `b`: Mix of clear and medium or low clouds
* `j`: Mix of clear and high clouds
* `o/r`: Partly cloudy (increasing character increases the condition)
* `c`: Heavily clouded
* `p`: Cloudy
* `d`: Alternating cloudy with local fog
* `n`: Clear and local mist or fog
* `f`: Alternatingly cloudy with some light rain
* `h/k/l`: rainy (increasing character increases the condition)
* `q`: Heavily clouded with rain
* `w`: Heavily clouded with rain and winter precipitation
* `m`: Heavily clouded with some light rain
* `u`: Cloudy with light snow
* `i/v`: Heavily clouded with light snowfall (increasing character increases the condition)
* `t`: (Heavy snowfall)
* `g`: (Clear with (possibly) some heavy lightning)
* `s`: (Cloudy with (possibly) some heavy (thunderstorms) showers)
- `a`: sunny/clear
- `b`: Mix of clear and medium or low clouds
- `j`: Mix of clear and high clouds
- `o/r`: Partly cloudy (increasing character increases the condition)
- `c`: Heavily clouded
- `p`: Cloudy
- `d`: Alternating cloudy with local fog
- `n`: Clear and local mist or fog
- `f`: Alternatingly cloudy with some light rain
- `h/k/l`: rainy (increasing character increases the condition)
- `q`: Heavily clouded with rain
- `w`: Heavily clouded with rain and winter precipitation
- `m`: Heavily clouded with some light rain
- `u`: Cloudy with light snow
- `i/v`: Heavily clouded with light snowfall (increasing character increases the condition)
- `t`: (Heavy snowfall)
- `g`: (Clear with (possibly) some heavy lightning)
- `s`: (Cloudy with (possibly) some heavy (thunderstorms) showers)
- **Condition**: A symbol and the current weather condition (`clear`, `cloudy`, `fog`, `rainy`, `snowy` or `lightning`)
- **Condition detailed**: A symbol and detailed current weather condition (`clear`, `partlycloudy`, `cloudy`, `partlycloudy-fog`, `partlycloudy-light-rain`, `partlycloudy-rain`, `light-rain`, `rainy`, `snowy-rainy`, `partlycloudy-light-snow`, `partlycloudy-snow`, `light-snow`, `snowy`, `partlycloudy-lightning` or `lightning`)
- **Condition exact**: A symbol with the full current weather condition (in English)

View File

@ -17,14 +17,14 @@ The `cisco_webex_teams` notification platform allows you to deliver rich notific
To use this notification platform you will need an app (bot) token. To obtain a token visit [Cisco Webex for Developers](https://developer.webex.com/).
* Detailed instructions can be found in the section titled **Creating a Webex Teams Bot** on the [Webex Teams bot documentation](https://developer.webex.com/docs/bots).
- Detailed instructions can be found in the section titled **Creating a Webex Teams Bot** on the [Webex Teams bot documentation](https://developer.webex.com/docs/bots).
You also need to specify the `room_id` that you wish to post messages into. The `room_id` can be found in one of two ways:
1. Logging in at [Cisco Webex for Developers](https://developer.webex.com/) and navigate to `Documentation`>`API Reference`>`Messages` and select List Messages, or
2. Log into the web client at [teams.webex.com](https://teams.webex.com/),
* select the room (or create a new room),
* then copying the room ID from the URL.
- select the room (or create a new room),
- then copying the room ID from the URL.
<div class='note'>
@ -118,23 +118,23 @@ Here are the automations for the above screenshot:
The following is a list of the allowed html tags and attributes:
Tag | More Info
--- | ---
`<@personEmail:email@examplecompany.com>` | Used to tag another Webex Team user by email address.
`<a>` | Defines a hyperlink. Allows attribute `href`.
`<blockquote>` | Defines a section that is quoted from another source. Allows attribute `class` with allowed values `danger`, `warning`, `info`, `primary`, `secondary`.
`<b>` | Defines bold text.
`<strong>` | Defines important text.
`<i>` | Defines italic text.
`<em>` | Defines emphasized text.
`<pre>` | Defines preformatted text.
`<code>` | Defines a piece of computer code.
`<br>` | Defines a single line break.
`<p>` | Defines a paragraph.
`<ul>` | Defines an unordered list.
`<ol>` | Defines an ordered list.
`<li>` | Defines a list item.
`<h1>` to `<h3>` | Defines HTML headings.
| Tag | More Info |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `<@personEmail:email@examplecompany.com>` | Used to tag another Webex Team user by email address. |
| `<a>` | Defines a hyperlink. Allows attribute `href`. |
| `<blockquote>` | Defines a section that is quoted from another source. Allows attribute `class` with allowed values `danger`, `warning`, `info`, `primary`, `secondary`. |
| `<b>` | Defines bold text. |
| `<strong>` | Defines important text. |
| `<i>` | Defines italic text. |
| `<em>` | Defines emphasized text. |
| `<pre>` | Defines preformatted text. |
| `<code>` | Defines a piece of computer code. |
| `<br>` | Defines a single line break. |
| `<p>` | Defines a paragraph. |
| `<ul>` | Defines an unordered list. |
| `<ol>` | Defines an ordered list. |
| `<li>` | Defines a list item. |
| `<h1>` to `<h3>` | Defines HTML headings. |
{% configuration %}
name:

View File

@ -14,9 +14,9 @@ ha_integration_type: integration
Home Assistant has a built-in integration called `device_sun_light_trigger` to help you automate your lights. The integration will:
* Fade in the lights when the sun is setting and there are people home
* Turn on the lights when people get home after the sun has set
* Turn off the lights when all people leave the house
- Fade in the lights when the sun is setting and there are people home
- Turn on the lights when people get home after the sun has set
- Turn off the lights when all people leave the house
This integration requires the integrations [sun](/integrations/sun/), [device_tracker](/integrations/device_tracker/), [person](/integrations/person/) and [light](/integrations/light/) to be enabled.

View File

@ -121,8 +121,8 @@ json_attributes_topic:
description: "The MQTT topic subscribed to receive a JSON dictionary message containing device tracker attributes.
This topic can be used to set the location of the device tracker under the following conditions:
* If the attributes in the JSON message include `longitude`, `latitude`, and `gps_accuracy` (optional).\n
* If the device tracker is within a configured [zone](/integrations/zone/).\n
- If the attributes in the JSON message include `longitude`, `latitude`, and `gps_accuracy` (optional).\n
- If the device tracker is within a configured [zone](/integrations/zone/).\n
If these conditions are met, it is not required to configure `state_topic`.\n\n
Be aware that any location message received at `state_topic` overrides the location received via `json_attributes_topic` until a message configured with `payload_reset` is received at `state_topic`. For a more generic usage example of the `json_attributes_topic`, refer to the [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-topic-configuration) documentation."

View File

@ -36,61 +36,61 @@ Currently the following device types within Home Assistant are supported.
### Binary Sensors
* Device attached to the router
* Updates every 5 minutes
* Is disabled by default because it typically rarely changes
- Device attached to the router
- Updates every 5 minutes
- Is disabled by default because it typically rarely changes
### Buttons
* Identify a PLC device by making its LED blink for 2 minutes
* Start pairing on a PLC device
* Restart the device
* Start WPS
- Identify a PLC device by making its LED blink for 2 minutes
- Start pairing on a PLC device
- Restart the device
- Start WPS
### Presence Detection
* Detect presence of devices connected to the main or the guest wifi
* Updates every 10 seconds
* Automatically adds new devices as disabled entities unless disabled via system option
- Detect presence of devices connected to the main or the guest wifi
- Updates every 10 seconds
- Automatically adds new devices as disabled entities unless disabled via system option
### Sensors
* Number of connected wifi clients
* Updates every 10 seconds
* Is enabled by default
* Number of neighbored wifi networks
* Updates every 5 minutes
* Is disabled by default because it runs quite long
* Number of PLC devices in the same PLC network
* Updates every 5 minutes
* Is disabled by default because it typically rarely changes
- Number of connected wifi clients
- Updates every 10 seconds
- Is enabled by default
- Number of neighbored wifi networks
- Updates every 5 minutes
- Is disabled by default because it runs quite long
- Number of PLC devices in the same PLC network
- Updates every 5 minutes
- Is disabled by default because it typically rarely changes
### Switch
* Turn on/off guest wifi
* Is enabled by default
* Turn on/off the device LEDs
* Is enabled by default
- Turn on/off guest wifi
- Is enabled by default
- Turn on/off the device LEDs
- Is enabled by default
## Supported devolo Devices
The list of supported devolo devices depends on the device firmware and the device features. The following devices were tested running firmware 5.6.0:
* Magic 2 WiFi 6
* Magic 2 WiFi next
* Magic 2 WiFi 2-1
* Magic 1 WiFi mini
* Magic 1 WiFi 2-1
* WiFi 6 Repeater 5400
* WiFi 6 Repeater 3000
* WiFi Repeater+ ac
* dLAN 1200+ WiFi ac
* dLAN 550+ Wifi
* dLAN 550 WiFi
- Magic 2 WiFi 6
- Magic 2 WiFi next
- Magic 2 WiFi 2-1
- Magic 1 WiFi mini
- Magic 1 WiFi 2-1
- WiFi 6 Repeater 5400
- WiFi 6 Repeater 3000
- WiFi Repeater+ ac
- dLAN 1200+ WiFi ac
- dLAN 550+ Wifi
- dLAN 550 WiFi
Since firmware 7.10 also the following device without Wifi can be used as long as the corresponding entities are supported:
* Magic 2 LAN triple
* Magic 2 DinRail
* Magic 2 LAN 1-1
* Magic 1 LAN 1-1
- Magic 2 LAN triple
- Magic 2 DinRail
- Magic 2 LAN 1-1
- Magic 1 LAN 1-1

View File

@ -15,11 +15,11 @@ This is the legacy discovery integration for Home Assistant. It's use is no long
This integration is limited to detect:
* [Bluesound speakers](/integrations/bluesound)
* [Bose Soundtouch speakers](/integrations/soundtouch)
* [Enigma2 media player](/integrations/enigma2)
* [SABnzbd downloader](/integrations/sabnzbd)
* [Yamaha media player](/integrations/yamaha)
- [Bluesound speakers](/integrations/bluesound)
- [Bose Soundtouch speakers](/integrations/soundtouch)
- [Enigma2 media player](/integrations/enigma2)
- [SABnzbd downloader](/integrations/sabnzbd)
- [Yamaha media player](/integrations/yamaha)
To load this integration, add the following lines to your `configuration.yaml` file:
@ -44,12 +44,12 @@ enable:
Valid values for ignore are:
* `bluesound`: Bluesound speakers
* `bose_soundtouch`: Bose Soundtouch speakers
* `enigma2`: Enigma2 media players
* `lg_smart_device`: LG Soundbars
* `sabnzbd`: SABnzbd downloader
* `yamaha`: Yamaha media player
- `bluesound`: Bluesound speakers
- `bose_soundtouch`: Bose Soundtouch speakers
- `enigma2`: Enigma2 media players
- `lg_smart_device`: LG Soundbars
- `sabnzbd`: SABnzbd downloader
- `yamaha`: Yamaha media player
## Troubleshooting

View File

@ -41,17 +41,17 @@ Show incompatible media when browsing:
DLNA devices can support a range of features. Depending on the device itself, the following [media_player](/integrations/media_player/#services) services may be supported:
* `media_player.volume_up`, `media_player.volume_down`, and `media_player.volume_set`
* `media_player.volume_mute`
* `media_player.media_play`
* `media_player.media_pause` and `media_player.media_play_pause`
* `media_player.media_stop`
* `media_player.media_next_track`
* `media_player.media_previous_track`
* `media_player.play_media`
* `media_player.shuffle_set`
* `media_player.repeat_set`
* `media_player.select_sound_mode`
- `media_player.volume_up`, `media_player.volume_down`, and `media_player.volume_set`
- `media_player.volume_mute`
- `media_player.media_play`
- `media_player.media_pause` and `media_player.media_play_pause`
- `media_player.media_stop`
- `media_player.media_next_track`
- `media_player.media_previous_track`
- `media_player.play_media`
- `media_player.shuffle_set`
- `media_player.repeat_set`
- `media_player.select_sound_mode`
## Playing media

View File

@ -47,8 +47,8 @@ Log in to the regular consumer portal and click the overflow menu button in the
1. Select the **Developer** option from the hamburger menu on the top-right.
2. Select **Create New**.
3. Complete the form on the right. (Neither of the fields are referenced by Home Assistant)
* Name: Must be unique across all ecobee users.
* Summary: Does not need to be unique.
- Name: Must be unique across all ecobee users.
- Summary: Does not need to be unique.
4. Click *Authorization method* and select **ecobee PIN**.
5. Click **Create**.
@ -126,12 +126,12 @@ When enabling the auxiliary heat toggle, the ecobee thermostat HVAC mode will be
The ecobee climate entity has some extra attributes to represent the state of the thermostat.
| Name | Description |
| ---- | ----------- |
| `fan` | If the fan is currently on or off: `on` / `off`.
| `climate_mode` | This is the climate mode that is active, or would be active if no override is active.
| `equipment_running` | This is a comma-separated list of equipment that is currently running.
| `fan_min_on_time` | The minimum amount of time (in minutes) that the fan will run per hour. This is determined by the minimum fan runtime setting which can be changed in the ecobee app or on the thermostat itself.
| Name | Description |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fan` | If the fan is currently on or off: `on` / `off`. |
| `climate_mode` | This is the climate mode that is active, or would be active if no override is active. |
| `equipment_running` | This is a comma-separated list of equipment that is currently running. |
| `fan_min_on_time` | The minimum amount of time (in minutes) that the fan will run per hour. This is determined by the minimum fan runtime setting which can be changed in the ecobee app or on the thermostat itself. |
## Ventilator
@ -141,10 +141,10 @@ The ecobee thermostat supports the addition of an accessory. If you have an air
### Number
| Name | Description |
| ---- | ----------- |
| `ventilator_min_on_time_home` | The minimum amount of time (in minutes) that the ventilator will run per hour, when you are home. This is determined by the minimum ventilator runtime setting which can be changed in the ecobee app or on the thermostat itself.
| `ventilator_min_on_time_away` | The minimum amount of time (in minutes) that the ventilator will run per hour, when you are away. This is determined by the minimum ventilator runtime setting which can be changed in the ecobee app or on the thermostat itself.
| Name | Description |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ventilator_min_on_time_home` | The minimum amount of time (in minutes) that the ventilator will run per hour, when you are home. This is determined by the minimum ventilator runtime setting which can be changed in the ecobee app or on the thermostat itself. |
| `ventilator_min_on_time_away` | The minimum amount of time (in minutes) that the ventilator will run per hour, when you are away. This is determined by the minimum ventilator runtime setting which can be changed in the ecobee app or on the thermostat itself. |
## Services
@ -169,9 +169,9 @@ Creates a vacation on the selected ecobee thermostat.
| `cool_temp` | no | Cooling temperature during the vacation |
| `heat_temp` | no | Heating temperature during the vacation |
| `start_date` | yes | Date the vacation starts in YYYY-MM-DD format |
| `start_time` | yes | Time the vacation starts in the local time zone. Must be in 24-hour format (HH:MM:SS) |
| `start_time` | yes | Time the vacation starts in the local time zone. Must be in 24-hour format (HH:MM:SS) |
| `end_date` | yes | Date the vacation ends in YYYY-MM-DD format (14 days from now if not provided) |
| `end_time` | yes | Time the vacation ends in the local time zone. Must be in 24-hour format (HH:MM:SS) |
| `end_time` | yes | Time the vacation ends in the local time zone. Must be in 24-hour format (HH:MM:SS) |
| `fan_mode` | yes | Fan mode of the thermostat during the vacation (auto or on) (auto if not provided) |
| `fan_min_on_time` | yes | Minimum number of minutes to run the fan each hour (0 to 60) during the vacation (0 if not provided) |
@ -188,37 +188,37 @@ Delete a vacation on the selected ecobee thermostat.
Resumes the currently active schedule.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------ |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Use `entity_id: all` to target all. |
| `resume_all` | no | true or false |
| `resume_all` | no | true or false |
### Service `ecobee.set_fan_min_on_time`
Sets the minimum amount of time that the fan will run per hour.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------ |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Use `entity_id: all` to target all. |
| `fan_min_on_time` | no | integer (e.g., 5) |
| `fan_min_on_time` | no | integer (e.g., 5) |
### Service `ecobee.set_dst_mode`
Enable/disable automatic daylight savings time.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------- |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------ |
| `entity_id` | yes | ecobee thermostat on which to set daylight savings time mode |
| `dst_enabled` | no | true or false |
| `dst_enabled` | no | true or false |
### Service `ecobee.set_mic_mode`
Enable/disable Alexa mic (only for ecobee 4).
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------- |
| `entity_id` | yes | ecobee thermostat on which to set the mic mode |
| `mic_enabled` | no | true or false |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------- |
| `entity_id` | yes | ecobee thermostat on which to set the mic mode |
| `mic_enabled` | no | true or false |
### Service `ecobee.set_occupancy_modes`

View File

@ -79,12 +79,12 @@ After starting up, you can check if the emulated Roku is reachable at the specif
All Roku commands are sent as `roku_command` events.
Field | Description
----- | -----------
`source_name` | Name of the emulated Roku instance that sent the event. Only required when using multiple instances to filter event sources.
`type` | The type of the event that was called on the API.
`key` | the code of the pressed key when the command `type` is `keypress`, `keyup` or `keydown`.
`app_id` | the id of the app that was launched when command `type` is `launch`.
| Field | Description |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `source_name` | Name of the emulated Roku instance that sent the event. Only required when using multiple instances to filter event sources. |
| `type` | The type of the event that was called on the API. |
| `key` | the code of the pressed key when the command `type` is `keypress`, `keyup` or `keydown`. |
| `app_id` | the id of the app that was launched when command `type` is `launch`. |
Available key codes |
------------------- |
@ -131,12 +131,12 @@ When using Harmony, the app should auto-discover any changes via UPnP discovery
Alternatively, you can trigger the 'Fix' page by pressing a button on the unreachable device's remote in the app and wait ~10 seconds, then click 'Fix it'.
Known limitations:
* Some Android remotes send key up/down events instead of key presses.
* Functionality other than key presses and app launches are not implemented yet.
* App ids are limited between 1-10. (The emulated API reports 10 dummy apps)
* Harmony uses UPnP discovery (UPnP is not needed after pairing), which might not work in Docker. You can:
* Change Docker to host networking temporarily, then revert after pairing.
* Run the `advertise.py` helper script from the emulated_roku library directly somewhere else and point it to the emulated Roku API.
* Harmony cannot launch apps as it uses IR instead of the Wi-Fi API and will not display the custom dummy app list.
* Home control buttons cannot be assigned to emulated Roku on the Harmony Hub Companion remote as they are limited to Hue (and possibly other APIs) within Harmony.
* Harmony will not set the name of the added emulated Roku device to the specified `name`.
- Some Android remotes send key up/down events instead of key presses.
- Functionality other than key presses and app launches are not implemented yet.
- App ids are limited between 1-10. (The emulated API reports 10 dummy apps)
- Harmony uses UPnP discovery (UPnP is not needed after pairing), which might not work in Docker. You can:
- Change Docker to host networking temporarily, then revert after pairing.
- Run the `advertise.py` helper script from the emulated_roku library directly somewhere else and point it to the emulated Roku API.
- Harmony cannot launch apps as it uses IR instead of the Wi-Fi API and will not display the custom dummy app list.
- Home control buttons cannot be assigned to emulated Roku on the Harmony Hub Companion remote as they are limited to Hue (and possibly other APIs) within Harmony.
- Harmony will not set the name of the added emulated Roku device to the specified `name`.

View File

@ -158,10 +158,10 @@ name:
The EnOcean sensor platform currently supports the following device types:
* [power sensor](#power-sensor)
* [humidity sensor](#humidity-sensor)
* [temperature sensor](#temperature-sensor)
* [window handle](#window-handle)
- [power sensor](#power-sensor)
- [humidity sensor](#humidity-sensor)
- [temperature sensor](#temperature-sensor)
- [window handle](#window-handle)
To use your EnOcean device, you first have to set up your [EnOcean hub](#hub) and then add the following to your `configuration.yaml` file:

View File

@ -35,9 +35,9 @@ Flume notifications are available via binary sensors. To clear the notifications
The following notifications are supported:
* Bridge disconnected
* High flow
* Leak detected
- Bridge disconnected
- High flow
- Leak detected
## Configuration for Binary Sensor

View File

@ -12,11 +12,11 @@ ha_integration_type: integration
This integration adds [Watchdog](https://pythonhosted.org/watchdog/) file system monitoring, publishing events on the Home Assistant bus on the creation/deletion/modification of files within configured folders. The monitored `event_type` are:
* `closed`
* `created`
* `deleted`
* `modified`
* `moved`
- `closed`
- `created`
- `deleted`
- `modified`
- `moved`
Configured folders must be added to [allowlist_external_dirs](/docs/configuration/basic/). Note that by default folder monitoring is recursive, meaning that the contents of sub-folders are also monitored.

View File

@ -41,9 +41,9 @@ sensor:
Every ten minutes, it'll fetch the last ten minutes average of the following measurements:
* Temperature
* Humidity
* Co2
* VOC
* PM2.5
* [Index](https://help.foobot.io/hc/en-us/articles/204814371-What-does-central-number-mean-)
- Temperature
- Humidity
- Co2
- VOC
- PM2.5
- [Index](https://help.foobot.io/hc/en-us/articles/204814371-What-does-central-number-mean-)

View File

@ -28,10 +28,10 @@ The `freebox` integration allows you to observe and control [Freebox router](htt
There is currently support for the following device types within Home Assistant:
* [Sensor](#sensor) with metrics for connection speed, internal temperature, free partition space and missed calls
* [Device tracker](#presence-detection) for connected devices
* [Switch](#switch) to control Wi-Fi
* [Camera](#camera)
- [Sensor](#sensor) with metrics for connection speed, internal temperature, free partition space and missed calls
- [Device tracker](#presence-detection) for connected devices
- [Switch](#switch) to control Wi-Fi
- [Camera](#camera)
{% include integrations/config_flow.md %}
@ -88,10 +88,10 @@ To use cameras from the Freebox Delta, you will have to add "Gestion de l'alarme
Only the routers with Freebox OS are supported:
* Freebox V8 also known as Freebox Pop
* Freebox V7 also known as Freebox Delta
* Freebox V6 also known as Freebox Revolution
* Freebox mini 4k
- Freebox V8 also known as Freebox Pop
- Freebox V7 also known as Freebox Delta
- Freebox V6 also known as Freebox Revolution
- Freebox mini 4k
## Presence Detection
@ -112,10 +112,10 @@ refreshes the devices states.
This platform offers you sensors to monitor a Freebox router.
The monitored metrics are:
* Internal temperature
* Upload and download rates (in KB/s)
* Free partition space of used disks
* Number of missed calls
- Internal temperature
- Upload and download rates (in KB/s)
- Free partition space of used disks
- Number of missed calls
## Camera
Cameras are only available in Freebox V7 (also known as Freebox Delta).

View File

@ -23,12 +23,12 @@ Frontier Silicon is used by many different brands of radio manufacturers.
Supported devices include, but are not limited to:
* Hama: [IR50], [IR110], [DIR3110]
* Medion: [Medion Radios]
* Silvercrest: [SIRD 14 C2 (archived website)]
* Teufel: [Radio 3sixty (2019)]
* Roberts: [Roberts Stream 94i]
* Some models from: Auna, Technisat, Revo, Pinell, Como Audio
- Hama: [IR50], [IR110], [DIR3110]
- Medion: [Medion Radios]
- Silvercrest: [SIRD 14 C2 (archived website)]
- Teufel: [Radio 3sixty (2019)]
- Roberts: [Roberts Stream 94i]
- Some models from: Auna, Technisat, Revo, Pinell, Como Audio
This integration was developed and tested with a [Roberts Stream 94i].

View File

@ -12,8 +12,8 @@ ha_integration_type: integration
---
The `futurenow` light platform allows you to use [P5](https://www.p5.hu/) FutureNow relay/dimmer units as lights. Currently supported units:
* [FutureNow FNIP-6x2AD](https://www.p5.hu/index.php/products/ethernet-modules/265-fnip-6x2ad) dimmer unit (outputs only)
* [FutureNow FNIP-8x10A](https://www.p5.hu/index.php/products/ethernet-modules/263-fnip-8x10a) relay unit (outputs only)
- [FutureNow FNIP-6x2AD](https://www.p5.hu/index.php/products/ethernet-modules/265-fnip-6x2ad) dimmer unit (outputs only)
- [FutureNow FNIP-8x10A](https://www.p5.hu/index.php/products/ethernet-modules/263-fnip-8x10a) relay unit (outputs only)
### Configuration Sample

View File

@ -95,9 +95,9 @@ For example, your calendar named *Personal* is created as entity `calendar.perso
Individual Calendar *Events* are what powering automations such as:
* Turn on a light at the *start* of the event named *Front Yard Light*
* Send a notification *5 minutes before the start of any event*
* Stop the media player *30 minutes after* the *end* of the event named *Exercise*.
- Turn on a light at the *start* of the event named *Front Yard Light*
- Send a notification *5 minutes before the start of any event*
- Stop the media player *30 minutes after* the *end* of the event named *Exercise*.
See [Calendar Automations](/integrations/calendar#automation) for an overview, and read more about [Calendar Trigger Variables](/docs/automation/templating/#calendar) for the available information you can use in a condition or action such as the event `summary`, `description`, `location` and more.
@ -137,16 +137,16 @@ This will only be available if you have given Home Assistant `read-write` access
A calendar `target` is selected with a [Target Selector](/docs/blueprint/selectors/#target-selector) and the `data` payload supports the following fields:
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | --------|
| `summary` | no | Acts as the title of the event. | Bowling
| `description` | yes | The description of the event. | Birthday bowling
| `start_date_time` | yes | The date and time the event should start. | 2019-03-10 20:00:00
| `end_date_time` | yes | The date and time the event should end. | 2019-03-10 23:00:00
| `start_date` | yes | The date the whole day event should start. | 2019-03-10
| `end_date` | yes | The date the whole day event should end. | 2019-03-11
| `in` | yes | Days or weeks that you want to create the event in. | "days": 2
| `location` | yes | The location of the event. | Bowling center
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | --------------------------------------------------- | ------------------- |
| `summary` | no | Acts as the title of the event. | Bowling |
| `description` | yes | The description of the event. | Birthday bowling |
| `start_date_time` | yes | The date and time the event should start. | 2019-03-10 20:00:00 |
| `end_date_time` | yes | The date and time the event should end. | 2019-03-10 23:00:00 |
| `start_date` | yes | The date the whole day event should start. | 2019-03-10 |
| `end_date` | yes | The date the whole day event should end. | 2019-03-11 |
| `in` | yes | Days or weeks that you want to create the event in. | "days": 2 |
| `location` | yes | The location of the event. | Bowling center |
<div class='note'>

View File

@ -30,9 +30,9 @@ tts:
API key obtaining process described in corresponding documentation:
* [Text-to-speech](https://cloud.google.com/text-to-speech/docs/quickstart-protocol)
* [Speech-to-text](https://cloud.google.com/speech-to-text/docs/quickstart-protocol)
* [Geocoding](https://developers.google.com/maps/documentation/geocoding/start)
- [Text-to-speech](https://cloud.google.com/text-to-speech/docs/quickstart-protocol)
- [Speech-to-text](https://cloud.google.com/speech-to-text/docs/quickstart-protocol)
- [Geocoding](https://developers.google.com/maps/documentation/geocoding/start)
Basic instruction for all APIs:
@ -43,9 +43,9 @@ Basic instruction for all APIs:
5. Enable needed Cloud API visiting one of the links below or [APIs library](https://console.cloud.google.com/apis/library), selecting your `Project` from the dropdown list and clicking the `Continue` button:
* [Text-to-speech](https://console.cloud.google.com/flows/enableapi?apiid=texttospeech.googleapis.com)
* [Speech-to-text](https://console.cloud.google.com/flows/enableapi?apiid=speech.googleapis.com)
* [Geocoding](https://console.cloud.google.com/flows/enableapi?apiid=geocoding-backend.googleapis.com)
- [Text-to-speech](https://console.cloud.google.com/flows/enableapi?apiid=texttospeech.googleapis.com)
- [Speech-to-text](https://console.cloud.google.com/flows/enableapi?apiid=speech.googleapis.com)
- [Geocoding](https://console.cloud.google.com/flows/enableapi?apiid=geocoding-backend.googleapis.com)
6. Set up authentication:
1. Visit [this link](https://console.cloud.google.com/apis/credentials/serviceaccountkey)
@ -67,7 +67,7 @@ Basic instruction for all APIs:
The Cloud text-to-speech API is priced monthly based on the amount of characters to synthesize into audio sent to the service.
| Feature | Monthly free tier | Paid usage |
|-------------------------------|---------------------------|-----------------------------------|
| ----------------------------- | ------------------------- | --------------------------------- |
| Standard (non-WaveNet) voices | 0 to 4 million characters | $4.00 USD / 1 million characters |
| WaveNet voices | 0 to 1 million characters | $16.00 USD / 1 million characters |

View File

@ -71,19 +71,19 @@ url:
The API is exposed to Home Assistant as a service called `habitica.api_call`. To call it you should specify this keys in service data:
| Service data attribute | Required | Type | Description |
|----------------------|--------|--------|----------------|
| `name` | yes | string | Habitica's username as per `configuration.yaml` entry. |
| `path` | yes | [string] | Items from API URL in form of an array with method attached at the end. See the example below. |
| `args` | no | map | Any additional JSON or URL parameter arguments. See the example below and [apidoc](https://habitica.com/apidoc/). |
| Service data attribute | Required | Type | Description |
| ---------------------- | -------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
| `name` | yes | string | Habitica's username as per `configuration.yaml` entry. |
| `path` | yes | [string] | Items from API URL in form of an array with method attached at the end. See the example below. |
| `args` | no | map | Any additional JSON or URL parameter arguments. See the example below and [apidoc](https://habitica.com/apidoc/). |
A successful call to this service will fire an event `habitica_api_call_success`.
| Event data attribute | Type | Description |
|----------------------|--------|----------------|
| `name` | string | Copied from service data attribute. |
| `path` | [string] | Copied from service data attribute. |
| `data` | map | Deserialized `data` field of JSON object Habitica's server returned in response to API call. For more info see the [API documentation](https://habitica.com/apidoc/). |
| Event data attribute | Type | Description |
| -------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name` | string | Copied from service data attribute. |
| `path` | [string] | Copied from service data attribute. |
| `data` | map | Deserialized `data` field of JSON object Habitica's server returned in response to API call. For more info see the [API documentation](https://habitica.com/apidoc/). |
#### Let's consider some examples on how to call the service.
@ -92,12 +92,12 @@ Let's create a new task (a todo) for this user via Home Assistant. There is an [
To create a new task one should hit `https://habitica.com/api/v3/tasks/user` endpoint with `POST` request with a JSON object with task properties.
So let's call the API on `habitica.api_call`.
* The `name` key becomes `xxxNotAValidNickxxx`.
* The `path` key is trickier.
* Remove `https://habitica.com/api/v3/` at the beginning of the endpoint URL.
* Split the remaining on slashes (/) and **append the lowercase method** at the end.
* You should get `["tasks", "user", "post"]`. To get a better idea of the API you are recommended to try all of the API calls in IPython console [using this package](https://github.com/ASMfreaK/habitipy/blob/master/README.md).
* The `args` key is more or less described in the [API documentation](https://habitica.com/apidoc/).
- The `name` key becomes `xxxNotAValidNickxxx`.
- The `path` key is trickier.
- Remove `https://habitica.com/api/v3/` at the beginning of the endpoint URL.
- Split the remaining on slashes (/) and **append the lowercase method** at the end.
- You should get `["tasks", "user", "post"]`. To get a better idea of the API you are recommended to try all of the API calls in IPython console [using this package](https://github.com/ASMfreaK/habitipy/blob/master/README.md).
- The `args` key is more or less described in the [API documentation](https://habitica.com/apidoc/).
Combining all together:
call `habitica.api_call` with data

View File

@ -62,13 +62,13 @@ If after symlinking and adding `hdmi_cec:` to your configuration you are getting
## Testing your installation
* Login to Raspberry Pi
- Login to Raspberry Pi
```bash
ssh pi@your_raspberry_pi_ip
```
* at the command line type:
- at the command line type:
```bash
echo scan | cec-client -s -d 1
@ -76,7 +76,7 @@ echo scan | cec-client -s -d 1
Note: to use this command you have to install cec-utils package. In Debian based should be: ```sudo apt install cec-utils```
* This will give you the list of devices that are on the bus
- This will give you the list of devices that are on the bus
```bash
opening a connection to the CEC adapter...
@ -258,5 +258,5 @@ value is ignored.
## Useful References
* [CEC overview](https://kwikwai.com/knowledge-base/the-hdmi-cec-bus/)
* [CEC-o-matic](https://www.cec-o-matic.com/)
- [CEC overview](https://kwikwai.com/knowledge-base/the-hdmi-cec-bus/)
- [CEC-o-matic](https://www.cec-o-matic.com/)

View File

@ -35,16 +35,16 @@ The [HomematicIP](https://www.homematic-ip.com/) integration platform is used as
There is currently support for the following device types within Home Assistant:
* Alarm
* Binary Sensor
* Button
* Climate
* Cover
* Light
* Lock
* Sensor
* Switch
* Weather
- Alarm
- Binary Sensor
- Button
- Climate
- Cover
- Light
- Lock
- Sensor
- Switch
- Weather
{% include integrations/config_flow.md %}
@ -89,112 +89,112 @@ Within this delay the device registration should be completed in the App, otherw
## Implemented and tested devices
* homematicip_cloud.alarm_control_panel
* Combined Alarm Control Panal with INTERNAL and EXTERNAL Security zones (*HmIP-SecurityZone*)
- homematicip_cloud.alarm_control_panel
- Combined Alarm Control Panal with INTERNAL and EXTERNAL Security zones (*HmIP-SecurityZone*)
* homematicip_cloud.binary_sensor
* Access Point Cloud Connection (*HmIP-HAP, HmIP-HAP-B1*)
* Acceleration Sensor (*HMIP-SAM*)
* Inclination and vibration Sensor (*HMIP-STV*)
* Window and door contact (*HmIP-SWDO, HmIP-SWDO-PL, HmIP-SWDO-I, HmIP-SWDM, HmIP-SWDM-B2*)
* Contact Interface flush-mount 1x channel (*HmIP-FCI1*)
* Contact Interface flush-mount 6x channels (*HmIP-FCI6*)
* Contact Interface (*HmIP-SCI*)
* Window Rotary Handle Sensor (*HmIP-SRH*)
* Smoke sensor and alarm (*HmIP-SWSD*)
* Motion Detector with Brightness Sensor - indoor (*HmIP-SMI*)
* Motion Detector with Brightness Sensor - outdoor (*HmIP-SMO*)
* Presence Sensor indoor (*HmIP-SPI*)
* Rain Sensor (*HmIP-SRD*)
* Water Sensor (*HmIP-SWD*)
* Remote Control - 8x buttons (*HmIP-RC8*) (battery only)
* Wall-mount Remote Control - 2x buttons (*HmIP-WRC2*) (battery only)
* Wall-mount Remote Control - flat - 2x buttons (*HmIP-WRCC2*) (battery only)
* Wall-mount Remote Control - 6x buttons (*HmIP-WRC6*) (battery only)
* Key Ring Remote Control - 4x buttons (*HmIP-KRC4*) (battery only)
* Key Ring Remote Control - alarm (*HmIP-KRCA*) (battery only)
* Alarm Siren (*HmIP-ASIR, -B1*) (battery only)
* Remote Control for brand switches 2x buttons (*HmIP-BRC2*) (battery only)
* Pluggable Power Supply Monitoring (*HmIP-PMFS*)
* Wired Inbound module 32x channels (*HMIPW-DRI32*)
- homematicip_cloud.binary_sensor
- Access Point Cloud Connection (*HmIP-HAP, HmIP-HAP-B1*)
- Acceleration Sensor (*HMIP-SAM*)
- Inclination and vibration Sensor (*HMIP-STV*)
- Window and door contact (*HmIP-SWDO, HmIP-SWDO-PL, HmIP-SWDO-I, HmIP-SWDM, HmIP-SWDM-B2*)
- Contact Interface flush-mount 1x channel (*HmIP-FCI1*)
- Contact Interface flush-mount 6x channels (*HmIP-FCI6*)
- Contact Interface (*HmIP-SCI*)
- Window Rotary Handle Sensor (*HmIP-SRH*)
- Smoke sensor and alarm (*HmIP-SWSD*)
- Motion Detector with Brightness Sensor - indoor (*HmIP-SMI*)
- Motion Detector with Brightness Sensor - outdoor (*HmIP-SMO*)
- Presence Sensor indoor (*HmIP-SPI*)
- Rain Sensor (*HmIP-SRD*)
- Water Sensor (*HmIP-SWD*)
- Remote Control - 8x buttons (*HmIP-RC8*) (battery only)
- Wall-mount Remote Control - 2x buttons (*HmIP-WRC2*) (battery only)
- Wall-mount Remote Control - flat - 2x buttons (*HmIP-WRCC2*) (battery only)
- Wall-mount Remote Control - 6x buttons (*HmIP-WRC6*) (battery only)
- Key Ring Remote Control - 4x buttons (*HmIP-KRC4*) (battery only)
- Key Ring Remote Control - alarm (*HmIP-KRCA*) (battery only)
- Alarm Siren (*HmIP-ASIR, -B1*) (battery only)
- Remote Control for brand switches 2x buttons (*HmIP-BRC2*) (battery only)
- Pluggable Power Supply Monitoring (*HmIP-PMFS*)
- Wired Inbound module 32x channels (*HMIPW-DRI32*)
* homematicip_cloud.button
* Wall Mounted Garage Door Controller (*HmIP-WGC*)
- homematicip_cloud.button
- Wall Mounted Garage Door Controller (*HmIP-WGC*)
* homematicip_cloud.climate
* Climate group (*HmIP-HeatingGroup*)
* This includes temperature/humidity measures for climate devices of a room delivered by:
* Wall-mounted thermostat (*HmIP-WTH, HmIP-WTH-2, HmIP-WTH-B*)
* Brand Wall-mounted thermostat (*HmIP-BWTH, HmIP-BWTH-24*)
* Radiator thermostat (*HmIP-eTRV, HmIP-eTRV-2, HmIP-eTRV-C*) - should also work with (*HmIP-eTRV-2-UK, HmIP-eTRV-2-B, HmIP-eTRV-2-B1*)
* Temperature and humidity sensor (*HmIP-STH*)
* Temperature and humidity Sensor with display (*HmIP-STHD*)
* Alpha IP Wall Thermostat Display (*ALPHA-IP-RBG*)
* Alpha IP Wall Thermostat Display analog (*ALPHA-IP-RBGa*)
* There is no need to directly support the following devices by Home Assistant, because their integration is done by the required wall thermostats:
* Floor Heating Actuator 6x channels, 230V (*HMIP-FAL230-C6*)
* Floor Heating Actuator 10x channels, 230V (*HMIP-FAL230-C10*)
* Floor Heating Actuator 6x channels, 24V (*HMIP-FAL24-C6*)
* Floor Heating Actuator 10x channels, 24V (*HMIP-FAL24-C10*)
* Floor Heating Actuator 12x channels, motorized (*HMIP-FALMOT-C12*)
- homematicip_cloud.climate
- Climate group (*HmIP-HeatingGroup*)
- This includes temperature/humidity measures for climate devices of a room delivered by:
- Wall-mounted thermostat (*HmIP-WTH, HmIP-WTH-2, HmIP-WTH-B*)
- Brand Wall-mounted thermostat (*HmIP-BWTH, HmIP-BWTH-24*)
- Radiator thermostat (*HmIP-eTRV, HmIP-eTRV-2, HmIP-eTRV-C*) - should also work with (*HmIP-eTRV-2-UK, HmIP-eTRV-2-B, HmIP-eTRV-2-B1*)
- Temperature and humidity sensor (*HmIP-STH*)
- Temperature and humidity Sensor with display (*HmIP-STHD*)
- Alpha IP Wall Thermostat Display (*ALPHA-IP-RBG*)
- Alpha IP Wall Thermostat Display analog (*ALPHA-IP-RBGa*)
- There is no need to directly support the following devices by Home Assistant, because their integration is done by the required wall thermostats:
- Floor Heating Actuator 6x channels, 230V (*HMIP-FAL230-C6*)
- Floor Heating Actuator 10x channels, 230V (*HMIP-FAL230-C10*)
- Floor Heating Actuator 6x channels, 24V (*HMIP-FAL24-C6*)
- Floor Heating Actuator 10x channels, 24V (*HMIP-FAL24-C10*)
- Floor Heating Actuator 12x channels, motorized (*HMIP-FALMOT-C12*)
* homematicip_cloud.cover
* Shutter actuator for brand-mount (*HmIP-BROLL*)
* Shutter actuator for flush-mount (*HmIP-FROLL*)
* Blind Actuator for brand switches (*HmIP-BBL*)
* Blind Actuator for DIN rail mount 4x channels (*HMIP-DRBLI4*)
* Blind Actuator for flush-mount (*HmIP-FBL*)
* Garage door module for Tormatic (*HmIP-MOD_TM*)
* Module for Hoermann drives (*HMIP-MOD-HO*)
* Hunter Douglas & erfal window blinds (*HMIP-HDM1*)
- homematicip_cloud.cover
- Shutter actuator for brand-mount (*HmIP-BROLL*)
- Shutter actuator for flush-mount (*HmIP-FROLL*)
- Blind Actuator for brand switches (*HmIP-BBL*)
- Blind Actuator for DIN rail mount 4x channels (*HMIP-DRBLI4*)
- Blind Actuator for flush-mount (*HmIP-FBL*)
- Garage door module for Tormatic (*HmIP-MOD_TM*)
- Module for Hoermann drives (*HMIP-MOD-HO*)
- Hunter Douglas & erfal window blinds (*HMIP-HDM1*)
* homematicip_cloud.light
* Switch actuator and meter for brand switches (*HmIP-BSM*)
* Dimming actuator for brand switches (*HmIP-BDT*)
* Dimming actuator flush-mount (*HmIP-FDT*)
* Pluggable Dimmer trailing edge (*HmIP-PDT*)
* Switch Actuator for brand switches with signal lamp (*HmIP-BSL*)
* Wired Dimmer module 3x channels (*HMIPW-DRD3*)
- homematicip_cloud.light
- Switch actuator and meter for brand switches (*HmIP-BSM*)
- Dimming actuator for brand switches (*HmIP-BDT*)
- Dimming actuator flush-mount (*HmIP-FDT*)
- Pluggable Dimmer trailing edge (*HmIP-PDT*)
- Switch Actuator for brand switches with signal lamp (*HmIP-BSL*)
- Wired Dimmer module 3x channels (*HMIPW-DRD3*)
* homematicip_cloud.lock
* Door Lock Drive - currently, usage just without a pin is possible (*HmIP-DLD*)
- homematicip_cloud.lock
- Door Lock Drive - currently, usage just without a pin is possible (*HmIP-DLD*)
* homematicip_cloud.sensor
* Access Point Duty Cycle (*HmIP-HAP, HmIP-HAP-B1*)
* Wall Mounted Thermostat (*HmIP-WTH, HmIP-WTH2, HmIP-WTH-B*)
* Radiator thermostat (*HmIP-eTRV, HmIP-eTRV-2, HmIP-eTRV-C*) - should also work with (*HmIP-eTRV-2-UK, HmIP-eTRV-2-B, HmIP-eTRV-2-B1*)
* Temperature and Humidity Sensor without display - indoor (*HmIP-STH*)
* Temperature and Humidity Sensor with display - indoor (*HmIP-STHD*)
* Temperature and Humidity sensor - outdoor (*HmIP-STHO, -A*)
* Temperature sensor with external probes - 2-way (*HmIP-STE2-PCB*)
* Motion Detector with Brightness Sensor - indoor (*HmIP-SMI*)
* Motion Detector with Brightness Sensor - outdoor (*HmIP-SMO*)
* Presence Sensor indoor (*HmIP-SPI*)
* Light Sensor - outdoor (*HmIP-SLO*)
* Passage Sensor with Direction Recognition (*HmIP-SPDR*) (delta counter)
* Alpha IP Wall Thermostat Display (*ALPHA-IP-RBG*)
* Alpha IP Wall Thermostat Display analog (*ALPHA-IP-RBGa*)
- homematicip_cloud.sensor
- Access Point Duty Cycle (*HmIP-HAP, HmIP-HAP-B1*)
- Wall Mounted Thermostat (*HmIP-WTH, HmIP-WTH2, HmIP-WTH-B*)
- Radiator thermostat (*HmIP-eTRV, HmIP-eTRV-2, HmIP-eTRV-C*) - should also work with (*HmIP-eTRV-2-UK, HmIP-eTRV-2-B, HmIP-eTRV-2-B1*)
- Temperature and Humidity Sensor without display - indoor (*HmIP-STH*)
- Temperature and Humidity Sensor with display - indoor (*HmIP-STHD*)
- Temperature and Humidity sensor - outdoor (*HmIP-STHO, -A*)
- Temperature sensor with external probes - 2-way (*HmIP-STE2-PCB*)
- Motion Detector with Brightness Sensor - indoor (*HmIP-SMI*)
- Motion Detector with Brightness Sensor - outdoor (*HmIP-SMO*)
- Presence Sensor indoor (*HmIP-SPI*)
- Light Sensor - outdoor (*HmIP-SLO*)
- Passage Sensor with Direction Recognition (*HmIP-SPDR*) (delta counter)
- Alpha IP Wall Thermostat Display (*ALPHA-IP-RBG*)
- Alpha IP Wall Thermostat Display analog (*ALPHA-IP-RBGa*)
* homematicip_cloud.switch
* Pluggable Switch (*HmIP-PS*)
* Pluggable Switch and Meter (*HmIP-PSM*) - should also work with (*HmIP-PSM-CH, HmIP-PSM-IT, HmIP-PSM-UK, HmIP-PSM-PE*)
* Switch Actuator and Meter flush-mount (*HmIP-FSM, HmIP-FSM16*)
* Switch Actuator with Push-button Input flush-mount (*HmIP-FSI16*)
* Open Collector Module Receiver - 8x channels (*HmIP-MOD-OC8*)
* Multi IO Box - 2x (*HmIP-MIOB*)
* Switch Circuit Board - 1x channels (*HmIP-PCBS*)
* Switch Circuit Board - 2x channels (*HmIP-PCBS2*)
* Printed Circuit Board Switch Battery (*HmIP-PCBS-BAT*)
* Switch Actuator for heating systems 2x channels (*HmIP-WHS2*)
* Wired Switch Actuator 8x channels (*HMIPW-DRS8*)
* Switch Actuator for DIN rail mount 4x channels (*HMIP-DRSI4*)
* Switch Actuator for DIN rail mount 1x channels (*HMIP-DRSI1*)
* Switch Actuator - 2x channels (*HmIP-BS2*)
- homematicip_cloud.switch
- Pluggable Switch (*HmIP-PS*)
- Pluggable Switch and Meter (*HmIP-PSM*) - should also work with (*HmIP-PSM-CH, HmIP-PSM-IT, HmIP-PSM-UK, HmIP-PSM-PE*)
- Switch Actuator and Meter flush-mount (*HmIP-FSM, HmIP-FSM16*)
- Switch Actuator with Push-button Input flush-mount (*HmIP-FSI16*)
- Open Collector Module Receiver - 8x channels (*HmIP-MOD-OC8*)
- Multi IO Box - 2x (*HmIP-MIOB*)
- Switch Circuit Board - 1x channels (*HmIP-PCBS*)
- Switch Circuit Board - 2x channels (*HmIP-PCBS2*)
- Printed Circuit Board Switch Battery (*HmIP-PCBS-BAT*)
- Switch Actuator for heating systems 2x channels (*HmIP-WHS2*)
- Wired Switch Actuator 8x channels (*HMIPW-DRS8*)
- Switch Actuator for DIN rail mount 4x channels (*HMIP-DRSI4*)
- Switch Actuator for DIN rail mount 1x channels (*HMIP-DRSI1*)
- Switch Actuator - 2x channels (*HmIP-BS2*)
* homematicip_cloud.weather
* Weather Sensor basic (*HmIP-SWO-B*)
* Weather Sensor plus (*HmIP-SWO-PL*)
* Weather Sensor pro (*HmIP-SWO-PR*)
- homematicip_cloud.weather
- Weather Sensor basic (*HmIP-SWO-B*)
- Weather Sensor plus (*HmIP-SWO-PL*)
- Weather Sensor pro (*HmIP-SWO-PR*)
## What to do, if a device is missing in Home Assistant
@ -322,13 +322,13 @@ action:
Push button devices are only available with a battery sensor. This is due to a limitation of the vendor API (eq3).
It's not possible to detect a key press event on these devices at the moment.
* Remote Control - 8x buttons (*HmIP-RC8*)
* Wall-mount Remote Control for brand switches - 2x buttons (*HmIP-BRC2*)
* Motion Detector for 55mm frames - indoor (HmIP-SMI55)(Push button)
* Wall-mount Remote Control - 2x buttons (*HmIP-WRC2*)
* Wall-mount Remote Control - flat - 2x buttons (*HmIP-WRCC2*)
* Wall-mount Remote Control - 6x buttons (*HmIP-WRC6*)
* Key Ring Remote Control - 4x buttons (*HmIP-KRC4*)
* Key Ring Remote Control - alarm (*HmIP-KRCA*)
* Wall-mount Remote Control flat (*HmIP-WRCC2*)
* Rotary Button (*HmIP-WRCR*)
- Remote Control - 8x buttons (*HmIP-RC8*)
- Wall-mount Remote Control for brand switches - 2x buttons (*HmIP-BRC2*)
- Motion Detector for 55mm frames - indoor (HmIP-SMI55)(Push button)
- Wall-mount Remote Control - 2x buttons (*HmIP-WRC2*)
- Wall-mount Remote Control - flat - 2x buttons (*HmIP-WRCC2*)
- Wall-mount Remote Control - 6x buttons (*HmIP-WRC6*)
- Key Ring Remote Control - 4x buttons (*HmIP-KRC4*)
- Key Ring Remote Control - alarm (*HmIP-KRCA*)
- Wall-mount Remote Control flat (*HmIP-WRCC2*)
- Rotary Button (*HmIP-WRCR*)

View File

@ -51,12 +51,12 @@ vapid_email:
The `html5` platform can only function if all of the following requirements are met:
* You are using Chrome and/or Firefox on any desktop platform, ChromeOS or Android. Or you added your Home Assistant instance to your home screen on iOS 16.4 or higher.
* Your Home Assistant instance is accessible from outside your network over HTTPS or can perform an alternative [Domain Name Verification Method](https://support.google.com/webmasters/answer/9008080#domain_name_verification) on the domain used by Home Assistant.
* If using a proxy, HTTP basic authentication must be off for registering or unregistering for push notifications. It can be re-enabled afterwards.
* If you don't run Hass.io: `pywebpush` must be installed. `libffi-dev`, `libpython-dev` and `libssl-dev` must be installed prior to `pywebpush` (i.e., `pywebpush` probably won't automatically install).
* You have configured SSL/TLS for your Home Assistant. It doesn't need to be configured in Home Assistant though, e.g., you can be running NGINX in front of Home Assistant and this will still work. The certificate must be trustworthy (i.e., not self-signed).
* You are willing to accept the notification permission in your browser.
- You are using Chrome and/or Firefox on any desktop platform, ChromeOS or Android. Or you added your Home Assistant instance to your home screen on iOS 16.4 or higher.
- Your Home Assistant instance is accessible from outside your network over HTTPS or can perform an alternative [Domain Name Verification Method](https://support.google.com/webmasters/answer/9008080#domain_name_verification) on the domain used by Home Assistant.
- If using a proxy, HTTP basic authentication must be off for registering or unregistering for push notifications. It can be re-enabled afterwards.
- If you don't run Hass.io: `pywebpush` must be installed. `libffi-dev`, `libpython-dev` and `libssl-dev` must be installed prior to `pywebpush` (i.e., `pywebpush` probably won't automatically install).
- You have configured SSL/TLS for your Home Assistant. It doesn't need to be configured in Home Assistant though, e.g., you can be running NGINX in front of Home Assistant and this will still work. The certificate must be trustworthy (i.e., not self-signed).
- You are willing to accept the notification permission in your browser.
### Configuring the platform
@ -224,7 +224,7 @@ During the lifespan of a single push notification, Home Assistant will emit a fe
Common event payload parameters are:
| Parameter | Description |
|-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `action` | The `action` key that you set when sending the notification of the action clicked. Only appears in the `clicked` event. |
| `data` | The data dictionary you originally passed in the notify payload, minus any parameters that were added to the HTML5 notification (`actions`, `badge`, `body`, `dir`, `icon`, `image`, `lang`, `renotify`, `requireInteraction`, `tag`, `timestamp`, `vibrate`). |
| `tag` | The unique identifier of the notification. Can be overridden when sending a notification to allow for replacing existing notifications. |

View File

@ -36,9 +36,9 @@ If youre going to use Gmail, you need to create an [App Password](https://sup
By default, this integration will count unread emails. By configuring the search string, you can count other results, for example:
* `ALL` to count all emails in a folder
* `FROM`, `TO`, `SUBJECT` to find emails in a folder (see [IMAP RFC for all standard options](https://tools.ietf.org/html/rfc3501#section-6.4.4))
* [Gmail's IMAP extensions](https://developers.google.com/gmail/imap/imap-extensions) allow raw Gmail searches, like `X-GM-RAW "in: inbox older_than:7d"` to show emails older than one week in your inbox. Note that raw Gmail searches will ignore your folder configuration and search all emails in your account!
- `ALL` to count all emails in a folder
- `FROM`, `TO`, `SUBJECT` to find emails in a folder (see [IMAP RFC for all standard options](https://tools.ietf.org/html/rfc3501#section-6.4.4))
- [Gmail's IMAP extensions](https://developers.google.com/gmail/imap/imap-extensions) allow raw Gmail searches, like `X-GM-RAW "in: inbox older_than:7d"` to show emails older than one week in your inbox. Note that raw Gmail searches will ignore your folder configuration and search all emails in your account!
### Selecting a charset supported by the imap server

View File

@ -19,10 +19,10 @@ The `iqvia` sensor platform collects and displays allergy, asthma and disease
information (based on a U.S. ZIP code) from [IQVIA](https://www.iqvia.com/).
Data measured includes:
* Indices for allergies, asthma and cold/flu indices
* Trends
* Current outlook
* more!
- Indices for allergies, asthma and cold/flu indices
- Trends
- Current outlook
- more!
{% include integrations/config_flow.md %}
@ -31,13 +31,13 @@ Data measured includes:
Any index-related sensor will have a value between 0.0 and 12.0. The values
map to the following human-friendly ratings:
Range | Rating
--------- | -----------
0.0 - 2.4 | Low
2.5 - 4.8 | Low/Medium
4.9 - 7.2 | Medium
7.3 - 9.6 | Medium/High
9.7 - 12.0 | High
| Range | Rating |
| ---------- | ----------- |
| 0.0 - 2.4 | Low |
| 2.5 - 4.8 | Low/Medium |
| 4.9 - 7.2 | Medium |
| 7.3 - 9.6 | Medium/High |
| 9.7 - 12.0 | High |
## Understanding Asthma Allergens
@ -45,10 +45,10 @@ Several asthma-related sensors carry information regarding the top three
"asthma allergens" (i.e., irritants that may exacerbate asthma symptoms).
Example values include:
Pollutant | Symbol | More Info
--------- | ------ | ---------
Particulate (<= 2.5 μm) | PM2.5 | [EPA: Particulate Matter (PM) Pollution](https://www.epa.gov/pm-pollution)
Particulate (<= 10 μm) | PM10 | [EPA: Particulate Matter (PM) Pollution](https://www.epa.gov/pm-pollution)
Ozone | O | [EPA: Ozone Pollution](https://www.epa.gov/ozone-pollution)
Sulpher Dioxide | SO2 | [EPA: Sulfur Dioxide (SO2) Pollution](https://www.epa.gov/so2-pollution)
Carbon Monoxide | CO | [EPA: Carbon Monoxide (CO) Pollution in Outdoor Air](https://www.epa.gov/co-pollution)
| Pollutant | Symbol | More Info |
| ----------------------- | ------ | -------------------------------------------------------------------------------------- |
| Particulate (<= 2.5 μm) | PM2.5 | [EPA: Particulate Matter (PM) Pollution](https://www.epa.gov/pm-pollution) |
| Particulate (<= 10 μm) | PM10 | [EPA: Particulate Matter (PM) Pollution](https://www.epa.gov/pm-pollution) |
| Ozone | O | [EPA: Ozone Pollution](https://www.epa.gov/ozone-pollution) |
| Sulpher Dioxide | SO2 | [EPA: Sulfur Dioxide (SO2) Pollution](https://www.epa.gov/so2-pollution) |
| Carbon Monoxide | CO | [EPA: Carbon Monoxide (CO) Pollution in Outdoor Air](https://www.epa.gov/co-pollution) |

View File

@ -32,9 +32,9 @@ There is currently support for the following device types within Home Assistant:
If you previously had Kodi configured through `configuration.yaml`, it's advisable to remove it, and configure from the UI.
If you do not remove it, your configuration will be imported with the following limitations:
* Your turn on/off actions will not be imported. This functionality is now available through device triggers.
* You may have duplicate entities.
* Kodi must be on when Home Assistant is loading for the first time for the configuration to be imported.
- Your turn on/off actions will not be imported. This functionality is now available through device triggers.
- You may have duplicate entities.
- Kodi must be on when Home Assistant is loading for the first time for the configuration to be imported.
### Turning On/Off
@ -73,23 +73,23 @@ automation:
Add music to the default playlist (i.e., playlistid=0).
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name(s) of the Kodi entities where to add the media. |
| `media_type` | yes | Media type identifier. It must be one of SONG or ALBUM. |
| `media_id` | no | Unique Id of the media entry to add (`songid` or `albumid`). If not defined, `media_name` and `artist_name` are needed to search the Kodi music library. |
| `media_name` | no| Optional media name for filtering media. Can be 'ALL' when `media_type` is 'ALBUM' and `artist_name` is specified, to add all songs from one artist. |
| `artist_name` | no | Optional artist name for filtering media. |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name(s) of the Kodi entities where to add the media. |
| `media_type` | yes | Media type identifier. It must be one of SONG or ALBUM. |
| `media_id` | no | Unique Id of the media entry to add (`songid` or `albumid`). If not defined, `media_name` and `artist_name` are needed to search the Kodi music library. |
| `media_name` | no | Optional media name for filtering media. Can be 'ALL' when `media_type` is 'ALBUM' and `artist_name` is specified, to add all songs from one artist. |
| `artist_name` | no | Optional artist name for filtering media. |
#### Service `kodi.call_method`
Call a [Kodi JSON-RPC API](https://kodi.wiki/?title=JSON-RPC_API) method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name(s) of the Kodi entities where to run the API method. |
| `method` | yes | Name of the Kodi JSON-RPC API method to be called. |
| any other parameter | no | Optional parameters for the Kodi API call. |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------- |
| `entity_id` | no | Name(s) of the Kodi entities where to run the API method. |
| `method` | yes | Name of the Kodi JSON-RPC API method to be called. |
| any other parameter | no | Optional parameters for the Kodi API call. |
### Event triggering

View File

@ -250,12 +250,12 @@ your LaMetric devices, use the following steps:
1. Log in with your LaMetric device account to [developer.lametric.com](https://developer.lametric.com).
2. Click the Create button and choose [Notification](https://developer.lametric.com/applications/createsource) app.
3. Fill in the form. You can put almost anything in the fields, they just need to be populated:
* App Name: Home Assistant
* Description: Home Assistant
* Redirect URI: `https://my.home-assistant.io/redirect/oauth`
* Privacy Policy: `http://localhost/`
* Check the "basic" and "read_devices" permission boxes
* Click Save
- App Name: Home Assistant
- Description: Home Assistant
- Redirect URI: `https://my.home-assistant.io/redirect/oauth`
- Privacy Policy: `http://localhost/`
- Check the "basic" and "read_devices" permission boxes
- Click Save
4. You should be directed to your [Notification Apps list](https://developer.lametric.com/applications/sources),
click on "Home Assistant", copy your client ID and Client Secret.

View File

@ -25,8 +25,8 @@ A calendar entity has a state and attributes that represent the next upcoming ev
Individual Calendar *Events* are what powers automations such as:
* Turn on a light at the *start* of the event named *Front Yard Light*
* Send a notification *5 minutes before the start of any event*
* Stop the media player *30 minutes after* the *end* of the event named *Exercise*.
- Turn on a light at the *start* of the event named *Front Yard Light*
- Send a notification *5 minutes before the start of any event*
- Stop the media player *30 minutes after* the *end* of the event named *Exercise*.
See [Calendar Automations](/integrations/calendar#automation) for an overview, and read more about [Calendar Trigger Variables](/docs/automation/templating/#calendar) for the available information you can use in a condition or action such as the event `summary`, `description`, `location` and more.

View File

@ -13,8 +13,8 @@ ha_integration_type: entity
Keeps track which locks are in your environment, their state and allows you to control them.
* Maintains a state per lock and a combined state `all_locks`.
* Registers services `lock.lock`, `lock.unlock` and `lock.open` (unlatch) to control locks.
- Maintains a state per lock and a combined state `all_locks`.
- Registers services `lock.lock`, `lock.unlock` and `lock.open` (unlatch) to control locks.
### Services
@ -24,9 +24,9 @@ A lock integration provides the following services:
Lock your door, the attribute should appear under a 'data' attribute for the service.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | no | Entity of the relevant lock. |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------- |
| `entity_id` | no | Entity of the relevant lock. |
##### Example
@ -41,9 +41,9 @@ action:
Unlock your door, the attribute should appear under a 'data' attribute for the service.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | no | Entity of the relevant lock. |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------- |
| `entity_id` | no | Entity of the relevant lock. |
##### Example
@ -62,6 +62,6 @@ Go to the **Developer Tools**, then to **Call Service** in the frontend, and cho
{"entity_id":"lock.front_door"}
```
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Only act on specific lock. Use `entity_id: all` to target all.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------- |
| `entity_id` | yes | Only act on specific lock. Use `entity_id: all` to target all. |

View File

@ -24,17 +24,17 @@ The `logi_circle` implementation allows you to integrate your [Logi Circle](http
2. Fill out your contact name and e-mail address.
3. For the User Visible Client Name, specify "Home Assistant"
3. Request the following scopes:
* `circle:activities`
* `circle:accessories`
* `circle:live_image`
* `circle:live`
* `circle:notifications`
* `circle:summaries`
- `circle:activities`
- `circle:accessories`
- `circle:live_image`
- `circle:live`
- `circle:notifications`
- `circle:summaries`
4. Request the `authorization_code` grant type.
5. For the redirect URI, specify your Home Assistant URL followed by `/api/logi_circle`. For example, if your Home Assistant URL is `https://abc123.ui.nabu.casa`, then request `https://abc123.ui.nabu.casa/api/logi_circle`. The redirect URI must meet the following criteria:
* The URL must be HTTPS with a SSL certificate issued by a trusted CA (i.e., trusted by normal browsers).
* At the time you submit your request to Logitech, you need to demonstrate that you have exclusive control of the fully qualified domain name in your redirect URI. An active Home Assistant instance at the redirect URI will suffice. If you don't want to expose your Home Assistant instance publicly, you may also place a static page at the redirect URI with a short message that you will manage redirection of the authorization token to your local Home Assistant instance. Free static hosts that issue subdomains for hosting (e.g., Netlify) are permitted.
* As the redirect URI must be public facing, no local/reserved TLDs are permitted (eg. .local, .localhost, .example, etc. are not allowed).
- The URL must be HTTPS with a SSL certificate issued by a trusted CA (i.e., trusted by normal browsers).
- At the time you submit your request to Logitech, you need to demonstrate that you have exclusive control of the fully qualified domain name in your redirect URI. An active Home Assistant instance at the redirect URI will suffice. If you don't want to expose your Home Assistant instance publicly, you may also place a static page at the redirect URI with a short message that you will manage redirection of the authorization token to your local Home Assistant instance. Free static hosts that issue subdomains for hosting (e.g., Netlify) are permitted.
- As the redirect URI must be public facing, no local/reserved TLDs are permitted (eg. .local, .localhost, .example, etc. are not allowed).
Please note that the turn-around time for API access takes up to a month after which you will be contacted by Logitech using the email address you provided in the form.
@ -134,11 +134,11 @@ The `logi_circle` platform exposes 3 services for interacting with your Logi Cir
Initiates a recording of the camera's live stream.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to initiate a recording for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `filename ` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/recording_{{ entity_id }}.mp4`{% endraw %}. |
| `duration` | no | Duration of recording, in seconds.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `entity_id` | yes | Name(s) of entities to initiate a recording for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `filename ` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/recording_{{ entity_id }}.mp4`{% endraw %}. |
| `duration` | no | Duration of recording, in seconds. |
The path part of `filename` must be an entry in the `allowlist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
@ -148,10 +148,10 @@ Take a snapshot from a camera's live stream. This differs from the generic [snap
Please note that new snapshots will only be generated if the cached snapshot is older than 30s. Requesting multiple snapshots in quick succession will likely return the same image. Likewise, requesting a snapshot from a camera that is actively streaming (ie. is not in deep sleep) will return a cached image no older than 30s.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to create a live stream snapshot from, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}.jpg`{% endraw %}. |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | Name(s) of entities to create a live stream snapshot from, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}.jpg`{% endraw %}. |
The path part of `filename` must be an entry in the `allowlist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
@ -159,8 +159,8 @@ The path part of `filename` must be an entry in the `allowlist_external_dirs` in
Sets a configuration property for your camera.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to set the operation mode for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `mode` | no | Configuration property to set. Allowed values: `LED`, `RECORDING_MODE` |
| `value` | no | Mode value. Allowed values: `true`, `false` |
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | Name(s) of entities to set the operation mode for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `mode` | no | Configuration property to set. Allowed values: `LED`, `RECORDING_MODE` |
| `value` | no | Mode value. Allowed values: `true`, `false` |

View File

@ -55,11 +55,11 @@ media_content_type: music
Query examples with explanations:
* **bestvideo**: Best video only stream
* **best**: Best video + audio stream
* **bestaudio[ext=m4a]**: Best audio stream with m4a extension
* **worst**: Worst video + audio stream
* **bestaudio[ext=m4a]/bestaudio[ext=ogg]/bestaudio**: Best m4a audio, otherwise best ogg audio and only then any best audio
- **bestvideo**: Best video only stream
- **best**: Best video + audio stream
- **bestaudio[ext=m4a]**: Best audio stream with m4a extension
- **worst**: Worst video + audio stream
- **bestaudio[ext=m4a]/bestaudio[ext=ogg]/bestaudio**: Best m4a audio, otherwise best ogg audio and only then any best audio
More info about queries can be found [here](https://github.com/ytdl-org/youtube-dl#format-selection).
@ -69,8 +69,8 @@ Navigate to the **Services** tab inside **Developer Tools**. From the "Service"
This will download the file from the given URL.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to seek media on, e.g., `media_player.living_room_chromecast`. Defaults to all.
| `media_content_id` | no | The ID of the content to play. Platform dependent.
| `media_content_type` | no | The type of the content to play. Must be one of MUSIC, TVSHOW, VIDEO, EPISODE, CHANNEL or PLAYLIST MUSIC.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | Name(s) of entities to seek media on, e.g., `media_player.living_room_chromecast`. Defaults to all. |
| `media_content_id` | no | The ID of the content to play. Platform dependent. |
| `media_content_type` | no | The type of the content to play. Must be one of MUSIC, TVSHOW, VIDEO, EPISODE, CHANNEL or PLAYLIST MUSIC. |

View File

@ -80,9 +80,9 @@ icon: mdi:alert
There are a few awareness levels:
* 2; yellow; Moderate
* 3; orange; Severe
* 4; red; High
- 2; yellow; Moderate
- 3; orange; Severe
- 4; red; High
Example automation

View File

@ -62,15 +62,15 @@ Steam URL template:
### Entities
| Platform | Description |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `camera` | An MJPEG camera that shows the motionEye video stream. |
| `switch` | Switch entities to enable/disable motion detection, text overlay, video streaming, still image capture, movie capture and upload enabled. |
| `sensor` | An "action sensor" that shows the number of configured [actions](https://github.com/ccrisan/motioneye/wiki/Action-Buttons) for this device. The names of the available actions are viewable in the `actions` attribute of the sensor entity. |
| Platform | Description |
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `camera` | An MJPEG camera that shows the motionEye video stream. |
| `switch` | Switch entities to enable/disable motion detection, text overlay, video streaming, still image capture, movie capture and upload enabled. |
| `sensor` | An "action sensor" that shows the number of configured [actions](https://github.com/ccrisan/motioneye/wiki/Action-Buttons) for this device. The names of the available actions are viewable in the `actions` attribute of the sensor entity. |
**Note**:
* If the video streaming switch is turned off, the camera entity, and services that operate on that camera, will become unavailable. The rest of the integration will continue to function.
* As cameras are added or removed to motionEye, devices/entities are automatically added or removed from Home Assistant.
- If the video streaming switch is turned off, the camera entity, and services that operate on that camera, will become unavailable. The rest of the integration will continue to function.
- As cameras are added or removed to motionEye, devices/entities are automatically added or removed from Home Assistant.
<a name="streams"></a>
@ -83,7 +83,7 @@ that is configured in the `motionEye` UI (under `Video Streaming`) on the host t
motionEye integration is configured to use.
Example:
* If this integration is configured to talk to motionEye at `http://motioneye:8765`, and
- If this integration is configured to talk to motionEye at `http://motioneye:8765`, and
a camera is configured to stream on port `8081` -- Home Assistant needs to
be able to communicate to `motioneye` port `8081`.
@ -133,21 +133,21 @@ in automations (etc).
#### Data in events
* The event data includes the Home Assistant `device_id` for this motionEye
- The event data includes the Home Assistant `device_id` for this motionEye
camera device and the Home Assistant device `name`.
* Event data also includes as many [Motion Conversion
- Event data also includes as many [Motion Conversion
Specifiers](https://motion-project.github.io/motion_config.html#conversion_specifiers)
as make sense for that event type.
* Any additional `&key=value` pairs added manually to the motionEye webhook
- Any additional `&key=value` pairs added manually to the motionEye webhook
(in the motionEye UI) will automatically propagate to the event data. If
you manually tweak the webhook, remove the `src=hass-motioneye` parameter
or the webhook will be overwritten.
* For file storage events, the integration will automatically add
- For file storage events, the integration will automatically add
`media_content_id` (an identifier that can be used to play the media in a
Home Assistant media player) and `file_url` (a raw URL to the media). See
[example automation](#automation-movies) below for an illustration of how
this can be used.
* `file_type` will be less than 8 if the media stored is an image, otherwise,
- `file_type` will be less than 8 if the media stored is an image, otherwise,
it is a movie/video. See [the motion
source](https://github.com/Motion-Project/motion/blob/master/src/motion.h#L177)
for more details.
@ -245,9 +245,9 @@ Trigger a motionEye action (see [MotionEye Action Buttons](https://github.com/cc
Parameters:
| Parameter | Description |
| - | - |
| `entity_id` `device_id` | An entity id or device id to trigger the action on. |
| Parameter | Description |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` `device_id` | An entity id or device id to trigger the action on. |
| `action` | A string representing the motionEye action to trigger. One of `snapshot`, `lock`, `unlock`, `light_on`, `light_off`, `alarm_on`, `alarm_off`, `up`, `right`, `down`, `left`, `zoom_in`, `zoom_out`, `preset1`-`preset9`, `record_start` or `record_stop` |
**Note**: `record_start` and `record_stop` action are only partially implemented in motionEye itself and thus do not function as would be expected at this time ([relevant code](https://github.com/ccrisan/motioneye/blob/dev/motioneye/handlers.py#L1741)).
@ -258,17 +258,17 @@ Set the text overlay for a camera.
Parameters:
| Parameter | Description |
| - | - |
| Parameter | Description |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` `device_id` | An entity id or device id to set the text overlay on. |
| `left_text` `right_text` | One of `timestamp`, `camera-name`, `custom-text` or `disabled` to show a timestamp, the name of the camera, custom text or nothing at all, on the left or right-hand side. |
| `custom_left_text` `custom_right_text` | Custom text to show on the left or right, if the `custom-text` value is selected. |
**Note**:
* Calling this service triggers a reset of the motionEye cameras which will pause the
- Calling this service triggers a reset of the motionEye cameras which will pause the
stream / recordings / motion detection (etc).
* Ensure the `Text Overlay` switch is turned on to actually display the configured text overlays.
- Ensure the `Text Overlay` switch is turned on to actually display the configured text overlays.
#### Example:

View File

@ -271,15 +271,15 @@ This feature is enabled by the following permissions:
All cameras have motion and person triggers, however only some support capturing snapshots for events. The table below summarizes the [Supported SDM API features](https://developers.google.com/nest/device-access/supported-devices) for each device.
| Device | Live Stream | Triggers / Events | Media Source<br> for Triggers / Events |
| ------ | :---------: | :------: | :--------------------: |
| Nest Cam (indoor, wired)<br>Nest Cam (outdoor, battery) | WebRTC | Motion<br>Person | N/A |
| Nest Cam Indoor<br>Nest Cam IQ Indoor<br>Nest Cam IQ Outdoor<br>Nest Cam Outdoor | RTSP<br>Recording | Motion<br>Person<br>Sound | Snapshot (jpg) |
| Nest Cam with floodlight | WebRTC | Motion<br>Person | N/A |
| Nest Doorbell (battery) | WebRTC | Motion<br>Person<br>Chime | Clip Preview (mp4, gif) |
| Nest Doorbell (wired, 1st gen) | RTSP<br>Recording | Motion<br>Person<br>Sound<br>Chime | Snapshot (jpg) |
| Nest Doorbell (wired, 2nd gen) | WebRTC | Motion<br>Person<br>Chime | Clip Preview (mp4, gif) |
| Nest Hub Max | RTSP<br>Recording | Motion<br>Person<br>Sound<br> | Snapshot (jpg) |
| Device | Live Stream | Triggers / Events | Media Source<br> for Triggers / Events |
| -------------------------------------------------------------------------------- | :---------------: | :--------------------------------: | :------------------------------------: |
| Nest Cam (indoor, wired)<br>Nest Cam (outdoor, battery) | WebRTC | Motion<br>Person | N/A |
| Nest Cam Indoor<br>Nest Cam IQ Indoor<br>Nest Cam IQ Outdoor<br>Nest Cam Outdoor | RTSP<br>Recording | Motion<br>Person<br>Sound | Snapshot (jpg) |
| Nest Cam with floodlight | WebRTC | Motion<br>Person | N/A |
| Nest Doorbell (battery) | WebRTC | Motion<br>Person<br>Chime | Clip Preview (mp4, gif) |
| Nest Doorbell (wired, 1st gen) | RTSP<br>Recording | Motion<br>Person<br>Sound<br>Chime | Snapshot (jpg) |
| Nest Doorbell (wired, 2nd gen) | WebRTC | Motion<br>Person<br>Chime | Clip Preview (mp4, gif) |
| Nest Hub Max | RTSP<br>Recording | Motion<br>Person<br>Sound<br> | Snapshot (jpg) |
Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`.
@ -309,9 +309,9 @@ This is an example of what the `nest_event` payload looks like for a Device Trig
}
```
* `device_id`: The Home Assistant device identifier for the camera
* `nest_event_id`: is an opaque identifier that can be used with the Media Source Attachments described below for supported cameras.
* `zones`: Zones triggering the event if available. Zones are configured in the Google Home App, though not supported by all cameras. Events in the area outside of a named zone will be an empty zone name.
- `device_id`: The Home Assistant device identifier for the camera
- `nest_event_id`: is an opaque identifier that can be used with the Media Source Attachments described below for supported cameras.
- `zones`: Zones triggering the event if available. Zones are configured in the Google Home App, though not supported by all cameras. Events in the area outside of a named zone will be an empty zone name.
{% enddetails %}
@ -336,9 +336,9 @@ The table above describes which devices support event image snapshots or 10-fram
The Media Source APIs can be used in [Companion App Attachments](https://companion.home-assistant.io/docs/notifications/notification-attachments) for Notifications as actions for Device Triggers above like *Doorbell Pressed*. You will need to be familiar with both the Media Sources supported for your camera, as well as the media capabilities of the companion apps.
* `/api/nest/event_media/DEVICE_ID/EVENT_ID`: Media for the event, which supports image snapshots (jpg) or clip previews (mp4) depending on the camera type.
- `/api/nest/event_media/DEVICE_ID/EVENT_ID`: Media for the event, which supports image snapshots (jpg) or clip previews (mp4) depending on the camera type.
* `/api/nest/event_media/DEVICE_ID/EVENT_ID/thumbnail`: A thumbnail preview of the media, which supports image snapshots (jpg) or clip previews (gif) depending on the camera type.
- `/api/nest/event_media/DEVICE_ID/EVENT_ID/thumbnail`: A thumbnail preview of the media, which supports image snapshots (jpg) or clip previews (gif) depending on the camera type.
You can use the event payload fields `device_id` and `event_id` in an [automation](/getting-started/automation/) to send a notification from an [actions](/getting-started/automation-action/) as shown in the examples below.

View File

@ -18,10 +18,10 @@ ha_integration_type: integration
The `nissan_leaf` integration offers integration with the [NissanConnect EV](https://www.nissan.co.uk/dashboard.html) cloud service. NissanConnect EV was previously known as Nissan Carwings. It offers:
* sensors for the battery status, range and charging status
* a switch to start and stop the climate control
* a button to request the car starts charging.
* service to request updates from the car.
- sensors for the battery status, range and charging status
- a switch to start and stop the climate control
- a button to request the car starts charging.
- service to request updates from the car.
## Configuration
@ -117,14 +117,14 @@ You can also use the `nissan_leaf.update` service to request an on-demand update
## Hints
* The update interval has a minimum of two minutes.
* Requesting updates uses a small amount of energy from the 12 V battery. The 12 V battery charges from the main traction battery when the car is not plugged in. If the car is left plugged in for a long time, or if the main traction battery is very low then the 12 V battery may gradually discharge. A low update interval may cause the 12 V battery to become flat. When the 12 V battery is flat the car will not start. _Do not set the update interval too low. Use at your own risk._
* This integration communicates with the Nissan Servers which then communicate with the car. The communication between the car and the Nissan Servers is very slow, and takes up to five minutes to get information from the car, therefore the default polling interval is set to one hour to not overwhelm the connection.
* Responses from the Nissan servers are received separately for the battery/range, climate control and location. The `updated_on` attribute will show the last time the data was retrieved from the server. There are separate attributes for when the `next_update` is scheduled, and to indicate if `update_in_progress`. The `nissan_leaf.update` service will reset the `next_update` attribute.
* The Nissan APIs do not allow charging to be stopped remotely.
* The Nissan servers have a history of being unstable, therefore please confirm that the official Nissan Leaf app/website is working correctly before reporting bugs.
* In the UK the cut-off for Carwings was the 16 plate 24 kWh and the 65 plate 30 kWh. Cars after this have NissanConnect.
* As of 25 July 2019 the MyCarFinder API is not longer available, hence the device_tracker support has been removed.
- The update interval has a minimum of two minutes.
- Requesting updates uses a small amount of energy from the 12 V battery. The 12 V battery charges from the main traction battery when the car is not plugged in. If the car is left plugged in for a long time, or if the main traction battery is very low then the 12 V battery may gradually discharge. A low update interval may cause the 12 V battery to become flat. When the 12 V battery is flat the car will not start. _Do not set the update interval too low. Use at your own risk._
- This integration communicates with the Nissan Servers which then communicate with the car. The communication between the car and the Nissan Servers is very slow, and takes up to five minutes to get information from the car, therefore the default polling interval is set to one hour to not overwhelm the connection.
- Responses from the Nissan servers are received separately for the battery/range, climate control and location. The `updated_on` attribute will show the last time the data was retrieved from the server. There are separate attributes for when the `next_update` is scheduled, and to indicate if `update_in_progress`. The `nissan_leaf.update` service will reset the `next_update` attribute.
- The Nissan APIs do not allow charging to be stopped remotely.
- The Nissan servers have a history of being unstable, therefore please confirm that the official Nissan Leaf app/website is working correctly before reporting bugs.
- In the UK the cut-off for Carwings was the 16 plate 24 kWh and the 65 plate 30 kWh. Cars after this have NissanConnect.
- As of 25 July 2019 the MyCarFinder API is not longer available, hence the device_tracker support has been removed.
Please report bugs using the following logger configuration.

View File

@ -75,9 +75,9 @@ Floor Temperature:
Reset the OpenTherm Gateway.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
### Service `set_central_heating_ovrd`
@ -86,10 +86,10 @@ When overriding the control setpoint (via a [set_control_setpoint](#service-open
To return control of the central heating to the thermostat, call the [set_control_setpoint](#service-opentherm_gwset_control_setpoint) service with temperature value 0.
**You will only need this if you are writing your own software thermostat.**
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `ch_override` | no | The desired value for the central heating override. Use `0` to disable or `1` to enable.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
| `ch_override` | no | The desired value for the central heating override. Use `0` to disable or `1` to enable. |
<div class='note'>
@ -101,11 +101,11 @@ Please read [this information](http://otgw.tclcode.com/standalone.html) from the
Provide the time and day of week to the OpenTherm Gateway. The value provided here will be forwarded to the thermostat on the next date/time request from the thermostat. The OpenTherm Gateway does not have the ability to accurately keep track of time, so it will only retain the information provided here for a maximum of about 61 seconds.
| Service data attribute | Optional | Default | Description |
| ---------------------- | -------- | ------- | ----------- |
| `gateway_id` | no | N/A | The `gateway_id` as specified during configuration.
| `date` | yes | Today's date | Date from which the day of week will be extracted. Format: `YYYY-MM-DD`.
| `time` | yes | Current time | Time in 24h format.
| Service data attribute | Optional | Default | Description |
| ---------------------- | -------- | ------------ | ------------------------------------------------------------------------ |
| `gateway_id` | no | N/A | The `gateway_id` as specified during configuration. |
| `date` | yes | Today's date | Date from which the day of week will be extracted. Format: `YYYY-MM-DD`. |
| `time` | yes | Current time | Time in 24h format. |
### Service `opentherm_gw.set_control_setpoint`
@ -117,10 +117,10 @@ Set the central heating control setpoint override on the OpenTherm Gateway.
In a normal situation, the thermostat will calculate and control the central heating setpoint on the boiler. Setting this to any value other than 0 will enable the override and allow the OpenTherm Gateway to control this setting. While the override is active, the OpenTherm Gateway will also request your boiler to activate the central heating circuit. For your boiler's actual maximum and minimum supported setpoint value, please see the `slave_ch_max_setp` and `slave_ch_min_setp` [sensors](#sensors). Due to the potential consequences of leaving this setting enabled for prolonged periods, the override will be disabled when Home Assistant is shut down or restarted.
**You will only need this if you are writing your own software thermostat.**
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The central heating setpoint. Values between `0.0` and `90.0` are accepted, but your boiler may not support the full range. Set to `0` to disable the override.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
| `temperature` | no | The central heating setpoint. Values between `0.0` and `90.0` are accepted, but your boiler may not support the full range. Set to `0` to disable the override. |
<div class='note'>
@ -136,41 +136,41 @@ been configured to let the room unit control when to keep a
small amount of water preheated, this command can influence
that.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `dhw_override` | no | The domestic hot water override state. Value should be 0 or 1 to enable the override in off or on state, or "A" to disable the override.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
| `dhw_override` | no | The domestic hot water override state. Value should be 0 or 1 to enable the override in off or on state, or "A" to disable the override. |
### Service `opentherm_gw.set_hot_water_setpoint`
Set the domestic hot water setpoint on the OpenTherm Gateway. Not all boilers support this feature.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The domestic hot water setpoint to set on the gateway. Values between 0 and 90 are accepted, but not all boilers support this range. Check the values of the `slave_dhw_min_setp` and `slave_dhw_max_setp` sensors to see the supported range on your boiler.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
| `temperature` | no | The domestic hot water setpoint to set on the gateway. Values between 0 and 90 are accepted, but not all boilers support this range. Check the values of the `slave_dhw_min_setp` and `slave_dhw_max_setp` sensors to see the supported range on your boiler. |
### Service `opentherm_gw.set_gpio_mode`
Configure the GPIO behavior on the OpenTherm Gateway.
For an explanation of the possible modes, see [GPIO modes](#gpio-modes)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `id` | no | The GPIO ID, `A` or `B`.
| `mode` | no | The GPIO mode to be set.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
| `id` | no | The GPIO ID, `A` or `B`. |
| `mode` | no | The GPIO mode to be set. |
### Service `opentherm_gw.set_led_mode`
Configure the function of the LEDs on the OpenTherm Gateway.
For a list of possible modes with explanation, see [LED modes](#led-modes)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `id` | no | The LED ID, accepted values are `A` through `F`.
| `mode` | no | The LED mode to be set.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
| `id` | no | The LED ID, accepted values are `A` through `F`. |
| `mode` | no | The LED mode to be set. |
### Service `opentherm_gw.set_max_modulation`
@ -182,10 +182,10 @@ Set the maximum modulation level override on the OpenTherm Gateway.
In a normal situation, the thermostat will control the maximum modulation level on the boiler. Setting this to any value other than `-1` will enable the override and allow the OpenTherm Gateway to control this setting. Due to the potential consequences of leaving this setting enabled, the override will be disabled when Home Assistant is shut down or restarted.
**You will only need this if you are writing your own software thermostat.**
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `level` | no | The maximum modulation level. Accepted values are `-1` through `100`. Set to `-1` to disable the override.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
| `level` | no | The maximum modulation level. Accepted values are `-1` through `100`. Set to `-1` to disable the override. |
<div class='note'>
@ -198,20 +198,20 @@ Please read [this information](http://otgw.tclcode.com/standalone.html) from the
Provide the outside temperature to the thermostat.
If your thermostat is unable to display an outside temperature and does not support OTC (Outside Temperature Correction), this has no effect. Note that not all thermostats are able to display the full supported range.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The outside temperature to provide to the thermostat. Accepted values are `-40.0` through `64.0`. Any value above `64.0` will clear a previously configured value (suggestion: `99`).
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
| `temperature` | no | The outside temperature to provide to the thermostat. Accepted values are `-40.0` through `64.0`. Any value above `64.0` will clear a previously configured value (suggestion: `99`). |
### Service `opentherm_gw.set_setback_temperature`
Configure the setback temperature on the OpenTherm Gateway.
The value you provide here will be used with the GPIO `home` (5) and `away` (6) modes.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The setback temperature. Accepted values are `0.0` through `30.0`.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------ |
| `gateway_id` | no | The `gateway_id` as specified during configuration. |
| `temperature` | no | The setback temperature. Accepted values are `0.0` through `30.0`. |
## Sensors
@ -529,28 +529,28 @@ Possible modes and their meaning for the GPIO pins are listed here:
Bulletpoints and numbers to match the LED mode layout below.
{% endcomment %}
* 1\. No function, default for both ports on a freshly flashed chip.
* 2\. Ground - A permanently low output (0V). Could be used for a power LED.
* 3\. Vcc - A permanently high output (5V). Can be used as a short-proof power supply for some external circuitry used by the other GPIO port.
* 4\. LED E - An additional LED if you want to present more than 4 LED functions.
* 5\. LED F - An additional LED if you want to present more than 5 LED functions.
* 6\. Home - Set thermostat to setback temperature when pulled low.
* 7\. Away - Set thermostat to setback temperature when pulled high.
* 8\. DS1820 (GPIO port B only) - Data line for a DS18S20 or DS18B20 temperature sensor used to measure the outside temperature. A 4k7 resistor should be connected between GPIO port B and Vcc.
- 1\. No function, default for both ports on a freshly flashed chip.
- 2\. Ground - A permanently low output (0V). Could be used for a power LED.
- 3\. Vcc - A permanently high output (5V). Can be used as a short-proof power supply for some external circuitry used by the other GPIO port.
- 4\. LED E - An additional LED if you want to present more than 4 LED functions.
- 5\. LED F - An additional LED if you want to present more than 5 LED functions.
- 6\. Home - Set thermostat to setback temperature when pulled low.
- 7\. Away - Set thermostat to setback temperature when pulled high.
- 8\. DS1820 (GPIO port B only) - Data line for a DS18S20 or DS18B20 temperature sensor used to measure the outside temperature. A 4k7 resistor should be connected between GPIO port B and Vcc.
## LED modes
Possible LED modes and their meaning are listed here:
* R. Receiving an OpenTherm message from the thermostat or boiler.
* X. Transmitting an OpenTherm message to the thermostat or boiler.
* T. Transmitting or receiving a message on the thermostat interface.
* B. Transmitting or receiving a message on the boiler interface.
* O. Remote setpoint override is active.
* F. Flame is on.
* H. Central heating is on.
* W. Hot water is on.
* C. Comfort mode (Domestic Hot Water Enable) is on.
* E. Transmission error has been detected.
* M. Boiler requires maintenance.
* P. Raised power mode active on thermostat interface.
- R. Receiving an OpenTherm message from the thermostat or boiler.
- X. Transmitting an OpenTherm message to the thermostat or boiler.
- T. Transmitting or receiving a message on the thermostat interface.
- B. Transmitting or receiving a message on the boiler interface.
- O. Remote setpoint override is active.
- F. Flame is on.
- H. Central heating is on.
- W. Hot water is on.
- C. Comfort mode (Domestic Hot Water Enable) is on.
- E. Transmission error has been detected.
- M. Boiler requires maintenance.
- P. Raised power mode active on thermostat interface.

View File

@ -34,19 +34,19 @@ To generate an API key, log in at [the OpenUV website](https://www.openuv.io/).
## Sensors
| Name | Type | Value |
|------|------|-------|
| Current Ozone Level | Sensor | ozone level in du (Dobson Units) |
| Current UV Index | Sensor | UV Index (numerical value) |
| Current UV Level | Sensor | UV Level (as literal) |
| Max UV Index | Sensor | max UV Index for the day (at solar noon) |
| Protection Window | Binary Sensor | whether sunblock protection should be used |
| Skin Type 1 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 1](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 2 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 2](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 3 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 3](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 4 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 4](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 5 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 5](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 6 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 6](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Name | Type | Value |
| ------------------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Current Ozone Level | Sensor | ozone level in du (Dobson Units) |
| Current UV Index | Sensor | UV Index (numerical value) |
| Current UV Level | Sensor | UV Level (as literal) |
| Max UV Index | Sensor | max UV Index for the day (at solar noon) |
| Protection Window | Binary Sensor | whether sunblock protection should be used |
| Skin Type 1 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 1](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 2 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 2](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 3 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 3](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 4 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 4](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 5 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 5](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
| Skin Type 6 Safe Exposure Time | Sensor | the amount of time [Fitzpatrick skin type 6](https://en.wikipedia.org/wiki/Fitzpatrick_scale) can be in the sun unprotected |
## Updating Data
@ -63,16 +63,16 @@ query the API for new data after it initially loads. To request new data, the
Note that in the case of UV and ozone data, selecting any one of:
* Current Ozone Level
* Current UV Index
* Current UV Level
* Max UV Index
* Skin Type 1 Safe Exposure Time
* Skin Type 2 Safe Exposure Time
* Skin Type 3 Safe Exposure Time
* Skin Type 4 Safe Exposure Time
* Skin Type 5 Safe Exposure Time
* Skin Type 6 Safe Exposure Time
- Current Ozone Level
- Current UV Index
- Current UV Level
- Max UV Index
- Skin Type 1 Safe Exposure Time
- Skin Type 2 Safe Exposure Time
- Skin Type 3 Safe Exposure Time
- Skin Type 4 Safe Exposure Time
- Skin Type 5 Safe Exposure Time
- Skin Type 6 Safe Exposure Time
...as the target for the `homeassistant.update_entity` service will update the data for
_all_ of these entities.
@ -87,9 +87,9 @@ The Protection Window binary sensor will be `on` when sunblock protection should
By default, this occurs anytime the UV index is above 3.5. This behavior can be
configured via the config entry options within the UI. Two parameters are given:
* `Starting UV index for the protection window`: the UV index that, when passed, indicates
- `Starting UV index for the protection window`: the UV index that, when passed, indicates
protection should be utilized
* `Ending UV index for the protection window`: the UV index that, when passed, indicates
- `Ending UV index for the protection window`: the UV index that, when passed, indicates
protection is no longer required
## Examples of Updating Data

View File

@ -42,9 +42,9 @@ The integration can discover most Bluetooth-enabled Oral-B toothbrushes. Brushes
## Sensor
* Mode - selected cleaning mode e.g. daily clean.
* Number of sectors - brushing areas set in the **Set Pacer Visualisation** in the brushing preferences in the mobile app.
* Sector - the current sector of brush goal you are in (i.e. if brush goal is 2:00 minutes, and you are at 0:37, you are in sector 2)
* Time - total brushing time in seconds.
* Toothbrush state - whether the toothbrush is running, idle.
* Battery - toothbrush battery percentage.
- Mode - selected cleaning mode e.g. daily clean.
- Number of sectors - brushing areas set in the **Set Pacer Visualisation** in the brushing preferences in the mobile app.
- Sector - the current sector of brush goal you are in (i.e. if brush goal is 2:00 minutes, and you are at 0:37, you are in sector 2)
- Time - total brushing time in seconds.
- Toothbrush state - whether the toothbrush is running, idle.
- Battery - toothbrush battery percentage.

View File

@ -22,12 +22,12 @@ By default, the integration listens for incoming messages from OwnTracks via HTT
1. To set up OwnTracks in Home Assistant, go to **{% my integrations title="Settings > Devices & Services" %}**.
1. Add the **OwnTracks** integration.
* This will give you the **Webhook** URL as well as the **Encryption key** to use during mobile device configuration (below).
- This will give you the **Webhook** URL as well as the **Encryption key** to use during mobile device configuration (below).
### Configuring the app - Android
1. Install the [OwnTracks](https://play.google.com/store/apps/details?id=org.owntracks.android) application for Android.
* If you need a version of OwnTracks without Google Play Services, the "OSS" flavour is available [here](https://github.com/owntracks/android/releases).
- If you need a version of OwnTracks without Google Play Services, the "OSS" flavour is available [here](https://github.com/owntracks/android/releases).
1. In the app, open the sidebar and select **Preferences**, then **Connection**.
1. Change the following settings:

View File

@ -172,11 +172,11 @@ The integration must be configured with a token for playback commands to work. T
#### Music
| Service data attribute | Description |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | `entity_id` of the client |
| 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>`artist_name` or `artist.title`</li><li>`album_name` or `album.title`</li><li>`track_name` or `track.title`</li><li>`track_number` or `track.index`</li><li>`shuffle` (0 or 1)</li><li>`allow_multiple` (0 or 1)</li></ul> |
| `media_content_type` | `MUSIC` |
| `media_content_type` | `MUSIC` |
##### Examples:
@ -216,11 +216,11 @@ media_content_id: '{ "playlist_name": "The Best of Disco", "shuffle": "1" }'
#### TV Episode
| Service data attribute | Description |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | `entity_id` of the client |
| 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>`resume` (0 or 1)</li><li>`offset` (in seconds)</li><li>`allow_multiple` (0 or 1)</li></ul> |
| `media_content_type` | `EPISODE` |
| `media_content_type` | `EPISODE` |
##### Examples:
@ -250,11 +250,11 @@ media_content_id: '{ "library_name": "News TV", "show_name": "60 Minutes", "epis
#### Movie
| Service data attribute | Description |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `entity_id` | `entity_id` of the client |
| 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><li>`resume` (0 or 1)</li><li>`offset` (in seconds)</li></ul> |
| `media_content_type` | `movie` |
| `media_content_type` | `movie` |
##### Examples:
@ -272,16 +272,16 @@ Instead of searching for a specific known piece of media, many additional parame
These are examples of optional keys that can be included in the `media_content_id` JSON payload customize the search:
* `unwatched`: Restrict search to unwatched items only (`true`, `false`)
* `actor`: Restrict search for movies that include a specific actor
* `collection`: Restrict search within a named Plex collection ("Back to the Future", "Indiana Jones")
* `contentRating`: Restrict search to a specific content rating ("PG", "R")
* `country`: Restrict search to a specific country of origin
* `decade`: Restrict search to a specific decade ("1960", "2010")
* `director`: Restrict search to a specific director
* `genre`: Restrict search to a specific genre ("Animation", "Drama", "Sci-Fi")
* `resolution`: Restrict search to a specific video resolution (480, 720, 1080, "4k")
* `year`: Restrict search to a specific year
- `unwatched`: Restrict search to unwatched items only (`true`, `false`)
- `actor`: Restrict search for movies that include a specific actor
- `collection`: Restrict search within a named Plex collection ("Back to the Future", "Indiana Jones")
- `contentRating`: Restrict search to a specific content rating ("PG", "R")
- `country`: Restrict search to a specific country of origin
- `decade`: Restrict search to a specific decade ("1960", "2010")
- `director`: Restrict search to a specific director
- `genre`: Restrict search to a specific genre ("Animation", "Drama", "Sci-Fi")
- `resolution`: Restrict search to a specific video resolution (480, 720, 1080, "4k")
- `year`: Restrict search to a specific year
More parameters and additional details can be found in the `plexapi` library [documentation](https://python-plexapi.readthedocs.io/en/latest/modules/library.html#plexapi.library.LibrarySection.search).
@ -324,15 +324,15 @@ The search will attempt to guess the type of media based on the search parameter
### Compatibility
| Client | Limitations |
| --- | --- |
| Remote clients | Controls are unavailable |
| Apple TV | None |
| iOS | None |
| NVidia Shield | None |
| Plexamp | None (music playback only) |
| Client | Limitations |
| ------------------ | ------------------------------------------ |
| Remote clients | Controls are unavailable |
| Apple TV | None |
| iOS | None |
| NVidia Shield | None |
| Plexamp | None (music playback only) |
| Plex Desktop & Web | Controls are unavailable (as of June 2022) |
| Plex HTPC | None |
| Plex HTPC | None |
## Sonos Playback
@ -368,10 +368,10 @@ media_content_id: 'plex://{ "playlist_name": "Party Mix" }'
Refresh a Plex library to scan for new and updated media.
| Service data attribute | Required | Description | Example |
| --- | --- | --- | --- |
| `server_name` | No | Name of Plex server to use if multiple servers configured. | "My Plex Server" |
| `library_name` | Yes | Name of Plex library to update. | "TV Shows" |
| Service data attribute | Required | Description | Example |
| ---------------------- | -------- | ---------------------------------------------------------- | ---------------- |
| `server_name` | No | Name of Plex server to use if multiple servers configured. | "My Plex Server" |
| `library_name` | Yes | Name of Plex library to update. | "TV Shows" |
## Notes

View File

@ -20,21 +20,21 @@ The Profiler integration provides a profile which is a set of statistics that id
Start the profiler for the specified number of seconds.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `seconds` | yes | The number of seconds to run the profile. Defaults to 60.0
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------- |
| `seconds` | yes | The number of seconds to run the profile. Defaults to 60.0 |
When the profile is complete, Profiler will generate a Python `cprof` and a `callgrind.out` file in your configuration directory. The exact path to these files will appear in a persistent notification so they can be easily located and copied to your desktop.
The `cprof` file can be viewed with:
* [SnakeViz](https://jiffyclub.github.io/snakeviz/)
* [Gprof2dot](https://github.com/jrfonseca/gprof2dot)
- [SnakeViz](https://jiffyclub.github.io/snakeviz/)
- [Gprof2dot](https://github.com/jrfonseca/gprof2dot)
Additionally, the profiler will generate a `callgrind.out` file that can be viewed with:
* [KCachegrind or QCachegrind](https://kcachegrind.github.io/)
* [Gprof2dot](https://github.com/jrfonseca/gprof2dot)
- [KCachegrind or QCachegrind](https://kcachegrind.github.io/)
- [Gprof2dot](https://github.com/jrfonseca/gprof2dot)
The gprof2dot tool generates [DOT](http://www.graphviz.org/doc/info/lang.html) files, which can be converted to images using the `dot` tool from [Graphviz](http://www.graphviz.org/) or viewed directly using [xdot](https://github.com/jrfonseca/xdot.py). The `-e` and `-n` parameters can be used to set the minimum percentage required to include a function in the output file. Observe these examples:
@ -55,9 +55,9 @@ gprof2dot -f pstats profile.1234567890123456.cprof | dot -Tsvg -o profile.svg
Start the memory profiler for the specified number of seconds.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `seconds` | yes | The number of seconds to run the profile. Defaults to 60.0
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------- |
| `seconds` | yes | The number of seconds to run the profile. Defaults to 60.0 |
When the memory profile is complete, Profiler will generate a `.hpy` file in your configuration directory. The exact path to these files will appear in a persistent notification so they can be easily located and copied to your desktop.
@ -73,9 +73,9 @@ hpy().pb()
Start logging the growth of objects in memory.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `scan_interval` | yes | The the frequency between logging objects. Defaults to 30.0
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------------- |
| `scan_interval` | yes | The the frequency between logging objects. Defaults to 30.0 |
Periodically log the growth of new objects in memory. This service's primary use case is finding memory leaks. This service can be run for long periods to find slow leaks. For finding fast leaks, `profiler.start_log_object_sources` is preferred; however, it is much more CPU intensive.
@ -87,10 +87,10 @@ Stop logging the growth of objects in memory.
Start logging the growth of objects in memory and attempt to find the source of the new objects.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `scan_interval` | yes | The the frequency between logging objects. Defaults to 30.0
| `max_objects` | yes | The number of new objects to examine for source information. Defaults to 5
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------------------- |
| `scan_interval` | yes | The the frequency between logging objects. Defaults to 30.0 |
| `max_objects` | yes | The number of new objects to examine for source information. Defaults to 5 |
Periodically log the growth of new objects in memory. This service's primary use case is finding memory leaks.
@ -102,9 +102,9 @@ Stop logging the growth of objects with sources in memory.
### Service {% my developer_call_service service="profiler.dump_log_objects" %}
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `type` | no | The type of object to dump to the log.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------- |
| `type` | no | The type of object to dump to the log. |
When `start_log_objects` highlights the growth of a collection of objects in memory, this service can help investigate. The `repr` of each object that matches `type` will be logged.

View File

@ -35,11 +35,11 @@ To add this integration, you need a (free) Purple Air API Key. A new account cur
Detailed instructions can be found [here](https://community.purpleair.com/t/creating-api-keys/3951) but in summary you:
* Create an account at https://develop.purpleair.com/ (which uses Single Sign-On through a Google account).
* On the ['keys'](https://develop.purpleair.com/keys) page press the "plus" button to create an API key. Leave the defaults of **Read** and **Enabled**.
* Go to the ['projects'](https://develop.purpleair.com/projects) page and select the edit (pencil) button on the listed Project. Add points (for example 1,000,000), then select **Update**.
* Go back to the ['keys'](https://develop.purpleair.com/keys) page and copy the API key. It will be a value like XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX.
* Paste that API key into the **API Key** field when creating the integration in Home Assistant.
- Create an account at https://develop.purpleair.com/ (which uses Single Sign-On through a Google account).
- On the ['keys'](https://develop.purpleair.com/keys) page press the "plus" button to create an API key. Leave the defaults of **Read** and **Enabled**.
- Go to the ['projects'](https://develop.purpleair.com/projects) page and select the edit (pencil) button on the listed Project. Add points (for example 1,000,000), then select **Update**.
- Go back to the ['keys'](https://develop.purpleair.com/keys) page and copy the API key. It will be a value like XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX.
- Paste that API key into the **API Key** field when creating the integration in Home Assistant.
Note that if you are using your own sensor, it will need to be set to **Public** to be visible.

View File

@ -13,8 +13,8 @@ ha_integration_type: entity
Keeps track which remotes are in your environment, their state and allows you to control them.
* Maintains a state per remote and a combined state `all_remotes`.
* Registers services `remote/turn_on`, `remote/turn_off`, `remote/toggle`, and `remote/send_command` to control remotes.
- Maintains a state per remote and a combined state `all_remotes`.
- Registers services `remote/turn_on`, `remote/turn_off`, `remote/toggle`, and `remote/send_command` to control remotes.
### Use the services
@ -24,8 +24,8 @@ Go to the **Developer Tools**, then to **Call Service** in the frontend, and cho
{"entity_id":"remote.family_room"}
```
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Only act on a specific remote, else target all.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------- |
| `entity_id` | yes | Only act on a specific remote, else target all. |
See the platform documentation for each type of remote for more detailed examples.

View File

@ -104,8 +104,8 @@ camera:
To generate the needed API-key do the following:
* Go to your Repetier Server web-console
* Push the settings icon (the gear icon)
* Select User Profiles.
* Create a new user, deselect all options and click Create User.
* Edit the newly created user and take note of the API-key for this user, that's the one to use in the Home Assistant Settings
- Go to your Repetier Server web-console
- Push the settings icon (the gear icon)
- Select User Profiles.
- Create a new user, deselect all options and click Create User.
- Edit the newly created user and take note of the API-key for this user, that's the one to use in the Home Assistant Settings

View File

@ -25,9 +25,9 @@ The Ridwell integration allows users to track waste recycling pickups scheduled
The pickup sensor contains a `pickup_types` state attribute, which contains:
* The items being picked up during this particular event
* The category of each item
* The quantity of each item
- The items being picked up during this particular event
- The category of each item
- The quantity of each item
For example:

View File

@ -34,7 +34,7 @@ The Pentair ScreenLogic integration allows you to integrate your Pentair Intelli
ScreenLogic options are set via **Settings** -> **Devices & Services** -> **Pentair ScreenLogic** -> **Options**.
* Seconds between scans - How many seconds between each polling of the ScreenLogic gateway.
-= Seconds between scans - How many seconds between each polling of the ScreenLogic gateway.
## Services

View File

@ -31,7 +31,7 @@ Follow these steps to get the DSN:
1. Select **Create project**.
1. Fill out the **Give your project a name** and **choose Assign a Team** fields and select the **Create project** button.
1. Select the **Get your DSN** link in top of the page.
* Your DSN is now visible and looks like <https://sdasdasdasdsadsadas@sentry.io/sdsdfsdf>
- Your DSN is now visible and looks like <https://sdasdasdasdsadsadas@sentry.io/sdsdfsdf>
{% include integrations/config_flow.md %}

View File

@ -19,14 +19,14 @@ Cheap LED based sensors usually use a GPIO interface that is hard to attach to c
At this time, the following sensors are supported:
* oneair,s3
* novafitness,sds021
* novafitness,sds011
* plantower,pms1003
* plantower,pms5003
* plantower,pms7003
* plantower,pms2003
* plantower,pms3003
- oneair,s3
- novafitness,sds021
- novafitness,sds011
- plantower,pms1003
- plantower,pms5003
- plantower,pms7003
- plantower,pms2003
- plantower,pms3003
## Configuration

View File

@ -38,7 +38,7 @@ There is currently support for the following device types within Home Assistant:
- **Smoke+CO Detector**: reports on the smoke and carbon monoxide sensor status*.
- **Water Sensor**: reports on water sensor status*.
* Sensor status is only available for SimpliSafe V3 systems and is updated once every 30 seconds, so information displayed in Home Assistant may be delayed.
- Sensor status is only available for SimpliSafe V3 systems and is updated once every 30 seconds, so information displayed in Home Assistant may be delayed.
## SimpliSafe Plans
@ -62,16 +62,16 @@ Remove a SimpliSafe PIN (by label or PIN value).
| Service Data Attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------- |
| `label_or_pin` | no | The PIN label or value to remove |
| `label_or_pin` | no | The PIN label or value to remove |
### `simplisafe.set_pin`
Set a SimpliSafe PIN.
| Service Data Attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------- |
| `label` | no | The label to show in the SimpliSafe UI |
| `pin` | no | The PIN value to use |
| Service Data Attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------- |
| `label` | no | The label to show in the SimpliSafe UI |
| `pin` | no | The PIN value to use |
### `simplisafe.system_properties`
@ -79,14 +79,14 @@ Set one or more system properties.
| Service Data Attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------- |
| `alarm_duration` | yes | The number of seconds a triggered alarm should sound |
| `chime_volume` | yes | The volume of the door chime |
| `entry_delay_away` | yes | The number of seconds to delay triggering when entering with an "away" state |
| `entry_delay_home` | yes | The number of seconds to delay triggering when entering with a "home" state |
| `exit_delay_away` | yes | The number of seconds to delay triggering when exiting with an "away" state |
| `exit_delay_home` | yes | The number of seconds to delay triggering when exiting with a "home" state |
| `light` | yes | Whether the light on the base station should display when armed |
| `voice_prompt_volume` | yes | The volume of the base station's voice prompts |
| `alarm_duration` | yes | The number of seconds a triggered alarm should sound |
| `chime_volume` | yes | The volume of the door chime |
| `entry_delay_away` | yes | The number of seconds to delay triggering when entering with an "away" state |
| `entry_delay_home` | yes | The number of seconds to delay triggering when entering with a "home" state |
| `exit_delay_away` | yes | The number of seconds to delay triggering when exiting with an "away" state |
| `exit_delay_home` | yes | The number of seconds to delay triggering when exiting with a "home" state |
| `light` | yes | Whether the light on the base station should display when armed |
| `voice_prompt_volume` | yes | The volume of the base station's voice prompts |
## Events
@ -96,14 +96,14 @@ Set one or more system properties.
web and mobile apps. When received, they come with event data that contains the
following keys:
* `last_event_changed_by`: the PIN that triggered the event (if appropriate)
* `last_event_type`: the type of event
* `last_event_info`: a human-friendly string describing the event in more detail
* `last_event_sensor_name`: the sensor that triggered the event (if appropriate)
* `last_event_sensor_serial`: the serial number of the sensor that triggered the event (if appropriate)
* `last_event_sensor_type`: the type of sensor that triggered the event (if appropriate)
* `system_id`: the system ID to which the event belongs
* `last_event_timestamp`: the UTC datetime at which the event was received
- `last_event_changed_by`: the PIN that triggered the event (if appropriate)
- `last_event_type`: the type of event
- `last_event_info`: a human-friendly string describing the event in more detail
- `last_event_sensor_name`: the sensor that triggered the event (if appropriate)
- `last_event_sensor_serial`: the serial number of the sensor that triggered the event (if appropriate)
- `last_event_sensor_type`: the type of sensor that triggered the event (if appropriate)
- `system_id`: the system ID to which the event belongs
- `last_event_timestamp`: the UTC datetime at which the event was received
For example, when someone rings the doorbell, a
`SIMPLISAFE_EVENT` event will fire with the following event data:
@ -133,13 +133,13 @@ For example, when someone rings the doorbell, a
`last_event_type` can have the following values:
* `automatic_test`
* `camera_motion_detected`
* `doorbell_detected`
* `device_test`
* `secret_alert_triggered`
* `sensor_paired_and_named`
* `user_initiated_test`
- `automatic_test`
- `camera_motion_detected`
- `doorbell_detected`
- `device_test`
- `secret_alert_triggered`
- `sensor_paired_and_named`
- `user_initiated_test`
To build an automation using one of these, use `SIMPLISAFE_EVENT`
as an event trigger, with `last_event_type` as the `event_data`.
@ -159,10 +159,10 @@ trigger:
messages section of the SimpliSafe web and mobile apps. When received, they come with
event data that contains the following keys:
* `category`: The notification category (e.g., `error`)
* `code`: The SimpliSafe code for the notification
* `message`: The actual text of the notification
* `timestamp`: The UTC timestamp of the notification
- `category`: The notification category (e.g., `error`)
- `code`: The SimpliSafe code for the notification
- `message`: The actual text of the notification
- `timestamp`: The UTC timestamp of the notification
Note that when Home Assistant restarts, `SIMPLISAFE_NOTIFICATION` events will fire once
again for any notifications still active in the SimpliSafe web and mobile apps. To

View File

@ -13,9 +13,9 @@ ha_integration_type: integration
The Starling Bank sensor platform allows you to monitor your account balance data as sensors in Home Assistant.
* Turn off the lights when money's tight?
* Play a song when you reach a savings goal?
* Sound an alarm if you go into your overdraft?
- Turn off the lights when money's tight?
- Play a song when you reach a savings goal?
- Sound an alarm if you go into your overdraft?
You can find more information about Starling Bank at [their website](https://www.starlingbank.com/). Information on their API can be found on their [developers site](https://developer.starlingbank.com/).

View File

@ -17,19 +17,19 @@ The `telegram` integration uses [Telegram](https://www.telegram.org) to deliver
To create your first [Telegram bot](https://core.telegram.org/bots#how-do-i-create-a-bot), follow these steps:
* Bots are not allowed to contact users. You need to make the first contact from the user for which you want to set up the bot.
- Bots are not allowed to contact users. You need to make the first contact from the user for which you want to set up the bot.
1. Tell Telegram to create a bot for you:
* In Telegram, open a chat with @BotFather and enter `/newbot`.
* Follow the instructions on screen and give your bot a name.
* BotFather will give you a link to your new bot and an HTTP API token.
* Store the token somewhere safe.
- In Telegram, open a chat with @BotFather and enter `/newbot`.
- Follow the instructions on screen and give your bot a name.
- BotFather will give you a link to your new bot and an HTTP API token.
- Store the token somewhere safe.
1. To get a chat ID, send any message to the [GetIDs bot](https://t.me/getidsbot).
* Then, enter `/start`.
* The bot will return your chat ID and the user name.
- Then, enter `/start`.
- The bot will return your chat ID and the user name.
1. Create a [Telegram bot in Home Assistant](/integrations/telegram_bot):
* Paste this into your [configuration file](/docs/configuration/):
* Replace the `api_key` and the `allowed_chat_ids` with your data.
- Paste this into your [configuration file](/docs/configuration/):
- Replace the `api_key` and the `allowed_chat_ids` with your data.
```yaml
# Telegram Bot
@ -41,8 +41,8 @@ To create your first [Telegram bot](https://core.telegram.org/bots#how-do-i-crea
```
1. Create a notifier:
* Paste this into your configuration file:
* Replace the `name` and the `chat_id` with your data.
- Paste this into your configuration file:
- Replace the `name` and the `chat_id` with your data.
```yaml
# Notifier
@ -51,21 +51,21 @@ To create your first [Telegram bot](https://core.telegram.org/bots#how-do-i-crea
name: "sarah"
chat_id: 44441111
```
* Restart Home Assistant.
- Restart Home Assistant.
1. From the conversation with BotFather, select the link to open a chat with your new bot.
1. In the chat with the new bot, enter `/start`.
1. Test the service:
* Go to [**Developer tools** > **Services** > **YAML mode**](https://my.home-assistant.io/redirect/developer_call_service/?service=homeassistant.turn_on).
* Paste this into the YAML file:
* Replace the `service` and the `message` with your data.
- Go to [**Developer tools** > **Services** > **YAML mode**](https://my.home-assistant.io/redirect/developer_call_service/?service=homeassistant.turn_on).
- Paste this into the YAML file:
- Replace the `service` and the `message` with your data.
```yaml
service: notify.sarah
data:
message: "Yay! A message from Home Assistant."
```
* Select **Call service**. You should now get a message.
- Select **Call service**. You should now get a message.
1. You can do more with this. Check out the configuration descriptions and examples below.

View File

@ -22,8 +22,8 @@ ha_iot_class: Local Push
ha_config_flow: true
ha_quality_scale: platinum
ha_codeowners:
- '@AngellusMortis'
- '@bdraco'
- "@AngellusMortis"
- "@bdraco"
ha_domain: unifiprotect
ha_platforms:
- binary_sensor
@ -49,9 +49,9 @@ The UniFi Protect integration adds support for retrieving Camera feeds and Senso
This Integration supports all UniFi OS Consoles that can run UniFi Protect. Currently, this includes:
* Any UniFi Protect Network Video Recorder (**[UNVR](https://store.ui.com/collections/unifi-protect-nvr/products/unvr)** or **[UNVRPRO](https://store.ui.com/collections/unifi-protect-nvr/products/unvr-pro)**)
* Any UniFi "Dream" device (**[UDMPRO](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/udm-pro)**, **[UDR](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/dream-router)**, or **[UDMSE](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/dream-machine-se)**), _except the base UniFi Dream Machine/UDM_
* UniFi Cloud Key Gen2 Plus (**[UCKP](https://store.ui.com/collections/unifi-protect-nvr/products/unifi-cloudkey-plus)**) firmware version v2.0.24+
- Any UniFi Protect Network Video Recorder (**[UNVR](https://store.ui.com/collections/unifi-protect-nvr/products/unvr)** or **[UNVRPRO](https://store.ui.com/collections/unifi-protect-nvr/products/unvr-pro)**)
- Any UniFi "Dream" device (**[UDMPRO](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/udm-pro)**, **[UDR](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/dream-router)**, or **[UDMSE](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/dream-machine-se)**), _except the base UniFi Dream Machine/UDM_
- UniFi Cloud Key Gen2 Plus (**[UCKP](https://store.ui.com/collections/unifi-protect-nvr/products/unifi-cloudkey-plus)**) firmware version v2.0.24+
UCKP with Firmware v1.x **do NOT run UniFi OS**, you must upgrade to firmware `[v2.0.24](https://community.ui.com/releases/UniFi-Cloud-Key-Firmware-2-0-24/b6684f1e-8542-4660-bc0b-74e0634448e8)` or newer.
@ -66,6 +66,7 @@ The absolute **minimal** software version is `[v1.20.0](https://community.ui.com
**Early Access releases are not supported by Home Assistant.**
Using Early Access versions will likely cause your UniFi Protect integration to break unexpectedly.
</div>
#### Downgrading UniFi Protect
@ -102,8 +103,8 @@ but it is not required. The entities that are created will automatically adjust
use has.
1. Login to your _Local Portal_ on your UniFi OS device, and click on _Users_. **Note**: This **must** be done from
the UniFi OS by accessing it directly by IP address (i.e. _Local Portal_), not via `unifi.ui.com` or within the
UniFi Protect app.
the UniFi OS by accessing it directly by IP address (i.e. _Local Portal_), not via `unifi.ui.com` or within the
UniFi Protect app.
2. Go to **Admins** from the left hand side menu or [IP address]/admins/users e.g. 192.168.1.1/admins/users.
3. Click on **Add New Admin**.
4. Select **Full Management** for the role. Uncheck **Allow Remote Access** and fill out the fields for your user.
@ -144,8 +145,8 @@ and in many cases, get a read-only sensor instead of an editable switch/select/n
**Smart Detections**: The following cameras have Smart Detections:
* All "AI" series cameras. This includes the [AI 360](https://store.ui.com/collections/unifi-protect/products/unifi-protect-ai-360) and the [AI Bullet](https://store.ui.com/collections/unifi-protect/products/uvc-ai-bullet).
* All "G4" series cameras. This includes the [G4 Doorbell](https://store.ui.com/collections/unifi-protect/products/uvc-g4-doorbell), [G4 Bullet](https://store.ui.com/collections/unifi-protect/products/uvc-g4-bullet), [G4 Pro](https://store.ui.com/collections/unifi-protect/products/uvc-g4-pro) and [G4 Instant](https://store.ui.com/collections/unifi-protect/products/camera-g4-instant).
- All "AI" series cameras. This includes the [AI 360](https://store.ui.com/collections/unifi-protect/products/unifi-protect-ai-360) and the [AI Bullet](https://store.ui.com/collections/unifi-protect/products/uvc-ai-bullet).
- All "G4" series cameras. This includes the [G4 Doorbell](https://store.ui.com/collections/unifi-protect/products/uvc-g4-doorbell), [G4 Bullet](https://store.ui.com/collections/unifi-protect/products/uvc-g4-bullet), [G4 Pro](https://store.ui.com/collections/unifi-protect/products/uvc-g4-pro) and [G4 Instant](https://store.ui.com/collections/unifi-protect/products/camera-g4-instant).
G3 Series cameras do _not_ have Smart detections.
@ -153,41 +154,41 @@ G3 Series cameras do _not_ have Smart detections.
Each UniFi Protect camera will get a device in Home Assistant with the following:
* **Camera** - A camera for each camera channel and RTSP(S) combination found for each camera (up to 7). Only the highest resolution RTSPS camera entity will be enabled by default.
* If your camera is a G4 Doorbell Pro, an additional camera entity will be added for the Package Camera. The Package Camera entity will _not_ have streaming capabilities regardless of whether RTSPS is enabled on the channel or not. This is due to the Package Camera having a very low FPS that does not make it compatible with HLS streaming.
* **Media Player** - If your camera has a speaker, you will get a media player entity that allows you to play audio to your camera's speaker. Any audio file URI that is playable by FFmpeg will be able to be played to your speaker, including via the [TTS Say Service](/integrations/tts/#service-say).
* **Privacy Mode** - If your camera allows for Privacy Masks, there will be a configuration switch to toggle a "Privacy Mode" that disables recording, microphone, and a black privacy zone over the whole camera.
* **Sensors** - Sensors include "Is Dark", "Motion Detected", detected object sensors (if the camera supports smart detections), and "Doorbell Chime" (if the camera has a chime). Several diagnostics sensors are added including sensors on uptime, network connection stats, and storage stats. Doorbells will also have a "Voltage" sensor for troubleshooting electrical issues.
* There is one detected object sensor per Smart Detection supported by the camera and a combined sensor for if _any_ object is detected.
* **Device Configuration** - Cameras will get various configuration controls based on the features available to the camera. Currently provided configuration controls:
* configuration sliders for Chime Type, Zoom Level, Microphone Sensitivity, and WDR Level
* configuration switches Overlay Information, Smart Detections types, Status Light, HDR, High FPS mode, System Sounds
* configuration text and select for LCD Screen for doorbells to either set custom messages or use predefined messages
* **Button** - A disabled by default button is added for each camera device. The button will let you reboot your camera device.
- **Camera** - A camera for each camera channel and RTSP(S) combination found for each camera (up to 7). Only the highest resolution RTSPS camera entity will be enabled by default.
- If your camera is a G4 Doorbell Pro, an additional camera entity will be added for the Package Camera. The Package Camera entity will _not_ have streaming capabilities regardless of whether RTSPS is enabled on the channel or not. This is due to the Package Camera having a very low FPS that does not make it compatible with HLS streaming.
- **Media Player** - If your camera has a speaker, you will get a media player entity that allows you to play audio to your camera's speaker. Any audio file URI that is playable by FFmpeg will be able to be played to your speaker, including via the [TTS Say Service](/integrations/tts/#service-say).
- **Privacy Mode** - If your camera allows for Privacy Masks, there will be a configuration switch to toggle a "Privacy Mode" that disables recording, microphone, and a black privacy zone over the whole camera.
- **Sensors** - Sensors include "Is Dark", "Motion Detected", detected object sensors (if the camera supports smart detections), and "Doorbell Chime" (if the camera has a chime). Several diagnostics sensors are added including sensors on uptime, network connection stats, and storage stats. Doorbells will also have a "Voltage" sensor for troubleshooting electrical issues.
- There is one detected object sensor per Smart Detection supported by the camera and a combined sensor for if _any_ object is detected.
- **Device Configuration** - Cameras will get various configuration controls based on the features available to the camera. Currently provided configuration controls:
- configuration sliders for Chime Type, Zoom Level, Microphone Sensitivity, and WDR Level
- configuration switches Overlay Information, Smart Detections types, Status Light, HDR, High FPS mode, System Sounds
- configuration text and select for LCD Screen for doorbells to either set custom messages or use predefined messages
- **Button** - A disabled by default button is added for each camera device. The button will let you reboot your camera device.
### UniFi Protect Floodlights
Each UniFi Protect floodlight will get a device in Home Assistant with the following:
* **Light** - A light entity will be added for each floodlight device. The light entity will let you control turning on or off your light as well as adjust the brightness of your floodlight.
* **Sensors** - Sensors are provided for data provided from floodlight devices. Sensors include "Is Dark" and "Motion Detected".
* **Device Configuration** - Floodlights will get configuration controls for the PIR Motion Sensitivity, the Auto-shutoff Duration after detected motion, and Status Light switch
* **Button** - A disabled by default button is added for each floodlight device. The button will let you reboot your floodlight device.
- **Light** - A light entity will be added for each floodlight device. The light entity will let you control turning on or off your light as well as adjust the brightness of your floodlight.
- **Sensors** - Sensors are provided for data provided from floodlight devices. Sensors include "Is Dark" and "Motion Detected".
- **Device Configuration** - Floodlights will get configuration controls for the PIR Motion Sensitivity, the Auto-shutoff Duration after detected motion, and Status Light switch
- **Button** - A disabled by default button is added for each floodlight device. The button will let you reboot your floodlight device.
### UniFi Protect Smart Sensors
UniFi Protect smart sensors are a bit different than normal sensors. They are a multi-sensor that can act as a contact sensor (door/window), a motion detector, a light level detector, a humidity sensor, a temperature level sensor, an alarm sound sensor, and/or a leak detector. Each sensor function can be enabled or disabled dynamically. Disabled sensors will be marked as "unavailable".
* **Sensors** - A sensor is provided for each major function of the smart sensor device:
* **Contact** - A contact sensor will be available if the mount type is set as "Door", "Window" or "Garage".
* **Motion Detection** - A motion detection sensor will be available if the mount type is not set to "Leak" and motion detection is enabled.
* **Light Level** - A light level sensor will be available if the mount type is not set to "Leak" and the light sensor is enabled.
* **Humidity** - A humidity sensor will be available if the mount type is not set to "Leak" and the humidity sensor is enabled.
* **Temperature** - A temperature sensor will be available if the mount type is not set to "Leak" and the temperature sensor is enabled.
* **Alarm Sound** - An alarm sensor will be available if the mount type is not set to "Leak" and the alarm sound sensor is enabled. The Alarm Sound sensor can have the values "none", "smoke" and "co". More values may be added over time automatically as UniFi Protect adds support for detecting more alarms.
* **Tamper** - A binary sensor to detect tampering.
* **Device Configuration** - Smart sensors will get configuration controls for the Status Light, enabling/disabling all of the main sensors, selecting the Paired Camera, and changing the Mount Type of the sensor.
* **Button** - A button to clear the tampered state as well as a disabled by default button to restart the device.
- **Sensors** - A sensor is provided for each major function of the smart sensor device:
- **Contact** - A contact sensor will be available if the mount type is set as "Door", "Window" or "Garage".
- **Motion Detection** - A motion detection sensor will be available if the mount type is not set to "Leak" and motion detection is enabled.
- **Light Level** - A light level sensor will be available if the mount type is not set to "Leak" and the light sensor is enabled.
- **Humidity** - A humidity sensor will be available if the mount type is not set to "Leak" and the humidity sensor is enabled.
- **Temperature** - A temperature sensor will be available if the mount type is not set to "Leak" and the temperature sensor is enabled.
- **Alarm Sound** - An alarm sensor will be available if the mount type is not set to "Leak" and the alarm sound sensor is enabled. The Alarm Sound sensor can have the values "none", "smoke" and "co". More values may be added over time automatically as UniFi Protect adds support for detecting more alarms.
- **Tamper** - A binary sensor to detect tampering.
- **Device Configuration** - Smart sensors will get configuration controls for the Status Light, enabling/disabling all of the main sensors, selecting the Paired Camera, and changing the Mount Type of the sensor.
- **Button** - A button to clear the tampered state as well as a disabled by default button to restart the device.
#### Tamper Sensor
@ -197,30 +198,30 @@ Once the tamper sensor is triggered, it stays active until manually cleared. A b
Each UniFi Protect viewer will get a device in Home Assistant with the following:
* **Liveview Select** - A select control will be added for each viewer device that will allow you to select which liveview is being displayed on the viewer.
* **Button** - A disabled by default button is added for each viewer device. The button will let you reboot your viewer device.
- **Liveview Select** - A select control will be added for each viewer device that will allow you to select which liveview is being displayed on the viewer.
- **Button** - A disabled by default button is added for each viewer device. The button will let you reboot your viewer device.
### UniFi Protect DoorLock
Each UniFi Protect door lock will get a device in Home Assistant with the following:
* **Lock** - A lock control will be added to lock and unlock your door lock device.
* **Device Configuration** - Door locks will get configuration controls for the Auto-Lock Timeout, selecting the Paired Camera, and Status Light switch
* **Button** - A disabled by default button is added for each door lock device. The button will let you reboot your door lock device.
- **Lock** - A lock control will be added to lock and unlock your door lock device.
- **Device Configuration** - Door locks will get configuration controls for the Auto-Lock Timeout, selecting the Paired Camera, and Status Light switch
- **Button** - A disabled by default button is added for each door lock device. The button will let you reboot your door lock device.
### UniFi Protect Smart Chime
Each UniFi Protect smart chime will get a device in Home Assistant with the following:
* **Button** - A button to trigger the chime manually for each smart chime device. Also, a disabled by default button is added to let you reboot your smart chime device.
* **Device Configuration** - Smart chimes will get a volume slider to adjust the chime's loudness and a sensor for the last time the chime rang.
- **Button** - A button to trigger the chime manually for each smart chime device. Also, a disabled by default button is added to let you reboot your smart chime device.
- **Device Configuration** - Smart chimes will get a volume slider to adjust the chime's loudness and a sensor for the last time the chime rang.
### NVR
Your main UniFi Protect NVR device also gets a number of diagnostics sensors that can be used for tracking the state of your UniFi Protect system:
* **Disk Health**: Each disk installed in your NVR will have a disk health sensor. These are simple good/bad sensors and the order is not promised to match the order in UniFi OS. Disk model number is provided as a state attribute though to help map sensor to disk.
* **Utilization and Storage Sensors**: Several other sensors are also added for uptime, hardware utilization, and distribution details of the video on disk.
- **Disk Health**: Each disk installed in your NVR will have a disk health sensor. These are simple good/bad sensors and the order is not promised to match the order in UniFi OS. Disk model number is provided as a state attribute though to help map sensor to disk.
- **Utilization and Storage Sensors**: Several other sensors are also added for uptime, hardware utilization, and distribution details of the video on disk.
## Media Source
@ -234,10 +235,10 @@ The media source is split into 5 folders/levels:
2. Camera Selector - either lets you select all cameras or a specific camera to view events for.
3. Event Selector - either lets you select all events or a specific event type to view events for.
4. Time Selector - filters events for a given time range:
* Last 24 Hours
* Last 7 Days
* Last 30 Days
* By Month since start of recording - selecting a month lets you either view the whole month or a specific date
- Last 24 Hours
- Last 7 Days
- Last 30 Days
- By Month since start of recording - selecting a month lets you either view the whole month or a specific date
5. Event Selector - lets you select the specific event for playback
Since the media browser does not have any pagination or filtering, all of the events must be loaded into memory. As a result, the number of events loaded at once is truncated to 10,000 by default. The number of events will be listed at "10000 (TRUNCATED)" if the event count was truncated. You can raise or lower the limit of the number of events that can be loaded using the Config Entry Options.

View File

@ -43,11 +43,11 @@ The sensors available to you will depend on the type of WattTime subscription yo
</div>
| Name | Subscription Level | Meaning |
|---------------------------------------|--------------------|-------------------------------------------------------------------------------------------------------------|
| ------------------------------------- | ------------------ | ----------------------------------------------------------------------------------------------------------- |
| Marginal Operating Emissions Rate | Pro | The currently measured amount of lbs of CO2 per MWh |
| Relative Marginal Emissions Intensity | All | A percentage between the lowest (cleanest) and highest (highest) MOER values observed in the past two weeks |
You can learn more about the data that WattTime collects by viewing these articles:
* https://www.watttime.org/aer/what-is-aer/
* https://www.watttime.org/aer/how-aer-works/
- https://www.watttime.org/aer/what-is-aer/
- https://www.watttime.org/aer/how-aer-works/

View File

@ -18,7 +18,7 @@ ha_config_flow: true
The Wyoming integration connects external voice services to Home Assistant using a [small protocol](https://github.com/rhasspy/rhasspy3/blob/master/docs/wyoming.md). This enables [Assist](/voice_control/) to use a variety of local [speech-to-text](/integrations/stt/) and [text-to-speech](/integrations/tts/) systems, such as:
* Whisper {% my supervisor_addon badge addon="core_whisper" %}
* Piper {% my supervisor_addon badge addon="core_piper" %}
- Whisper {% my supervisor_addon badge addon="core_whisper" %}
- Piper {% my supervisor_addon badge addon="core_piper" %}
{% include integrations/config_flow.md %}

View File

@ -20,10 +20,10 @@ To successfully implement this platform, the Home Assistant host should be capab
In order to integrate the camera with Home Assistant, it is necessary to install a custom firmware on the device. Instructions for doing so can be found for each models.
* [Yi 720p](https://github.com/fritz-smh/yi-hack)
* [Yi Home 17CN / 27US / 47US / 1080p Home / Dome / 1080p Dome](https://github.com/shadow-1/yi-hack-v3)
* [Recent Yi 1080p Home / 1080p Dome](https://github.com/roleoroleo/yi-hack-MStar)
* [Xiaofang 1080p Camera](https://github.com/samtap/fang-hacks)
- [Yi 720p](https://github.com/fritz-smh/yi-hack)
- [Yi Home 17CN / 27US / 47US / 1080p Home / Dome / 1080p Dome](https://github.com/shadow-1/yi-hack-v3)
- [Recent Yi 1080p Home / 1080p Dome](https://github.com/roleoroleo/yi-hack-MStar)
- [Xiaofang 1080p Camera](https://github.com/samtap/fang-hacks)
Once installed, please ensure that you have enabled FTP.

View File

@ -50,15 +50,15 @@ The entities for the sensor classes are added after the values are first receive
Some devices use AES encryption to protect the sensor values they are broadcasting.
* MiBeacon v2/v3 use unauthenticated AES with a 24 character hexadecimal (12 byte) key
* MiBeacon v4/v5 use authenticated AES with a 32 character hexadecimal (16 byte) key
- MiBeacon v2/v3 use unauthenticated AES with a 24 character hexadecimal (12 byte) key
- MiBeacon v4/v5 use authenticated AES with a 32 character hexadecimal (16 byte) key
This key is called the bindkey or beaconkey.
There are a few ways to obtain a bindkey for your device:
* Set your own. The [Telink Flasher](https://atc1441.github.io/TelinkFlasher.html) allows you to generate new bindkeys for devices it supports. The new bind key will work with Home Assistant, but the Mi Home app will not recognize the sensor anymore once the device has been activated by the TeLink flasher application. To use the sensor again with the Xiaomi Mi Home app, the device needs to be removed and then re-added inside the Mi Home app.
* Extract the keys from Xiaomi Cloud using a [token extractor](https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor) tool.
- Set your own. The [Telink Flasher](https://atc1441.github.io/TelinkFlasher.html) allows you to generate new bindkeys for devices it supports. The new bind key will work with Home Assistant, but the Mi Home app will not recognize the sensor anymore once the device has been activated by the TeLink flasher application. To use the sensor again with the Xiaomi Mi Home app, the device needs to be removed and then re-added inside the Mi Home app.
- Extract the keys from Xiaomi Cloud using a [token extractor](https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor) tool.
## Devices
@ -68,12 +68,12 @@ HHCCJCY01, also known as MiFlora or "Flower Care", should be automatically disco
Flower Care firmware update steps:
* Install the official "Flower Care" app by HHCC:
* [Google Play](https://play.google.com/store/apps/details?id=com.huahuacaocao.flowercare) (requires location and storage permission)
* [Apple App Store](https://apps.apple.com/us/app/flower-care/id1095274672)
* Place the device with the app within 10cm of the plant sensor
* Press the "+" button on the top right in the devices tab of the app
* Add the plant sensor to the app and select an arbitrary plant
* Wait for the synchronization of the sensor to finish, and a dialog asking for a firmware update should appear (this might take a few minutes)
* The installed and latest firmware version can be verified by selecting the plant -> three-dot menu -> Hardware settings -> Hardware update
* The Flower Care account and app are not required any further for this integration to work
- Install the official "Flower Care" app by HHCC:
- [Google Play](https://play.google.com/store/apps/details?id=com.huahuacaocao.flowercare) (requires location and storage permission)
- [Apple App Store](https://apps.apple.com/us/app/flower-care/id1095274672)
- Place the device with the app within 10cm of the plant sensor
- Press the "+" button on the top right in the devices tab of the app
- Add the plant sensor to the app and select an arbitrary plant
- Wait for the synchronization of the sensor to finish, and a dialog asking for a firmware update should appear (this might take a few minutes)
- The installed and latest firmware version can be verified by selecting the plant -> three-dot menu -> Hardware settings -> Hardware update
- The Flower Care account and app are not required any further for this integration to work

View File

@ -125,7 +125,7 @@ In this section known problems and their resolution are documented.
### Errors on handling UDP messages
The Yamaha MusicCast integration is working with updates sent from the device to Home Assistant instead of pulling all information every few seconds. There is no error correction mechanism in these messages, so that only 100% correct messages can be processed. Whenever there is a corrupt message the Yamaha MusicCast integration will update all device information and log an error message like these:
* `Received invalid message: <message>`
* `Received non UTF-8 compliant message: b'<binary>'`
- `Received invalid message: <message>`
- `Received non UTF-8 compliant message: b'<binary>'`
If you receive these errors frequently, you should first try to disconnect your MusicCast devices from the power, wait 30 seconds and reconnect them to the power. If this does not help, you can try to use a LAN cable instead of WiFi to connect the device to the network.

View File

@ -15,10 +15,10 @@ ha_integration_type: device
The `yi` camera platform allows you to utilize [Yi Home Cameras](https://www.yitechnology.com/) within Home Assistant. Specifically, this platform supports the line of Yi Home Cameras that are based on the Hi3518e Chipset. This includes:
* Yi Home 17CN / 27US / 47US
* Yi 1080p Home
* Yi Dome
* Yi 1080p Dome
- Yi Home 17CN / 27US / 47US
- Yi 1080p Home
- Yi Dome
- Yi 1080p Dome
To successfully implement this platform, the Home Assistant host should be capable of multiple simultaneous reads. For every concurrent Home Assistant user, a connection will be made to the camera every 10 seconds. This should normally not be a problem.

View File

@ -39,21 +39,21 @@ If you want to use separate credentials, please contact <service@yosmart.com> to
The integration is tested and verified for the following devices from YoLink:
* YS6602/4 YS6704 (outlet | plug)
* YS7103/4/5 (siren)
* YS7704/7705/7706 (door sensor)
* YS7707 (Contact Sensor)
* YS7804/5 (motion sensor)
* YS7903/4 (leak sensor)
* YS8003/4/5/6 (temperature/humidity sensor)
* YS7201 (vibration sensor)
* YS7606/7 (lock)
* YS4909 YS5001 (valve controller)
* YS5705/6 (switch)
* YS7A01/2 (CO & Smoke Sensor)
* YS4002/3 (Thermostat)
* YS4906/8 (Garage Door Sensor/ Garage Door Controller)
* YS5707 (Dimmer)
* YS6801/2 (MultiOutlet)
* YS3604 (FlexFob)
* YS7106 (PowerFailureAlar)
- YS6602/4 YS6704 (outlet | plug)
- YS7103/4/5 (siren)
- YS7704/7705/7706 (door sensor)
- YS7707 (Contact Sensor)
- YS7804/5 (motion sensor)
- YS7903/4 (leak sensor)
- YS8003/4/5/6 (temperature/humidity sensor)
- YS7201 (vibration sensor)
- YS7606/7 (lock)
- YS4909 YS5001 (valve controller)
- YS5705/6 (switch)
- YS7A01/2 (CO & Smoke Sensor)
- YS4002/3 (Thermostat)
- YS4906/8 (Garage Door Sensor/ Garage Door Controller)
- YS5707 (Dimmer)
- YS6801/2 (MultiOutlet)
- YS3604 (FlexFob)
- YS7106 (PowerFailureAlar)

View File

@ -19,9 +19,9 @@ The YouLess integration for Home Assistant allows you to read the meter values f
The integration is tested and verified for the following devices from YouLess:
* LS110
* LS120 running PVOutput firmware
* LS120 running Enologic firmware
- LS110
- LS120 running PVOutput firmware
- LS120 running Enologic firmware
{% include integrations/config_flow.md %}

View File

@ -16,8 +16,8 @@ ha_integration_type: service
The YouTube integration allows you to connect YouTube channels to Home Assistant.
For every channel you add, it will create sensors for:
* Subscriber count
* The latest uploaded video
- Subscriber count
- The latest uploaded video
## Prerequisites

View File

@ -471,8 +471,8 @@ People familiar with other Zigbee gateway solutions for home automation may know
If you do not want to develop such a "quirk" Python script yourself, you can submit a "device support request" as a new issue to the [ZHA Device Handlers project repository on GitHub](https://github.com/zigpy/zha-device-handlers/issues):
1. Sign in to GitHub.
2. Select **New issue** and follow the instructions.
* New device support requests require the device signature + diagnostic information.
* You may also need to actively help in further testing or provide additional information to the volunteering developers.
- New device support requests require the device signature + diagnostic information.
- You may also need to actively help in further testing or provide additional information to the volunteering developers.
Note that submitting a new "device support request" does not guarantee that someone else will develop a custom "quirk" for ZHA. The project relies on volunteering developers. However, without "device support requests", the developers may not be aware that your specific Zigbee device is not working correctly in ZHA.
@ -550,7 +550,7 @@ When reporting issues, please provide the following information in addition to i
1. Debug logs for the issue, see [debug logging](#debug-logging)
2. Model of Zigbee radio being used
3. If the issue is related to a specific Zigbee device, provide both the **Zigbee Device Signature** and the **Diagnostics** information.
* Both the **Zigbee Device Signature** and the **Diagnostics** information can be found under {% my integrations title="**Settings** > **Devices & Services**" %}. Select the **Zigbee Home Automation** integration. Then, select **Configure** > **Devices** (pick your device). Select **Zigbee Device Signature** and **Download Diagnostics**, respectively.
- Both the **Zigbee Device Signature** and the **Diagnostics** information can be found under {% my integrations title="**Settings** > **Devices & Services**" %}. Select the **Zigbee Home Automation** integration. Then, select **Configure** > **Devices** (pick your device). Select **Zigbee Device Signature** and **Download Diagnostics**, respectively.
### Debug logging

View File

@ -51,9 +51,9 @@ The Z-Wave integration allows you to control a Z-Wave network via the [Z-Wave JS
To run a Z-Wave network, you need the following elements:
* A [supported Z-Wave controller](/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules). First-time user? For recommendations on what to buy, go [here](#which-z-wave-controller-should-i-buy).
* A running Z-Wave JS server.
* An installed Z-Wave integration in Home Assistant.
- A [supported Z-Wave controller](/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules). First-time user? For recommendations on what to buy, go [here](#which-z-wave-controller-should-i-buy).
- A running Z-Wave JS server.
- An installed Z-Wave integration in Home Assistant.
### Setting up a Z-Wave JS server
@ -65,32 +65,32 @@ Follow these steps:
1. Open the Home Assistant user interface.
1. Plug the Z-Wave dongle into the device running Home Assistant.
* Most likely, your dongle will be recognized automatically. On the user interface, you will be asked if you want to set up this device with the Z-Wave JS add-on. Select **Submit**.
* If your dongle is not recognized, follow these steps:
- Most likely, your dongle will be recognized automatically. On the user interface, you will be asked if you want to set up this device with the Z-Wave JS add-on. Select **Submit**.
- If your dongle is not recognized, follow these steps:
{% details "Manual setup steps" %}
Use this My button:
{% my config_flow_start badge domain="zwave_js" %}, or follow these steps:
* Browse to your Home Assistant instance.
* Go to **{% my integrations title="Settings > Devices & Services" %}**.
* In the bottom right, select the
- Browse to your Home Assistant instance.
- Go to **{% my integrations title="Settings > Devices & Services" %}**.
- In the bottom right, select the
**{% my config_flow_start icon domain="zwave_js" %}** button.
* From the list, select **Z-Wave**.
* Follow the instructions on screen to complete the setup.
- From the list, select **Z-Wave**.
- Follow the instructions on screen to complete the setup.
{% enddetails %}
3. Wait for the installation to complete.
1. You are prompted for network security keys.
* If you are using Z-Wave for the first time, leave all the fields empty and select **Submit**. The system will generate network security keys for you.
* If this Z-Wave dongle has already been paired with secure devices, you need to enter the previously used network key as the S0 network key. S2 security keys will be automatically generated for you.
* Make sure that you keep a backup of these keys in a safe place in case you need to move your Z-Wave dongle to another device. Copy and paste them somewhere safe.
- If you are using Z-Wave for the first time, leave all the fields empty and select **Submit**. The system will generate network security keys for you.
- If this Z-Wave dongle has already been paired with secure devices, you need to enter the previously used network key as the S0 network key. S2 security keys will be automatically generated for you.
- Make sure that you keep a backup of these keys in a safe place in case you need to move your Z-Wave dongle to another device. Copy and paste them somewhere safe.
1. Wait for the Z-Wave JS add-on to start up.
1. Once the installation is complete, the **Device info** of the Z-Wave controller is shown.
* You successfully installed the Z-Wave integration and the Z-Wave JS add-on.
* You can now [add](/integrations/zwave_js/#adding-a-new-device-to-the-z-wave-network) devices to the Z-Wave network.
- You successfully installed the Z-Wave integration and the Z-Wave JS add-on.
- You can now [add](/integrations/zwave_js/#adding-a-new-device-to-the-z-wave-network) devices to the Z-Wave network.
<p class='note'>
While your Z-Wave mesh is permanently stored on your dongle, the additional metadata is not. When the Z-Wave integration starts up the first time, it will interview your entire Z-Wave network. Depending on the number of devices paired with the Z-Wave dongle, this can take a while. You can speed up this process by manually waking up your battery-powered devices. Most of the time, this is a button press on those devices (see their manual). It is not necessary to exclude and re-include devices from the mesh.
@ -101,14 +101,14 @@ While your Z-Wave mesh is permanently stored on your dongle, the additional meta
1. In Home Assistant, go to {% my integrations title="**Settings** > **Devices & Services**" %}.
1. Select the Z-Wave integration. Then select **Configure**.
1. Select **Add device**.
* The Z-Wave controller is now in inclusion mode.
- The Z-Wave controller is now in inclusion mode.
1. If your device supports SmartStart (700 series controller), select **Scan QR code** and scan the QR code on your device.
1. If your device does not support SmartStart, set the device in inclusion mode. Refer to the device manual to see how this is done.
* If your device is included using S2 security, you may be prompted to enter a PIN number provided with your device. Often, this PIN is provided with the documentation _and_ is also printed on the device itself. For more information on secure inclusion, refer to [this section](/integrations/zwave_js/#should-i-use-secure-inclusion).
- If your device is included using S2 security, you may be prompted to enter a PIN number provided with your device. Often, this PIN is provided with the documentation _and_ is also printed on the device itself. For more information on secure inclusion, refer to [this section](/integrations/zwave_js/#should-i-use-secure-inclusion).
1. The UI should confirm that the device was added. After a short while (seconds to minutes), the entities should also be created.
1. If the controller fails to add/find your device, cancel the inclusion process.
* In some cases, it might help to first [remove](/integrations/zwave_js/#removing-a-device-from-the-z-wave-network) a device (exclusion) before you add it, even when the device has not been added to this Z-Wave network yet.
* Another approach would be to factory reset the device. Refer to the device manual to see how this is done.
- In some cases, it might help to first [remove](/integrations/zwave_js/#removing-a-device-from-the-z-wave-network) a device (exclusion) before you add it, even when the device has not been added to this Z-Wave network yet.
- Another approach would be to factory reset the device. Refer to the device manual to see how this is done.
**Important:**
@ -120,7 +120,7 @@ While your Z-Wave mesh is permanently stored on your dongle, the additional meta
1. In Home Assistant, go to {% my integrations title="**Settings** > **Devices & Services**" %}.
1. Select the **Z-Wave** integration. Then, select **Configure**.
1. Select **Remove device**, then **Start exclusion**.
* The Z-Wave controller is now in exclusion mode.
- The Z-Wave controller is now in exclusion mode.
1. Put the device you want to remove in exclusion mode. Refer to its manual how this is done.
1. The UI should confirm that the device was removed and the device and entities will be removed from Home Assistant.
@ -150,18 +150,18 @@ The following features can be accessed from the integration configuration panel:
![Z-Wave integration configuration panel](/images/integrations/z-wave/z-wave-integration-config-panel.png)
* **Add device:** Allows you to pre-provision a SmartStart device or start the inclusion process for adding a new device to your network.
* **Remove device:** Starts the exclusion process for removing a device from your network.
* **Heal network:** Forces your network to rediscover routes to the controller from each device. This is useful when devices or the controller have moved to a new location, or if you are having significant problems with your network, but it also generates a lot of network traffic and should be used sparingly.
* **[Controller statistics](https://zwave-js.github.io/node-zwave-js/#/api/controller?id=quotstatistics-updatedquot):** Provides statistics about communication between the controller and other devices, allowing you to troubleshoot your network's RF quality.
* **Third-party data opt-in/out:** Allows you to opt-in or out of telemetry that the Z-Wave JS project collects to help inform development decisions, influence manufacturers, etc. This telemetry is disabled by default and has to be opted in to be activated.
- **Add device:** Allows you to pre-provision a SmartStart device or start the inclusion process for adding a new device to your network.
- **Remove device:** Starts the exclusion process for removing a device from your network.
- **Heal network:** Forces your network to rediscover routes to the controller from each device. This is useful when devices or the controller have moved to a new location, or if you are having significant problems with your network, but it also generates a lot of network traffic and should be used sparingly.
- **[Controller statistics](https://zwave-js.github.io/node-zwave-js/#/api/controller?id=quotstatistics-updatedquot):** Provides statistics about communication between the controller and other devices, allowing you to troubleshoot your network's RF quality.
- **Third-party data opt-in/out:** Allows you to opt-in or out of telemetry that the Z-Wave JS project collects to help inform development decisions, influence manufacturers, etc. This telemetry is disabled by default and has to be opted in to be activated.
### Integration menu
Some features can be accessed from the menu of integration itself. As they are not specific to Z-Wave, they are not described here in detail.
![Z-Wave integration configuration panel](/images/integrations/z-wave/z-wave-integration-menu.png)
* **[Download diagnostics](/docs/configuration/troubleshooting/#download-diagnostics):** Exports a JSON file describing the entities of all devices registered with this integration.
- **[Download diagnostics](/docs/configuration/troubleshooting/#download-diagnostics):** Exports a JSON file describing the entities of all devices registered with this integration.
### Device panel
@ -169,13 +169,13 @@ The following features can be accessed from the device panel of a Z-Wave device:
![Z-Wave device panel](/images/integrations/z-wave/z-wave-device-info.png)
* **Configure:** Provides an easy way to look up and update configuration parameters for the device. While there is an existing service for setting configuration parameter values, this UI may sometimes be quicker to use for one-off changes.
* **Re-interview:** Forces the device to go through the interview process again so that Z-Wave-JS can discover all of its capabilities. Can be helpful if you don't see all the expected entities for your device.
* **Heal:** Forces the device to rediscover its optimal route back to the controller. Use this if you think you are experiencing unexpected delays or RF issues with your device. Your device may be less responsive during this process.
* **Remove failed:** Forces the controller to remove the device from the controller. Can be used when a device has failed and it can't go through the normal exclusion process.
* **[Statistics](https://zwave-js.github.io/node-zwave-js/#/api/node?id=quotstatistics-updatedquot):** Provides statistics about communication between this device and the controller, allowing you to troubleshoot RF issues with the device.
* **Update:** Updates a device's firmware using a manually uploaded firmware file. Only some devices support this feature (controllers and devices with the Firmware Update Metadata Command Class).
* **Download diagnostics:** Exports a JSON file describing the entities of this specific device.
- **Configure:** Provides an easy way to look up and update configuration parameters for the device. While there is an existing service for setting configuration parameter values, this UI may sometimes be quicker to use for one-off changes.
- **Re-interview:** Forces the device to go through the interview process again so that Z-Wave-JS can discover all of its capabilities. Can be helpful if you don't see all the expected entities for your device.
- **Heal:** Forces the device to rediscover its optimal route back to the controller. Use this if you think you are experiencing unexpected delays or RF issues with your device. Your device may be less responsive during this process.
- **Remove failed:** Forces the controller to remove the device from the controller. Can be used when a device has failed and it can't go through the normal exclusion process.
- **[Statistics](https://zwave-js.github.io/node-zwave-js/#/api/node?id=quotstatistics-updatedquot):** Provides statistics about communication between this device and the controller, allowing you to troubleshoot RF issues with the device.
- **Update:** Updates a device's firmware using a manually uploaded firmware file. Only some devices support this feature (controllers and devices with the Firmware Update Metadata Command Class).
- **Download diagnostics:** Exports a JSON file describing the entities of this specific device.
## Services
@ -842,9 +842,9 @@ Your device might not send automatic status updates to the controller. While the
Z-Wave does not automatically poll devices on a regular basis. Polling can quickly lead to network congestion and should be used very sparingly and only where necessary.
* We provide a `zwave_js.refresh_value` service to allow you to manually poll a value, for example from an automation that only polls a device when there is motion in that same room. If you **really** need polling, you can enable this in Z-Wave JS UI but not in the official add-on.
- We provide a `zwave_js.refresh_value` service to allow you to manually poll a value, for example from an automation that only polls a device when there is motion in that same room. If you **really** need polling, you can enable this in Z-Wave JS UI but not in the official add-on.
* Z-Wave JS UI allows you to configure scheduled polling on a per-value basis, which you can use to keep certain values updated. It also allows you to poll individual values on-demand from your automations, which should be preferred over blindly polling all the time if possible.
- Z-Wave JS UI allows you to configure scheduled polling on a per-value basis, which you can use to keep certain values updated. It also allows you to poll individual values on-demand from your automations, which should be preferred over blindly polling all the time if possible.
<div class='note warning'>
Polling should only be used as a last resort. You must use it with care and accept the negative impact on your network. Z-Wave is a very low speed network and poll requests can easily flood your network and slow down your commands.

View File

@ -21,11 +21,11 @@ Thanks to the work done by John McLaughlin and Geoff Norton we now support the l
**The getting started guide and component page have been reorganized**<br>
The getting started instructions have been split into separate pages per component and a general overview page. The goal is to have a page per component that describes:
* What it does
* How to set it up
* Which states it maintains
* Which services it provides
* Additional development tips
- What it does
- How to set it up
- Which states it maintains
- Which services it provides
- Additional development tips
**More reasonable errors**<br>
Home Assistant should now throw better errors and offer solutions if you do not have the right version of Python 3, forgot to clone the git submodules or install the dependencies.

View File

@ -12,8 +12,8 @@ categories:
Ever since the launch of Home Assistant you have been able to track the state of your house. But the view has always been limited to what the current state is. Not what it was. Today we are going to change that by introducing two brand new components:
* Recorder component that will record every event to a SQLite database
* History component that will query and aggregate the recorded events
- Recorder component that will record every event to a SQLite database
- History component that will query and aggregate the recorded events
By adding this view into the past, we are adding an extra dimension into the state of your house. This brings great new possibilities for future features. The focus of today's release is on getting the recording component to you to start recording and getting some data. To show what is being recorded a view has been added that shows the last 24 hours of your house. Expect more extensive tools to explore your history in the future.

View File

@ -33,6 +33,6 @@ This refactor adds a new migration for the database adding a `utc_offset` column
All built-in components have been upgraded. The following list is only for people that run custom components:
* `hass.track_time_change` and `hass.track_point_in_time` will now return a time zone aware datetime object. Python does not allow comparing a naive with an aware datetime object.
* the sun attributes for rising and setting are now in UTC. The methods `sun.next_rising(hass)` and `sun.next_setting(hass)` are backwards compatible, just be careful if you used to read the raw attributes.
* the API sends all times in UTC. If you use anything else besides the frontend to talk to HA, make sure it handles it differently.
- `hass.track_time_change` and `hass.track_point_in_time` will now return a time zone aware datetime object. Python does not allow comparing a naive with an aware datetime object.
- the sun attributes for rising and setting are now in UTC. The methods `sun.next_rising(hass)` and `sun.next_setting(hass)` are backwards compatible, just be careful if you used to read the raw attributes.
- the API sends all times in UTC. If you use anything else besides the frontend to talk to HA, make sure it handles it differently.

View File

@ -28,17 +28,17 @@ To update to the latest version, run <code>scripts/update</code>. Please report
Before jumping into the newly supported platforms, here are the other improvements that are landing this release:
* Fronted upgraded to Polymer 1.0 by @balloob
* Include other YAML files using the `!include` keyword by @andythigpen
* Switch support and bug fixes for Vera platform by @jamespcole
* HTTP session support for the HTTP component by @jamespcole
* Device tracker bugfixes by @Dutchy-
* Bugfix for device tracker platform by @fbradyirl
* Fixing Chromecast support by @wind-rider
* Media player improvements by @balloob and @wind-rider
* Nest thermostat bugfixes by @balloob
* Fix the device tracker getting in a deadlock by @balloob
* Update documentation by @fabaff
- Fronted upgraded to Polymer 1.0 by @balloob
- Include other YAML files using the `!include` keyword by @andythigpen
- Switch support and bug fixes for Vera platform by @jamespcole
- HTTP session support for the HTTP component by @jamespcole
- Device tracker bugfixes by @Dutchy-
- Bugfix for device tracker platform by @fbradyirl
- Fixing Chromecast support by @wind-rider
- Media player improvements by @balloob and @wind-rider
- Nest thermostat bugfixes by @balloob
- Fix the device tracker getting in a deadlock by @balloob
- Update documentation by @fabaff
__Music Player Daemon__
<img src='/images/supported_brands/mpd.png' style='border:none; box-shadow: none; float: right;' height='50' /> Fabaff has contributed MusicPlayerDaemon support. The mpd platform allows you to control a [Music Player Daemon](http://www.musicpd.org/) from Home Assistant. Right now, only playback is supported and not playlist manipulation.

View File

@ -28,20 +28,20 @@ homeassistant:
<img src='/images/supported_brands/honeywell.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' height='50' /><img src='/images/supported_brands/orvibo.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' height='50' />
* Thermostat: [Honeywell](/integrations/honeywell/) now supported ([@sander76])
* Switch: [Orvibo](/integrations/orvibo) now supported ([@happyleavesaoc])
* Camera: [mjpeg camera's](/integrations/mjpeg) now supported ([@ryanturner])
* Notify: Pushetta now supported ([@fabaff])
* Light: [MQTT](/integrations/light.mqtt/) now supported ([@hexxter])
* Light: [Z-Wave](/integrations/zwave/) now supported ([@leoc])
* Switch: [Z-Wave](/integrations/zwave/) now supported ([@leoc])
* New component [logger](/integrations/logger/) allows filtering logged data ([@badele])
* New component [updater](/integrations/updater/) will notify users if an update for Home Assistant is available ([@rmkraus])
* Notify: [PushBullet](/integrations/pushbullet) now allows targeting contacts/channels/specific devices ([@tomduijf])
* Light: Allow controlling color temperature ([@tomduijf])
* Frontend: about page added ([@balloob])
* Switch RGB as the color unit used in light component ([@balloob])
* Re-install platform and component dependencies after a Home Assistant version upgrade ([@balloob])
- Thermostat: [Honeywell](/integrations/honeywell/) now supported ([@sander76])
- Switch: [Orvibo](/integrations/orvibo) now supported ([@happyleavesaoc])
- Camera: [mjpeg camera's](/integrations/mjpeg) now supported ([@ryanturner])
- Notify: Pushetta now supported ([@fabaff])
- Light: [MQTT](/integrations/light.mqtt/) now supported ([@hexxter])
- Light: [Z-Wave](/integrations/zwave/) now supported ([@leoc])
- Switch: [Z-Wave](/integrations/zwave/) now supported ([@leoc])
- New component [logger](/integrations/logger/) allows filtering logged data ([@badele])
- New component [updater](/integrations/updater/) will notify users if an update for Home Assistant is available ([@rmkraus])
- Notify: [PushBullet](/integrations/pushbullet) now allows targeting contacts/channels/specific devices ([@tomduijf])
- Light: Allow controlling color temperature ([@tomduijf])
- Frontend: about page added ([@balloob])
- Switch RGB as the color unit used in light component ([@balloob])
- Re-install platform and component dependencies after a Home Assistant version upgrade ([@balloob])
[Material Design Icons]: https://pictogrammers.com/library/mdi/
[@sander76]: https://github.com/sander76

View File

@ -32,15 +32,15 @@ For my next trick, let's hand out some...
I felt that I had to 1-up Paulus ([@balloob]) somehow with his 500,000 pageviews stat he shared in the [0.26 blog post](/blog/2016/08/13/foursquare-fast-com-ffmpeg-gpsd/), so I pushed myself and our development community as a whole super hard the last two weeks to put a lot of love into Home Assistant to bring you not just one, but six **#Amazing** stats for this release. As of 0.27, we have now surpassed the following milestones:
* [10,000](https://travis-ci.org/home-assistant/home-assistant/builds/154660811) builds on Travis (congrats to [@BluGeni])
* [3,000](https://github.com/home-assistant/home-assistant/pull/3000) issues and pull requests (thanks [@kellerza]!)
* [2,000](https://github.com/home-assistant/home-assistant/pull/2991) pull requests alone (awesome [@fabaff]!!)
* 900 forks on Github!
- [10,000](https://travis-ci.org/home-assistant/home-assistant/builds/154660811) builds on Travis (congrats to [@BluGeni])
- [3,000](https://github.com/home-assistant/home-assistant/pull/3000) issues and pull requests (thanks [@kellerza]!)
- [2,000](https://github.com/home-assistant/home-assistant/pull/2991) pull requests alone (awesome [@fabaff]!!)
- 900 forks on Github!
In addition,
* We are very close to 4,000 stars on Github!
* [I'm now #5 contributor by most commits!!!](https://github.com/home-assistant/home-assistant/graphs/contributors) Hey wait, how'd this get in here 😳...
- We are very close to 4,000 stars on Github!
- [I'm now #5 contributor by most commits!!!](https://github.com/home-assistant/home-assistant/graphs/contributors) Hey wait, how'd this get in here 😳...
Now that we have that great news out of the way, onto this week's release which is going to keep the **#Amazing** gravy train rolling right along and get to the stuff you all _really_ are here for.

View File

@ -26,11 +26,11 @@ Please note that this functionality is not done yet but will be available in a f
As developers of Home Assistant, we will be able to see in what kind of environments Home Assistant is running. Heres a few data points we didnt have until now:
* Total number of instances
* Which operating systems versions and flavors are in use
* Python version
* What option is more popular: Docker, Virtualenv or bare metal installs?
* How popular is our new [Raspberry Pi image][rpi-image]?
- Total number of instances
- Which operating systems versions and flavors are in use
- Python version
- What option is more popular: Docker, Virtualenv or bare metal installs?
- How popular is our new [Raspberry Pi image][rpi-image]?
## Why we look up your IP address with GeoIP

View File

@ -25,12 +25,12 @@ The brand new [`remote`][remote] component made by [@iandday] will simplify the
The [HomeMatic][homematic] component has received some updates worth mentioning:
* Additional services
* `reconnect`: Reconnect to your CCU/Homegear without restarting Home Assistant.
* `set_dev_value`: Manually control a device, even if it's not supported by Home Assistant yet.
* Support for multiple HomeMatic hosts
* Support for HomeMatic Wired (most devices) and HomeMatic IP (a few devices)
* Various improvements and fixes, especially for HM-Sec-Key (KeyMatic)
- Additional services
- `reconnect`: Reconnect to your CCU/Homegear without restarting Home Assistant.
- `set_dev_value`: Manually control a device, even if it's not supported by Home Assistant yet.
- Support for multiple HomeMatic hosts
- Support for HomeMatic Wired (most devices) and HomeMatic IP (a few devices)
- Various improvements and fixes, especially for HM-Sec-Key (KeyMatic)
The support for multiple hosts is a result of allowing mixed configurations with wireless, wired, and IP devices. This has the drawback of making the update a breaking change (along with the renamed `set_value` service). However, the benefits and possibilities gained will be worth it.

View File

@ -22,16 +22,16 @@ The app could be hosted on any Node.js hosting. I prefer [Heroku: Cloud Applicat
1. Configure [CloudMQTT](https://www.cloudmqtt.com/). Check this [video tutorial](https://www.youtube.com/watch?v=VaWdvVVYU3A) for details.
1. [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/petkov/http_to_mqtt) HTTP to MQTT bridge app.
1. Add the [Configuration Variables](https://devcenter.heroku.com/articles/config-vars#setting-up-config-vars-for-a-deployed-application) to your Heroku app mentioned here.
* AUTH_KEY: Can be any string, eg. `912ec803b2ce49e4a541068d495ab570`.
* MQTT_HOST: The host of your MQTT broker, eg. mqtts://k99.cloudmqtt.com:21234.
* MQTT_USER: MQTT username
* MQTT_PASS: MQTT password
- AUTH_KEY: Can be any string, eg. `912ec803b2ce49e4a541068d495ab570`.
- MQTT_HOST: The host of your MQTT broker, eg. mqtts://k99.cloudmqtt.com:21234.
- MQTT_USER: MQTT username
- MQTT_PASS: MQTT password
1. Create an IFTTT applet the same way as described in [BRUH Automation](https://youtu.be/087tQ7Ly7f4?t=265) video.
1. Configure [Maker Webhooks](https://ifttt.com/maker_webhooks) service with below parameters.
* URL: `https://<app_name>.herokuapp.com/post/`
* Method: `POST`
* Content Type: `application/json`
* Body: `{"topic":"<mqtt_topic>","message":"<mqtt_message>","key":"<AUTH_KEY>"}`
- URL: `https://<app_name>.herokuapp.com/post/`
- Method: `POST`
- Content Type: `application/json`
- Body: `{"topic":"<mqtt_topic>","message":"<mqtt_message>","key":"<AUTH_KEY>"}`
### Subscribe to latest version

View File

@ -91,8 +91,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
- The new customize editor is using the file `customize.yaml` in your config folder. If you are using this file today for other config, make sure to rename it before using the new customize UI editor. ([@andrey-git] - [#9134]) ([config docs]) (breaking change) (new-platform)
- The frontend component now supports loading custom html files when Home Assistant front end starts ([@andrey-git] - [#9150]) (breaking change). It could be Javascript, CSS or custom Web Components. Along there was a breaking change in the way Custom UI is used:
* `custom_ui_state_card` now specifies the exact element name and not a suffix after `state-card`. So if you had `state_card_custom_ui: custom-ui` in your config, you should change it to `state_card_custom_ui: state-card-custom-ui`
* `custom_ui_state_card` no longer makes the html fetch, you should make it separately:
- `custom_ui_state_card` now specifies the exact element name and not a suffix after `state-card`. So if you had `state_card_custom_ui: custom-ui` in your config, you should change it to `state_card_custom_ui: state-card-custom-ui`
- `custom_ui_state_card` no longer makes the html fetch, you should make it separately:
```yaml
frontend:

View File

@ -119,32 +119,32 @@ The full change list including bugfixes from community is as follows:
New features:
* Device, Area and event support [237ade8](http://github.com/home-assistant/home-assistant-cli/commit/237ade81372d25bfb3655c6a9f10d4aa697cad2e) @maxandersen
* add minimal dockerfile [2b00bd7](http://github.com/home-assistant/home-assistant-cli/commit/2b00bd7e5b865775e7787c9cedf8d9c17d5f68cb) Ben Lebherz
- Device, Area and event support [237ade8](http://github.com/home-assistant/home-assistant-cli/commit/237ade81372d25bfb3655c6a9f10d4aa697cad2e) @maxandersen
- add minimal dockerfile [2b00bd7](http://github.com/home-assistant/home-assistant-cli/commit/2b00bd7e5b865775e7787c9cedf8d9c17d5f68cb) Ben Lebherz
Bug fixes:
* fix(entity): honor --columns in entity get [67397a1](http://github.com/home-assistant/home-assistant-cli/commit/67397a102295381d5d9101a51764643a3668e1e6) @maxandersen
* Fix result reporting from service calls [14fc952](http://github.com/home-assistant/home-assistant-cli/commit/14fc9527ec0861a7dd26e185f4937bf9aace7f07) @maxandersen
* Remove pyaml and move to ruamel only for yaml [df9f8c2](http://github.com/home-assistant/home-assistant-cli/commit/df9f8c23fa9993f16c735159634f29d2a50e1a43) @maxandersen
- fix(entity): honor --columns in entity get [67397a1](http://github.com/home-assistant/home-assistant-cli/commit/67397a102295381d5d9101a51764643a3668e1e6) @maxandersen
- Fix result reporting from service calls [14fc952](http://github.com/home-assistant/home-assistant-cli/commit/14fc9527ec0861a7dd26e185f4937bf9aace7f07) @maxandersen
- Remove pyaml and move to ruamel only for yaml [df9f8c2](http://github.com/home-assistant/home-assistant-cli/commit/df9f8c23fa9993f16c735159634f29d2a50e1a43) @maxandersen
Minor fixes:
* fix: release 0.5.0 version [200a099](http://github.com/home-assistant/home-assistant-cli/commit/200a099d066f2f5b34cce986e29952f4b6bb6594) @maxandersen
* fix: be pep440 complant [98320f8](http://github.com/home-assistant/home-assistant-cli/commit/98320f888b75c8a091c5d19b154cac5b2946ac7b) @maxandersen
* fix: fix lint errors [eca26fa](http://github.com/home-assistant/home-assistant-cli/commit/eca26fa4c2ebd0637a75a221dc17af60210bd0b3) @maxandersen
* fix: fix lint errors [ffd2369](http://github.com/home-assistant/home-assistant-cli/commit/ffd23695cace01e872590fba06dedab63a56693f) @maxandersen
* enable deploy of git timestamped build [4b27a65](http://github.com/home-assistant/home-assistant-cli/commit/4b27a65a2ddab302d97253b677df55739696c6d7) @maxandersen
* Merge branch 'master' into dev [caaf7b1](http://github.com/home-assistant/home-assistant-cli/commit/caaf7b160f1bc7f7854d82ecdb35d0954c5e7ea8) @maxandersen
* add docker reference [d3b64e8](http://github.com/home-assistant/home-assistant-cli/commit/d3b64e886f2a3380e0c4dceb0ea5a5c7d8e7eedc) @maxandersen
* docs: add docs for area, device and event watch [ee4f74a](http://github.com/home-assistant/home-assistant-cli/commit/ee4f74af87ec810a135c66d0d193a14242213328) @maxandersen
* Make dockerfile build from source + entrypoint [b7f8764](http://github.com/home-assistant/home-assistant-cli/commit/b7f876420df65b07a6b2a99c0e7dc7635711c1cd) @maxandersen
* Fix lint issue [8bb0c9e](http://github.com/home-assistant/home-assistant-cli/commit/8bb0c9e4d62ff364f54e1561573e37c7517a46c9) @fabaff
* Fix lint issues [58fdc83](http://github.com/home-assistant/home-assistant-cli/commit/58fdc835978f0448d43e43595379c32c161f3af3) @fabaff
* fix bad typing [499b544](http://github.com/home-assistant/home-assistant-cli/commit/499b5449b0441b546ea48aff212754433457dbd5) @maxandersen
* fix editor formatting [86d9bf8](http://github.com/home-assistant/home-assistant-cli/commit/86d9bf8bf6bfb5bec1a9f28177c105f84912a91b) @maxandersen
* Fix version [3765a03](http://github.com/home-assistant/home-assistant-cli/commit/3765a03ccf11f0865baa7e70937279bcaa245352) @maxandersen
* Fix version marker [edbe4bf](http://github.com/home-assistant/home-assistant-cli/commit/edbe4bf42e7d0993d68a367ca04ad80217aac395) @maxandersen
- fix: release 0.5.0 version [200a099](http://github.com/home-assistant/home-assistant-cli/commit/200a099d066f2f5b34cce986e29952f4b6bb6594) @maxandersen
- fix: be pep440 complant [98320f8](http://github.com/home-assistant/home-assistant-cli/commit/98320f888b75c8a091c5d19b154cac5b2946ac7b) @maxandersen
- fix: fix lint errors [eca26fa](http://github.com/home-assistant/home-assistant-cli/commit/eca26fa4c2ebd0637a75a221dc17af60210bd0b3) @maxandersen
- fix: fix lint errors [ffd2369](http://github.com/home-assistant/home-assistant-cli/commit/ffd23695cace01e872590fba06dedab63a56693f) @maxandersen
- enable deploy of git timestamped build [4b27a65](http://github.com/home-assistant/home-assistant-cli/commit/4b27a65a2ddab302d97253b677df55739696c6d7) @maxandersen
- Merge branch 'master' into dev [caaf7b1](http://github.com/home-assistant/home-assistant-cli/commit/caaf7b160f1bc7f7854d82ecdb35d0954c5e7ea8) @maxandersen
- add docker reference [d3b64e8](http://github.com/home-assistant/home-assistant-cli/commit/d3b64e886f2a3380e0c4dceb0ea5a5c7d8e7eedc) @maxandersen
- docs: add docs for area, device and event watch [ee4f74a](http://github.com/home-assistant/home-assistant-cli/commit/ee4f74af87ec810a135c66d0d193a14242213328) @maxandersen
- Make dockerfile build from source + entrypoint [b7f8764](http://github.com/home-assistant/home-assistant-cli/commit/b7f876420df65b07a6b2a99c0e7dc7635711c1cd) @maxandersen
- Fix lint issue [8bb0c9e](http://github.com/home-assistant/home-assistant-cli/commit/8bb0c9e4d62ff364f54e1561573e37c7517a46c9) @fabaff
- Fix lint issues [58fdc83](http://github.com/home-assistant/home-assistant-cli/commit/58fdc835978f0448d43e43595379c32c161f3af3) @fabaff
- fix bad typing [499b544](http://github.com/home-assistant/home-assistant-cli/commit/499b5449b0441b546ea48aff212754433457dbd5) @maxandersen
- fix editor formatting [86d9bf8](http://github.com/home-assistant/home-assistant-cli/commit/86d9bf8bf6bfb5bec1a9f28177c105f84912a91b) @maxandersen
- Fix version [3765a03](http://github.com/home-assistant/home-assistant-cli/commit/3765a03ccf11f0865baa7e70937279bcaa245352) @maxandersen
- Fix version marker [edbe4bf](http://github.com/home-assistant/home-assistant-cli/commit/edbe4bf42e7d0993d68a367ca04ad80217aac395) @maxandersen
Have fun!

View File

@ -143,14 +143,14 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __http.api_password__ - __Deprecated__ - Users who are still using api_password for authentication will need to move its configuration under auth_providers. Please see the [updated documentation](/docs/authentication/providers/#legacy-api-password) for further details. Those who don't make this change will see an INFO level reminder in the Home Assistant logs until the fix is made for a time, but please note, __api_password authentication will eventually be removed completely__ and we advise users to change to use one of the [other authentication methods](/docs/authentication/providers/#available-auth-providers). If you manually specify auth providers in your `configuration.yaml`, you will need to migrate your API Password from the http section to the auth provider section to continue using it. ([@awarecan] - [#21884]) ([api docs]) ([frontend docs]) ([hassio docs]) ([http docs]) ([mqtt docs]) ([websocket_api docs]) ([zeroconf docs]) ([camera.proxy docs])
- __Default Config__ - Default config no longer contains the discovery component. That is now part of the initial written configuration.yaml. If you rely on default config and want to use discovery, add `discovery:` back to your configuration.yaml.
- __Netatmo__
* Added support for multiple Netatmo thermostats/valves allowing the user to specify different homes or rooms! Please check the [updated documentation](/integrations/netatmo#climate) for configuration details. ([@shanbs] - [#19407]) ([netatmo docs]) ([climate.netatmo docs])
* `current_operation` will no longer return the the boiler status, but the operation_mode. For example, heat, cool, or idle. Please check the [updated documentation](/integrations/netatmo#climate) for more details. ([@shanbs] - [#21633]) ([netatmo docs])
- Added support for multiple Netatmo thermostats/valves allowing the user to specify different homes or rooms! Please check the [updated documentation](/integrations/netatmo#climate) for configuration details. ([@shanbs] - [#19407]) ([netatmo docs]) ([climate.netatmo docs])
- `current_operation` will no longer return the the boiler status, but the operation_mode. For example, heat, cool, or idle. Please check the [updated documentation](/integrations/netatmo#climate) for more details. ([@shanbs] - [#21633]) ([netatmo docs])
- __Utility Meter__ - Currently the offset configuration parameter is an integer that limits daily cycles to have offsets in days, monthly cycles to have offsets in months, etc.
This change increases the flexibility of offset by making it a more flexible time period that can be described in a combination of hours, days, months, etc. This makes it possible for a yearly cycle to start at a given day of a given month. Please see the [updated documentation](/integrations/utility_meter/) for the new configuration options. ([@dgomes] - [#20926]) ([utility_meter docs])
- __KNX__ - An update for xknx to version 0.10.0 requires users to update their configuration by changing `target_temperature_address` to `target_temperature_state_address`. Other fixes and features:
* Connection config can now be configured in xknx.yml.
* Introduce a configurable rate limit which limits the number of KNX telegrams sent to the bus per second.
* Users who configured their lights via xknx.yml no longer need to manually set min_kelvin and max_kelvin (fixes #21251) ([@marvin-w] - [#21541]) ([knx docs])
- Connection config can now be configured in xknx.yml.
- Introduce a configurable rate limit which limits the number of KNX telegrams sent to the bus per second.
- Users who configured their lights via xknx.yml no longer need to manually set min_kelvin and max_kelvin (fixes #21251) ([@marvin-w] - [#21541]) ([knx docs])
- __Nanoleaf__ - The Nanoleaf component now supports _both_ nanoleaf lights, Aurora and Canvas. As a result of this change the user needs to change the platform from `nanoleaf_aurora` to `nanoleaf` ([@Oro] - [#21913]) ([light.nanoleaf docs])
- __FireTV__- is now androidtv. Instead of having near-duplicate integrations for androidtv and firetv, the decision was made to combine them into one.
Users will need to change `- platform: firetv` to `- platform: androidtv` in their configuration. ([@JeffLIrion] - [#21944])

View File

@ -205,8 +205,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __Netgear lte__ - The previous three components (network, notify, and sensor) now fall under one netgear_lte component. Check the [updated documentation](/integrations/netgear_lte/) for more information. ([@amelchio] - [#22105]) ([netgear_lte docs])
- __API streams sensor__ - __Removed__ - This sensor component was designed to count connected front-end clients. However, it depended on the implementation details of other components, and has therefore been broken since 0.80, so it has been removed. The replacement sensor is now the [websocket_api sensor](/integrations/websocket_api/), which does basically the same thing apart from the rename. ([@Swamp-Ig] - [#22200]) ([websocket_api docs])
- __Public Transit (GTFS)__
* The state for this sensor component was a countdown in minutes. If the next departure was in a few hours, this number became quite large and a tad harder to rapidly calculate mentally (463 minutes anyone?). The sensor's state output has been changed from minutes to an ISO 8601 UTC timestamp, which allows the UI to interpret the state as needed. ([@renemarc] - [#21053]) ([gtfs docs])
* Sensor updates were running many database queries to populate attributes, on top of the bus schedule queries themselves. This is doubled with two sensors. That led to a lot of slowdowns for everything else when using an SD card! Considering that some data never changes (agency, routes...) and that others like departure times are good until invalidated, now we fetch such metadata at first and then only when relevant changes do occur. GTFS sensor attributes are now named using the standard snake_case format. ([@renemarc] - [#20966]) ([gtfs docs])
- The state for this sensor component was a countdown in minutes. If the next departure was in a few hours, this number became quite large and a tad harder to rapidly calculate mentally (463 minutes anyone?). The sensor's state output has been changed from minutes to an ISO 8601 UTC timestamp, which allows the UI to interpret the state as needed. ([@renemarc] - [#21053]) ([gtfs docs])
- Sensor updates were running many database queries to populate attributes, on top of the bus schedule queries themselves. This is doubled with two sensors. That led to a lot of slowdowns for everything else when using an SD card! Considering that some data never changes (agency, routes...) and that others like departure times are good until invalidated, now we fetch such metadata at first and then only when relevant changes do occur. GTFS sensor attributes are now named using the standard snake_case format. ([@renemarc] - [#20966]) ([gtfs docs])
- __Yeelight__ - This is now its own component and has been broken out from the light platform. More Yeelights are being released with more features and this will make if possible to support them. Examples would be adding sensors for a ceiling light, getting the current power mode (daylight/nightlight), or supporting switches to turn moonlight on or off without having to use a service call. Make sure to visit the updated documentation. ([@zewelor] - [#21593]) ([yeelight docs])
- __Axis__ - Events supplied from component might differ. Events will not be configurable in the beginning but will instead provide a subset set of events supported per device. This will be configurable in a later stage when config entry options are available. Configuration.yaml support for Axis component will be removed in the future so make sure to remove references to Axis component after upgrade. ([@Kane610] - [#18543]) ([axis docs])
- __HTTP__ - Lower severity level of log messages from http.view ([@thomasloven] - [#21091]) ([http docs])

View File

@ -21,15 +21,15 @@ Demo with an add-on on Ingress.
Some add-ons already have been upgraded to support the new Ingress feature. Here are a couple of add-ons that support Ingress and are available on the add-on store right now:
Core add-ons:
* [Configurator](/addons/configurator/)
* [deCONZ](https://github.com/home-assistant/hassio-addons/tree/master/deconz#readme)
- [Configurator](/addons/configurator/)
- [deCONZ](https://github.com/home-assistant/hassio-addons/tree/master/deconz#readme)
Community add-ons:
* [Node-RED](https://github.com/hassio-addons/addon-node-red#readme)
* [Visual Studio Code](https://github.com/hassio-addons/addon-vscode#readme)
* [InfluxDB](https://github.com/hassio-addons/addon-influxdb#readme)
* [SSH & Web Terminal](https://github.com/hassio-addons/addon-ssh#readme)
* [AdGuard Home](https://github.com/hassio-addons/addon-adguard-home#readme)
- [Node-RED](https://github.com/hassio-addons/addon-node-red#readme)
- [Visual Studio Code](https://github.com/hassio-addons/addon-vscode#readme)
- [InfluxDB](https://github.com/hassio-addons/addon-influxdb#readme)
- [SSH & Web Terminal](https://github.com/hassio-addons/addon-ssh#readme)
- [AdGuard Home](https://github.com/hassio-addons/addon-adguard-home#readme)
You can recognize add-ons that support the Ingress feature by the Ingress icon on the add-on information tab:
@ -48,8 +48,8 @@ Releasing the Ingress feature is just a start. It allows us to make even better
While adding Ingress support, we have tweaked and polished some other things in the Hass.io user interface:
* Network ports in the add-on view now have a description, so you know what they are being used for.
* Reloading the add-on store will now show a spinner to indicate that reloading is being done.
- Network ports in the add-on view now have a description, so you know what they are being used for.
- Reloading the add-on store will now show a spinner to indicate that reloading is being done.
## For add-on developers
@ -63,16 +63,16 @@ Are you an add-on developer looking to support Ingress on your add-on? [Check th
Hass.io Ingress is a new and complex technology. Without a doubt, now that everybody starts using it, we will discover new issues. Here are some frequently asked questions and some currently known issues with the Ingress feature.
* **After upgrading the add-on, Im unable to access it directly.**<br>
- **After upgrading the add-on, Im unable to access it directly.**<br>
Direct access to the add-on might now be disabled by default by the add-on developer. If the add-on supports running Ingress + direct access, you can re-enable direct access by setting a port number in the “Network” section of the add-on configuration.
* **After upgrading the add-on, my `panel_iframe` doesnt work anymore.**<br>
- **After upgrading the add-on, my `panel_iframe` doesnt work anymore.**<br>
This is related to the question above. Once you enable direct access again, your iFrame panel will start working again. Until the automated panel integration lands in 0.92, you can also manually add a panel that points at Ingress.
* **I cannot upgrade my add-on: “This update is no longer compatible with your system.”**<br>
- **I cannot upgrade my add-on: “This update is no longer compatible with your system.”**<br>
Please update your Home Assistant installation to 0.91.3 or higher.
* **I cannot access the add-on via Ingress using the Tor Browser or Firefox.**<br>
- **I cannot access the add-on via Ingress using the Tor Browser or Firefox.**<br>
We found a last minute issue impacting Firefox based browsers (including the Tor Browser). There are some issues accessing add-ons that use WebSockets. We have identified the issue and expect it to be solved with the release of Home Assistant 0.91.4.

View File

@ -175,9 +175,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __Amcrest__ - Remove Build Date, Version and Serial Number attributes from sensors. These values do not change during the life of the device and are not appropriate for state attributes. ([@pnbruckner] - [#22418]) ([amcrest docs])
- __Insteon__ - Placeholders that forwarded users from insteon_plm and insteon_local to insteon component have been removed. ([@balloob] - [#22710])
- __Logi Circle__ - This is a breaking change to the Logi Circle integration which migrates from Logitech's private API to their public API.
* Authentication with Logi Circle's API is now performed using an authorization code grant, and is managed by the Integrations page. It's no longer possible to authenticate with a username and password directly. Please remove any existing configuration for the logi_circle integration and follow the directions here to configure the logi_circle integration with at least a client_id, client_secret, api_key and redirect_uri.
* Logi Circle camera and sensor entities are now auto-discovered once the integration is authenticated. Users should remove the logi_circle integration from camera and sensor platforms as this is no longer supported.
* Logi Circle services have been moved from the camera domain to the logi_circle domain
- Authentication with Logi Circle's API is now performed using an authorization code grant, and is managed by the Integrations page. It's no longer possible to authenticate with a username and password directly. Please remove any existing configuration for the logi_circle integration and follow the directions here to configure the logi_circle integration with at least a client_id, client_secret, api_key and redirect_uri.
- Logi Circle camera and sensor entities are now auto-discovered once the integration is authenticated. Users should remove the logi_circle integration from camera and sensor platforms as this is no longer supported.
- Logi Circle services have been moved from the camera domain to the logi_circle domain
Please check the documentation for further details. ([@evanjd] - [#20624]) ([logi_circle docs])
- __Introduction__ - The introduction integration has been removed. It used to be part of the initially created configuration but no longer served a purpose. ([@balloob] - [#22944]) ([introduction docs])

View File

@ -157,8 +157,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __Homematic IP Cloud__ - Adds homematicip cloud temperature sensor from thermostats. Entity IDs of HmIP-SLO (Light Sensor Outdoor) will change and stale entities will need to be removed from the entity registry. ([@SukramJ] - [#23263]) ([homematicip_cloud docs])
- __Pollen.com__
* IQVIA is the parent company which hosts a variety of sites (https://pollen.com, https://flustar.com, etc.) from which valid data can come. To accommodate this, the Pollen.com sensor platform is now the IQVIA component and the configuration.yaml schema has changed accordingly. ([@bachya] - [#22986]) ([iqvia docs]) ([pollen docs])
* The IQVIA component no longer provides historical data for allergen and asthma conditions. Tactically, this means all historical sensors including "Yesterday" sensors will no longer appear; users will need to update any automations that previously relied on these sensors. ([@bachya] - [#23258]) ([iqvia docs])
- IQVIA is the parent company which hosts a variety of sites (https://pollen.com, https://flustar.com, etc.) from which valid data can come. To accommodate this, the Pollen.com sensor platform is now the IQVIA component and the configuration.yaml schema has changed accordingly. ([@bachya] - [#22986]) ([iqvia docs]) ([pollen docs])
- The IQVIA component no longer provides historical data for allergen and asthma conditions. Tactically, this means all historical sensors including "Yesterday" sensors will no longer appear; users will need to update any automations that previously relied on these sensors. ([@bachya] - [#23258]) ([iqvia docs])
Example configuration:
```yaml
@ -170,8 +170,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __Sonos__
* Configuring the Sonos integration as a media_player: platform in configuration.yaml was deprecated in 0.72 and has now been removed. Please see the notes above in this release post as well as the component documentation for further info. ([@amelchio] - [#23385]) ([sonos docs])
* Sonos-specific services have been moved from the media_player domain to the sonos domain. For example, media_player.sonos_join has become sonos.join. Services sonos.set_sleep_timer, sonos.clear_sleep_timer, sonos.update_alarm and sonos.set_option now require the entity_id parameter and will not target all when it is missing. You can use all to target all. ([@amelchio] - [#23670]) ([sonos docs])
- Configuring the Sonos integration as a media_player: platform in configuration.yaml was deprecated in 0.72 and has now been removed. Please see the notes above in this release post as well as the component documentation for further info. ([@amelchio] - [#23385]) ([sonos docs])
- Sonos-specific services have been moved from the media_player domain to the sonos domain. For example, media_player.sonos_join has become sonos.join. Services sonos.set_sleep_timer, sonos.clear_sleep_timer, sonos.update_alarm and sonos.set_option now require the entity_id parameter and will not target all when it is missing. You can use all to target all. ([@amelchio] - [#23670]) ([sonos docs])
- __Nmap__ - In Linux, and when running a setuid nmap, MAC addresses are reported with a leading zero in each byte. Under Mac OS X, when running the arp command, there is no leading zero. This makes it annoying to share config files between a Mac and Linux setup. This change fixes this by forcing MAC addresses to be zero padded, "breaking" Mac detection on a Mac by aligning it to the convention on Linux ([@mikeage] - [#23492]) ([nmap_tracker docs])

View File

@ -207,9 +207,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
```
- __Plex__
* Configuration option `include_non_clients` has been removed. The component was unnecessarily complicated with separate update methods for Plex devices and Plex sessions. This change always updates all known Plex clients regardless of type. The previous design also had issues where the Plex sessions are never polled if there are no Plex clients connected at startup and only 'session' client types connect after that point. This leads to a failure to discover new devices. This is a breaking change if the config option `include_non_clients` is being used since it has been removed. ([@jjlawren] - [#24038]) ([plex docs])
- Configuration option `include_non_clients` has been removed. The component was unnecessarily complicated with separate update methods for Plex devices and Plex sessions. This change always updates all known Plex clients regardless of type. The previous design also had issues where the Plex sessions are never polled if there are no Plex clients connected at startup and only 'session' client types connect after that point. This leads to a failure to discover new devices. This is a breaking change if the config option `include_non_clients` is being used since it has been removed. ([@jjlawren] - [#24038]) ([plex docs])
* Configuration options use_custom_entity_ids and entity_namespace have been removed. This change will prepend the display name (and therefore the default entity_id) of each newly created entity with 'Plex' for easy identification. Users may customize each display name and entity_id as desired via the Entity Registry. Entities created before this PR will not be affected as the unique_id remains the same. ([@jjlawren] - [#24072]) ([plex docs])
- Configuration options use_custom_entity_ids and entity_namespace have been removed. This change will prepend the display name (and therefore the default entity_id) of each newly created entity with 'Plex' for easy identification. Users may customize each display name and entity_id as desired via the Entity Registry. Entities created before this PR will not be affected as the unique_id remains the same. ([@jjlawren] - [#24072]) ([plex docs])
- __Verisure__ - Base entity_id of alarm_control_panel on alias of installation set by giid rather than first installation. This is a breaking change as it will change entity_id of alarm_control_panel in cases where a user is configuring an installation using giid that is not the first installation. ([@tkjacobsen] - [#23606]) ([verisure docs])
- __Zestimate__ - Changed name property to return Zestimate and the property address. This will make it easier to distinguish multiple Zestimate sensor entities in the UI and is a breaking change as it will change entity_id of Zestimate sensors. If you have automations relying on your Zestimate sensor(s) you may need to revisit them to fix the ID's to the new ones. Also, you may need to update your Zestimate sensor(s) in your Lovelace UI. ([@dreed47] - [#23770]) ([zestimate docs])

View File

@ -266,12 +266,12 @@ Experiencing issues introduced by this release? Please report them in our [issue
password: password
```
* **Radiotherm** - Update climate attributes. Automations may break if the user is checking against the previous "mode" or "fan" attributes or previous mode or fan attribute values. - ([@dieselrabbit] - [#26465]) ([radiotherm docs])
- **Radiotherm** - Update climate attributes. Automations may break if the user is checking against the previous "mode" or "fan" attributes or previous mode or fan attribute values. - ([@dieselrabbit] - [#26465]) ([radiotherm docs])
- The old "mode" attribute is now supported via "hvac_action" attribute.
- The old "fan" attribute now called "fan_action" to follow "hvac_action" .
* **SolarEdge** - Monitored conditions are no longer supported. - ([@Cereal2nd] - [#26282]) ([solaredge docs])
- **SolarEdge** - Monitored conditions are no longer supported. - ([@Cereal2nd] - [#26282]) ([solaredge docs])
- **SMA** - Removes deprecated SMA config - ([@balloob] - [#26306]) ([sma docs])

View File

@ -91,11 +91,11 @@ Screenshot of Biometric Unlock.
We have also been hard at working making improvements in other areas of the app:
* There are now 2 [widgets](https://companion.home-assistant.io/docs/integrations/android-widgets) that you can set up, with Entity State being the latest addition. The Entity State widget will display the state and any attribute of the selected entity. It will update once every 30 minutes or when tapped. The Service Call widget was also enhanced to allow you to select from a list of valid and available services along with the ability to add additional data fields that the service may require.
* In App Configuration the Home Network WiFi SSID option now allows the user to select multiple SSIDs.
* A Cookie Manager was added to our WebView that will allow you to save cookies from sites that you may use in the [webpage card](/dashboards/iframe/).
* More descriptive SSL error messages were added to help users resolve local issues they may encounter while setting up the app.
* Device ID is now sent with the event data for actionable notifications.
- There are now 2 [widgets](https://companion.home-assistant.io/docs/integrations/android-widgets) that you can set up, with Entity State being the latest addition. The Entity State widget will display the state and any attribute of the selected entity. It will update once every 30 minutes or when tapped. The Service Call widget was also enhanced to allow you to select from a list of valid and available services along with the ability to add additional data fields that the service may require.
- In App Configuration the Home Network WiFi SSID option now allows the user to select multiple SSIDs.
- A Cookie Manager was added to our WebView that will allow you to save cookies from sites that you may use in the [webpage card](/dashboards/iframe/).
- More descriptive SSL error messages were added to help users resolve local issues they may encounter while setting up the app.
- Device ID is now sent with the event data for actionable notifications.
### iOS

View File

@ -31,22 +31,22 @@ We have had quite a bit of sensors get added since we last spoke so here's whats
Available for Google Play Store version only:
* Activity
- Activity
Available for all users:
* Audio
* Bluetooth
* Do Not Disturb
* Last Reboot
* Light
* Phone
* Pressure
* Proximity
* Next Alarm
* Sim 1 & 2
* Steps
* Storage
- Audio
- Bluetooth
- Do Not Disturb
- Last Reboot
- Light
- Phone
- Pressure
- Proximity
- Next Alarm
- Sim 1 & 2
- Steps
- Storage
## Sensor Enhancements
@ -82,10 +82,10 @@ Screenshot of App Theme selection.
## Additional Improvements
* Support for H265 videos was added
* Entity state widget was enhanced to allow for multiple attributes and a custom separator
* Widgets were enhanced overall to allow material icons
* Notifications can now use `:smiley:` like you can in Discord
* Lots of fixes across the board
- Support for H265 videos was added
- Entity state widget was enhanced to allow for multiple attributes and a custom separator
- Widgets were enhanced overall to allow material icons
- Notifications can now use `:smiley:` like you can in Discord
- Lots of fixes across the board
Special thanks to [chriss158](https://github.com/chriss158), [colincachia](https://github.com/colincachia), [David-Development](https://github.com/David-Development), [JBassett](https://github.com/JBassett), [klejejs](https://github.com/klejejs), [noam148](https://github.com/noam148), [skynetua](https://github.com/skynetua) and [uvjustin](https://github.com/uvjustin) for all of your contributions. So keep them bug reports and feature requests [coming](https://github.com/home-assistant/android/issues/new/choose), we'll chat again soon!

View File

@ -50,19 +50,19 @@ Screenshot of Shortcuts
Here is a list of the other changes you may notice:
* [Battery Temperature Sensor](https://companion.home-assistant.io/docs/core/sensors#battery-sensors)
* Notification command to [turn on the screen](https://companion.home-assistant.io/docs/notifications/notification-commands#screen-on)
* [BLE Transmitter](https://companion.home-assistant.io/docs/core/sensors#bluetooth-sensors) has a new setting to enable/disable the transmitter so the sensor can remain enabled. This new setting will correspond to the existing notification command.
* High Accuracy mode has a new zone-based automation feature allowing you to trigger this mode faster. See the [documentation](https://companion.home-assistant.io/docs/core/location#high-accuracy-mode) for more details.
- [Battery Temperature Sensor](https://companion.home-assistant.io/docs/core/sensors#battery-sensors)
- Notification command to [turn on the screen](https://companion.home-assistant.io/docs/notifications/notification-commands#screen-on)
- [BLE Transmitter](https://companion.home-assistant.io/docs/core/sensors#bluetooth-sensors) has a new setting to enable/disable the transmitter so the sensor can remain enabled. This new setting will correspond to the existing notification command.
- High Accuracy mode has a new zone-based automation feature allowing you to trigger this mode faster. See the [documentation](https://companion.home-assistant.io/docs/core/location#high-accuracy-mode) for more details.
<p class='img'>
<img src='/images/blog/2021-04-09-android-april-2021/high_accuracy_zone.png' alt='Screenshot of High Accuracy Zoning'></a>
Screenshot of High Accuracy Zoning.
</p>
* Long-pressing an entity in Android's Power Menu will now take you directly to the entity instead of the home page.
* Covers that support setting the position are also supported in Android's Power Menu.
* Lots of fixes and improvements in all other areas of the app.
- Long-pressing an entity in Android's Power Menu will now take you directly to the entity instead of the home page.
- Covers that support setting the position are also supported in Android's Power Menu.
- Lots of fixes and improvements in all other areas of the app.
Big thank you to everyone involved. Please keep those bug reports and feature requests coming!

Some files were not shown because too many files have changed in this diff Show More